diff --git a/erpnext/accounts/doctype/budget/budget.py b/erpnext/accounts/doctype/budget/budget.py
index 4c628a4..63e7bc6 100644
--- a/erpnext/accounts/doctype/budget/budget.py
+++ b/erpnext/accounts/doctype/budget/budget.py
@@ -125,14 +125,27 @@
 	if not args.account:
 		return
 
-	for budget_against in ["project", "cost_center"] + get_accounting_dimensions():
+	default_dimensions = [
+		{
+			"fieldname": "project",
+			"document_type": "Project",
+		},
+		{
+			"fieldname": "cost_center",
+			"document_type": "Cost Center",
+		},
+	]
+
+	for dimension in default_dimensions + get_accounting_dimensions(as_list=False):
+		budget_against = dimension.get("fieldname")
+
 		if (
 			args.get(budget_against)
 			and args.account
 			and frappe.db.get_value("Account", {"name": args.account, "root_type": "Expense"})
 		):
 
-			doctype = frappe.unscrub(budget_against)
+			doctype = dimension.get("document_type")
 
 			if frappe.get_cached_value("DocType", doctype, "is_tree"):
 				lft, rgt = frappe.db.get_value(doctype, args.get(budget_against), ["lft", "rgt"])
diff --git a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
index b40649b..dca93e8 100644
--- a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
+++ b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
@@ -4,6 +4,7 @@
 
 import frappe
 from frappe import _
+from frappe.query_builder.functions import IfNull, Sum
 from frappe.utils import cint, flt, get_link_to_form, getdate, nowdate
 
 from erpnext.accounts.doctype.loyalty_program.loyalty_program import validate_loyalty_points
@@ -674,18 +675,22 @@
 
 
 def get_pos_reserved_qty(item_code, warehouse):
-	reserved_qty = frappe.db.sql(
-		"""select sum(p_item.stock_qty) as qty
-		from `tabPOS Invoice` p, `tabPOS Invoice Item` p_item
-		where p.name = p_item.parent
-		and ifnull(p.consolidated_invoice, '') = ''
-		and p_item.docstatus = 1
-		and p_item.item_code = %s
-		and p_item.warehouse = %s
-		""",
-		(item_code, warehouse),
-		as_dict=1,
-	)
+	p_inv = frappe.qb.DocType("POS Invoice")
+	p_item = frappe.qb.DocType("POS Invoice Item")
+
+	reserved_qty = (
+		frappe.qb.from_(p_inv)
+		.from_(p_item)
+		.select(Sum(p_item.qty).as_("qty"))
+		.where(
+			(p_inv.name == p_item.parent)
+			& (IfNull(p_inv.consolidated_invoice, "") == "")
+			& (p_inv.is_return == 0)
+			& (p_item.docstatus == 1)
+			& (p_item.item_code == item_code)
+			& (p_item.warehouse == warehouse)
+		)
+	).run(as_dict=True)
 
 	return reserved_qty[0].qty or 0 if reserved_qty else 0
 
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.json b/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
index a63039e..e8e8044 100644
--- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
+++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
@@ -469,7 +469,7 @@
    "options": "UOM"
   },
   {
-   "description": "If rate is zero them item will be treated as \"Free Item\"",
+   "description": "If rate is zero then item will be treated as \"Free Item\"",
    "fieldname": "free_item_rate",
    "fieldtype": "Currency",
    "label": "Free Item Rate"
@@ -670,4 +670,4 @@
  "sort_order": "DESC",
  "states": [],
  "title_field": "title"
-}
\ No newline at end of file
+}
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js
index e1c37c6..fa30c37 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice_list.js
@@ -19,7 +19,7 @@
 	],
 	get_indicator(doc) {
 		if (doc.status == "Debit Note Issued") {
-			return [__(doc.status), "darkgrey", "status,=," + doc.status];
+			return [__(doc.status), "gray", "status,=," + doc.status];
 		}
 
 		if (
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index e16b1b1..7454332 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -1180,7 +1180,12 @@
 
 					if self.is_return:
 						fixed_asset_gl_entries = get_gl_entries_on_asset_regain(
-							asset, item.base_net_amount, item.finance_book, self.get("doctype"), self.get("name")
+							asset,
+							item.base_net_amount,
+							item.finance_book,
+							self.get("doctype"),
+							self.get("name"),
+							self.get("posting_date"),
 						)
 						asset.db_set("disposal_date", None)
 
@@ -1208,7 +1213,12 @@
 							asset.reload()
 
 						fixed_asset_gl_entries = get_gl_entries_on_asset_disposal(
-							asset, item.base_net_amount, item.finance_book, self.get("doctype"), self.get("name")
+							asset,
+							item.base_net_amount,
+							item.finance_book,
+							self.get("doctype"),
+							self.get("name"),
+							self.get("posting_date"),
 						)
 						asset.db_set("disposal_date", self.posting_date)
 
diff --git a/erpnext/accounts/form_tour/sales_invoice/sales_invoice.json b/erpnext/accounts/form_tour/sales_invoice/sales_invoice.json
new file mode 100644
index 0000000..414b897
--- /dev/null
+++ b/erpnext/accounts/form_tour/sales_invoice/sales_invoice.json
@@ -0,0 +1,41 @@
+{
+ "creation": "2023-05-23 09:58:17.235916",
+ "docstatus": 0,
+ "doctype": "Form Tour",
+ "first_document": 0,
+ "idx": 0,
+ "include_name_field": 0,
+ "is_standard": 1,
+ "modified": "2023-05-23 13:10:56.227127",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Sales Invoice",
+ "owner": "Administrator",
+ "reference_doctype": "Sales Invoice",
+ "save_on_complete": 1,
+ "steps": [
+  {
+   "description": "Select a customer for whom this invoice is being prepared.",
+   "fieldname": "customer",
+   "fieldtype": "Link",
+   "has_next_condition": 1,
+   "is_table_field": 0,
+   "label": "Customer",
+   "next_step_condition": "eval: doc.customer",
+   "position": "Right",
+   "title": "Select Customer"
+  },
+  {
+   "child_doctype": "Sales Invoice Item",
+   "description": "Select item that you have sold along with quantity and rate.",
+   "fieldname": "items",
+   "fieldtype": "Table",
+   "has_next_condition": 0,
+   "is_table_field": 0,
+   "parent_fieldname": "items",
+   "position": "Top",
+   "title": "Select Item"
+  }
+ ],
+ "title": "Sales Invoice"
+}
\ No newline at end of file
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index 7747042..f86dd8f 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -880,18 +880,21 @@
 
 
 def get_partywise_advanced_payment_amount(
-	party_type, posting_date=None, future_payment=0, company=None
+	party_type, posting_date=None, future_payment=0, company=None, party=None
 ):
 	cond = "1=1"
 	if posting_date:
 		if future_payment:
-			cond = "posting_date <= '{0}' OR DATE(creation) <= '{0}' " "".format(posting_date)
+			cond = "(posting_date <= '{0}' OR DATE(creation) <= '{0}')" "".format(posting_date)
 		else:
 			cond = "posting_date <= '{0}'".format(posting_date)
 
 	if company:
 		cond += "and company = {0}".format(frappe.db.escape(company))
 
+	if party:
+		cond += "and party = {0}".format(frappe.db.escape(party))
+
 	data = frappe.db.sql(
 		""" SELECT party, sum({0}) as amount
 		FROM `tabGL Entry`
@@ -903,7 +906,6 @@
 		),
 		party_type,
 	)
-
 	if data:
 		return frappe._dict(data)
 
diff --git a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
index 29217b0..9c01b1a 100644
--- a/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
+++ b/erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py
@@ -31,7 +31,6 @@
 
 	def get_data(self, args):
 		self.data = []
-
 		self.receivables = ReceivablePayableReport(self.filters).run(args)[1]
 
 		self.get_party_total(args)
@@ -42,6 +41,7 @@
 				self.filters.report_date,
 				self.filters.show_future_payments,
 				self.filters.company,
+				party=self.filters.get(scrub(self.party_type)),
 			)
 			or {}
 		)
@@ -74,6 +74,9 @@
 				row.gl_balance = gl_balance_map.get(party)
 				row.diff = flt(row.outstanding) - flt(row.gl_balance)
 
+			if self.filters.show_future_payments:
+				row.remaining_balance = flt(row.outstanding) - flt(row.future_amount)
+
 			self.data.append(row)
 
 	def get_party_total(self, args):
@@ -106,6 +109,7 @@
 					"range4": 0.0,
 					"range5": 0.0,
 					"total_due": 0.0,
+					"future_amount": 0.0,
 					"sales_person": [],
 				}
 			),
@@ -151,6 +155,10 @@
 
 		self.setup_ageing_columns()
 
+		if self.filters.show_future_payments:
+			self.add_column(label=_("Future Payment Amount"), fieldname="future_amount")
+			self.add_column(label=_("Remaining Balance"), fieldname="remaining_balance")
+
 		if self.party_type == "Customer":
 			self.add_column(
 				label=_("Territory"), fieldname="territory", fieldtype="Link", options="Territory"
diff --git a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py
index cd5f366..f0ca405 100644
--- a/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py
+++ b/erpnext/accounts/report/gross_and_net_profit_report/gross_and_net_profit_report.py
@@ -125,12 +125,14 @@
 
 	data_to_be_removed = True
 	while data_to_be_removed:
-		revenue, data_to_be_removed = remove_parent_with_no_child(revenue, period_list)
-	revenue = adjust_account(revenue, period_list)
+		revenue, data_to_be_removed = remove_parent_with_no_child(revenue)
+
+	adjust_account_totals(revenue, period_list)
+
 	return copy.deepcopy(revenue)
 
 
-def remove_parent_with_no_child(data, period_list):
+def remove_parent_with_no_child(data):
 	data_to_be_removed = False
 	for parent in data:
 		if "is_group" in parent and parent.get("is_group") == 1:
@@ -147,16 +149,19 @@
 	return data, data_to_be_removed
 
 
-def adjust_account(data, period_list, consolidated=False):
-	leaf_nodes = [item for item in data if item["is_group"] == 0]
+def adjust_account_totals(data, period_list):
 	totals = {}
-	for node in leaf_nodes:
-		set_total(node, node["total"], data, totals)
-	for d in data:
-		for period in period_list:
-			key = period if consolidated else period.key
-			d["total"] = totals[d["account"]]
-	return data
+	for d in reversed(data):
+		if d.get("is_group"):
+			for period in period_list:
+				# reset totals for group accounts as totals set by get_data doesn't consider include_in_gross check
+				d[period.key] = sum(
+					item[period.key] for item in data if item.get("parent_account") == d.get("account")
+				)
+		else:
+			set_total(d, d["total"], data, totals)
+
+		d["total"] = totals[d["account"]]
 
 
 def set_total(node, value, complete_list, totals):
@@ -191,6 +196,9 @@
 
 		if profit_loss[key]:
 			has_value = True
+			if not profit_loss.get("total"):
+				profit_loss["total"] = 0
+			profit_loss["total"] += profit_loss[key]
 
 	if has_value:
 		return profit_loss
@@ -229,6 +237,9 @@
 
 		if profit_loss[key]:
 			has_value = True
+			if not profit_loss.get("total"):
+				profit_loss["total"] = 0
+			profit_loss["total"] += profit_loss[key]
 
 	if has_value:
 		return profit_loss
diff --git a/erpnext/accounts/report/gross_profit/gross_profit.py b/erpnext/accounts/report/gross_profit/gross_profit.py
index 81f5928..f5112c3 100644
--- a/erpnext/accounts/report/gross_profit/gross_profit.py
+++ b/erpnext/accounts/report/gross_profit/gross_profit.py
@@ -1,6 +1,7 @@
 # Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 # License: GNU General Public License v3. See license.txt
 
+from collections import OrderedDict
 
 import frappe
 from frappe import _, qb, scrub
@@ -736,7 +737,7 @@
 	def load_invoice_items(self):
 		conditions = ""
 		if self.filters.company:
-			conditions += " and company = %(company)s"
+			conditions += " and `tabSales Invoice`.company = %(company)s"
 		if self.filters.from_date:
 			conditions += " and posting_date >= %(from_date)s"
 		if self.filters.to_date:
@@ -856,30 +857,30 @@
 		Turns list of Sales Invoice Items to a tree of Sales Invoices with their Items as children.
 		"""
 
-		parents = []
+		grouped = OrderedDict()
 
 		for row in self.si_list:
-			if row.parent not in parents:
-				parents.append(row.parent)
+			# initialize list with a header row for each new parent
+			grouped.setdefault(row.parent, [self.get_invoice_row(row)]).append(
+				row.update(
+					{"indent": 1.0, "parent_invoice": row.parent, "invoice_or_item": row.item_code}
+				)  # descendant rows will have indent: 1.0 or greater
+			)
 
-		parents_index = 0
-		for index, row in enumerate(self.si_list):
-			if parents_index < len(parents) and row.parent == parents[parents_index]:
-				invoice = self.get_invoice_row(row)
-				self.si_list.insert(index, invoice)
-				parents_index += 1
+			# if item is a bundle, add it's components as seperate rows
+			if frappe.db.exists("Product Bundle", row.item_code):
+				bundled_items = self.get_bundle_items(row)
+				for x in bundled_items:
+					bundle_item = self.get_bundle_item_row(row, x)
+					grouped.get(row.parent).append(bundle_item)
 
-			else:
-				# skipping the bundle items rows
-				if not row.indent:
-					row.indent = 1.0
-					row.parent_invoice = row.parent
-					row.invoice_or_item = row.item_code
+		self.si_list.clear()
 
-					if frappe.db.exists("Product Bundle", row.item_code):
-						self.add_bundle_items(row, index)
+		for items in grouped.values():
+			self.si_list.extend(items)
 
 	def get_invoice_row(self, row):
+		# header row format
 		return frappe._dict(
 			{
 				"parent_invoice": "",
@@ -908,13 +909,6 @@
 			}
 		)
 
-	def add_bundle_items(self, product_bundle, index):
-		bundle_items = self.get_bundle_items(product_bundle)
-
-		for i, item in enumerate(bundle_items):
-			bundle_item = self.get_bundle_item_row(product_bundle, item)
-			self.si_list.insert((index + i + 1), bundle_item)
-
 	def get_bundle_items(self, product_bundle):
 		return frappe.get_all(
 			"Product Bundle Item", filters={"parent": product_bundle.item_code}, fields=["item_code", "qty"]
diff --git a/erpnext/accounts/workspace/accounting/accounting.json b/erpnext/accounts/workspace/accounting/accounting.json
index 595efcd..2260bca 100644
--- a/erpnext/accounts/workspace/accounting/accounting.json
+++ b/erpnext/accounts/workspace/accounting/accounting.json
@@ -5,8 +5,9 @@
    "label": "Profit and Loss"
   }
  ],
- "content": "[{\"type\":\"onboarding\",\"data\":{\"onboarding_name\":\"Accounts\",\"col\":12}},{\"type\":\"chart\",\"data\":{\"chart_name\":\"Profit and Loss\",\"col\":12}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Chart of Accounts\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Invoice\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Invoice\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Journal Entry\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Payment Entry\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Accounts Receivable\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"General Ledger\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Trial Balance\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports & Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Accounting Masters\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"General Ledger\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Accounts Receivable\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Accounts Payable\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Financial Statements\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Multi Currency\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Bank Statement\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Subscription Management\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Share Management\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Cost Center and Budgeting\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Opening and Closing\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Taxes\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Profitability\",\"col\":4}}]",
+ "content": "[{\"id\":\"MmUf9abwxg\",\"type\":\"onboarding\",\"data\":{\"onboarding_name\":\"Accounts\",\"col\":12}},{\"id\":\"i0EtSjDAXq\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Profit and Loss\",\"col\":12}},{\"id\":\"X78jcbq1u3\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"vikWSkNm6_\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"id\":\"pMywM0nhlj\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Chart of Accounts\",\"col\":3}},{\"id\":\"_pRdD6kqUG\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Invoice\",\"col\":3}},{\"id\":\"G984SgVRJN\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Invoice\",\"col\":3}},{\"id\":\"1ArNvt9qhz\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Journal Entry\",\"col\":3}},{\"id\":\"F9f4I1viNr\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Payment Entry\",\"col\":3}},{\"id\":\"4IBBOIxfqW\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Accounts Receivable\",\"col\":3}},{\"id\":\"El2anpPaFY\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"General Ledger\",\"col\":3}},{\"id\":\"1nwcM9upJo\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Trial Balance\",\"col\":3}},{\"id\":\"OF9WOi1Ppc\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"id\":\"B7-uxs8tkU\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"tHb3yxthkR\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"id\":\"DnNtsmxpty\",\"type\":\"card\",\"data\":{\"card_name\":\"Accounting Masters\",\"col\":4}},{\"id\":\"nKKr6fjgjb\",\"type\":\"card\",\"data\":{\"card_name\":\"General Ledger\",\"col\":4}},{\"id\":\"xOHTyD8b5l\",\"type\":\"card\",\"data\":{\"card_name\":\"Accounts Receivable\",\"col\":4}},{\"id\":\"_Cb7C8XdJJ\",\"type\":\"card\",\"data\":{\"card_name\":\"Accounts Payable\",\"col\":4}},{\"id\":\"p7NY6MHe2Y\",\"type\":\"card\",\"data\":{\"card_name\":\"Financial Statements\",\"col\":4}},{\"id\":\"KlqilF5R_V\",\"type\":\"card\",\"data\":{\"card_name\":\"Taxes\",\"col\":4}},{\"id\":\"jTUy8LB0uw\",\"type\":\"card\",\"data\":{\"card_name\":\"Cost Center and Budgeting\",\"col\":4}},{\"id\":\"Wn2lhs7WLn\",\"type\":\"card\",\"data\":{\"card_name\":\"Multi Currency\",\"col\":4}},{\"id\":\"PAQMqqNkBM\",\"type\":\"card\",\"data\":{\"card_name\":\"Bank Statement\",\"col\":4}},{\"id\":\"Q_hBCnSeJY\",\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}},{\"id\":\"3AK1Zf0oew\",\"type\":\"card\",\"data\":{\"card_name\":\"Profitability\",\"col\":4}},{\"id\":\"kxhoaiqdLq\",\"type\":\"card\",\"data\":{\"card_name\":\"Opening and Closing\",\"col\":4}},{\"id\":\"q0MAlU2j_Z\",\"type\":\"card\",\"data\":{\"card_name\":\"Subscription Management\",\"col\":4}},{\"id\":\"ptm7T6Hwu-\",\"type\":\"card\",\"data\":{\"card_name\":\"Share Management\",\"col\":4}},{\"id\":\"OX7lZHbiTr\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}}]",
  "creation": "2020-03-02 15:41:59.515192",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
@@ -1060,10 +1061,11 @@
    "type": "Link"
   }
  ],
- "modified": "2023-02-23 15:32:12.135355",
+ "modified": "2023-05-30 13:23:29.316711",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Accounting",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js
index b9f16a7..43920ad 100644
--- a/erpnext/assets/doctype/asset/asset.js
+++ b/erpnext/assets/doctype/asset/asset.js
@@ -41,6 +41,8 @@
 	},
 
 	setup: function(frm) {
+		frm.ignore_doctypes_on_cancel_all = ['Journal Entry'];
+
 		frm.make_methods = {
 			'Asset Movement': () => {
 				frappe.call({
diff --git a/erpnext/assets/doctype/asset/depreciation.py b/erpnext/assets/doctype/asset/depreciation.py
index f23ae2f..c64b917 100644
--- a/erpnext/assets/doctype/asset/depreciation.py
+++ b/erpnext/assets/doctype/asset/depreciation.py
@@ -307,7 +307,7 @@
 	je.company = asset.company
 	je.remark = "Scrap Entry for asset {0}".format(asset_name)
 
-	for entry in get_gl_entries_on_asset_disposal(asset):
+	for entry in get_gl_entries_on_asset_disposal(asset, date):
 		entry.update({"reference_type": "Asset", "reference_name": asset_name})
 		je.append("accounts", entry)
 
@@ -434,8 +434,11 @@
 
 
 def get_gl_entries_on_asset_regain(
-	asset, selling_amount=0, finance_book=None, voucher_type=None, voucher_no=None
+	asset, selling_amount=0, finance_book=None, voucher_type=None, voucher_no=None, date=None
 ):
+	if not date:
+		date = getdate()
+
 	(
 		fixed_asset_account,
 		asset,
@@ -453,7 +456,7 @@
 				"debit_in_account_currency": asset.gross_purchase_amount,
 				"debit": asset.gross_purchase_amount,
 				"cost_center": depreciation_cost_center,
-				"posting_date": getdate(),
+				"posting_date": date,
 			},
 			item=asset,
 		),
@@ -463,7 +466,7 @@
 				"credit_in_account_currency": accumulated_depr_amount,
 				"credit": accumulated_depr_amount,
 				"cost_center": depreciation_cost_center,
-				"posting_date": getdate(),
+				"posting_date": date,
 			},
 			item=asset,
 		),
@@ -472,7 +475,7 @@
 	profit_amount = abs(flt(value_after_depreciation)) - abs(flt(selling_amount))
 	if profit_amount:
 		get_profit_gl_entries(
-			asset, profit_amount, gl_entries, disposal_account, depreciation_cost_center
+			asset, profit_amount, gl_entries, disposal_account, depreciation_cost_center, date
 		)
 
 	if voucher_type and voucher_no:
@@ -484,8 +487,11 @@
 
 
 def get_gl_entries_on_asset_disposal(
-	asset, selling_amount=0, finance_book=None, voucher_type=None, voucher_no=None
+	asset, selling_amount=0, finance_book=None, voucher_type=None, voucher_no=None, date=None
 ):
+	if not date:
+		date = getdate()
+
 	(
 		fixed_asset_account,
 		asset,
@@ -503,7 +509,7 @@
 				"credit_in_account_currency": asset.gross_purchase_amount,
 				"credit": asset.gross_purchase_amount,
 				"cost_center": depreciation_cost_center,
-				"posting_date": getdate(),
+				"posting_date": date,
 			},
 			item=asset,
 		),
@@ -513,7 +519,7 @@
 				"debit_in_account_currency": accumulated_depr_amount,
 				"debit": accumulated_depr_amount,
 				"cost_center": depreciation_cost_center,
-				"posting_date": getdate(),
+				"posting_date": date,
 			},
 			item=asset,
 		),
@@ -522,7 +528,7 @@
 	profit_amount = flt(selling_amount) - flt(value_after_depreciation)
 	if profit_amount:
 		get_profit_gl_entries(
-			asset, profit_amount, gl_entries, disposal_account, depreciation_cost_center
+			asset, profit_amount, gl_entries, disposal_account, depreciation_cost_center, date
 		)
 
 	if voucher_type and voucher_no:
@@ -556,8 +562,11 @@
 
 
 def get_profit_gl_entries(
-	asset, profit_amount, gl_entries, disposal_account, depreciation_cost_center
+	asset, profit_amount, gl_entries, disposal_account, depreciation_cost_center, date=None
 ):
+	if not date:
+		date = getdate()
+
 	debit_or_credit = "debit" if profit_amount < 0 else "credit"
 	gl_entries.append(
 		asset.get_gl_dict(
@@ -566,7 +575,7 @@
 				"cost_center": depreciation_cost_center,
 				debit_or_credit: abs(profit_amount),
 				debit_or_credit + "_in_account_currency": abs(profit_amount),
-				"posting_date": getdate(),
+				"posting_date": date,
 			},
 			item=asset,
 		)
diff --git a/erpnext/assets/doctype/asset/test_asset.py b/erpnext/assets/doctype/asset/test_asset.py
index f3a9ba0..c64f296 100644
--- a/erpnext/assets/doctype/asset/test_asset.py
+++ b/erpnext/assets/doctype/asset/test_asset.py
@@ -356,6 +356,83 @@
 		si.cancel()
 		self.assertEqual(frappe.db.get_value("Asset", asset.name, "status"), "Partially Depreciated")
 
+	def test_gle_made_by_asset_sale_for_existing_asset(self):
+		from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
+
+		asset = create_asset(
+			calculate_depreciation=1,
+			available_for_use_date="2020-04-01",
+			purchase_date="2020-04-01",
+			expected_value_after_useful_life=0,
+			total_number_of_depreciations=5,
+			number_of_depreciations_booked=2,
+			frequency_of_depreciation=12,
+			depreciation_start_date="2023-03-31",
+			opening_accumulated_depreciation=24000,
+			gross_purchase_amount=60000,
+			submit=1,
+		)
+
+		expected_depr_values = [
+			["2023-03-31", 12000, 36000],
+			["2024-03-31", 12000, 48000],
+			["2025-03-31", 12000, 60000],
+		]
+
+		first_asset_depr_schedule = get_depr_schedule(asset.name, "Active")
+
+		for i, schedule in enumerate(first_asset_depr_schedule):
+			self.assertEqual(getdate(expected_depr_values[i][0]), schedule.schedule_date)
+			self.assertEqual(expected_depr_values[i][1], schedule.depreciation_amount)
+			self.assertEqual(expected_depr_values[i][2], schedule.accumulated_depreciation_amount)
+
+		post_depreciation_entries(date="2023-03-31")
+
+		si = create_sales_invoice(
+			item_code="Macbook Pro", asset=asset.name, qty=1, rate=40000, posting_date=getdate("2023-05-23")
+		)
+		asset.load_from_db()
+
+		self.assertEqual(frappe.db.get_value("Asset", asset.name, "status"), "Sold")
+
+		expected_values = [["2023-03-31", 12000, 36000], ["2023-05-23", 1742.47, 37742.47]]
+
+		second_asset_depr_schedule = get_depr_schedule(asset.name, "Active")
+
+		for i, schedule in enumerate(second_asset_depr_schedule):
+			self.assertEqual(getdate(expected_values[i][0]), schedule.schedule_date)
+			self.assertEqual(expected_values[i][1], schedule.depreciation_amount)
+			self.assertEqual(expected_values[i][2], schedule.accumulated_depreciation_amount)
+			self.assertTrue(schedule.journal_entry)
+
+		expected_gle = (
+			(
+				"_Test Accumulated Depreciations - _TC",
+				37742.47,
+				0.0,
+			),
+			(
+				"_Test Fixed Asset - _TC",
+				0.0,
+				60000.0,
+			),
+			(
+				"_Test Gain/Loss on Asset Disposal - _TC",
+				0.0,
+				17742.47,
+			),
+			("Debtors - _TC", 40000.0, 0.0),
+		)
+
+		gle = frappe.db.sql(
+			"""select account, debit, credit from `tabGL Entry`
+			where voucher_type='Sales Invoice' and voucher_no = %s
+			order by account""",
+			si.name,
+		)
+
+		self.assertSequenceEqual(gle, expected_gle)
+
 	def test_asset_with_maintenance_required_status_after_sale(self):
 		asset = create_asset(
 			calculate_depreciation=1,
diff --git a/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py b/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py
index 5b910db..789ca6c 100644
--- a/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py
+++ b/erpnext/assets/doctype/asset_capitalization/asset_capitalization.py
@@ -443,6 +443,7 @@
 				item.get("finance_book") or self.get("finance_book"),
 				self.get("doctype"),
 				self.get("name"),
+				self.get("posting_date"),
 			)
 
 			asset.db_set("disposal_date", self.posting_date)
diff --git a/erpnext/assets/doctype/asset_category/asset_category.py b/erpnext/assets/doctype/asset_category/asset_category.py
index a4d2c82..2e1def9 100644
--- a/erpnext/assets/doctype/asset_category/asset_category.py
+++ b/erpnext/assets/doctype/asset_category/asset_category.py
@@ -96,7 +96,6 @@
 				frappe.throw(msg, title=_("Missing Account"))
 
 
-@frappe.whitelist()
 def get_asset_category_account(
 	fieldname, item=None, asset=None, account=None, asset_category=None, company=None
 ):
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 ad5ec3d..982d376 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
@@ -246,13 +246,12 @@
 				if should_get_last_day:
 					schedule_date = get_last_day(schedule_date)
 
-				# schedule date will be a year later from start date
-				# so monthly schedule date is calculated by removing 11 months from it
-				monthly_schedule_date = add_months(schedule_date, -row.frequency_of_depreciation + 1)
-
 			# if asset is being sold or scrapped
 			if date_of_disposal:
-				from_date = asset_doc.available_for_use_date
+				from_date = add_months(
+					getdate(asset_doc.available_for_use_date),
+					(asset_doc.number_of_depreciations_booked * row.frequency_of_depreciation),
+				)
 				if self.depreciation_schedule:
 					from_date = self.depreciation_schedule[-1].schedule_date
 
@@ -272,14 +271,8 @@
 				break
 
 			# For first row
-			if (
-				(has_pro_rata or has_wdv_or_dd_non_yearly_pro_rata)
-				and not self.opening_accumulated_depreciation
-				and n == 0
-			):
-				from_date = add_days(
-					asset_doc.available_for_use_date, -1
-				)  # needed to calc depr amount for available_for_use_date too
+			if n == 0 and has_pro_rata and not self.opening_accumulated_depreciation:
+				from_date = add_days(asset_doc.available_for_use_date, -1)
 				depreciation_amount, days, months = _get_pro_rata_amt(
 					row,
 					depreciation_amount,
@@ -287,11 +280,18 @@
 					row.depreciation_start_date,
 					has_wdv_or_dd_non_yearly_pro_rata,
 				)
-
-				# For first depr schedule date will be the start date
-				# so monthly schedule date is calculated by removing
-				# month difference between use date and start date
-				monthly_schedule_date = add_months(row.depreciation_start_date, -months + 1)
+			elif n == 0 and has_wdv_or_dd_non_yearly_pro_rata and self.opening_accumulated_depreciation:
+				from_date = add_months(
+					getdate(asset_doc.available_for_use_date),
+					(self.number_of_depreciations_booked * row.frequency_of_depreciation),
+				)
+				depreciation_amount, days, months = _get_pro_rata_amt(
+					row,
+					depreciation_amount,
+					from_date,
+					row.depreciation_start_date,
+					has_wdv_or_dd_non_yearly_pro_rata,
+				)
 
 			# For last row
 			elif has_pro_rata and n == cint(number_of_pending_depreciations) - 1:
@@ -316,9 +316,7 @@
 					depreciation_amount_without_pro_rata, depreciation_amount
 				)
 
-				monthly_schedule_date = add_months(schedule_date, 1)
 				schedule_date = add_days(schedule_date, days)
-				last_schedule_date = schedule_date
 
 			if not depreciation_amount:
 				continue
diff --git a/erpnext/assets/workspace/assets/assets.json b/erpnext/assets/workspace/assets/assets.json
index c07155e..d810eff 100644
--- a/erpnext/assets/workspace/assets/assets.json
+++ b/erpnext/assets/workspace/assets/assets.json
@@ -7,12 +7,14 @@
  ],
  "content": "[{\"type\":\"onboarding\",\"data\":{\"onboarding_name\":\"Assets\",\"col\":12}},{\"type\":\"chart\",\"data\":{\"chart_name\":\"Asset Value Analytics\",\"col\":12}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Asset\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Asset Category\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Fixed Asset Register\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports & Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Assets\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Maintenance\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}}]",
  "creation": "2020-03-02 15:43:27.634865",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "assets",
  "idx": 0,
+ "is_hidden": 0,
  "label": "Assets",
  "links": [
   {
@@ -183,13 +185,15 @@
    "type": "Link"
   }
  ],
- "modified": "2022-01-13 18:25:41.730628",
+ "modified": "2023-05-24 14:47:20.243146",
  "modified_by": "Administrator",
  "module": "Assets",
  "name": "Assets",
+ "number_cards": [],
  "owner": "Administrator",
- "parent_page": "",
+ "parent_page": "Accounting",
  "public": 1,
+ "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
  "sequence_id": 4.0,
@@ -216,4 +220,4 @@
   }
  ],
  "title": "Assets"
-}
+}
\ No newline at end of file
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json
index c51c6ed..645abf2 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.json
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -157,7 +157,7 @@
   "party_account_currency",
   "inter_company_order_reference",
   "is_old_subcontracting_flow",
-  "dashboard"
+  "connections_tab"
  ],
  "fields": [
   {
@@ -1171,7 +1171,6 @@
    "depends_on": "is_internal_supplier",
    "fieldname": "set_from_warehouse",
    "fieldtype": "Link",
-   "ignore_user_permissions": 1,
    "label": "Set From Warehouse",
    "options": "Warehouse"
   },
@@ -1186,12 +1185,6 @@
    "label": "More Info"
   },
   {
-   "fieldname": "dashboard",
-   "fieldtype": "Tab Break",
-   "label": "Dashboard",
-   "show_dashboard": 1
-  },
-  {
    "fieldname": "column_break_7",
    "fieldtype": "Column Break"
   },
@@ -1266,13 +1259,19 @@
    "fieldname": "shipping_address_section",
    "fieldtype": "Section Break",
    "label": "Shipping Address"
+  },
+  {
+   "fieldname": "connections_tab",
+   "fieldtype": "Tab Break",
+   "label": "Connections",
+   "show_dashboard": 1
   }
  ],
  "icon": "fa fa-file-text",
  "idx": 105,
  "is_submittable": 1,
  "links": [],
- "modified": "2023-05-07 20:18:09.196799",
+ "modified": "2023-05-24 11:16:41.195340",
  "modified_by": "Administrator",
  "module": "Buying",
  "name": "Purchase Order",
diff --git a/erpnext/buying/workspace/buying/buying.json b/erpnext/buying/workspace/buying/buying.json
index 5ad93f0..58c8f74 100644
--- a/erpnext/buying/workspace/buying/buying.json
+++ b/erpnext/buying/workspace/buying/buying.json
@@ -7,12 +7,14 @@
  ],
  "content": "[{\"type\":\"onboarding\",\"data\":{\"onboarding_name\":\"Buying\",\"col\":12}},{\"type\":\"chart\",\"data\":{\"chart_name\":\"Purchase Order Trends\",\"col\":12}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Item\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Material Request\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Order\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Analytics\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Order Analysis\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports & Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Buying\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Items & Pricing\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Supplier\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Supplier Scorecard\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Key Reports\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Other Reports\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Regional\",\"col\":4}}]",
  "creation": "2020-01-28 11:50:26.195467",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "buying",
  "idx": 0,
+ "is_hidden": 0,
  "label": "Buying",
  "links": [
   {
@@ -509,16 +511,18 @@
    "type": "Link"
   }
  ],
- "modified": "2022-01-13 17:26:39.090190",
+ "modified": "2023-05-24 14:47:20.535772",
  "modified_by": "Administrator",
  "module": "Buying",
  "name": "Buying",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
+ "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 6.0,
+ "sequence_id": 5.0,
  "shortcuts": [
   {
    "color": "Green",
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 78bb056..707db8a 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -2444,7 +2444,7 @@
 	Returns a Sales/Purchase Order Item child item containing the default values
 	"""
 	p_doc = frappe.get_doc(parent_doctype, parent_doctype_name)
-	child_item = frappe.new_doc(child_doctype, p_doc, child_docname)
+	child_item = frappe.new_doc(child_doctype, parent_doc=p_doc, parentfield=child_docname)
 	item = frappe.get_doc("Item", trans_item.get("item_code"))
 
 	for field in ("item_code", "item_name", "description", "item_group"):
@@ -2826,6 +2826,17 @@
 	parent.update_billing_percentage()
 	parent.set_status()
 
+	# Cancel and Recreate Stock Reservation Entries.
+	if parent_doctype == "Sales Order":
+		from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+			cancel_stock_reservation_entries,
+			has_reserved_stock,
+		)
+
+		if has_reserved_stock(parent.doctype, parent.name):
+			cancel_stock_reservation_entries(parent.doctype, parent.name)
+			parent.create_stock_reservation_entries()
+
 
 @erpnext.allow_regional
 def validate_regional(doc):
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index e15b612..f87f38e 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -180,6 +180,7 @@
 		address_dict = {
 			"supplier_address": "address_display",
 			"shipping_address": "shipping_address_display",
+			"billing_address": "billing_address_display",
 		}
 
 		for address_field, address_display_field in address_dict.items():
diff --git a/erpnext/controllers/subcontracting_controller.py b/erpnext/controllers/subcontracting_controller.py
index c3fa894..1e9c4dc 100644
--- a/erpnext/controllers/subcontracting_controller.py
+++ b/erpnext/controllers/subcontracting_controller.py
@@ -689,7 +689,6 @@
 								"actual_qty": flt(item.rejected_qty) * flt(item.conversion_factor),
 								"serial_no": cstr(item.rejected_serial_no).strip(),
 								"incoming_rate": 0.0,
-								"recalculate_rate": 1,
 							},
 						)
 					)
diff --git a/erpnext/crm/doctype/linkedin_settings/linkedin_settings.js b/erpnext/crm/doctype/linkedin_settings/linkedin_settings.js
index d532236..7d6b395 100644
--- a/erpnext/crm/doctype/linkedin_settings/linkedin_settings.js
+++ b/erpnext/crm/doctype/linkedin_settings/linkedin_settings.js
@@ -5,7 +5,7 @@
 	onload: function(frm) {
 		if (frm.doc.session_status == 'Expired' && frm.doc.consumer_key && frm.doc.consumer_secret) {
 			frappe.confirm(
-				__('Session not valid, Do you want to login?'),
+				__('Session not valid. Do you want to login?'),
 				function(){
 					frm.trigger("login");
 				},
@@ -14,11 +14,11 @@
 				}
 			);
 		}
-		frm.dashboard.set_headline(__("For more information, {0}.", [`<a target='_blank' href='https://docs.erpnext.com/docs/user/manual/en/CRM/linkedin-settings'>${__('Click here')}</a>`]));
+		frm.dashboard.set_headline(__("For more information, {0}.", [`<a target='_blank' href='https://docs.erpnext.com/docs/user/manual/en/CRM/linkedin-settings'>${__('click here')}</a>`]));
 	},
 	refresh: function(frm) {
 		if (frm.doc.session_status=="Expired"){
-			let msg = __("Session Not Active. Save doc to login.");
+			let msg = __("Session not active. Save document to login.");
 			frm.dashboard.set_headline_alert(
 				`<div class="row">
 					<div class="col-xs-12">
@@ -37,7 +37,7 @@
 			let msg,color;
 
 			if (days>0){
-				msg = __("Your Session will be expire in {0} days.", [days]);
+				msg = __("Your session will be expire in {0} days.", [days]);
 				color = "green";
 			}
 			else {
diff --git a/erpnext/crm/doctype/twitter_settings/twitter_settings.js b/erpnext/crm/doctype/twitter_settings/twitter_settings.js
index 112f3d4..c322092 100644
--- a/erpnext/crm/doctype/twitter_settings/twitter_settings.js
+++ b/erpnext/crm/doctype/twitter_settings/twitter_settings.js
@@ -14,7 +14,7 @@
 				}
 			);
 		}
-		frm.dashboard.set_headline(__("For more information, {0}.", [`<a target='_blank' href='https://docs.erpnext.com/docs/user/manual/en/CRM/twitter-settings'>${__('Click here')}</a>`]));
+		frm.dashboard.set_headline(__("For more information, {0}.", [`<a target='_blank' href='https://docs.erpnext.com/docs/user/manual/en/CRM/twitter-settings'>${__('click here')}</a>`]));
 	},
 	refresh: function(frm) {
 		let msg, color, flag=false;
diff --git a/erpnext/crm/workspace/crm/crm.json b/erpnext/crm/workspace/crm/crm.json
index 318754b..b107df7 100644
--- a/erpnext/crm/workspace/crm/crm.json
+++ b/erpnext/crm/workspace/crm/crm.json
@@ -5,180 +5,21 @@
    "label": "Territory Wise Sales"
   }
  ],
- "content": "[{\"type\":\"chart\",\"data\":{\"chart_name\":\"Territory Wise Sales\",\"col\":12}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Lead\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Opportunity\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Customer\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Analytics\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Sales Pipeline\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Campaign\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Maintenance\",\"col\":4}}]",
+ "content": "[{\"id\":\"Cj2TyhgiWy\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Territory Wise Sales\",\"col\":12}},{\"id\":\"LAKRmpYMRA\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"XGIwEUStw_\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"id\":\"69RN0XsiJK\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Lead\",\"col\":3}},{\"id\":\"t6PQ0vY-Iw\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Opportunity\",\"col\":3}},{\"id\":\"VOFE0hqXRD\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Customer\",\"col\":3}},{\"id\":\"0ik53fuemG\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Analytics\",\"col\":3}},{\"id\":\"wdROEmB_XG\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"id\":\"-I9HhcgUKE\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"ttpROKW9vk\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"id\":\"-76QPdbBHy\",\"type\":\"card\",\"data\":{\"card_name\":\"Sales Pipeline\",\"col\":4}},{\"id\":\"_YmGwzVWRr\",\"type\":\"card\",\"data\":{\"card_name\":\"Masters\",\"col\":4}},{\"id\":\"Bma1PxoXk3\",\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}},{\"id\":\"80viA0R83a\",\"type\":\"card\",\"data\":{\"card_name\":\"Campaign\",\"col\":4}},{\"id\":\"Buo5HtKRFN\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"id\":\"sLS_x4FMK2\",\"type\":\"card\",\"data\":{\"card_name\":\"Maintenance\",\"col\":4}}]",
  "creation": "2020-01-23 14:48:30.183272",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "crm",
  "idx": 0,
+ "is_hidden": 0,
  "label": "CRM",
  "links": [
   {
    "hidden": 0,
    "is_query_report": 0,
-   "label": "Sales Pipeline",
-   "link_count": 0,
-   "onboard": 0,
-   "type": "Card Break"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Lead",
-   "link_count": 0,
-   "link_to": "Lead",
-   "link_type": "DocType",
-   "onboard": 1,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Opportunity",
-   "link_count": 0,
-   "link_to": "Opportunity",
-   "link_type": "DocType",
-   "onboard": 1,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Prospect",
-   "link_count": 0,
-   "link_to": "Prospect",
-   "link_type": "DocType",
-   "onboard": 1,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Customer",
-   "link_count": 0,
-   "link_to": "Customer",
-   "link_type": "DocType",
-   "onboard": 1,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Contact",
-   "link_count": 0,
-   "link_to": "Contact",
-   "link_type": "DocType",
-   "onboard": 1,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Communication",
-   "link_count": 0,
-   "link_to": "Communication",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Contract",
-   "link_count": 0,
-   "link_to": "Contract",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Appointment",
-   "link_count": 0,
-   "link_to": "Appointment",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Newsletter",
-   "link_count": 0,
-   "link_to": "Newsletter",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Lead Source",
-   "link_count": 0,
-   "link_to": "Lead Source",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Territory",
-   "link_count": 0,
-   "link_to": "Territory",
-   "link_type": "DocType",
-   "onboard": 1,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Customer Group",
-   "link_count": 0,
-   "link_to": "Customer Group",
-   "link_type": "DocType",
-   "onboard": 1,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Sales Person",
-   "link_count": 0,
-   "link_to": "Sales Person",
-   "link_type": "DocType",
-   "onboard": 1,
-   "type": "Link"
-  },
-  {
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Sales Stage",
-   "link_count": 0,
-   "link_to": "Sales Stage",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "hidden": 0,
-   "is_query_report": 0,
    "label": "Reports",
    "link_count": 0,
    "onboard": 0,
@@ -446,19 +287,183 @@
    "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Masters",
+   "link_count": 7,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Territory",
+   "link_count": 0,
+   "link_to": "Territory",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Customer Group",
+   "link_count": 0,
+   "link_to": "Customer Group",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Contact",
+   "link_count": 0,
+   "link_to": "Contact",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Prospect",
+   "link_count": 0,
+   "link_to": "Prospect",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Sales Person",
+   "link_count": 0,
+   "link_to": "Sales Person",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Sales Stage",
+   "link_count": 0,
+   "link_to": "Sales Stage",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Lead Source",
+   "link_count": 0,
+   "link_to": "Lead Source",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Sales Pipeline",
+   "link_count": 7,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Lead",
+   "link_count": 0,
+   "link_to": "Lead",
+   "link_type": "DocType",
+   "onboard": 1,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Opportunity",
+   "link_count": 0,
+   "link_to": "Opportunity",
+   "link_type": "DocType",
+   "onboard": 1,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Customer",
+   "link_count": 0,
+   "link_to": "Customer",
+   "link_type": "DocType",
+   "onboard": 1,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Contract",
+   "link_count": 0,
+   "link_to": "Contract",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Appointment",
+   "link_count": 0,
+   "link_to": "Appointment",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Newsletter",
+   "link_count": 0,
+   "link_to": "Newsletter",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Communication",
+   "link_count": 0,
+   "link_to": "Communication",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
   }
  ],
- "modified": "2022-07-22 15:03:30.755417",
+ "modified": "2023-05-26 16:49:04.298122",
  "modified_by": "Administrator",
  "module": "CRM",
  "name": "CRM",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
  "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 7.0,
+ "sequence_id": 10.0,
  "shortcuts": [
   {
    "color": "Blue",
diff --git a/erpnext/erpnext_integrations/workspace/erpnext_integrations/erpnext_integrations.json b/erpnext/erpnext_integrations/workspace/erpnext_integrations/erpnext_integrations.json
index 1f2619b..ccc46b7 100644
--- a/erpnext/erpnext_integrations/workspace/erpnext_integrations/erpnext_integrations.json
+++ b/erpnext/erpnext_integrations/workspace/erpnext_integrations/erpnext_integrations.json
@@ -1,30 +1,185 @@
 {
  "charts": [],
- "content": "[{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports & Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Marketplace\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Payments\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}}]",
+ "content": "[{\"id\":\"e88ADOJ7WC\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Integrations</b></span>\",\"col\":12}},{\"id\":\"G0tyx9WOfm\",\"type\":\"card\",\"data\":{\"card_name\":\"Backup\",\"col\":4}},{\"id\":\"nu4oSjH5Rd\",\"type\":\"card\",\"data\":{\"card_name\":\"Authentication\",\"col\":4}},{\"id\":\"nG8cdkpzoc\",\"type\":\"card\",\"data\":{\"card_name\":\"Google Services\",\"col\":4}},{\"id\":\"4hwuQn6E95\",\"type\":\"card\",\"data\":{\"card_name\":\"Communication Channels\",\"col\":4}},{\"id\":\"sEGAzTJRmq\",\"type\":\"card\",\"data\":{\"card_name\":\"Payments\",\"col\":4}},{\"id\":\"ZC6xu-cLBR\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}}]",
  "creation": "2020-08-20 19:30:48.138801",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "integration",
  "idx": 0,
+ "is_hidden": 0,
  "label": "ERPNext Integrations",
  "links": [
   {
    "hidden": 0,
    "is_query_report": 0,
-   "label": "Marketplace",
-   "link_count": 0,
+   "label": "Backup",
+   "link_count": 3,
    "onboard": 0,
    "type": "Card Break"
   },
   {
-   "dependencies": "",
    "hidden": 0,
    "is_query_report": 0,
-   "label": "Woocommerce Settings",
+   "label": "Dropbox Settings",
    "link_count": 0,
-   "link_to": "Woocommerce Settings",
+   "link_to": "Dropbox Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "S3 Backup Settings",
+   "link_count": 0,
+   "link_to": "S3 Backup Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Google Drive",
+   "link_count": 0,
+   "link_to": "Google Drive",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Authentication",
+   "link_count": 4,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Social Login",
+   "link_count": 0,
+   "link_to": "Social Login Key",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "LDAP Settings",
+   "link_count": 0,
+   "link_to": "LDAP Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "OAuth Client",
+   "link_count": 0,
+   "link_to": "OAuth Client",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "OAuth Provider Settings",
+   "link_count": 0,
+   "link_to": "OAuth Provider Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Communication Channels",
+   "link_count": 3,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Webhook",
+   "link_count": 0,
+   "link_to": "Webhook",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "SMS Settings",
+   "link_count": 0,
+   "link_to": "SMS Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Slack Webhook URL",
+   "link_count": 0,
+   "link_to": "Slack Webhook URL",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Google Services",
+   "link_count": 4,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Google Settings",
+   "link_count": 0,
+   "link_to": "Google Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Google Contacts",
+   "link_count": 0,
+   "link_to": "Google Contacts",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Google Calendar",
+   "link_count": 0,
+   "link_to": "Google Calendar",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Google Drive",
+   "link_count": 0,
+   "link_to": "Google Drive",
    "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
@@ -33,12 +188,11 @@
    "hidden": 0,
    "is_query_report": 0,
    "label": "Payments",
-   "link_count": 0,
+   "link_count": 3,
    "onboard": 0,
    "type": "Card Break"
   },
   {
-   "dependencies": "",
    "hidden": 0,
    "is_query_report": 0,
    "label": "GoCardless Settings",
@@ -49,10 +203,9 @@
    "type": "Link"
   },
   {
-   "dependencies": "",
    "hidden": 0,
    "is_query_report": 0,
-   "label": "M-Pesa Settings",
+   "label": "Mpesa Settings",
    "link_count": 0,
    "link_to": "Mpesa Settings",
    "link_type": "DocType",
@@ -62,15 +215,6 @@
   {
    "hidden": 0,
    "is_query_report": 0,
-   "label": "Settings",
-   "link_count": 0,
-   "onboard": 0,
-   "type": "Card Break"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
    "label": "Plaid Settings",
    "link_count": 0,
    "link_to": "Plaid Settings",
@@ -79,6 +223,14 @@
    "type": "Link"
   },
   {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Settings",
+   "link_count": 2,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
    "dependencies": "",
    "hidden": 0,
    "is_query_report": 0,
@@ -88,18 +240,30 @@
    "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Woocommerce Settings",
+   "link_count": 0,
+   "link_to": "Woocommerce Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
   }
  ],
- "modified": "2022-01-13 17:35:35.508718",
+ "modified": "2023-05-24 14:47:25.984717",
  "modified_by": "Administrator",
  "module": "ERPNext Integrations",
  "name": "ERPNext Integrations",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
+ "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 10.0,
+ "sequence_id": 21.0,
  "shortcuts": [],
  "title": "ERPNext Integrations"
-}
+}
\ No newline at end of file
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index 02b301e..bf3ee53 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -74,13 +74,7 @@
 my_account_context = "erpnext.e_commerce.shopping_cart.utils.update_my_account_context"
 webform_list_context = "erpnext.controllers.website_list_for_contact.get_webform_list_context"
 
-calendars = [
-	"Task",
-	"Work Order",
-	"Leave Application",
-	"Sales Order",
-	"Holiday List",
-]
+calendars = ["Task", "Work Order", "Leave Application", "Sales Order", "Holiday List", "ToDo"]
 
 website_generators = ["Item Group", "Website Item", "BOM", "Sales Partner"]
 
diff --git a/erpnext/loan_management/workspace/loans/loans.json b/erpnext/loan_management/workspace/loans/loans.json
index c65be4e..c25f4d3 100644
--- a/erpnext/loan_management/workspace/loans/loans.json
+++ b/erpnext/loan_management/workspace/loans/loans.json
@@ -2,6 +2,7 @@
  "charts": [],
  "content": "[{\"id\":\"_38WStznya\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"id\":\"t7o_K__1jB\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Loan Application\",\"col\":3}},{\"id\":\"IRiNDC6w1p\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Loan\",\"col\":3}},{\"id\":\"xbbo0FYbq0\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"id\":\"7ZL4Bro-Vi\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"yhyioTViZ3\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"id\":\"oYFn4b1kSw\",\"type\":\"card\",\"data\":{\"card_name\":\"Loan\",\"col\":4}},{\"id\":\"vZepJF5tl9\",\"type\":\"card\",\"data\":{\"card_name\":\"Loan Processes\",\"col\":4}},{\"id\":\"k-393Mjhqe\",\"type\":\"card\",\"data\":{\"card_name\":\"Disbursement and Repayment\",\"col\":4}},{\"id\":\"6crJ0DBiBJ\",\"type\":\"card\",\"data\":{\"card_name\":\"Loan Security\",\"col\":4}},{\"id\":\"Um5YwxVLRJ\",\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}}]",
  "creation": "2020-03-12 16:35:55.299820",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
@@ -279,17 +280,18 @@
    "type": "Link"
   }
  ],
- "modified": "2023-01-31 19:47:13.114415",
+ "modified": "2023-05-24 14:47:24.109945",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Loans",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
  "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 16.0,
+ "sequence_id": 15.0,
  "shortcuts": [
   {
    "color": "Green",
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.json b/erpnext/manufacturing/doctype/job_card/job_card.json
index 8506111..316e586 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.json
+++ b/erpnext/manufacturing/doctype/job_card/job_card.json
@@ -439,7 +439,7 @@
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2022-11-09 15:02:44.490731",
+ "modified": "2023-05-23 09:56:43.826602",
  "modified_by": "Administrator",
  "module": "Manufacturing",
  "name": "Job Card",
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.py b/erpnext/manufacturing/doctype/job_card/job_card.py
index 4a4046e..fcaa3fd 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.py
+++ b/erpnext/manufacturing/doctype/job_card/job_card.py
@@ -653,23 +653,19 @@
 					exc=JobCardOverTransferError,
 				)
 
-		job_card_items_transferred_qty = _get_job_card_items_transferred_qty(ste_doc)
+		job_card_items_transferred_qty = _get_job_card_items_transferred_qty(ste_doc) or {}
+		allow_excess = frappe.db.get_single_value("Manufacturing Settings", "job_card_excess_transfer")
 
-		if job_card_items_transferred_qty:
-			allow_excess = frappe.db.get_single_value("Manufacturing Settings", "job_card_excess_transfer")
+		for row in ste_doc.items:
+			if not row.job_card_item:
+				continue
 
-			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, 0.0))
 
-				transferred_qty = flt(job_card_items_transferred_qty.get(row.job_card_item))
+			if not allow_excess:
+				_validate_over_transfer(row, transferred_qty)
 
-				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)
-				)
+			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."
@@ -730,7 +726,7 @@
 		self.status = {0: "Open", 1: "Submitted", 2: "Cancelled"}[self.docstatus or 0]
 
 		if self.docstatus < 2:
-			if self.for_quantity <= self.transferred_qty:
+			if flt(self.for_quantity) <= flt(self.transferred_qty):
 				self.status = "Material Transferred"
 
 			if self.time_logs:
diff --git a/erpnext/manufacturing/doctype/job_card/test_job_card.py b/erpnext/manufacturing/doctype/job_card/test_job_card.py
index 61766a6..a7f0648 100644
--- a/erpnext/manufacturing/doctype/job_card/test_job_card.py
+++ b/erpnext/manufacturing/doctype/job_card/test_job_card.py
@@ -7,13 +7,14 @@
 import frappe
 from frappe.tests.utils import FrappeTestCase, change_settings
 from frappe.utils import random_string
-from frappe.utils.data import add_to_date, now
+from frappe.utils.data import add_to_date, now, today
 
 from erpnext.manufacturing.doctype.job_card.job_card import (
 	JobCardOverTransferError,
 	OperationMismatchError,
 	OverlapError,
 	make_corrective_job_card,
+	make_material_request,
 )
 from erpnext.manufacturing.doctype.job_card.job_card import (
 	make_stock_entry as make_stock_entry_from_jc,
@@ -342,6 +343,12 @@
 		job_card.reload()
 		self.assertEqual(job_card.transferred_qty, 2)
 
+		transfer_entry_2.cancel()
+		transfer_entry.cancel()
+
+		job_card.reload()
+		self.assertEqual(job_card.transferred_qty, 0.0)
+
 	def test_job_card_material_transfer_correctness(self):
 		"""
 		1. Test if only current Job Card Items are pulled in a Stock Entry against a Job Card
@@ -443,6 +450,25 @@
 		jc.docstatus = 2
 		assertStatus("Cancelled")
 
+	def test_job_card_material_request_and_bom_details(self):
+		from erpnext.stock.doctype.material_request.material_request import make_stock_entry
+
+		create_bom_with_multiple_operations()
+		work_order = make_wo_with_transfer_against_jc()
+
+		job_card_name = frappe.db.get_value("Job Card", {"work_order": work_order.name}, "name")
+
+		mr = make_material_request(job_card_name)
+		mr.schedule_date = today()
+		mr.submit()
+
+		ste = make_stock_entry(mr.name)
+		self.assertEqual(ste.purpose, "Material Transfer for Manufacture")
+		self.assertEqual(ste.work_order, work_order.name)
+		self.assertEqual(ste.job_card, job_card_name)
+		self.assertEqual(ste.from_bom, 1.0)
+		self.assertEqual(ste.bom_no, work_order.bom_no)
+
 
 def create_bom_with_multiple_operations():
 	"Create a BOM with multiple operations and Material Transfer against Job Card"
diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan.js b/erpnext/manufacturing/doctype/production_plan/production_plan.js
index ab7aa52..45a59cf 100644
--- a/erpnext/manufacturing/doctype/production_plan/production_plan.js
+++ b/erpnext/manufacturing/doctype/production_plan/production_plan.js
@@ -451,10 +451,14 @@
 					for_warehouse: row.warehouse
 				},
 				callback: function(r) {
-					let {projected_qty, actual_qty} = r.message;
+					if (r.message) {
+						let {projected_qty, actual_qty} = r.message[0];
 
-					frappe.model.set_value(cdt, cdn, 'projected_qty', projected_qty);
-					frappe.model.set_value(cdt, cdn, 'actual_qty', actual_qty);
+						frappe.model.set_value(cdt, cdn, {
+							'projected_qty': projected_qty,
+							'actual_qty': actual_qty
+						});
+					}
 				}
 			})
 		}
diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan.json b/erpnext/manufacturing/doctype/production_plan/production_plan.json
index fdaa4a2..232f1cb 100644
--- a/erpnext/manufacturing/doctype/production_plan/production_plan.json
+++ b/erpnext/manufacturing/doctype/production_plan/production_plan.json
@@ -35,8 +35,12 @@
   "section_break_25",
   "prod_plan_references",
   "section_break_24",
-  "get_sub_assembly_items",
   "combine_sub_items",
+  "section_break_ucc4",
+  "skip_available_sub_assembly_item",
+  "column_break_igxl",
+  "get_sub_assembly_items",
+  "section_break_g4ip",
   "sub_assembly_items",
   "download_materials_request_plan_section_section",
   "download_materials_required",
@@ -351,12 +355,12 @@
   {
    "fieldname": "section_break_24",
    "fieldtype": "Section Break",
-   "hide_border": 1
+   "hide_border": 1,
+   "label": "Sub Assembly Items"
   },
   {
    "fieldname": "sub_assembly_items",
    "fieldtype": "Table",
-   "label": "Sub Assembly Items",
    "no_copy": 1,
    "options": "Production Plan Sub Assembly Item"
   },
@@ -392,13 +396,33 @@
    "fieldname": "download_materials_request_plan_section_section",
    "fieldtype": "Section Break",
    "label": "Download Materials Request Plan Section"
+  },
+  {
+   "default": "0",
+   "description": "System consider the projected quantity to check available or will be available sub-assembly items ",
+   "fieldname": "skip_available_sub_assembly_item",
+   "fieldtype": "Check",
+   "label": "Skip Available Sub Assembly Items"
+  },
+  {
+   "fieldname": "section_break_ucc4",
+   "fieldtype": "Column Break",
+   "hide_border": 1
+  },
+  {
+   "fieldname": "section_break_g4ip",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "column_break_igxl",
+   "fieldtype": "Column Break"
   }
  ],
  "icon": "fa fa-calendar",
  "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2023-03-31 10:30:48.118932",
+ "modified": "2023-05-22 23:36:31.770517",
  "modified_by": "Administrator",
  "module": "Manufacturing",
  "name": "Production Plan",
diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan.py b/erpnext/manufacturing/doctype/production_plan/production_plan.py
index f9e68b9..0800bdd 100644
--- a/erpnext/manufacturing/doctype/production_plan/production_plan.py
+++ b/erpnext/manufacturing/doctype/production_plan/production_plan.py
@@ -718,7 +718,9 @@
 				frappe.throw(_("Row #{0}: Please select Item Code in Assembly Items").format(row.idx))
 
 			bom_data = []
-			get_sub_assembly_items(row.bom_no, bom_data, row.planned_qty)
+
+			warehouse = row.warehouse if self.skip_available_sub_assembly_item else None
+			get_sub_assembly_items(row.bom_no, bom_data, row.planned_qty, self.company, warehouse=warehouse)
 			self.set_sub_assembly_items_based_on_level(row, bom_data, manufacturing_type)
 			sub_assembly_items_store.extend(bom_data)
 
@@ -894,7 +896,9 @@
 	build_csv_response(item_list, doc.name)
 
 
-def get_exploded_items(item_details, company, bom_no, include_non_stock_items, planned_qty=1):
+def get_exploded_items(
+	item_details, company, bom_no, include_non_stock_items, planned_qty=1, doc=None
+):
 	bei = frappe.qb.DocType("BOM Explosion Item")
 	bom = frappe.qb.DocType("BOM")
 	item = frappe.qb.DocType("Item")
@@ -1271,6 +1275,12 @@
 	include_safety_stock = doc.get("include_safety_stock")
 
 	so_item_details = frappe._dict()
+
+	sub_assembly_items = {}
+	if doc.get("skip_available_sub_assembly_item"):
+		for d in doc.get("sub_assembly_items"):
+			sub_assembly_items.setdefault((d.get("production_item"), d.get("bom_no")), d.get("qty"))
+
 	for data in po_items:
 		if not data.get("include_exploded_items") and doc.get("sub_assembly_items"):
 			data["include_exploded_items"] = 1
@@ -1296,10 +1306,24 @@
 				frappe.throw(_("For row {0}: Enter Planned Qty").format(data.get("idx")))
 
 			if bom_no:
-				if data.get("include_exploded_items") and include_subcontracted_items:
+				if (
+					data.get("include_exploded_items")
+					and doc.get("sub_assembly_items")
+					and doc.get("skip_available_sub_assembly_item")
+				):
+					item_details = get_raw_materials_of_sub_assembly_items(
+						item_details,
+						company,
+						bom_no,
+						include_non_stock_items,
+						sub_assembly_items,
+						planned_qty=planned_qty,
+					)
+
+				elif data.get("include_exploded_items") and include_subcontracted_items:
 					# fetch exploded items from BOM
 					item_details = get_exploded_items(
-						item_details, company, bom_no, include_non_stock_items, planned_qty=planned_qty
+						item_details, company, bom_no, include_non_stock_items, planned_qty=planned_qty, doc=doc
 					)
 				else:
 					item_details = get_subitems(
@@ -1456,12 +1480,22 @@
 	}
 
 
-def get_sub_assembly_items(bom_no, bom_data, to_produce_qty, indent=0):
+def get_sub_assembly_items(bom_no, bom_data, to_produce_qty, company, warehouse=None, indent=0):
 	data = get_bom_children(parent=bom_no)
 	for d in data:
 		if d.expandable:
 			parent_item_code = frappe.get_cached_value("BOM", bom_no, "item")
 			stock_qty = (d.stock_qty / d.parent_bom_qty) * flt(to_produce_qty)
+
+			if warehouse:
+				bin_dict = get_bin_details(d, company, for_warehouse=warehouse)
+
+				if bin_dict and bin_dict[0].projected_qty > 0:
+					if bin_dict[0].projected_qty > stock_qty:
+						continue
+					else:
+						stock_qty = stock_qty - bin_dict[0].projected_qty
+
 			bom_data.append(
 				frappe._dict(
 					{
@@ -1481,7 +1515,7 @@
 			)
 
 			if d.value:
-				get_sub_assembly_items(d.value, bom_data, stock_qty, indent=indent + 1)
+				get_sub_assembly_items(d.value, bom_data, stock_qty, company, warehouse, indent=indent + 1)
 
 
 def set_default_warehouses(row, default_warehouses):
@@ -1500,7 +1534,7 @@
 		frappe.qb.from_(table)
 		.inner_join(child)
 		.on(table.name == child.parent)
-		.select(Sum(child.quantity * IfNull(child.conversion_factor, 1.0)))
+		.select(Sum(child.required_bom_qty * IfNull(child.conversion_factor, 1.0)))
 		.where(
 			(table.docstatus == 1)
 			& (child.item_code == item_code)
@@ -1518,4 +1552,72 @@
 		get_reserved_qty_for_production(item_code, warehouse, check_production_plan=True)
 	)
 
+	if reserved_qty_for_production > reserved_qty_for_production_plan:
+		return 0.0
+
 	return reserved_qty_for_production_plan - reserved_qty_for_production
+
+
+def get_raw_materials_of_sub_assembly_items(
+	item_details, company, bom_no, include_non_stock_items, sub_assembly_items, planned_qty=1
+):
+
+	bei = frappe.qb.DocType("BOM Item")
+	bom = frappe.qb.DocType("BOM")
+	item = frappe.qb.DocType("Item")
+	item_default = frappe.qb.DocType("Item Default")
+	item_uom = frappe.qb.DocType("UOM Conversion Detail")
+
+	items = (
+		frappe.qb.from_(bei)
+		.join(bom)
+		.on(bom.name == bei.parent)
+		.join(item)
+		.on(item.name == bei.item_code)
+		.left_join(item_default)
+		.on((item_default.parent == item.name) & (item_default.company == company))
+		.left_join(item_uom)
+		.on((item.name == item_uom.parent) & (item_uom.uom == item.purchase_uom))
+		.select(
+			(IfNull(Sum(bei.stock_qty / IfNull(bom.quantity, 1)), 0) * planned_qty).as_("qty"),
+			item.item_name,
+			item.name.as_("item_code"),
+			bei.description,
+			bei.stock_uom,
+			bei.bom_no,
+			item.min_order_qty,
+			bei.source_warehouse,
+			item.default_material_request_type,
+			item.min_order_qty,
+			item_default.default_warehouse,
+			item.purchase_uom,
+			item_uom.conversion_factor,
+			item.safety_stock,
+		)
+		.where(
+			(bei.docstatus == 1)
+			& (bom.name == bom_no)
+			& (item.is_stock_item.isin([0, 1]) if include_non_stock_items else item.is_stock_item == 1)
+		)
+		.groupby(bei.item_code, bei.stock_uom)
+	).run(as_dict=True)
+
+	for item in items:
+		key = (item.item_code, item.bom_no)
+		if item.bom_no and key in sub_assembly_items:
+			planned_qty = flt(sub_assembly_items[key])
+			get_raw_materials_of_sub_assembly_items(
+				item_details,
+				company,
+				item.bom_no,
+				include_non_stock_items,
+				sub_assembly_items,
+				planned_qty=planned_qty,
+			)
+		else:
+			if not item.conversion_factor and item.purchase_uom:
+				item.conversion_factor = get_uom_conversion_factor(item.item_code, item.purchase_uom)
+
+			item_details.setdefault(item.get("item_code"), item)
+
+	return item_details
diff --git a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
index 4648d89..75b43ec 100644
--- a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
+++ b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
@@ -926,6 +926,50 @@
 
 		self.assertEqual(after_qty, before_qty)
 
+	def test_skip_available_qty_for_sub_assembly_items(self):
+		from erpnext.manufacturing.doctype.bom.test_bom import create_nested_bom
+
+		bom_tree = {
+			"Fininshed Goods1 For SUB Test": {
+				"SubAssembly1 For SUB Test": {"ChildPart1 For SUB Test": {}},
+				"SubAssembly2 For SUB Test": {},
+			}
+		}
+
+		parent_bom = create_nested_bom(bom_tree, prefix="")
+		plan = create_production_plan(
+			item_code=parent_bom.item,
+			planned_qty=10,
+			ignore_existing_ordered_qty=1,
+			do_not_submit=1,
+			skip_available_sub_assembly_item=1,
+			warehouse="_Test Warehouse - _TC",
+		)
+
+		make_stock_entry(
+			item_code="SubAssembly1 For SUB Test",
+			qty=5,
+			rate=100,
+			target="_Test Warehouse - _TC",
+		)
+
+		self.assertTrue(plan.skip_available_sub_assembly_item)
+
+		plan.get_sub_assembly_items()
+
+		for row in plan.sub_assembly_items:
+			if row.production_item == "SubAssembly1 For SUB Test":
+				self.assertEqual(row.qty, 5)
+
+		mr_items = get_items_for_material_requests(plan.as_dict())
+		for row in mr_items:
+			row = frappe._dict(row)
+			if row.item_code == "ChildPart1 For SUB Test":
+				self.assertEqual(row.quantity, 5)
+
+			if row.item_code == "SubAssembly2 For SUB Test":
+				self.assertEqual(row.quantity, 10)
+
 
 def create_production_plan(**args):
 	"""
@@ -945,6 +989,7 @@
 			"include_subcontracted_items": args.include_subcontracted_items or 0,
 			"ignore_existing_ordered_qty": args.ignore_existing_ordered_qty or 0,
 			"get_items_from": "Sales Order",
+			"skip_available_sub_assembly_item": args.skip_available_sub_assembly_item or 0,
 		}
 	)
 
@@ -958,6 +1003,7 @@
 				"planned_qty": args.planned_qty or 1,
 				"planned_start_date": args.planned_start_date or now_datetime(),
 				"stock_uom": args.stock_uom or "Nos",
+				"warehouse": args.warehouse,
 			},
 		)
 
diff --git a/erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json b/erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
index 4eb6bf6..fde0404 100644
--- a/erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
+++ b/erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
@@ -28,7 +28,11 @@
   "uom",
   "stock_uom",
   "column_break_22",
-  "description"
+  "description",
+  "section_break_4rxf",
+  "actual_qty",
+  "column_break_xfhm",
+  "projected_qty"
  ],
  "fields": [
   {
@@ -183,12 +187,34 @@
    "fieldtype": "Datetime",
    "in_list_view": 1,
    "label": "Schedule Date"
+  },
+  {
+   "fieldname": "section_break_4rxf",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "actual_qty",
+   "fieldtype": "Float",
+   "label": "Actual Qty",
+   "no_copy": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "column_break_xfhm",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "projected_qty",
+   "fieldtype": "Float",
+   "label": "Projected Qty",
+   "no_copy": 1,
+   "read_only": 1
   }
  ],
  "index_web_pages_for_search": 1,
  "istable": 1,
  "links": [],
- "modified": "2022-11-28 13:50:15.116082",
+ "modified": "2023-05-22 17:52:34.708879",
  "modified_by": "Administrator",
  "module": "Manufacturing",
  "name": "Production Plan Sub Assembly Item",
diff --git a/erpnext/manufacturing/workspace/manufacturing/manufacturing.json b/erpnext/manufacturing/workspace/manufacturing/manufacturing.json
index c25f606..d862c34 100644
--- a/erpnext/manufacturing/workspace/manufacturing/manufacturing.json
+++ b/erpnext/manufacturing/workspace/manufacturing/manufacturing.json
@@ -1,13 +1,15 @@
 {
  "charts": [],
- "content": "[{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"BOM\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Production Plan\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Work Order\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Job Card\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Forecasting\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"BOM Stock Report\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Production Planning Report\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Production\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Bill of Materials\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Tools\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}}]",
+ "content": "[{\"id\":\"csBCiDglCE\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"id\":\"xit0dg7KvY\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"BOM\",\"col\":3}},{\"id\":\"LRhGV9GAov\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Production Plan\",\"col\":3}},{\"id\":\"69KKosI6Hg\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Work Order\",\"col\":3}},{\"id\":\"PwndxuIpB3\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Job Card\",\"col\":3}},{\"id\":\"OaiDqTT03Y\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Forecasting\",\"col\":3}},{\"id\":\"OtMcArFRa5\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"BOM Stock Report\",\"col\":3}},{\"id\":\"76yYsI5imF\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Production Planning Report\",\"col\":3}},{\"id\":\"bN_6tHS-Ct\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"yVEFZMqVwd\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"id\":\"rwrmsTI58-\",\"type\":\"card\",\"data\":{\"card_name\":\"Production\",\"col\":4}},{\"id\":\"6dnsyX-siZ\",\"type\":\"card\",\"data\":{\"card_name\":\"Bill of Materials\",\"col\":4}},{\"id\":\"CIq-v5f5KC\",\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}},{\"id\":\"8RRiQeYr0G\",\"type\":\"card\",\"data\":{\"card_name\":\"Tools\",\"col\":4}},{\"id\":\"Pu8z7-82rT\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}}]",
  "creation": "2020-03-02 17:11:37.032604",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "organization",
  "idx": 0,
+ "is_hidden": 0,
  "label": "Manufacturing",
  "links": [
   {
@@ -243,7 +245,7 @@
    "hidden": 0,
    "is_query_report": 0,
    "label": "Bill of Materials",
-   "link_count": 15,
+   "link_count": 6,
    "onboard": 0,
    "type": "Card Break"
   },
@@ -312,117 +314,20 @@
    "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
-  },
-  {
-   "dependencies": "Work Order",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Production Planning Report",
-   "link_count": 0,
-   "link_to": "Production Planning Report",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Quality Inspection",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Work Order Summary",
-   "link_count": 0,
-   "link_to": "Work Order Summary",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Downtime Entry",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Quality Inspection Summary",
-   "link_count": 0,
-   "link_to": "Quality Inspection Summary",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Job Card",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Downtime Analysis",
-   "link_count": 0,
-   "link_to": "Downtime Analysis",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "BOM",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Job Card Summary",
-   "link_count": 0,
-   "link_to": "Job Card Summary",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "BOM",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "BOM Search",
-   "link_count": 0,
-   "link_to": "BOM Search",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Work Order",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "BOM Stock Report",
-   "link_count": 0,
-   "link_to": "BOM Stock Report",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "BOM",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Production Analytics",
-   "link_count": 0,
-   "link_to": "Production Analytics",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "BOM Operations Time",
-   "link_count": 0,
-   "link_to": "BOM Operations Time",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
   }
  ],
- "modified": "2022-11-14 14:53:34.616862",
+ "modified": "2023-05-27 16:41:04.776115",
  "modified_by": "Administrator",
  "module": "Manufacturing",
  "name": "Manufacturing",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
  "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 17.0,
+ "sequence_id": 8.0,
  "shortcuts": [
   {
    "color": "Grey",
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index e158df6..47eced7 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -326,10 +326,12 @@
 erpnext.patches.v15_0.update_asset_value_for_manual_depr_entries
 erpnext.patches.v15_0.update_gpa_and_ndb_for_assdeprsch
 erpnext.patches.v14_0.create_accounting_dimensions_for_closing_balance
-erpnext.patches.v14_0.update_closing_balances #10-05-2023
+erpnext.patches.v14_0.update_closing_balances #17-05-2023
 execute:frappe.db.set_single_value("Accounts Settings", "merge_similar_account_heads", 0)
 # below migration patches should always run last
 erpnext.patches.v14_0.migrate_gl_to_payment_ledger
 execute:frappe.delete_doc_if_exists("Report", "Tax Detail")
 erpnext.patches.v15_0.enable_all_leads
 erpnext.patches.v14_0.update_company_in_ldc
+erpnext.patches.v14_0.set_packed_qty_in_draft_delivery_notes
+erpnext.patches.v14_0.cleanup_workspaces
diff --git a/erpnext/patches/v13_0/copy_custom_field_filters_to_website_item.py b/erpnext/patches/v13_0/copy_custom_field_filters_to_website_item.py
index e8d0b59..4ad572f 100644
--- a/erpnext/patches/v13_0/copy_custom_field_filters_to_website_item.py
+++ b/erpnext/patches/v13_0/copy_custom_field_filters_to_website_item.py
@@ -15,7 +15,7 @@
 			web_item = frappe.db.get_value("Website Item", {"item_code": row.parent})
 			web_item_doc = frappe.get_doc("Website Item", web_item)
 
-			child_doc = frappe.new_doc(docfield.options, web_item_doc, field)
+			child_doc = frappe.new_doc(docfield.options, parent_doc=web_item_doc, parentfield=field)
 
 			for field in ["name", "creation", "modified", "idx"]:
 				row[field] = None
diff --git a/erpnext/patches/v14_0/cleanup_workspaces.py b/erpnext/patches/v14_0/cleanup_workspaces.py
new file mode 100644
index 0000000..2fc0a4f
--- /dev/null
+++ b/erpnext/patches/v14_0/cleanup_workspaces.py
@@ -0,0 +1,9 @@
+import frappe
+
+
+def execute():
+	for ws in ["Retail", "Utilities"]:
+		frappe.delete_doc_if_exists("Workspace", ws)
+
+	for ws in ["Integrations", "Settings"]:
+		frappe.db.set_value("Workspace", ws, "public", 0)
diff --git a/erpnext/patches/v14_0/set_packed_qty_in_draft_delivery_notes.py b/erpnext/patches/v14_0/set_packed_qty_in_draft_delivery_notes.py
new file mode 100644
index 0000000..1aeb2e6
--- /dev/null
+++ b/erpnext/patches/v14_0/set_packed_qty_in_draft_delivery_notes.py
@@ -0,0 +1,60 @@
+# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+import frappe
+from frappe.query_builder.functions import Sum
+
+
+def execute():
+	ps = frappe.qb.DocType("Packing Slip")
+	dn = frappe.qb.DocType("Delivery Note")
+	ps_item = frappe.qb.DocType("Packing Slip Item")
+
+	ps_details = (
+		frappe.qb.from_(ps)
+		.join(ps_item)
+		.on(ps.name == ps_item.parent)
+		.join(dn)
+		.on(ps.delivery_note == dn.name)
+		.select(
+			dn.name.as_("delivery_note"),
+			ps_item.item_code.as_("item_code"),
+			Sum(ps_item.qty).as_("packed_qty"),
+		)
+		.where((ps.docstatus == 1) & (dn.docstatus == 0))
+		.groupby(dn.name, ps_item.item_code)
+	).run(as_dict=True)
+
+	if ps_details:
+		dn_list = set()
+		item_code_list = set()
+		for ps_detail in ps_details:
+			dn_list.add(ps_detail.delivery_note)
+			item_code_list.add(ps_detail.item_code)
+
+		dn_item = frappe.qb.DocType("Delivery Note Item")
+		dn_item_query = (
+			frappe.qb.from_(dn_item)
+			.select(
+				dn.parent.as_("delivery_note"),
+				dn_item.name,
+				dn_item.item_code,
+				dn_item.qty,
+			)
+			.where((dn_item.parent.isin(dn_list)) & (dn_item.item_code.isin(item_code_list)))
+		)
+
+		dn_details = frappe._dict()
+		for r in dn_item_query.run(as_dict=True):
+			dn_details.setdefault((r.delivery_note, r.item_code), frappe._dict()).setdefault(r.name, r.qty)
+
+		for ps_detail in ps_details:
+			dn_items = dn_details.get((ps_detail.delivery_note, ps_detail.item_code))
+
+			if dn_items:
+				remaining_qty = ps_detail.packed_qty
+				for name, qty in dn_items.items():
+					if remaining_qty > 0:
+						row_packed_qty = min(qty, remaining_qty)
+						frappe.db.set_value("Delivery Note Item", name, "packed_qty", row_packed_qty)
+						remaining_qty -= row_packed_qty
diff --git a/erpnext/patches/v14_0/update_closing_balances.py b/erpnext/patches/v14_0/update_closing_balances.py
index bb108ab..d664677 100644
--- a/erpnext/patches/v14_0/update_closing_balances.py
+++ b/erpnext/patches/v14_0/update_closing_balances.py
@@ -13,8 +13,8 @@
 def execute():
 	frappe.db.truncate("Account Closing Balance")
 
+	i = 0
 	company_wise_order = {}
-	get_opening_entries = True
 	for pcv in frappe.db.get_all(
 		"Period Closing Voucher",
 		fields=["company", "posting_date", "name"],
@@ -29,6 +29,7 @@
 				pcv.posting_date, pcv.fiscal_year, company=pcv.company
 			)[1]
 
+			# get gl entries against pcv
 			gl_entries = frappe.db.get_all(
 				"GL Entry", filters={"voucher_no": pcv.name, "is_cancelled": 0}, fields=["*"]
 			)
@@ -37,20 +38,31 @@
 				entry["closing_date"] = pcv_doc.posting_date
 				entry["period_closing_voucher"] = pcv_doc.name
 
+			# get all gl entries for the year
 			closing_entries = frappe.db.get_all(
 				"GL Entry",
 				filters={
 					"is_cancelled": 0,
 					"voucher_no": ["!=", pcv.name],
-					"posting_date": ["<=", pcv.posting_date],
+					"posting_date": ["between", [pcv_doc.year_start_date, pcv.posting_date]],
+					"is_opening": "No",
 				},
 				fields=["*"],
 			)
 
+			if i == 0:
+				# add opening entries only for the first pcv
+				closing_entries += frappe.db.get_all(
+					"GL Entry",
+					filters={"is_cancelled": 0, "is_opening": "Yes"},
+					fields=["*"],
+				)
+
 			for entry in closing_entries:
 				entry["closing_date"] = pcv_doc.posting_date
 				entry["period_closing_voucher"] = pcv_doc.name
 
 			make_closing_entries(gl_entries + closing_entries, voucher_name=pcv.name)
 			company_wise_order[pcv.company].append(pcv.posting_date)
-			get_opening_entries = False
+
+			i += 1
diff --git a/erpnext/projects/doctype/project/project.json b/erpnext/projects/doctype/project/project.json
index ba7aa85..2b3392a 100644
--- a/erpnext/projects/doctype/project/project.json
+++ b/erpnext/projects/doctype/project/project.json
@@ -234,13 +234,13 @@
   {
    "fieldname": "actual_start_date",
    "fieldtype": "Date",
-   "label": "Actual Start Date (via Time Sheet)",
+   "label": "Actual Start Date (via Timesheet)",
    "read_only": 1
   },
   {
    "fieldname": "actual_time",
    "fieldtype": "Float",
-   "label": "Actual Time (in Hours via Time Sheet)",
+   "label": "Actual Time in Hours (via Timesheet)",
    "read_only": 1
   },
   {
@@ -250,7 +250,7 @@
   {
    "fieldname": "actual_end_date",
    "fieldtype": "Date",
-   "label": "Actual End Date (via Time Sheet)",
+   "label": "Actual End Date (via Timesheet)",
    "oldfieldname": "act_completion_date",
    "oldfieldtype": "Date",
    "read_only": 1
@@ -275,7 +275,7 @@
   {
    "fieldname": "total_costing_amount",
    "fieldtype": "Currency",
-   "label": "Total Costing Amount (via Timesheets)",
+   "label": "Total Costing Amount (via Timesheet)",
    "read_only": 1
   },
   {
@@ -304,19 +304,19 @@
   {
    "fieldname": "total_billable_amount",
    "fieldtype": "Currency",
-   "label": "Total Billable Amount (via Timesheets)",
+   "label": "Total Billable Amount (via Timesheet)",
    "read_only": 1
   },
   {
    "fieldname": "total_billed_amount",
    "fieldtype": "Currency",
-   "label": "Total Billed Amount (via Sales Invoices)",
+   "label": "Total Billed Amount (via Sales Invoice)",
    "read_only": 1
   },
   {
    "fieldname": "total_consumed_material_cost",
    "fieldtype": "Currency",
-   "label": "Total Consumed Material Cost  (via Stock Entry)",
+   "label": "Total Consumed Material Cost (via Stock Entry)",
    "read_only": 1
   },
   {
@@ -451,7 +451,7 @@
  "index_web_pages_for_search": 1,
  "links": [],
  "max_attachments": 4,
- "modified": "2023-02-14 04:54:25.819620",
+ "modified": "2023-04-17 21:11:11.346986",
  "modified_by": "Administrator",
  "module": "Projects",
  "name": "Project",
diff --git a/erpnext/projects/doctype/task/task.json b/erpnext/projects/doctype/task/task.json
index 141a99e..62ec9e0 100644
--- a/erpnext/projects/doctype/task/task.json
+++ b/erpnext/projects/doctype/task/task.json
@@ -240,7 +240,7 @@
   {
    "fieldname": "act_start_date",
    "fieldtype": "Date",
-   "label": "Actual Start Date (via Time Sheet)",
+   "label": "Actual Start Date (via Timesheet)",
    "oldfieldname": "act_start_date",
    "oldfieldtype": "Date",
    "read_only": 1
@@ -248,7 +248,7 @@
   {
    "fieldname": "actual_time",
    "fieldtype": "Float",
-   "label": "Actual Time (in Hours via Time Sheet)",
+   "label": "Actual Time in Hours (via Timesheet)",
    "read_only": 1
   },
   {
@@ -258,7 +258,7 @@
   {
    "fieldname": "act_end_date",
    "fieldtype": "Date",
-   "label": "Actual End Date (via Time Sheet)",
+   "label": "Actual End Date (via Timesheet)",
    "oldfieldname": "act_end_date",
    "oldfieldtype": "Date",
    "read_only": 1
@@ -272,7 +272,7 @@
   {
    "fieldname": "total_costing_amount",
    "fieldtype": "Currency",
-   "label": "Total Costing Amount (via Time Sheet)",
+   "label": "Total Costing Amount (via Timesheet)",
    "oldfieldname": "actual_budget",
    "oldfieldtype": "Currency",
    "options": "Company:company:default_currency",
@@ -285,7 +285,7 @@
   {
    "fieldname": "total_billing_amount",
    "fieldtype": "Currency",
-   "label": "Total Billing Amount (via Time Sheet)",
+   "label": "Total Billable Amount (via Timesheet)",
    "read_only": 1
   },
   {
@@ -389,7 +389,7 @@
  "is_tree": 1,
  "links": [],
  "max_attachments": 5,
- "modified": "2022-06-23 16:58:47.005241",
+ "modified": "2023-04-17 21:06:50.174418",
  "modified_by": "Administrator",
  "module": "Projects",
  "name": "Task",
diff --git a/erpnext/projects/doctype/task/task.py b/erpnext/projects/doctype/task/task.py
index ce3ae4f..b9f4ec6 100755
--- a/erpnext/projects/doctype/task/task.py
+++ b/erpnext/projects/doctype/task/task.py
@@ -66,8 +66,10 @@
 				task_date = self.get(fieldname)
 				if task_date and date_diff(project_end_date, getdate(task_date)) < 0:
 					frappe.throw(
-						_("Task's {0} cannot be after Project's Expected End Date.").format(
-							_(self.meta.get_label(fieldname))
+						_("{0}'s {1} cannot be after {2}'s Expected End Date.").format(
+							frappe.bold(frappe.get_desk_link("Task", self.name)),
+							_(self.meta.get_label(fieldname)),
+							frappe.bold(frappe.get_desk_link("Project", self.project)),
 						),
 						frappe.exceptions.InvalidDates,
 					)
diff --git a/erpnext/projects/workspace/projects/projects.json b/erpnext/projects/workspace/projects/projects.json
index 4bdb1db..50730ba 100644
--- a/erpnext/projects/workspace/projects/projects.json
+++ b/erpnext/projects/workspace/projects/projects.json
@@ -7,12 +7,14 @@
  ],
  "content": "[{\"type\":\"chart\",\"data\":{\"chart_name\":\"Open Projects\",\"col\":12}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Task\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Project\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Timesheet\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Project Billing Summary\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Projects\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Time Tracking\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}}]",
  "creation": "2020-03-02 15:46:04.874669",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "project",
  "idx": 0,
+ "is_hidden": 0,
  "label": "Projects",
  "links": [
   {
@@ -190,17 +192,18 @@
    "type": "Link"
   }
  ],
- "modified": "2022-10-11 22:39:10.436311",
+ "modified": "2023-05-24 14:47:23.179860",
  "modified_by": "Administrator",
  "module": "Projects",
  "name": "Projects",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
  "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 20.0,
+ "sequence_id": 11.0,
  "shortcuts": [
   {
    "color": "Blue",
diff --git a/erpnext/public/build.json b/erpnext/public/build.json
index 44abb33..3d38aca 100644
--- a/erpnext/public/build.json
+++ b/erpnext/public/build.json
@@ -29,7 +29,6 @@
 		"public/js/help_links.js",
 		"public/js/agriculture/ternary_plot.js",
 		"public/js/templates/item_quick_entry.html",
-		"public/js/utils/item_quick_entry.js",
 		"public/js/utils/customer_quick_entry.js",
 		"public/js/utils/supplier_quick_entry.js",
 		"public/js/education/student_button.html",
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 1675e2c..96ff44e 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -494,7 +494,7 @@
 								},
 								() => {
 									// for internal customer instead of pricing rule directly apply valuation rate on item
-									if (me.frm.doc.is_internal_customer || me.frm.doc.is_internal_supplier) {
+									if ((me.frm.doc.is_internal_customer || me.frm.doc.is_internal_supplier) && me.frm.doc.represents_company === me.frm.doc.company) {
 										me.get_incoming_rate(item, me.frm.posting_date, me.frm.posting_time,
 											me.frm.doc.doctype, me.frm.doc.company);
 									} else {
diff --git a/erpnext/public/js/erpnext.bundle.js b/erpnext/public/js/erpnext.bundle.js
index 7b230af..cc020fc 100644
--- a/erpnext/public/js/erpnext.bundle.js
+++ b/erpnext/public/js/erpnext.bundle.js
@@ -12,7 +12,6 @@
 import "./help_links";
 import "./agriculture/ternary_plot";
 import "./templates/item_quick_entry.html";
-import "./utils/item_quick_entry";
 import "./utils/contact_address_quick_entry";
 import "./utils/customer_quick_entry";
 import "./utils/supplier_quick_entry";
diff --git a/erpnext/public/js/utils/item_quick_entry.js b/erpnext/public/js/utils/item_quick_entry.js
deleted file mode 100644
index 7e0198d..0000000
--- a/erpnext/public/js/utils/item_quick_entry.js
+++ /dev/null
@@ -1,407 +0,0 @@
-frappe.provide('frappe.ui.form');
-
-frappe.ui.form.ItemQuickEntryForm = class ItemQuickEntryForm extends frappe.ui.form.QuickEntryForm {
-	constructor(doctype, after_insert) {
-		super(doctype, after_insert);
-	}
-
-	render_dialog() {
-		this.mandatory = this.get_variant_fields().concat(this.mandatory);
-		this.mandatory = this.mandatory.concat(this.get_attributes_fields());
-		this.check_naming_series_based_on();
-		super.render_dialog();
-		this.init_post_render_dialog_operations();
-		this.preset_fields_for_template();
-		this.dialog.$wrapper.find('.edit-full').text(__('Edit in full page for more options like assets, serial nos, batches etc.'))
-	}
-
-	check_naming_series_based_on() {
-		if (frappe.defaults.get_default("item_naming_by") === "Naming Series") {
-			this.mandatory = this.mandatory.filter(d => d.fieldname !== "item_code");
-		}
-	}
-
-	init_post_render_dialog_operations() {
-		this.dialog.fields_dict.attribute_html.$wrapper.append(frappe.render_template("item_quick_entry"));
-		this.init_for_create_variant_trigger();
-		this.init_for_item_template_trigger();
-		// explicitly hide manufacturing fields as hidden not working.
-		this.toggle_manufacturer_fields();
-		this.dialog.get_field("item_template").df.hidden = 1;
-		this.dialog.get_field("item_template").refresh();
-	}
-
-	register_primary_action() {
-		var me = this;
-		this.dialog.set_primary_action(__('Save'), function() {
-			if (me.dialog.working) return;
-
-			var data = me.dialog.get_values();
-			var variant_values = {};
-
-			if (me.dialog.fields_dict.create_variant.$input.prop("checked")) {
-				variant_values = me.get_variant_doc();
-				if (!Object.keys(variant_values).length) {
-					data = null;
-				}
-				variant_values.stock_uom = me.template_doc.stock_uom;
-				variant_values.item_group = me.template_doc.item_group;
-			}
-
-			if (data) {
-				me.dialog.working = true;
-				var values = me.update_doc();
-				//patch for manufacturer type variants as extend is overwriting it.
-				if (variant_values['variant_based_on'] == "Manufacturer") {
-					values['variant_based_on'] = "Manufacturer";
-				}
-				$.extend(variant_values, values);
-				me.insert(variant_values);
-			}
-		});
-	}
-
-	insert(variant_values) {
-		let me = this;
-		return new Promise(resolve => {
-			frappe.call({
-				method: "frappe.client.insert",
-				args: {
-					doc: variant_values
-				},
-				callback: function(r) {
-					me.dialog.hide();
-					// delete the old doc
-					frappe.model.clear_doc(me.dialog.doc.doctype, me.dialog.doc.name);
-					me.dialog.doc = r.message;
-					if (frappe._from_link) {
-						frappe.ui.form.update_calling_link(me.dialog.doc);
-					} else {
-						if (me.after_insert) {
-							me.after_insert(me.dialog.doc);
-						} else {
-							me.open_form_if_not_list();
-						}
-					}
-				},
-				error: function() {
-					me.open_doc();
-				},
-				always: function() {
-					me.dialog.working = false;
-					resolve(me.dialog.doc);
-				},
-				freeze: true
-			});
-		});
-	}
-
-	open_doc() {
-		this.dialog.hide();
-		this.update_doc();
-		if (this.dialog.fields_dict.create_variant.$input.prop("checked")) {
-			var template = this.dialog.fields_dict.item_template.input.value;
-			if (template)
-				frappe.set_route("Form", this.doctype, template);
-		} else {
-			frappe.set_route('Form', this.doctype, this.doc.name);
-		}
-	}
-
-	get_variant_fields() {
-		var variant_fields = [{
-			fieldname: "create_variant",
-			fieldtype: "Check",
-			label: __("Create Variant")
-		},
-		{
-			fieldname: 'item_template',
-			label: __('Item Template'),
-			reqd: 0,
-			fieldtype: 'Link',
-			options: "Item",
-			get_query: function() {
-				return {
-					filters: {
-						"has_variants": 1
-					}
-				};
-			}
-		}];
-
-		return variant_fields;
-	}
-
-	get_manufacturing_fields() {
-		this.manufacturer_fields = [{
-			fieldtype: 'Link',
-			options: 'Manufacturer',
-			label: 'Manufacturer',
-			fieldname: "manufacturer",
-			hidden: 1,
-			reqd: 0
-		}, {
-			fieldtype: 'Data',
-			label: 'Manufacturer Part Number',
-			fieldname: 'manufacturer_part_no',
-			hidden: 1,
-			reqd: 0
-		}];
-		return this.manufacturer_fields;
-	}
-
-	get_attributes_fields() {
-		var attribute_fields = [{
-			fieldname: 'attribute_html',
-			fieldtype: 'HTML'
-		}]
-
-		attribute_fields = attribute_fields.concat(this.get_manufacturing_fields());
-		return attribute_fields;
-	}
-
-	init_for_create_variant_trigger() {
-		var me = this;
-
-		this.dialog.fields_dict.create_variant.$input.on("click", function() {
-			me.preset_fields_for_template();
-			me.init_post_template_trigger_operations(false, [], true);
-		});
-	}
-
-	preset_fields_for_template() {
-		var for_variant = this.dialog.get_value('create_variant');
-
-		// setup template field, seen and mandatory if variant
-		let template_field = this.dialog.get_field("item_template");
-		template_field.df.reqd = for_variant;
-		template_field.set_value('');
-		template_field.df.hidden = !for_variant;
-		template_field.refresh();
-
-		// hide properties for variant
-		['item_code', 'item_name', 'item_group', 'stock_uom'].forEach((d) => {
-			let f = this.dialog.get_field(d);
-			f.df.hidden = for_variant;
-			f.refresh();
-		});
-
-		this.dialog.get_field('attribute_html').toggle(false);
-
-		// non mandatory for variants
-		['item_code', 'stock_uom', 'item_group'].forEach((d) => {
-			let f = this.dialog.get_field(d);
-			f.df.reqd = !for_variant;
-			f.refresh();
-		});
-
-	}
-
-	init_for_item_template_trigger() {
-		var me = this;
-
-		me.dialog.fields_dict["item_template"].df.onchange = () => {
-			var template = me.dialog.fields_dict.item_template.input.value;
-			me.template_doc = null;
-			if (template) {
-				frappe.call({
-					method: "frappe.client.get",
-					args: {
-						doctype: "Item",
-						name: template
-					},
-					callback: function(r) {
-						me.template_doc = r.message;
-						me.is_manufacturer = false;
-
-						if (me.template_doc.variant_based_on === "Manufacturer") {
-							me.init_post_template_trigger_operations(true, [], true);
-						} else {
-
-							me.init_post_template_trigger_operations(false, me.template_doc.attributes, false);
-							me.render_attributes(me.template_doc.attributes);
-						}
-					}
-				});
-			} else {
-				me.dialog.get_field('attribute_html').toggle(false);
-				me.init_post_template_trigger_operations(false, [], true);
-			}
-		}
-	}
-
-	init_post_template_trigger_operations(is_manufacturer, attributes, attributes_flag) {
-		this.attributes = attributes;
-		this.attribute_values = {};
-		this.attributes_count = attributes.length;
-
-		this.dialog.fields_dict.attribute_html.$wrapper.find(".attributes").empty();
-		this.is_manufacturer = is_manufacturer;
-		this.toggle_manufacturer_fields();
-		this.dialog.fields_dict.attribute_html.$wrapper.find(".attributes").toggleClass("hide-control", attributes_flag);
-		this.dialog.fields_dict.attribute_html.$wrapper.find(".attributes-header").toggleClass("hide-control", attributes_flag);
-	}
-
-	toggle_manufacturer_fields() {
-		var me = this;
-		$.each(this.manufacturer_fields, function(i, dialog_field) {
-			me.dialog.get_field(dialog_field.fieldname).df.hidden = !me.is_manufacturer;
-			me.dialog.get_field(dialog_field.fieldname).df.reqd = dialog_field.fieldname == 'manufacturer' ? me.is_manufacturer : false;
-			me.dialog.get_field(dialog_field.fieldname).refresh();
-		});
-	}
-
-	initiate_render_attributes() {
-		this.dialog.fields_dict.attribute_html.$wrapper.find(".attributes").empty();
-		this.render_attributes(this.attributes);
-	}
-
-	render_attributes(attributes) {
-		var me = this;
-
-		this.dialog.get_field('attribute_html').toggle(true);
-
-		$.each(attributes, function(index, row) {
-			var desc = "";
-			var fieldtype = "Data";
-			if (row.numeric_values) {
-				fieldtype = "Float";
-				desc = "Min Value: " + row.from_range + " , Max Value: " + row.to_range + ", in Increments of: " + row.increment;
-			}
-
-			me.init_make_control(fieldtype, row);
-			me[row.attribute].set_value(me.attribute_values[row.attribute] || "");
-			me[row.attribute].$wrapper.toggleClass("has-error", me.attribute_values[row.attribute] ? false : true);
-
-			// Set Label explicitly as make_control is not displaying label
-			$(me[row.attribute].label_area).text(__(row.attribute));
-
-			if (desc) {
-				$(repl(`<p class="help-box small text-muted hidden-xs">%(desc)s</p>`, {
-					"desc": desc
-				})).insertAfter(me[row.attribute].input_area);
-			}
-
-			if (!row.numeric_values) {
-				me.init_awesomplete_for_attribute(row);
-			} else {
-				me[row.attribute].$input.on("change", function() {
-					me.attribute_values[row.attribute] = $(this).val();
-					$(this).closest(".frappe-control").toggleClass("has-error", $(this).val() ? false : true);
-				});
-			}
-		});
-	}
-
-	init_make_control(fieldtype, row) {
-		this[row.attribute] = frappe.ui.form.make_control({
-			df: {
-				"fieldtype": fieldtype,
-				"label": row.attribute,
-				"fieldname": row.attribute,
-				"options": row.options || ""
-			},
-			parent: $(this.dialog.fields_dict.attribute_html.wrapper).find(".attributes"),
-			only_input: false
-		});
-		this[row.attribute].make_input();
-	}
-
-	init_awesomplete_for_attribute(row) {
-		var me = this;
-
-		this[row.attribute].input.awesomplete = new Awesomplete(this[row.attribute].input, {
-			minChars: 0,
-			maxItems: 99,
-			autoFirst: true,
-			list: [],
-		});
-
-		this[row.attribute].$input.on('input', function(e) {
-			frappe.call({
-				method: "frappe.client.get_list",
-				args: {
-					doctype: "Item Attribute Value",
-					filters: [
-						["parent", "=", $(e.target).attr("data-fieldname")],
-						["attribute_value", "like", e.target.value + "%"]
-					],
-					fields: ["attribute_value"],
-					parent: "Item Attribute"
-				},
-				callback: function(r) {
-					if (r.message) {
-						e.target.awesomplete.list = r.message.map(function(d) {
-							return d.attribute_value;
-						});
-					}
-				}
-			});
-		}).on('focus', function(e) {
-			$(e.target).val('').trigger('input');
-		}).on("awesomplete-close", function (e) {
-			me.attribute_values[$(e.target).attr("data-fieldname")] = e.target.value;
-			$(e.target).closest(".frappe-control").toggleClass("has-error", e.target.value ? false : true);
-		});
-	}
-
-	get_variant_doc() {
-		var me = this;
-		var variant_doc = {};
-		var attribute = this.validate_mandatory_attributes();
-
-		if (Object.keys(attribute).length) {
-			frappe.call({
-				method: "erpnext.controllers.item_variant.create_variant_doc_for_quick_entry",
-				args: {
-					"template": me.dialog.fields_dict.item_template.$input.val(),
-					args: attribute
-				},
-				async: false,
-				callback: function(r) {
-					if (Object.prototype.toString.call(r.message) == "[object Object]") {
-						variant_doc = r.message;
-					} else {
-						var msgprint_dialog = frappe.msgprint(__("Item Variant {0} already exists with same attributes", [repl('<a class="strong variant-click" data-item-code="%(item)s" \
-								>%(item)s</a>', {
-								item: r.message
-							})]));
-
-						msgprint_dialog.$wrapper.find(".variant-click").on("click", function() {
-							msgprint_dialog.hide();
-							me.dialog.hide();
-							if (frappe._from_link) {
-								frappe._from_link.set_value($(this).attr("data-item-code"));
-							} else {
-								frappe.set_route('Form', "Item", $(this).attr("data-item-code"));
-							}
-						});
-					}
-				}
-			})
-		}
-		return variant_doc;
-	}
-
-	validate_mandatory_attributes() {
-		var me = this;
-		var attribute = {};
-		var mandatory = [];
-
-		$.each(this.attributes, function(index, attr) {
-			var value = me.attribute_values[attr.attribute] || "";
-			if (value) {
-				attribute[attr.attribute] = attr.numeric_values ? flt(value) : value;
-			} else {
-				mandatory.push(attr.attribute);
-			}
-		})
-
-		if (this.is_manufacturer) {
-			$.each(this.manufacturer_fields, function(index, field) {
-				attribute[field.fieldname] = me.dialog.fields_dict[field.fieldname].input.value;
-			});
-		}
-		return attribute;
-	}
-};
diff --git a/erpnext/quality_management/workspace/quality/quality.json b/erpnext/quality_management/workspace/quality/quality.json
index 3effd59..8183de9 100644
--- a/erpnext/quality_management/workspace/quality/quality.json
+++ b/erpnext/quality_management/workspace/quality/quality.json
@@ -2,12 +2,14 @@
  "charts": [],
  "content": "[{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Quality Goal\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Quality Procedure\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Quality Inspection\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Quality Review\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Quality Action\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Non Conformance\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports & Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Goal and Procedure\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Feedback\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Meeting\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Review and Action\",\"col\":4}}]",
  "creation": "2020-03-02 15:49:28.632014",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "quality",
  "idx": 0,
+ "is_hidden": 0,
  "label": "Quality",
  "links": [
   {
@@ -142,16 +144,18 @@
    "type": "Link"
   }
  ],
- "modified": "2022-01-13 17:42:20.105187",
+ "modified": "2023-05-24 14:47:22.597974",
  "modified_by": "Administrator",
  "module": "Quality Management",
  "name": "Quality",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
+ "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 21.0,
+ "sequence_id": 9.0,
  "shortcuts": [
   {
    "color": "Grey",
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index 0cab21f..61969fe 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -288,7 +288,7 @@
 			)
 
 		# sales team
-		for d in customer.get("sales_team", []):
+		for d in customer.get("sales_team") or []:
 			target.append(
 				"sales_team",
 				{
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index e9a6cc3..5d43a07 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -47,21 +47,50 @@
 		frm.set_df_property('packed_items', 'cannot_add_rows', true);
 		frm.set_df_property('packed_items', 'cannot_delete_rows', true);
 	},
+
 	refresh: function(frm) {
-		if(frm.doc.docstatus === 1 && frm.doc.status !== 'Closed'
-			&& flt(frm.doc.per_delivered, 6) < 100 && flt(frm.doc.per_billed, 6) < 100) {
-			frm.add_custom_button(__('Update Items'), () => {
-				erpnext.utils.update_child_items({
-					frm: frm,
-					child_docname: "items",
-					child_doctype: "Sales Order Detail",
-					cannot_add_row: false,
-				})
-			});
+		if(frm.doc.docstatus === 1) {
+			if (frm.doc.status !== 'Closed' && flt(frm.doc.per_delivered, 6) < 100 && flt(frm.doc.per_billed, 6) < 100) {
+				frm.add_custom_button(__('Update Items'), () => {
+					erpnext.utils.update_child_items({
+						frm: frm,
+						child_docname: "items",
+						child_doctype: "Sales Order Detail",
+						cannot_add_row: false,
+					})
+				});
+
+				// Stock Reservation > Reserve button will be only visible if the SO has unreserved stock.
+				if (frm.doc.__onload && frm.doc.__onload.has_unreserved_stock) {
+					frm.add_custom_button(__('Reserve'), () => frm.events.create_stock_reservation_entries(frm), __('Stock Reservation'));
+				}
+			}
+
+			// Stock Reservation > Unreserve button will be only visible if the SO has reserved stock.
+			if (frm.doc.__onload && frm.doc.__onload.has_reserved_stock) {
+				frm.add_custom_button(__('Unreserve'), () => frm.events.cancel_stock_reservation_entries(frm), __('Stock Reservation'));
+			}
 		}
 
-		if (frm.doc.docstatus === 0 && frm.doc.is_internal_customer) {
-			frm.events.get_items_from_internal_purchase_order(frm);
+		if (frm.doc.docstatus === 0) {
+			if (frm.doc.is_internal_customer) {
+				frm.events.get_items_from_internal_purchase_order(frm);
+			}
+
+			if (frm.is_new()) {
+				frappe.db.get_single_value("Stock Settings", "enable_stock_reservation").then((value) => {
+					if (value) {
+						frappe.db.get_single_value("Stock Settings", "reserve_stock_on_sales_order_submission").then((value) => {
+							// If `Reserve Stock on Sales Order Submission` is enabled in Stock Settings, set Reserve Stock to 1 else 0.
+							frm.set_value("reserve_stock", value ? 1 : 0);
+						})
+					} else {
+						// If `Stock Reservation` is disabled in Stock Settings, set Reserve Stock to 0 and read only.
+						frm.set_value("reserve_stock", 0);
+						frm.set_df_property("reserve_stock", "read_only", 1);
+					}
+				})
+			}
 		}
 	},
 
@@ -137,6 +166,108 @@
 			if(!d.delivery_date) d.delivery_date = frm.doc.delivery_date;
 		});
 		refresh_field("items");
+	},
+
+	create_stock_reservation_entries(frm) {
+		let items_data = [];
+
+		const dialog = frappe.prompt({fieldname: 'items', fieldtype: 'Table', label: __('Items to Reserve'),
+			fields: [
+				{
+					fieldtype: 'Data',
+					fieldname: 'name',
+					label: __('Name'),
+					reqd: 1,
+					read_only: 1,
+				},
+				{
+					fieldtype: 'Link',
+					fieldname: 'item_code',
+					label: __('Item Code'),
+					options: 'Item',
+					reqd: 1,
+					read_only: 1,
+					in_list_view: 1,
+				},
+				{
+					fieldtype: 'Link',
+					fieldname: 'warehouse',
+					label: __('Warehouse'),
+					options: 'Warehouse',
+					reqd: 1,
+					in_list_view: 1,
+					get_query: function () {
+						return {
+							filters: [
+								["Warehouse", "is_group", "!=", 1]
+							]
+						};
+					},
+				},
+				{
+					fieldtype: 'Float',
+					fieldname: 'qty_to_reserve',
+					label: __('Qty'),
+					reqd: 1,
+					in_list_view: 1
+				}
+			],
+			data: items_data,
+			in_place_edit: true,
+			get_data: function() {
+				return items_data;
+			}
+		}, function(data) {
+			if (data.items.length > 0) {
+				frappe.call({
+					doc: frm.doc,
+					method: 'create_stock_reservation_entries',
+					args: {
+						items_details: data.items,
+						notify: true
+					},
+					freeze: true,
+					freeze_message: __('Reserving Stock...'),
+					callback: (r) => {
+						frm.doc.__onload.has_unreserved_stock = false;
+						frm.reload_doc();
+					}
+				});
+			}
+		}, __("Stock Reservation"), __("Reserve Stock"));
+
+		frm.doc.items.forEach(item => {
+			if (item.reserve_stock) {
+				let unreserved_qty = (flt(item.stock_qty) - (flt(item.delivered_qty) * flt(item.conversion_factor)) - flt(item.stock_reserved_qty))
+
+				if (unreserved_qty > 0) {
+					dialog.fields_dict.items.df.data.push({
+						'name': item.name,
+						'item_code': item.item_code,
+						'warehouse': item.warehouse,
+						'qty_to_reserve': (unreserved_qty / flt(item.conversion_factor))
+					});
+				}
+			}
+		});
+
+		dialog.fields_dict.items.grid.refresh();
+	},
+
+	cancel_stock_reservation_entries(frm) {
+		frappe.call({
+			method: 'erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry.cancel_stock_reservation_entries',
+			args: {
+				voucher_type: frm.doctype,
+				voucher_no: frm.docname
+			},
+			freeze: true,
+			freeze_message: __('Unreserving Stock...'),
+			callback: (r) => {
+				frm.doc.__onload.has_reserved_stock = false;
+				frm.reload_doc();
+			}
+		})
 	}
 });
 
diff --git a/erpnext/selling/doctype/sales_order/sales_order.json b/erpnext/selling/doctype/sales_order/sales_order.json
index 4f498fb..f7143d7 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.json
+++ b/erpnext/selling/doctype/sales_order/sales_order.json
@@ -42,6 +42,7 @@
   "scan_barcode",
   "column_break_28",
   "set_warehouse",
+  "reserve_stock",
   "items_section",
   "items",
   "section_break_31",
@@ -1625,13 +1626,24 @@
    "fieldname": "named_place",
    "fieldtype": "Data",
    "label": "Named Place"
+  },
+  {
+   "default": "0",
+   "depends_on": "eval: (doc.docstatus == 0 || doc.reserve_stock)",
+   "description": "If checked, Stock Reservation Entries will be created on <b>Submit</b>",
+   "fieldname": "reserve_stock",
+   "fieldtype": "Check",
+   "label": "Reserve Stock",
+   "no_copy": 1,
+   "print_hide": 1,
+   "report_hide": 1
   }
  ],
  "icon": "fa fa-file-text",
  "idx": 105,
  "is_submittable": 1,
  "links": [],
- "modified": "2023-04-20 11:14:01.036202",
+ "modified": "2023-04-22 09:55:37.008190",
  "modified_by": "Administrator",
  "module": "Selling",
  "name": "Sales Order",
@@ -1664,7 +1676,6 @@
    "read": 1,
    "report": 1,
    "role": "Sales Manager",
-   "set_user_permissions": 1,
    "share": 1,
    "submit": 1,
    "write": 1
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 06467e5..353fa9b 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -30,6 +30,11 @@
 from erpnext.selling.doctype.customer.customer import check_credit_limit
 from erpnext.setup.doctype.item_group.item_group import get_item_group_defaults
 from erpnext.stock.doctype.item.item import get_item_defaults
+from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+	cancel_stock_reservation_entries,
+	get_sre_reserved_qty_details_for_voucher,
+	has_reserved_stock,
+)
 from erpnext.stock.get_item_details import get_default_bom, get_price_list_rate
 from erpnext.stock.stock_balance import get_reserved_qty, update_bin_qty
 
@@ -44,6 +49,14 @@
 	def __init__(self, *args, **kwargs):
 		super(SalesOrder, self).__init__(*args, **kwargs)
 
+	def onload(self) -> None:
+		if frappe.get_cached_value("Stock Settings", None, "enable_stock_reservation"):
+			if self.has_unreserved_stock():
+				self.set_onload("has_unreserved_stock", True)
+
+		if has_reserved_stock(self.doctype, self.name):
+			self.set_onload("has_reserved_stock", True)
+
 	def validate(self):
 		super(SalesOrder, self).validate()
 		self.validate_delivery_date()
@@ -241,6 +254,9 @@
 
 			update_coupon_code_count(self.coupon_code, "used")
 
+		if self.get("reserve_stock"):
+			self.create_stock_reservation_entries()
+
 	def on_cancel(self):
 		self.ignore_linked_doctypes = ("GL Entry", "Stock Ledger Entry", "Payment Ledger Entry")
 		super(SalesOrder, self).on_cancel()
@@ -257,6 +273,7 @@
 		self.db_set("status", "Cancelled")
 
 		self.update_blanket_order()
+		cancel_stock_reservation_entries("Sales Order", self.name)
 
 		unlink_inter_company_doc(self.doctype, self.name, self.inter_company_order_reference)
 		if self.coupon_code:
@@ -485,6 +502,166 @@
 					).format(item.item_code)
 				)
 
+	def has_unreserved_stock(self) -> bool:
+		"""Returns True if there is any unreserved item in the Sales Order."""
+
+		reserved_qty_details = get_sre_reserved_qty_details_for_voucher("Sales Order", self.name)
+
+		for item in self.get("items"):
+			if not item.get("reserve_stock"):
+				continue
+
+			unreserved_qty = get_unreserved_qty(item, reserved_qty_details)
+			if unreserved_qty > 0:
+				return True
+
+		return False
+
+	@frappe.whitelist()
+	def create_stock_reservation_entries(self, items_details=None, notify=True):
+		"""Creates Stock Reservation Entries for Sales Order Items."""
+
+		from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+			get_available_qty_to_reserve,
+			validate_stock_reservation_settings,
+		)
+
+		validate_stock_reservation_settings(self)
+
+		allow_partial_reservation = frappe.db.get_single_value(
+			"Stock Settings", "allow_partial_reservation"
+		)
+
+		items = []
+		if items_details:
+			for item in items_details:
+				so_item = frappe.get_doc("Sales Order Item", item["name"])
+				so_item.reserve_stock = 1
+				so_item.warehouse = item["warehouse"]
+				so_item.qty_to_reserve = flt(item["qty_to_reserve"]) * flt(so_item.conversion_factor)
+				items.append(so_item)
+
+		sre_count = 0
+		reserved_qty_details = get_sre_reserved_qty_details_for_voucher("Sales Order", self.name)
+		for item in items or self.get("items"):
+			# Skip if `Reserved Stock` is not checked for the item.
+			if not item.get("reserve_stock"):
+				continue
+
+			# Skip if Non-Stock Item.
+			if not frappe.get_cached_value("Item", item.item_code, "is_stock_item"):
+				frappe.msgprint(
+					_("Row #{0}: Stock cannot be reserved for a non-stock Item {1}").format(
+						item.idx, frappe.bold(item.item_code)
+					),
+					title=_("Stock Reservation"),
+					indicator="yellow",
+				)
+				item.db_set("reserve_stock", 0)
+				continue
+
+			# Skip if Group Warehouse.
+			if frappe.get_cached_value("Warehouse", item.warehouse, "is_group"):
+				frappe.msgprint(
+					_("Row #{0}: Stock cannot be reserved in group warehouse {1}.").format(
+						item.idx, frappe.bold(item.warehouse)
+					),
+					title=_("Stock Reservation"),
+					indicator="yellow",
+				)
+				continue
+
+			unreserved_qty = get_unreserved_qty(item, reserved_qty_details)
+
+			# Stock is already reserved for the item, notify the user and skip the item.
+			if unreserved_qty <= 0:
+				frappe.msgprint(
+					_("Row #{0}: Stock is already reserved for the Item {1}.").format(
+						item.idx, frappe.bold(item.item_code)
+					),
+					title=_("Stock Reservation"),
+					indicator="yellow",
+				)
+				continue
+
+			available_qty_to_reserve = get_available_qty_to_reserve(item.item_code, item.warehouse)
+
+			# No stock available to reserve, notify the user and skip the item.
+			if available_qty_to_reserve <= 0:
+				frappe.msgprint(
+					_("Row #{0}: No available stock to reserve for the Item {1} in Warehouse {2}.").format(
+						item.idx, frappe.bold(item.item_code), frappe.bold(item.warehouse)
+					),
+					title=_("Stock Reservation"),
+					indicator="orange",
+				)
+				continue
+
+			# The quantity which can be reserved.
+			qty_to_be_reserved = min(unreserved_qty, available_qty_to_reserve)
+
+			if hasattr(item, "qty_to_reserve"):
+				if item.qty_to_reserve <= 0:
+					frappe.msgprint(
+						_("Row #{0}: Quantity to reserve for the Item {1} should be greater than 0.").format(
+							item.idx, frappe.bold(item.item_code)
+						),
+						title=_("Stock Reservation"),
+						indicator="orange",
+					)
+					continue
+				else:
+					qty_to_be_reserved = min(qty_to_be_reserved, item.qty_to_reserve)
+
+			# Partial Reservation
+			if qty_to_be_reserved < unreserved_qty:
+				if not item.get("qty_to_reserve") or qty_to_be_reserved < flt(item.get("qty_to_reserve")):
+					frappe.msgprint(
+						_("Row #{0}: Only {1} available to reserve for the Item {2}").format(
+							item.idx,
+							frappe.bold(str(qty_to_be_reserved / item.conversion_factor) + " " + item.uom),
+							frappe.bold(item.item_code),
+						),
+						title=_("Stock Reservation"),
+						indicator="orange",
+					)
+
+				# Skip the item if `Partial Reservation` is disabled in the Stock Settings.
+				if not allow_partial_reservation:
+					continue
+
+			# Create and Submit Stock Reservation Entry
+			sre = frappe.new_doc("Stock Reservation Entry")
+			sre.item_code = item.item_code
+			sre.warehouse = item.warehouse
+			sre.voucher_type = self.doctype
+			sre.voucher_no = self.name
+			sre.voucher_detail_no = item.name
+			sre.available_qty = available_qty_to_reserve
+			sre.voucher_qty = item.stock_qty
+			sre.reserved_qty = qty_to_be_reserved
+			sre.company = self.company
+			sre.stock_uom = item.stock_uom
+			sre.project = self.project
+			sre.save()
+			sre.submit()
+
+			sre_count += 1
+
+		if sre_count and notify:
+			frappe.msgprint(_("Stock Reservation Entries Created"), alert=True, indicator="green")
+
+
+def get_unreserved_qty(item: object, reserved_qty_details: dict) -> float:
+	"""Returns the unreserved quantity for the Sales Order Item."""
+
+	existing_reserved_qty = reserved_qty_details.get(item.name, 0)
+	return (
+		item.stock_qty
+		- flt(item.delivered_qty) * item.get("conversion_factor", 1)
+		- existing_reserved_qty
+	)
+
 
 def get_list_context(context=None):
 	from erpnext.controllers.website_list_for_contact import get_list_context
@@ -680,7 +857,6 @@
 		}
 
 	target_doc = get_mapped_doc("Sales Order", source_name, mapper, target_doc, set_missing_values)
-
 	target_doc.set_onload("ignore_price_list", True)
 
 	return target_doc
diff --git a/erpnext/selling/doctype/sales_order/sales_order_dashboard.py b/erpnext/selling/doctype/sales_order/sales_order_dashboard.py
index cbc40bb..c840097 100644
--- a/erpnext/selling/doctype/sales_order/sales_order_dashboard.py
+++ b/erpnext/selling/doctype/sales_order/sales_order_dashboard.py
@@ -11,6 +11,7 @@
 			"Payment Request": "reference_name",
 			"Auto Repeat": "reference_document",
 			"Maintenance Visit": "prevdoc_docname",
+			"Stock Reservation Entry": "voucher_no",
 		},
 		"internal_links": {
 			"Quotation": ["items", "prevdoc_docname"],
@@ -23,7 +24,7 @@
 			{"label": _("Purchasing"), "items": ["Material Request", "Purchase Order"]},
 			{"label": _("Projects"), "items": ["Project"]},
 			{"label": _("Manufacturing"), "items": ["Work Order"]},
-			{"label": _("Reference"), "items": ["Quotation", "Auto Repeat"]},
+			{"label": _("Reference"), "items": ["Quotation", "Auto Repeat", "Stock Reservation Entry"]},
 			{"label": _("Payment"), "items": ["Payment Entry", "Payment Request", "Journal Entry"]},
 		],
 	}
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 9854f15..88bc4bd 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -1878,6 +1878,139 @@
 		self.assertEqual(pe.references[1].reference_name, so.name)
 		self.assertEqual(pe.references[1].allocated_amount, 300)
 
+	@change_settings("Stock Settings", {"enable_stock_reservation": 1})
+	def test_stock_reservation_against_sales_order(self) -> None:
+		from random import randint, uniform
+
+		from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+			cancel_stock_reservation_entries,
+			get_sre_reserved_qty_details_for_voucher,
+			get_stock_reservation_entries_for_voucher,
+			has_reserved_stock,
+		)
+		from erpnext.stock.doctype.stock_reservation_entry.test_stock_reservation_entry import (
+			create_items,
+			create_material_receipts,
+		)
+
+		items_details, warehouse = create_items(), "_Test Warehouse - _TC"
+		create_material_receipts(items_details, warehouse, qty=10)
+
+		item_list = []
+		for item_code, properties in items_details.items():
+			stock_uom = properties.stock_uom
+			item_list.append(
+				{
+					"item_code": item_code,
+					"warehouse": warehouse,
+					"qty": flt(uniform(11, 100), 0 if stock_uom == "Nos" else 3),
+					"uom": stock_uom,
+					"rate": randint(10, 200),
+				}
+			)
+
+		so = make_sales_order(
+			item_list=item_list,
+			warehouse="_Test Warehouse - _TC",
+		)
+
+		# Test - 1: Stock should not be reserved if the Available Qty to Reserve is less than the Ordered Qty and Partial Reservation is disabled in Stock Settings.
+		with change_settings("Stock Settings", {"allow_partial_reservation": 0}):
+			so.create_stock_reservation_entries()
+			self.assertFalse(has_reserved_stock("Sales Order", so.name))
+
+		# Test - 2: Stock should be Partially Reserved if the Partial Reservation is enabled in Stock Settings.
+		with change_settings("Stock Settings", {"allow_partial_reservation": 1}):
+			so.create_stock_reservation_entries()
+			so.load_from_db()
+			self.assertTrue(has_reserved_stock("Sales Order", so.name))
+
+			for item in so.items:
+				sre_details = get_stock_reservation_entries_for_voucher(
+					"Sales Order", so.name, item.name, fields=["reserved_qty", "status"]
+				)
+				self.assertEqual(item.stock_reserved_qty, sre_details[0].reserved_qty)
+				self.assertEqual(sre_details[0].status, "Partially Reserved")
+
+			# Test - 3: Stock should be fully Reserved if the Available Qty to Reserve is greater than the Un-reserved Qty.
+			create_material_receipts(items_details, warehouse, qty=100)
+			so.create_stock_reservation_entries()
+			so.load_from_db()
+
+			reserved_qty_details = get_sre_reserved_qty_details_for_voucher("Sales Order", so.name)
+			for item in so.items:
+				reserved_qty = reserved_qty_details[item.name]
+				self.assertEqual(item.stock_reserved_qty, reserved_qty)
+				self.assertEqual(item.stock_qty, item.stock_reserved_qty)
+
+			# Test - 4: Stock should get unreserved on cancellation of Stock Reservation Entries.
+			cancel_stock_reservation_entries("Sales Order", so.name)
+			so.load_from_db()
+			self.assertFalse(has_reserved_stock("Sales Order", so.name))
+
+			for item in so.items:
+				self.assertEqual(item.stock_reserved_qty, 0)
+
+			# Test - 5: Re-reserve the stock.
+			so.create_stock_reservation_entries()
+			self.assertTrue(has_reserved_stock("Sales Order", so.name))
+
+			# Test - 6: Stock should get unreserved on cancellation of Sales Order.
+			so.cancel()
+			so.load_from_db()
+			self.assertFalse(has_reserved_stock("Sales Order", so.name))
+
+			for item in so.items:
+				self.assertEqual(item.stock_reserved_qty, 0)
+
+			# Create Sales Order and Reserve Stock.
+			so = make_sales_order(
+				item_list=item_list,
+				warehouse="_Test Warehouse - _TC",
+			)
+			so.create_stock_reservation_entries()
+
+			# Test - 7: Partial Delivery against Sales Order.
+			dn1 = make_delivery_note(so.name)
+
+			for item in dn1.items:
+				item.qty = flt(uniform(1, 10), 0 if item.stock_uom == "Nos" else 3)
+
+			dn1.save()
+			dn1.submit()
+
+			for item in so.items:
+				sre_details = get_stock_reservation_entries_for_voucher(
+					"Sales Order", so.name, item.name, fields=["delivered_qty", "status"]
+				)
+				self.assertGreater(sre_details[0].delivered_qty, 0)
+				self.assertEqual(sre_details[0].status, "Partially Delivered")
+
+			# Test - 8: Over Delivery against Sales Order, SRE Delivered Qty should not be greater than the SRE Reserved Qty.
+			with change_settings("Stock Settings", {"over_delivery_receipt_allowance": 100}):
+				dn2 = make_delivery_note(so.name)
+
+				for item in dn2.items:
+					item.qty += flt(uniform(1, 10), 0 if item.stock_uom == "Nos" else 3)
+
+				dn2.save()
+				dn2.submit()
+
+			for item in so.items:
+				sre_details = frappe.db.get_all(
+					"Stock Reservation Entry",
+					filters={
+						"voucher_type": "Sales Order",
+						"voucher_no": so.name,
+						"voucher_detail_no": item.name,
+					},
+					fields=["status", "reserved_qty", "delivered_qty"],
+				)
+
+				for sre_detail in sre_details:
+					self.assertEqual(sre_detail.reserved_qty, sre_detail.delivered_qty)
+					self.assertEqual(sre_detail.status, "Delivered")
+
 	def test_delivered_item_material_request(self):
 		"SO -> MR (Manufacture) -> WO. Test if WO Qty is updated in SO."
 		from erpnext.manufacturing.doctype.work_order.work_order import (
diff --git a/erpnext/selling/doctype/sales_order_item/sales_order_item.json b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
index d0dabad..5c7e10a 100644
--- a/erpnext/selling/doctype/sales_order_item/sales_order_item.json
+++ b/erpnext/selling/doctype/sales_order_item/sales_order_item.json
@@ -10,6 +10,7 @@
   "item_code",
   "customer_item_code",
   "ensure_delivery_based_on_produced_serial_no",
+  "reserve_stock",
   "col_break1",
   "delivery_date",
   "item_name",
@@ -27,6 +28,7 @@
   "uom",
   "conversion_factor",
   "stock_qty",
+  "stock_reserved_qty",
   "section_break_16",
   "price_list_rate",
   "base_price_list_rate",
@@ -859,12 +861,33 @@
    "fieldname": "material_request_item",
    "fieldtype": "Data",
    "label": "Material Request Item"
+  },
+  {
+   "allow_on_submit": 1,
+   "default": "1",
+   "fieldname": "reserve_stock",
+   "fieldtype": "Check",
+   "label": "Reserve Stock",
+   "print_hide": 1,
+   "report_hide": 1
+  },
+  {
+   "default": "0",
+   "depends_on": "eval: doc.stock_reserved_qty",
+   "fieldname": "stock_reserved_qty",
+   "fieldtype": "Float",
+   "label": "Stock Reserved Qty (in Stock UOM)",
+   "no_copy": 1,
+   "non_negative": 1,
+   "print_hide": 1,
+   "read_only": 1,
+   "report_hide": 1
   }
  ],
  "idx": 1,
  "istable": 1,
  "links": [],
- "modified": "2022-12-25 02:51:10.247569",
+ "modified": "2023-04-04 10:44:05.707488",
  "modified_by": "Administrator",
  "module": "Selling",
  "name": "Sales Order Item",
diff --git a/erpnext/selling/form_tour/quotation/quotation.json b/erpnext/selling/form_tour/quotation/quotation.json
index 2a2aa5e..8c97700 100644
--- a/erpnext/selling/form_tour/quotation/quotation.json
+++ b/erpnext/selling/form_tour/quotation/quotation.json
@@ -2,9 +2,11 @@
  "creation": "2021-11-23 12:00:36.138824",
  "docstatus": 0,
  "doctype": "Form Tour",
+ "first_document": 0,
  "idx": 0,
+ "include_name_field": 0,
  "is_standard": 1,
- "modified": "2021-11-23 12:02:48.010298",
+ "modified": "2023-05-23 12:51:48.684517",
  "modified_by": "Administrator",
  "module": "Selling",
  "name": "Quotation",
@@ -14,51 +16,43 @@
  "steps": [
   {
    "description": "Select a customer or lead for whom this quotation is being prepared. Let's select a Customer.",
-   "field": "",
    "fieldname": "quotation_to",
    "fieldtype": "Link",
    "has_next_condition": 0,
    "is_table_field": 0,
    "label": "Quotation To",
-   "parent_field": "",
    "position": "Right",
    "title": "Quotation To"
   },
   {
    "description": "Select a specific Customer to whom this quotation will be sent.",
-   "field": "",
    "fieldname": "party_name",
    "fieldtype": "Dynamic Link",
    "has_next_condition": 0,
    "is_table_field": 0,
    "label": "Party",
-   "parent_field": "",
    "position": "Right",
    "title": "Party"
   },
   {
    "child_doctype": "Quotation Item",
    "description": "Select an item for which you will be quoting a price.",
-   "field": "",
    "fieldname": "items",
    "fieldtype": "Table",
    "has_next_condition": 0,
    "is_table_field": 0,
    "label": "Items",
-   "parent_field": "",
    "parent_fieldname": "items",
    "position": "Bottom",
    "title": "Items"
   },
   {
    "description": "You can select pre-populated Sales Taxes and Charges from here.",
-   "field": "",
    "fieldname": "taxes",
    "fieldtype": "Table",
    "has_next_condition": 0,
    "is_table_field": 0,
    "label": "Sales Taxes and Charges",
-   "parent_field": "",
    "position": "Bottom",
    "title": "Sales Taxes and Charges"
   }
diff --git a/erpnext/selling/workspace/retail/retail.json b/erpnext/selling/workspace/retail/retail.json
deleted file mode 100644
index 5bce3ca..0000000
--- a/erpnext/selling/workspace/retail/retail.json
+++ /dev/null
@@ -1,123 +0,0 @@
-{
- "charts": [],
- "content": "[{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Point Of Sale\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports & Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings & Configurations\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Loyalty Program\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Opening & Closing\",\"col\":4}}]",
- "creation": "2020-03-02 17:18:32.505616",
- "docstatus": 0,
- "doctype": "Workspace",
- "for_user": "",
- "hide_custom": 0,
- "icon": "retail",
- "idx": 0,
- "label": "Retail",
- "links": [
-  {
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Settings & Configurations",
-   "link_count": 2,
-   "onboard": 0,
-   "type": "Card Break"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Point-of-Sale Profile",
-   "link_count": 0,
-   "link_to": "POS Profile",
-   "link_type": "DocType",
-   "onboard": 1,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "POS Settings",
-   "link_count": 0,
-   "link_to": "POS Settings",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Loyalty Program",
-   "link_count": 2,
-   "onboard": 0,
-   "type": "Card Break"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Loyalty Program",
-   "link_count": 0,
-   "link_to": "Loyalty Program",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Loyalty Point Entry",
-   "link_count": 0,
-   "link_to": "Loyalty Point Entry",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Opening & Closing",
-   "link_count": 2,
-   "onboard": 0,
-   "type": "Card Break"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "POS Opening Entry",
-   "link_count": 0,
-   "link_to": "POS Opening Entry",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "POS Closing Entry",
-   "link_count": 0,
-   "link_to": "POS Closing Entry",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  }
- ],
- "modified": "2022-01-13 18:07:56.711095",
- "modified_by": "Administrator",
- "module": "Selling",
- "name": "Retail",
- "owner": "Administrator",
- "parent_page": "",
- "public": 1,
- "restrict_to_domain": "Retail",
- "roles": [],
- "sequence_id": 22.0,
- "shortcuts": [
-  {
-   "doc_view": "",
-   "label": "Point Of Sale",
-   "link_to": "point-of-sale",
-   "type": "Page"
-  }
- ],
- "title": "Retail"
-}
\ No newline at end of file
diff --git a/erpnext/selling/workspace/selling/selling.json b/erpnext/selling/workspace/selling/selling.json
index 180a3d7..f498223 100644
--- a/erpnext/selling/workspace/selling/selling.json
+++ b/erpnext/selling/workspace/selling/selling.json
@@ -5,14 +5,16 @@
    "label": "Sales Order Trends"
   }
  ],
- "content": "[{\"type\":\"onboarding\",\"data\":{\"onboarding_name\":\"Selling\",\"col\":12}},{\"type\":\"chart\",\"data\":{\"chart_name\":\"Sales Order Trends\",\"col\":12}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Quick Access</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Item\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Order\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Analytics\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Order Analysis\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Selling\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Items and Pricing\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Key Reports\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Other Reports\",\"col\":4}}]",
+ "content": "[{\"id\":\"ow595dYDrI\",\"type\":\"onboarding\",\"data\":{\"onboarding_name\":\"Selling\",\"col\":12}},{\"id\":\"vBSf8Vi9U8\",\"type\":\"chart\",\"data\":{\"chart_name\":\"Sales Order Trends\",\"col\":12}},{\"id\":\"aW2i5R5GRP\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"1it3dCOnm6\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Quick Access</b></span>\",\"col\":12}},{\"id\":\"x7pLl-spS4\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Item\",\"col\":3}},{\"id\":\"SSGrXWmY-H\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Order\",\"col\":3}},{\"id\":\"-5J_yLxDaS\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Analytics\",\"col\":3}},{\"id\":\"6YEYpnIBKV\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Point of Sale\",\"col\":3}},{\"id\":\"c_GjZuZ2oN\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"id\":\"oNjjNbnUHp\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"0BcePLg0g1\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"id\":\"uze5dJ1ipL\",\"type\":\"card\",\"data\":{\"card_name\":\"Selling\",\"col\":4}},{\"id\":\"3j2fYwMAkq\",\"type\":\"card\",\"data\":{\"card_name\":\"Point of Sale\",\"col\":4}},{\"id\":\"xImm8NepFt\",\"type\":\"card\",\"data\":{\"card_name\":\"Items and Pricing\",\"col\":4}},{\"id\":\"6MjIe7KCQo\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"id\":\"lBu2EKgmJF\",\"type\":\"card\",\"data\":{\"card_name\":\"Key Reports\",\"col\":4}},{\"id\":\"1ARHrjg4kI\",\"type\":\"card\",\"data\":{\"card_name\":\"Other Reports\",\"col\":4}}]",
  "creation": "2020-01-28 11:49:12.092882",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "sell",
  "idx": 0,
+ "is_hidden": 0,
  "label": "Selling",
  "links": [
   {
@@ -317,140 +319,68 @@
   {
    "hidden": 0,
    "is_query_report": 0,
-   "label": "Other Reports",
-   "link_count": 12,
+   "label": "Point of Sale",
+   "link_count": 6,
    "onboard": 0,
    "type": "Card Break"
   },
   {
-   "dependencies": "Lead",
    "hidden": 0,
-   "is_query_report": 1,
-   "label": "Lead Details",
+   "is_query_report": 0,
+   "label": "Point-of-Sale Profile",
    "link_count": 0,
-   "link_to": "Lead Details",
-   "link_type": "Report",
+   "link_to": "POS Profile",
+   "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
   },
   {
-   "dependencies": "Address",
    "hidden": 0,
-   "is_query_report": 1,
-   "label": "Customer Addresses And Contacts",
+   "is_query_report": 0,
+   "label": "POS Settings",
    "link_count": 0,
-   "link_to": "Address And Contacts",
-   "link_type": "Report",
+   "link_to": "POS Settings",
+   "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
   },
   {
-   "dependencies": "Item",
    "hidden": 0,
-   "is_query_report": 1,
-   "label": "Available Stock for Packing Items",
+   "is_query_report": 0,
+   "label": "POS Opening Entry",
    "link_count": 0,
-   "link_to": "Available Stock for Packing Items",
-   "link_type": "Report",
+   "link_to": "POS Opening Entry",
+   "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
   },
   {
-   "dependencies": "Sales Order",
    "hidden": 0,
-   "is_query_report": 1,
-   "label": "Pending SO Items For Purchase Request",
+   "is_query_report": 0,
+   "label": "POS Closing Entry",
    "link_count": 0,
-   "link_to": "Pending SO Items For Purchase Request",
-   "link_type": "Report",
+   "link_to": "POS Closing Entry",
+   "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
   },
   {
-   "dependencies": "Delivery Note",
    "hidden": 0,
-   "is_query_report": 1,
-   "label": "Delivery Note Trends",
+   "is_query_report": 0,
+   "label": "Loyalty Program",
    "link_count": 0,
-   "link_to": "Delivery Note Trends",
-   "link_type": "Report",
+   "link_to": "Loyalty Program",
+   "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
   },
   {
-   "dependencies": "Sales Invoice",
    "hidden": 0,
-   "is_query_report": 1,
-   "label": "Sales Invoice Trends",
+   "is_query_report": 0,
+   "label": "Loyalty Point Entry",
    "link_count": 0,
-   "link_to": "Sales Invoice Trends",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Customer",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Customer Credit Balance",
-   "link_count": 0,
-   "link_to": "Customer Credit Balance",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Customer",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Customers Without Any Sales Transactions",
-   "link_count": 0,
-   "link_to": "Customers Without Any Sales Transactions",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Customer",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Sales Partners Commission",
-   "link_count": 0,
-   "link_to": "Sales Partners Commission",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Sales Order",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Territory Target Variance Based On Item Group",
-   "link_count": 0,
-   "link_to": "Territory Target Variance Based On Item Group",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Sales Order",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Sales Person Target Variance Based On Item Group",
-   "link_count": 0,
-   "link_to": "Sales Person Target Variance Based On Item Group",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "Sales Order",
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Sales Partner Target Variance Based On Item Group",
-   "link_count": 0,
-   "link_to": "Sales Partner Target Variance based on Item Group",
-   "link_type": "Report",
+   "link_to": "Loyalty Point Entry",
+   "link_type": "DocType",
    "onboard": 0,
    "type": "Link"
   },
@@ -458,7 +388,7 @@
    "hidden": 0,
    "is_query_report": 0,
    "label": "Key Reports",
-   "link_count": 22,
+   "link_count": 9,
    "onboard": 0,
    "type": "Card Break"
   },
@@ -562,15 +492,12 @@
    "type": "Link"
   },
   {
-   "dependencies": "Lead",
    "hidden": 0,
-   "is_query_report": 1,
-   "label": "Lead Details",
-   "link_count": 0,
-   "link_to": "Lead Details",
-   "link_type": "Report",
+   "is_query_report": 0,
+   "label": "Other Reports",
+   "link_count": 11,
    "onboard": 0,
-   "type": "Link"
+   "type": "Card Break"
   },
   {
    "dependencies": "Address",
@@ -692,30 +619,27 @@
    "link_type": "Report",
    "onboard": 0,
    "type": "Link"
-  },
-  {
-   "hidden": 0,
-   "is_query_report": 1,
-   "label": "Payment Terms Status for Sales Order",
-   "link_count": 0,
-   "link_to": "Payment Terms Status for Sales Order",
-   "link_type": "Report",
-   "onboard": 0,
-   "type": "Link"
   }
  ],
- "modified": "2023-04-16 13:29:55.087240",
+ "modified": "2023-05-26 16:31:53.634851",
  "modified_by": "Administrator",
  "module": "Selling",
  "name": "Selling",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
+ "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 23.0,
+ "sequence_id": 6.0,
  "shortcuts": [
   {
+   "label": "Point of Sale",
+   "link_to": "point-of-sale",
+   "type": "Page"
+  },
+  {
    "color": "Grey",
    "format": "{} Available",
    "label": "Item",
@@ -740,11 +664,6 @@
    "type": "Report"
   },
   {
-   "label": "Sales Order Analysis",
-   "link_to": "Sales Order Analysis",
-   "type": "Report"
-  },
-  {
    "label": "Dashboard",
    "link_to": "Selling",
    "type": "Dashboard"
diff --git a/erpnext/setup/install.py b/erpnext/setup/install.py
index 3e1e394..0d780c2 100644
--- a/erpnext/setup/install.py
+++ b/erpnext/setup/install.py
@@ -31,6 +31,7 @@
 	add_standard_navbar_items()
 	add_app_name()
 	setup_log_settings()
+	hide_workspaces()
 	frappe.db.commit()
 
 
@@ -205,3 +206,8 @@
 	log_settings.append("logs_to_clear", {"ref_doctype": "Repost Item Valuation", "days": 60})
 
 	log_settings.save(ignore_permissions=True)
+
+
+def hide_workspaces():
+	for ws in ["Integration", "Settings"]:
+		frappe.db.set_value("Workspace", ws, "public", 0)
diff --git a/erpnext/setup/module_onboarding/home/home.json b/erpnext/setup/module_onboarding/home/home.json
index 516f122..7b0d77f 100644
--- a/erpnext/setup/module_onboarding/home/home.json
+++ b/erpnext/setup/module_onboarding/home/home.json
@@ -25,29 +25,23 @@
  "documentation_url": "https://docs.erpnext.com/docs/v14/user/manual/en/setting-up/company-setup",
  "idx": 0,
  "is_complete": 0,
- "modified": "2023-05-16 13:13:24.043792",
+ "modified": "2023-05-23 13:20:19.703506",
  "modified_by": "Administrator",
  "module": "Setup",
  "name": "Home",
  "owner": "Administrator",
  "steps": [
   {
-   "step": "Navigation Help"
-  },
-  {
    "step": "Create an Item"
   },
   {
    "step": "Create a Customer"
   },
   {
-   "step": "Create a Supplier"
-  },
-  {
-   "step": "Create a Quotation"
+   "step": "Create Your First Sales Invoice"
   }
  ],
- "subtitle": "Item, Customer, Supplier, Navigation Help and Quotation",
+ "subtitle": "Item, Customer, Supplier and Quotation",
  "success_message": "You're ready to start your journey with ERPNext",
  "title": "Let's begin your journey with ERPNext"
 }
\ No newline at end of file
diff --git a/erpnext/setup/onboarding_step/create_a_customer/create_a_customer.json b/erpnext/setup/onboarding_step/create_a_customer/create_a_customer.json
index e1a8f90..dc07578 100644
--- a/erpnext/setup/onboarding_step/create_a_customer/create_a_customer.json
+++ b/erpnext/setup/onboarding_step/create_a_customer/create_a_customer.json
@@ -9,7 +9,7 @@
  "is_complete": 0,
  "is_single": 0,
  "is_skipped": 0,
- "modified": "2023-05-16 12:54:54.112364",
+ "modified": "2023-05-23 12:45:55.138580",
  "modified_by": "Administrator",
  "name": "Create a Customer",
  "owner": "Administrator",
diff --git a/erpnext/setup/onboarding_step/create_a_supplier/create_a_supplier.json b/erpnext/setup/onboarding_step/create_a_supplier/create_a_supplier.json
index ef493fe..4ac26e2 100644
--- a/erpnext/setup/onboarding_step/create_a_supplier/create_a_supplier.json
+++ b/erpnext/setup/onboarding_step/create_a_supplier/create_a_supplier.json
@@ -9,7 +9,7 @@
  "is_complete": 0,
  "is_single": 0,
  "is_skipped": 0,
- "modified": "2023-05-16 12:55:08.610113",
+ "modified": "2023-05-19 15:32:55.069257",
  "modified_by": "Administrator",
  "name": "Create a Supplier",
  "owner": "Administrator",
diff --git a/erpnext/setup/onboarding_step/create_an_item/create_an_item.json b/erpnext/setup/onboarding_step/create_an_item/create_an_item.json
index 15f36be..4115196 100644
--- a/erpnext/setup/onboarding_step/create_an_item/create_an_item.json
+++ b/erpnext/setup/onboarding_step/create_an_item/create_an_item.json
@@ -11,7 +11,7 @@
  "is_complete": 0,
  "is_single": 0,
  "is_skipped": 0,
- "modified": "2023-05-16 12:56:40.355878",
+ "modified": "2023-05-23 12:43:08.484206",
  "modified_by": "Administrator",
  "name": "Create an Item",
  "owner": "Administrator",
diff --git a/erpnext/setup/onboarding_step/create_your_first_sales_invoice/create_your_first_sales_invoice.json b/erpnext/setup/onboarding_step/create_your_first_sales_invoice/create_your_first_sales_invoice.json
new file mode 100644
index 0000000..96fa68e
--- /dev/null
+++ b/erpnext/setup/onboarding_step/create_your_first_sales_invoice/create_your_first_sales_invoice.json
@@ -0,0 +1,20 @@
+{
+ "action": "Create Entry",
+ "creation": "2020-05-14 17:48:21.019019",
+ "description": "# All about sales invoice\n\nA Sales Invoice is a bill that you send to your Customers against which the Customer makes the payment. Sales Invoice is an accounting transaction. On submission of Sales Invoice, the system updates the receivable and books income against a Customer Account.",
+ "docstatus": 0,
+ "doctype": "Onboarding Step",
+ "idx": 0,
+ "is_complete": 0,
+ "is_single": 0,
+ "is_skipped": 0,
+ "modified": "2023-05-22 21:20:15.589644",
+ "modified_by": "Administrator",
+ "name": "Create Your First Sales Invoice",
+ "owner": "Administrator",
+ "reference_document": "Sales Invoice",
+ "show_form_tour": 1,
+ "show_full_form": 1,
+ "title": "Create Your First Sales Invoice ",
+ "validate_action": 1
+}
\ No newline at end of file
diff --git a/erpnext/setup/workspace/erpnext_settings/erpnext_settings.json b/erpnext/setup/workspace/erpnext_settings/erpnext_settings.json
index 4c0f2b5..5806fd1 100644
--- a/erpnext/setup/workspace/erpnext_settings/erpnext_settings.json
+++ b/erpnext/setup/workspace/erpnext_settings/erpnext_settings.json
@@ -1,31 +1,467 @@
 {
  "charts": [],
- "content": "[{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Projects Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Accounts Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Stock Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"HR Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Selling Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Buying Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Support Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Shopping Cart Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Portal Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Domain Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Products Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Naming Series\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Manufacturing Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Education Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Hotel Settings\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"CRM Settings\",\"col\":3}}]",
+ "content": "[{\"id\":\"NO5yYHJopc\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t\\n\\t\\t\\t\\n\\t\\t</b></span>\",\"col\":12}},{\"id\":\"CDxIM-WuZ9\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"System Settings\",\"col\":3}},{\"id\":\"-Uh7DKJNJX\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Accounts Settings\",\"col\":3}},{\"id\":\"K9ST9xcDXh\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Stock Settings\",\"col\":3}},{\"id\":\"27IdVHVQMb\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Selling Settings\",\"col\":3}},{\"id\":\"Rwp5zff88b\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Buying Settings\",\"col\":3}},{\"id\":\"hkfnQ2sevf\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Global Defaults\",\"col\":3}},{\"id\":\"jjxI_PDawD\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Print Settings\",\"col\":3}},{\"id\":\"R3CoYYFXye\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"yynbm1J_VO\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Settings</b></span>\",\"col\":12}},{\"id\":\"KDCv2MvSg3\",\"type\":\"card\",\"data\":{\"card_name\":\"Module Settings\",\"col\":4}},{\"id\":\"Q0_bqT7cxQ\",\"type\":\"card\",\"data\":{\"card_name\":\"Email / Notifications\",\"col\":4}},{\"id\":\"UnqK5haBnh\",\"type\":\"card\",\"data\":{\"card_name\":\"Website\",\"col\":4}},{\"id\":\"kp7u1H5hCd\",\"type\":\"card\",\"data\":{\"card_name\":\"Core\",\"col\":4}},{\"id\":\"Ufc3jycgy9\",\"type\":\"card\",\"data\":{\"card_name\":\"Printing\",\"col\":4}},{\"id\":\"89bSNzv3Yh\",\"type\":\"card\",\"data\":{\"card_name\":\"Workflow\",\"col\":4}}]",
  "creation": "2022-01-27 13:14:47.349433",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "setting",
  "idx": 0,
+ "is_hidden": 0,
  "label": "ERPNext Settings",
- "links": [],
- "modified": "2022-06-27 16:53:07.056620",
+ "links": [
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Import Data",
+   "link_count": 0,
+   "link_to": "Data Import",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Export Data",
+   "link_count": 0,
+   "link_to": "Data Export",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Bulk Update",
+   "link_count": 0,
+   "link_to": "Bulk Update",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Download Backups",
+   "link_count": 0,
+   "link_to": "backups",
+   "link_type": "Page",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Deleted Documents",
+   "link_count": 0,
+   "link_to": "Deleted Document",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Email / Notifications",
+   "link_count": 0,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Email Account",
+   "link_count": 0,
+   "link_to": "Email Account",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Email Domain",
+   "link_count": 0,
+   "link_to": "Email Domain",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Notification",
+   "link_count": 0,
+   "link_to": "Notification",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Email Template",
+   "link_count": 0,
+   "link_to": "Email Template",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Auto Email Report",
+   "link_count": 0,
+   "link_to": "Auto Email Report",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Newsletter",
+   "link_count": 0,
+   "link_to": "Newsletter",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Notification Settings",
+   "link_count": 0,
+   "link_to": "Notification Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Website",
+   "link_count": 0,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Website Settings",
+   "link_count": 0,
+   "link_to": "Website Settings",
+   "link_type": "DocType",
+   "onboard": 1,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Website Theme",
+   "link_count": 0,
+   "link_to": "Website Theme",
+   "link_type": "DocType",
+   "onboard": 1,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Website Script",
+   "link_count": 0,
+   "link_to": "Website Script",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "About Us Settings",
+   "link_count": 0,
+   "link_to": "About Us Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Contact Us Settings",
+   "link_count": 0,
+   "link_to": "Contact Us Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Printing",
+   "link_count": 0,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Print Format Builder",
+   "link_count": 0,
+   "link_to": "print-format-builder",
+   "link_type": "Page",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Print Settings",
+   "link_count": 0,
+   "link_to": "Print Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Print Format",
+   "link_count": 0,
+   "link_to": "Print Format",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Print Style",
+   "link_count": 0,
+   "link_to": "Print Style",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Workflow",
+   "link_count": 0,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Workflow",
+   "link_count": 0,
+   "link_to": "Workflow",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Workflow State",
+   "link_count": 0,
+   "link_to": "Workflow State",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Workflow Action",
+   "link_count": 0,
+   "link_to": "Workflow Action",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Core",
+   "link_count": 3,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "System Settings",
+   "link_count": 0,
+   "link_to": "System Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "dependencies": "",
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Domain Settings",
+   "link_count": 0,
+   "link_to": "Domain Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Global Defaults",
+   "link_count": 0,
+   "link_to": "Global Defaults",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Module Settings",
+   "link_count": 8,
+   "onboard": 0,
+   "type": "Card Break"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Accounts Settings",
+   "link_count": 0,
+   "link_to": "Accounts Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Stock Settings",
+   "link_count": 0,
+   "link_to": "Stock Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Selling Settings",
+   "link_count": 0,
+   "link_to": "Selling Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Buying Settings",
+   "link_count": 0,
+   "link_to": "Buying Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Manufacturing Settings",
+   "link_count": 0,
+   "link_to": "Manufacturing Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "CRM Settings",
+   "link_count": 0,
+   "link_to": "CRM Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Projects Settings",
+   "link_count": 0,
+   "link_to": "Projects Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  },
+  {
+   "hidden": 0,
+   "is_query_report": 0,
+   "label": "Support Settings",
+   "link_count": 0,
+   "link_to": "Support Settings",
+   "link_type": "DocType",
+   "onboard": 0,
+   "type": "Link"
+  }
+ ],
+ "modified": "2023-05-24 14:47:25.356531",
  "modified_by": "Administrator",
  "module": "Setup",
  "name": "ERPNext Settings",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
  "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 12.0,
+ "sequence_id": 19.0,
  "shortcuts": [
   {
-   "icon": "project",
-   "label": "Projects Settings",
-   "link_to": "Projects Settings",
+   "color": "Grey",
+   "doc_view": "List",
+   "label": "Print Settings",
+   "link_to": "Print Settings",
+   "type": "DocType"
+  },
+  {
+   "color": "Grey",
+   "doc_view": "List",
+   "label": "System Settings",
+   "link_to": "System Settings",
    "type": "DocType"
   },
   {
@@ -35,6 +471,13 @@
    "type": "DocType"
   },
   {
+   "color": "Grey",
+   "doc_view": "List",
+   "label": "Global Defaults",
+   "link_to": "Global Defaults",
+   "type": "DocType"
+  },
+  {
    "icon": "stock",
    "label": "Stock Settings",
    "link_to": "Stock Settings",
@@ -51,44 +494,6 @@
    "label": "Buying Settings",
    "link_to": "Buying Settings",
    "type": "DocType"
-  },
-  {
-   "icon": "support",
-   "label": "Support Settings",
-   "link_to": "Support Settings",
-   "type": "DocType"
-  },
-  {
-   "icon": "retail",
-   "label": "E Commerce Settings",
-   "link_to": "E Commerce Settings",
-   "type": "DocType"
-  },
-  {
-   "icon": "website",
-   "label": "Portal Settings",
-   "link_to": "Portal Settings",
-   "type": "DocType"
-  },
-  {
-   "icon": "organization",
-   "label": "Manufacturing Settings",
-   "link_to": "Manufacturing Settings",
-   "restrict_to_domain": "Manufacturing",
-   "type": "DocType"
-  },
-  {
-   "icon": "setting",
-   "label": "Domain Settings",
-   "link_to": "Domain Settings",
-   "type": "DocType"
-  },
-  {
-   "doc_view": "",
-   "icon": "crm",
-   "label": "CRM Settings",
-   "link_to": "CRM Settings",
-   "type": "DocType"
   }
  ],
  "title": "ERPNext Settings"
diff --git a/erpnext/setup/workspace/home/home.json b/erpnext/setup/workspace/home/home.json
index d26e576..1fc1f78 100644
--- a/erpnext/setup/workspace/home/home.json
+++ b/erpnext/setup/workspace/home/home.json
@@ -1,13 +1,15 @@
 {
  "charts": [],
- "content": "[{\"type\":\"onboarding\",\"data\":{\"onboarding_name\":\"Home\",\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Item\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Customer\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Supplier\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Invoice\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Leaderboard\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports & Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Accounting\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Stock\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Human Resources\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"CRM\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Data Import and Settings\",\"col\":4}}]",
+ "content": "[{\"id\":\"aCk49ShVRs\",\"type\":\"onboarding\",\"data\":{\"onboarding_name\":\"Home\",\"col\":12}},{\"id\":\"kb3XPLg8lb\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"id\":\"nWd2KJPW8l\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Item\",\"col\":3}},{\"id\":\"snrzfbFr5Y\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Customer\",\"col\":3}},{\"id\":\"SHJKakmLLf\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Supplier\",\"col\":3}},{\"id\":\"CPxEyhaf3G\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Sales Invoice\",\"col\":3}},{\"id\":\"WU4F-HUcIQ\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Leaderboard\",\"col\":3}},{\"id\":\"d_KVM1gsf9\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"JVu8-FJZCu\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"id\":\"JiuSi0ubOg\",\"type\":\"card\",\"data\":{\"card_name\":\"Accounting\",\"col\":4}},{\"id\":\"ji2Jlm3Q8i\",\"type\":\"card\",\"data\":{\"card_name\":\"Stock\",\"col\":4}},{\"id\":\"N61oiXpuwK\",\"type\":\"card\",\"data\":{\"card_name\":\"CRM\",\"col\":4}},{\"id\":\"6J0CVl1mPo\",\"type\":\"card\",\"data\":{\"card_name\":\"Data Import and Settings\",\"col\":4}}]",
  "creation": "2020-01-23 13:46:38.833076",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "getting-started",
  "idx": 0,
+ "is_hidden": 0,
  "label": "Home",
  "links": [
   {
@@ -230,10 +232,11 @@
    "type": "Link"
   }
  ],
- "modified": "2022-06-27 16:54:35.462176",
+ "modified": "2023-05-24 14:47:18.765388",
  "modified_by": "Administrator",
  "module": "Setup",
  "name": "Home",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
diff --git a/erpnext/stock/doctype/closing_stock_balance/__init__.py b/erpnext/stock/doctype/closing_stock_balance/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/stock/doctype/closing_stock_balance/__init__.py
diff --git a/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.js b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.js
new file mode 100644
index 0000000..5c807a8
--- /dev/null
+++ b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.js
@@ -0,0 +1,39 @@
+// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on("Closing Stock Balance", {
+	refresh(frm) {
+		frm.trigger("generate_closing_balance");
+		frm.trigger("regenerate_closing_balance");
+	},
+
+	generate_closing_balance(frm) {
+		if (in_list(["Queued", "Failed"], frm.doc.status)) {
+			frm.add_custom_button(__("Generate Closing Stock Balance"), () => {
+				frm.call({
+					method: "enqueue_job",
+					doc: frm.doc,
+					freeze: true,
+					callback: () => {
+						frm.reload_doc();
+					}
+				})
+			})
+		}
+	},
+
+	regenerate_closing_balance(frm) {
+		if (frm.doc.status == "Completed") {
+			frm.add_custom_button(__("Regenerate Closing Stock Balance"), () => {
+				frm.call({
+					method: "regenerate_closing_balance",
+					doc: frm.doc,
+					freeze: true,
+					callback: () => {
+						frm.reload_doc();
+					}
+				})
+			})
+		}
+	}
+});
diff --git a/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.json b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.json
new file mode 100644
index 0000000..225da6d
--- /dev/null
+++ b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.json
@@ -0,0 +1,148 @@
+{
+ "actions": [],
+ "allow_rename": 1,
+ "autoname": "naming_series:",
+ "creation": "2023-05-17 09:58:42.086911",
+ "default_view": "List",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "naming_series",
+  "company",
+  "status",
+  "column_break_p0s0",
+  "from_date",
+  "to_date",
+  "filters_section",
+  "item_code",
+  "item_group",
+  "include_uom",
+  "column_break_rm5w",
+  "warehouse",
+  "warehouse_type",
+  "amended_from"
+ ],
+ "fields": [
+  {
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Naming Series",
+   "options": "CBAL-.#####"
+  },
+  {
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "options": "Company"
+  },
+  {
+   "default": "Draft",
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "in_list_view": 1,
+   "in_preview": 1,
+   "label": "Status",
+   "options": "Draft\nQueued\nIn Progress\nCompleted\nFailed\nCanceled",
+   "read_only": 1
+  },
+  {
+   "fieldname": "column_break_p0s0",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "from_date",
+   "fieldtype": "Date",
+   "label": "From Date"
+  },
+  {
+   "fieldname": "to_date",
+   "fieldtype": "Date",
+   "label": "To Date"
+  },
+  {
+   "collapsible": 1,
+   "fieldname": "filters_section",
+   "fieldtype": "Section Break",
+   "label": "Filters"
+  },
+  {
+   "fieldname": "item_code",
+   "fieldtype": "Link",
+   "label": "Item Code",
+   "options": "Item"
+  },
+  {
+   "fieldname": "item_group",
+   "fieldtype": "Link",
+   "label": "Item Group",
+   "options": "Item Group"
+  },
+  {
+   "fieldname": "column_break_rm5w",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "warehouse",
+   "fieldtype": "Link",
+   "label": "Warehouse",
+   "options": "Warehouse"
+  },
+  {
+   "fieldname": "warehouse_type",
+   "fieldtype": "Link",
+   "label": "Warehouse Type",
+   "options": "Warehouse Type"
+  },
+  {
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "label": "Amended From",
+   "no_copy": 1,
+   "options": "Closing Stock Balance",
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "label": "Amended From",
+   "no_copy": 1,
+   "options": "Closing Stock Balance",
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "include_uom",
+   "fieldtype": "Link",
+   "label": "Include UOM",
+   "options": "UOM"
+  }
+ ],
+ "index_web_pages_for_search": 1,
+ "is_submittable": 1,
+ "links": [],
+ "modified": "2023-05-17 11:46:04.448220",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Closing Stock Balance",
+ "naming_rule": "By \"Naming Series\" field",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "share": 1,
+   "write": 1
+  }
+ ],
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "states": []
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py
new file mode 100644
index 0000000..a796372
--- /dev/null
+++ b/erpnext/stock/doctype/closing_stock_balance/closing_stock_balance.py
@@ -0,0 +1,133 @@
+# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+import json
+
+import frappe
+from frappe import _
+from frappe.core.doctype.prepared_report.prepared_report import create_json_gz_file
+from frappe.desk.form.load import get_attachments
+from frappe.model.document import Document
+from frappe.utils import get_link_to_form, gzip_decompress, parse_json
+from frappe.utils.background_jobs import enqueue
+
+from erpnext.stock.report.stock_balance.stock_balance import execute
+
+
+class ClosingStockBalance(Document):
+	def before_save(self):
+		self.set_status()
+
+	def set_status(self, save=False):
+		self.status = "Queued"
+		if self.docstatus == 2:
+			self.status = "Canceled"
+
+		if self.docstatus == 0:
+			self.status = "Draft"
+
+		if save:
+			self.db_set("status", self.status)
+
+	def validate(self):
+		self.validate_duplicate()
+
+	def validate_duplicate(self):
+		table = frappe.qb.DocType("Closing Stock Balance")
+
+		query = (
+			frappe.qb.from_(table)
+			.select(table.name)
+			.where(
+				(table.docstatus == 1)
+				& (table.company == self.company)
+				& (
+					(table.from_date.between(self.from_date, self.to_date))
+					| (table.to_date.between(self.from_date, self.to_date))
+					| (table.from_date >= self.from_date and table.to_date <= self.to_date)
+				)
+			)
+		)
+
+		for fieldname in ["warehouse", "item_code", "item_group", "warehouse_type"]:
+			if self.get(fieldname):
+				query = query.where(table.get(fieldname) == self.get(fieldname))
+
+		query = query.run(as_dict=True)
+
+		if query and query[0].name:
+			name = get_link_to_form("Closing Stock Balance", query[0].name)
+			msg = f"Closing Stock Balance {name} already exists for the selected date range"
+			frappe.throw(_(msg), title=_("Duplicate Closing Stock Balance"))
+
+	def on_submit(self):
+		self.set_status(save=True)
+		self.enqueue_job()
+
+	def on_cancel(self):
+		self.set_status(save=True)
+		self.clear_attachment()
+
+	@frappe.whitelist()
+	def enqueue_job(self):
+		self.db_set("status", "In Progress")
+		self.clear_attachment()
+		enqueue(prepare_closing_stock_balance, name=self.name, queue="long", timeout=1500)
+
+	@frappe.whitelist()
+	def regenerate_closing_balance(self):
+		self.enqueue_job()
+
+	def clear_attachment(self):
+		if attachments := get_attachments(self.doctype, self.name):
+			attachment = attachments[0]
+			frappe.delete_doc("File", attachment.name)
+
+	def create_closing_stock_balance_entries(self):
+		columns, data = execute(
+			filters=frappe._dict(
+				{
+					"company": self.company,
+					"from_date": self.from_date,
+					"to_date": self.to_date,
+					"warehouse": self.warehouse,
+					"item_code": self.item_code,
+					"item_group": self.item_group,
+					"warehouse_type": self.warehouse_type,
+					"include_uom": self.include_uom,
+					"ignore_closing_balance": 1,
+					"show_variant_attributes": 1,
+					"show_stock_ageing_data": 1,
+				}
+			)
+		)
+
+		create_json_gz_file({"columns": columns, "data": data}, self.doctype, self.name)
+
+	def get_prepared_data(self):
+		if attachments := get_attachments(self.doctype, self.name):
+			attachment = attachments[0]
+			attached_file = frappe.get_doc("File", attachment.name)
+
+			data = gzip_decompress(attached_file.get_content())
+			if data := json.loads(data.decode("utf-8")):
+				data = data
+
+			return parse_json(data)
+
+		return frappe._dict({})
+
+
+def prepare_closing_stock_balance(name):
+	doc = frappe.get_doc("Closing Stock Balance", name)
+
+	doc.db_set("status", "In Progress")
+
+	try:
+		doc.create_closing_stock_balance_entries()
+		doc.db_set("status", "Completed")
+	except Exception as e:
+		doc.db_set("status", "Failed")
+		traceback = frappe.get_traceback()
+
+		frappe.log_error("Closing Stock Balance Failed", traceback, doc.doctype, doc.name)
diff --git a/erpnext/stock/doctype/closing_stock_balance/test_closing_stock_balance.py b/erpnext/stock/doctype/closing_stock_balance/test_closing_stock_balance.py
new file mode 100644
index 0000000..7d61f5c
--- /dev/null
+++ b/erpnext/stock/doctype/closing_stock_balance/test_closing_stock_balance.py
@@ -0,0 +1,9 @@
+# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+
+# import frappe
+from frappe.tests.utils import FrappeTestCase
+
+
+class TestClosingStockBalance(FrappeTestCase):
+	pass
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index ae56645..77545e0 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -185,11 +185,14 @@
 			}
 
 			if(doc.docstatus==0 && !doc.__islocal) {
-				this.frm.add_custom_button(__('Packing Slip'), function() {
-					frappe.model.open_mapped_doc({
-						method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip",
-						frm: me.frm
-					}) }, __('Create'));
+				if (doc.__onload && doc.__onload.has_unpacked_items) {
+					this.frm.add_custom_button(__('Packing Slip'), function() {
+						frappe.model.open_mapped_doc({
+							method: "erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip",
+							frm: me.frm
+						}) }, __('Create')
+					);
+				}
 			}
 
 			if (!doc.__islocal && doc.docstatus==1) {
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index c18e851..2ee372e 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -86,6 +86,10 @@
 				]
 			)
 
+	def onload(self):
+		if self.docstatus == 0:
+			self.set_onload("has_unpacked_items", self.has_unpacked_items())
+
 	def before_print(self, settings=None):
 		def toggle_print_hide(meta, fieldname):
 			df = meta.get_field(fieldname)
@@ -147,6 +151,8 @@
 
 		if not self.installation_status:
 			self.installation_status = "Not Installed"
+
+		self.validate_against_stock_reservation_entries()
 		self.reset_default_field_value("set_warehouse", "items", "warehouse")
 
 	def validate_with_previous_doc(self):
@@ -239,6 +245,8 @@
 		self.update_prevdoc_status()
 		self.update_billing_status()
 
+		self.update_stock_reservation_entries()
+
 		if not self.is_return:
 			self.check_credit_limit()
 		elif self.issue_credit_note:
@@ -268,6 +276,90 @@
 		self.repost_future_sle_and_gle()
 		self.ignore_linked_doctypes = ("GL Entry", "Stock Ledger Entry", "Repost Item Valuation")
 
+	def update_stock_reservation_entries(self) -> None:
+		"""Updates Delivered Qty in Stock Reservation Entries."""
+
+		# Don't update Delivered Qty on Return or Cancellation.
+		if self.is_return or self._action == "cancel":
+			return
+
+		for item in self.get("items"):
+			# Skip if `Sales Order` or `Sales Order Item` reference is not set.
+			if not item.against_sales_order or not item.so_detail:
+				continue
+
+			sre_list = frappe.db.get_all(
+				"Stock Reservation Entry",
+				{
+					"docstatus": 1,
+					"voucher_type": "Sales Order",
+					"voucher_no": item.against_sales_order,
+					"voucher_detail_no": item.so_detail,
+					"warehouse": item.warehouse,
+					"status": ["not in", ["Delivered", "Cancelled"]],
+				},
+				order_by="creation",
+			)
+
+			# Skip if no Stock Reservation Entries.
+			if not sre_list:
+				continue
+
+			available_qty_to_deliver = item.stock_qty
+			for sre in sre_list:
+				if available_qty_to_deliver <= 0:
+					break
+
+				sre_doc = frappe.get_doc("Stock Reservation Entry", sre)
+
+				# `Delivered Qty` should be less than or equal to `Reserved Qty`.
+				qty_to_be_deliver = min(sre_doc.reserved_qty - sre_doc.delivered_qty, available_qty_to_deliver)
+
+				sre_doc.delivered_qty += qty_to_be_deliver
+				sre_doc.db_update()
+
+				# Update Stock Reservation Entry `Status` based on `Delivered Qty`.
+				sre_doc.update_status()
+
+				available_qty_to_deliver -= qty_to_be_deliver
+
+	def validate_against_stock_reservation_entries(self):
+		"""Validates if Stock Reservation Entries are available for the Sales Order Item reference."""
+
+		from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+			get_sre_reserved_qty_details_for_voucher_detail_no,
+		)
+
+		# Don't validate if Return
+		if self.is_return:
+			return
+
+		for item in self.get("items"):
+			# Skip if `Sales Order` or `Sales Order Item` reference is not set.
+			if not item.against_sales_order or not item.so_detail:
+				continue
+
+			sre_data = get_sre_reserved_qty_details_for_voucher_detail_no(
+				"Sales Order", item.against_sales_order, item.so_detail
+			)
+
+			# Skip if stock is not reserved.
+			if not sre_data:
+				continue
+
+			# Set `Warehouse` from SRE if not set.
+			if not item.warehouse:
+				item.warehouse = sre_data[0]
+			else:
+				# Throw if `Warehouse` is different from SRE.
+				if item.warehouse != sre_data[0]:
+					frappe.throw(
+						_("Row #{0}: Stock is reserved for Item {1} in Warehouse {2}.").format(
+							item.idx, frappe.bold(item.item_code), frappe.bold(sre_data[0])
+						),
+						title=_("Stock Reservation Warehouse Mismatch"),
+					)
+
 	def check_credit_limit(self):
 		from erpnext.selling.doctype.customer.customer import check_credit_limit
 
@@ -302,20 +394,21 @@
 			)
 
 	def validate_packed_qty(self):
-		"""
-		Validate that if packed qty exists, it should be equal to qty
-		"""
-		if not any(flt(d.get("packed_qty")) for d in self.get("items")):
-			return
-		has_error = False
-		for d in self.get("items"):
-			if flt(d.get("qty")) != flt(d.get("packed_qty")):
-				frappe.msgprint(
-					_("Packed quantity must equal quantity for Item {0} in row {1}").format(d.item_code, d.idx)
-				)
-				has_error = True
-		if has_error:
-			raise frappe.ValidationError
+		"""Validate that if packed qty exists, it should be equal to qty"""
+
+		if frappe.db.exists("Packing Slip", {"docstatus": 1, "delivery_note": self.name}):
+			product_bundle_list = self.get_product_bundle_list()
+			for item in self.items + self.packed_items:
+				if (
+					item.item_code not in product_bundle_list
+					and flt(item.packed_qty)
+					and flt(item.packed_qty) != flt(item.qty)
+				):
+					frappe.throw(
+						_("Row {0}: Packed Qty must be equal to {1} Qty.").format(
+							item.idx, frappe.bold(item.doctype)
+						)
+					)
 
 	def update_pick_list_status(self):
 		from erpnext.stock.doctype.pick_list.pick_list import update_pick_list_status
@@ -393,6 +486,23 @@
 				)
 			)
 
+	def has_unpacked_items(self):
+		product_bundle_list = self.get_product_bundle_list()
+
+		for item in self.items + self.packed_items:
+			if item.item_code not in product_bundle_list and flt(item.packed_qty) < flt(item.qty):
+				return True
+
+		return False
+
+	def get_product_bundle_list(self):
+		items_list = [item.item_code for item in self.items]
+		return frappe.db.get_all(
+			"Product Bundle",
+			filters={"new_item_code": ["in", items_list]},
+			pluck="name",
+		)
+
 
 def update_billed_amount_based_on_so(so_detail, update_modified=True):
 	from frappe.query_builder.functions import Sum
@@ -684,6 +794,12 @@
 
 @frappe.whitelist()
 def make_packing_slip(source_name, target_doc=None):
+	def set_missing_values(source, target):
+		target.run_method("set_missing_values")
+
+	def update_item(obj, target, source_parent):
+		target.qty = flt(obj.qty) - flt(obj.packed_qty)
+
 	doclist = get_mapped_doc(
 		"Delivery Note",
 		source_name,
@@ -698,12 +814,34 @@
 				"field_map": {
 					"item_code": "item_code",
 					"item_name": "item_name",
+					"batch_no": "batch_no",
 					"description": "description",
 					"qty": "qty",
+					"stock_uom": "stock_uom",
+					"name": "dn_detail",
 				},
+				"postprocess": update_item,
+				"condition": lambda item: (
+					not frappe.db.exists("Product Bundle", {"new_item_code": item.item_code})
+					and flt(item.packed_qty) < flt(item.qty)
+				),
+			},
+			"Packed Item": {
+				"doctype": "Packing Slip Item",
+				"field_map": {
+					"item_code": "item_code",
+					"item_name": "item_name",
+					"batch_no": "batch_no",
+					"description": "description",
+					"qty": "qty",
+					"name": "pi_detail",
+				},
+				"postprocess": update_item,
+				"condition": lambda item: (flt(item.packed_qty) < flt(item.qty)),
 			},
 		},
 		target_doc,
+		set_missing_values,
 	)
 
 	return doclist
diff --git a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
index e46cab0..3853bd1 100644
--- a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
+++ b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
@@ -84,6 +84,7 @@
   "installed_qty",
   "item_tax_rate",
   "column_break_atna",
+  "packed_qty",
   "received_qty",
   "accounting_details_section",
   "expense_account",
@@ -850,6 +851,16 @@
    "print_hide": 1,
    "read_only": 1,
    "report_hide": 1
+  },
+  {
+   "default": "0",
+   "depends_on": "eval: doc.packed_qty",
+   "fieldname": "packed_qty",
+   "fieldtype": "Float",
+   "label": "Packed Qty",
+   "no_copy": 1,
+   "non_negative": 1,
+   "read_only": 1
   }
  ],
  "idx": 1,
diff --git a/erpnext/stock/doctype/material_request/material_request.py b/erpnext/stock/doctype/material_request/material_request.py
index 3967282..95c85da 100644
--- a/erpnext/stock/doctype/material_request/material_request.py
+++ b/erpnext/stock/doctype/material_request/material_request.py
@@ -619,6 +619,16 @@
 		target.stock_entry_type = target.purpose
 		target.set_job_card_data()
 
+		if source.job_card:
+			job_card_details = frappe.get_all(
+				"Job Card", filters={"name": source.job_card}, fields=["bom_no", "for_quantity"]
+			)
+
+			if job_card_details and job_card_details[0]:
+				target.bom_no = job_card_details[0].bom_no
+				target.fg_completed_qty = job_card_details[0].for_quantity
+				target.from_bom = 1
+
 	doclist = get_mapped_doc(
 		"Material Request",
 		source_name,
diff --git a/erpnext/stock/doctype/packed_item/packed_item.json b/erpnext/stock/doctype/packed_item/packed_item.json
index cb8eb30..c5fb241 100644
--- a/erpnext/stock/doctype/packed_item/packed_item.json
+++ b/erpnext/stock/doctype/packed_item/packed_item.json
@@ -27,6 +27,7 @@
   "actual_qty",
   "projected_qty",
   "ordered_qty",
+  "packed_qty",
   "column_break_16",
   "incoming_rate",
   "picked_qty",
@@ -242,13 +243,23 @@
    "label": "Picked Qty",
    "no_copy": 1,
    "read_only": 1
+  },
+  {
+   "default": "0",
+   "depends_on": "eval: doc.packed_qty",
+   "fieldname": "packed_qty",
+   "fieldtype": "Float",
+   "label": "Packed Qty",
+   "no_copy": 1,
+   "non_negative": 1,
+   "read_only": 1
   }
  ],
  "idx": 1,
  "index_web_pages_for_search": 1,
  "istable": 1,
  "links": [],
- "modified": "2022-04-27 05:23:08.683245",
+ "modified": "2023-04-28 13:16:38.460806",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Packed Item",
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.js b/erpnext/stock/doctype/packing_slip/packing_slip.js
index 40d4685..95e5ea3 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.js
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.js
@@ -1,113 +1,46 @@
-// Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
-// License: GNU General Public License v3. See license.txt
+// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
 
-cur_frm.fields_dict['delivery_note'].get_query = function(doc, cdt, cdn) {
-	return{
-		filters:{ 'docstatus': 0}
-	}
-}
+frappe.ui.form.on('Packing Slip', {
+    setup: (frm) => {
+        frm.set_query('delivery_note', () => {
+            return {
+                filters: {
+                    docstatus: 0,
+                }
+            }
+        });
 
+        frm.set_query('item_code', 'items', (doc, cdt, cdn) => {
+            if (!doc.delivery_note) {
+                frappe.throw(__('Please select a Delivery Note'));
+            } else {
+                let d = locals[cdt][cdn];
+                return {
+                    query: 'erpnext.stock.doctype.packing_slip.packing_slip.item_details',
+                    filters: {
+                        delivery_note: doc.delivery_note,
+                    }
+                }
+            }
+        });
+	},
 
-cur_frm.fields_dict['items'].grid.get_field('item_code').get_query = function(doc, cdt, cdn) {
-	if(!doc.delivery_note) {
-		frappe.throw(__("Please select a Delivery Note"));
-	} else {
-		return {
-			query: "erpnext.stock.doctype.packing_slip.packing_slip.item_details",
-			filters:{ 'delivery_note': doc.delivery_note}
+	refresh: (frm) => {
+		frm.toggle_display('misc_details', frm.doc.amended_from);
+	},
+
+	delivery_note: (frm) => {
+		frm.set_value('items', null);
+
+		if (frm.doc.delivery_note) {
+			erpnext.utils.map_current_doc({
+				method: 'erpnext.stock.doctype.delivery_note.delivery_note.make_packing_slip',
+				source_name: frm.doc.delivery_note,
+				target_doc: frm,
+				freeze: true,
+				freeze_message: __('Creating Packing Slip ...'),
+			});
 		}
-	}
-}
-
-cur_frm.cscript.onload_post_render = function(doc, cdt, cdn) {
-	if(doc.delivery_note && doc.__islocal) {
-		cur_frm.cscript.get_items(doc, cdt, cdn);
-	}
-}
-
-cur_frm.cscript.get_items = function(doc, cdt, cdn) {
-	return this.frm.call({
-		doc: this.frm.doc,
-		method: "get_items",
-		callback: function(r) {
-			if(!r.exc) cur_frm.refresh();
-		}
-	});
-}
-
-cur_frm.cscript.refresh = function(doc, dt, dn) {
-	cur_frm.toggle_display("misc_details", doc.amended_from);
-}
-
-cur_frm.cscript.validate = function(doc, cdt, cdn) {
-	cur_frm.cscript.validate_case_nos(doc);
-	cur_frm.cscript.validate_calculate_item_details(doc);
-}
-
-// To Case No. cannot be less than From Case No.
-cur_frm.cscript.validate_case_nos = function(doc) {
-	doc = locals[doc.doctype][doc.name];
-	if(cint(doc.from_case_no)==0) {
-		frappe.msgprint(__("The 'From Package No.' field must neither be empty nor it's value less than 1."));
-		frappe.validated = false;
-	} else if(!cint(doc.to_case_no)) {
-		doc.to_case_no = doc.from_case_no;
-		refresh_field('to_case_no');
-	} else if(cint(doc.to_case_no) < cint(doc.from_case_no)) {
-		frappe.msgprint(__("'To Case No.' cannot be less than 'From Case No.'"));
-		frappe.validated = false;
-	}
-}
-
-
-cur_frm.cscript.validate_calculate_item_details = function(doc) {
-	doc = locals[doc.doctype][doc.name];
-	var ps_detail = doc.items || [];
-
-	cur_frm.cscript.validate_duplicate_items(doc, ps_detail);
-	cur_frm.cscript.calc_net_total_pkg(doc, ps_detail);
-}
-
-
-// Do not allow duplicate items i.e. items with same item_code
-// Also check for 0 qty
-cur_frm.cscript.validate_duplicate_items = function(doc, ps_detail) {
-	for(var i=0; i<ps_detail.length; i++) {
-		for(var j=0; j<ps_detail.length; j++) {
-			if(i!=j && ps_detail[i].item_code && ps_detail[i].item_code==ps_detail[j].item_code) {
-				frappe.msgprint(__("You have entered duplicate items. Please rectify and try again."));
-				frappe.validated = false;
-				return;
-			}
-		}
-		if(flt(ps_detail[i].qty)<=0) {
-			frappe.msgprint(__("Invalid quantity specified for item {0}. Quantity should be greater than 0.", [ps_detail[i].item_code]));
-			frappe.validated = false;
-		}
-	}
-}
-
-
-// Calculate Net Weight of Package
-cur_frm.cscript.calc_net_total_pkg = function(doc, ps_detail) {
-	var net_weight_pkg = 0;
-	doc.net_weight_uom = (ps_detail && ps_detail.length) ? ps_detail[0].weight_uom : '';
-	doc.gross_weight_uom = doc.net_weight_uom;
-
-	for(var i=0; i<ps_detail.length; i++) {
-		var item = ps_detail[i];
-		if(item.weight_uom != doc.net_weight_uom) {
-			frappe.msgprint(__("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."));
-			frappe.validated = false;
-		}
-		net_weight_pkg += flt(item.net_weight) * flt(item.qty);
-	}
-
-	doc.net_weight_pkg = roundNumber(net_weight_pkg, 2);
-	if(!flt(doc.gross_weight_pkg)) {
-		doc.gross_weight_pkg = doc.net_weight_pkg;
-	}
-	refresh_many(['net_weight_pkg', 'net_weight_uom', 'gross_weight_uom', 'gross_weight_pkg']);
-}
-
-// TODO: validate gross weight field
+	},
+});
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.json b/erpnext/stock/doctype/packing_slip/packing_slip.json
index ec8d57c..86ed794 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.json
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.json
@@ -1,264 +1,262 @@
 {
-   "allow_import": 1,
-   "autoname": "MAT-PAC-.YYYY.-.#####",
-   "creation": "2013-04-11 15:32:24",
-   "description": "Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.",
-   "doctype": "DocType",
-   "document_type": "Document",
-   "engine": "InnoDB",
-   "field_order": [
-    "packing_slip_details",
-    "column_break0",
-    "delivery_note",
-    "column_break1",
-    "naming_series",
-    "section_break0",
-    "column_break2",
-    "from_case_no",
-    "column_break3",
-    "to_case_no",
-    "package_item_details",
-    "get_items",
-    "items",
-    "package_weight_details",
-    "net_weight_pkg",
-    "net_weight_uom",
-    "column_break4",
-    "gross_weight_pkg",
-    "gross_weight_uom",
-    "letter_head_details",
-    "letter_head",
-    "misc_details",
-    "amended_from"
-   ],
-   "fields": [
-    {
-     "fieldname": "packing_slip_details",
-     "fieldtype": "Section Break"
-    },
-    {
-     "fieldname": "column_break0",
-     "fieldtype": "Column Break"
-    },
-    {
-     "description": "Indicates that the package is a part of this delivery (Only Draft)",
-     "fieldname": "delivery_note",
-     "fieldtype": "Link",
-     "in_global_search": 1,
-     "in_list_view": 1,
-     "label": "Delivery Note",
-     "options": "Delivery Note",
-     "reqd": 1
-    },
-    {
-     "fieldname": "column_break1",
-     "fieldtype": "Column Break"
-    },
-    {
-     "fieldname": "naming_series",
-     "fieldtype": "Select",
-     "label": "Series",
-     "options": "MAT-PAC-.YYYY.-",
-     "print_hide": 1,
-     "reqd": 1,
-     "set_only_once": 1
-    },
-    {
-     "fieldname": "section_break0",
-     "fieldtype": "Section Break"
-    },
-    {
-     "fieldname": "column_break2",
-     "fieldtype": "Column Break"
-    },
-    {
-     "description": "Identification of the package for the delivery (for print)",
-     "fieldname": "from_case_no",
-     "fieldtype": "Int",
-     "in_list_view": 1,
-     "label": "From Package No.",
-     "no_copy": 1,
-     "reqd": 1,
-     "width": "50px"
-    },
-    {
-     "fieldname": "column_break3",
-     "fieldtype": "Column Break"
-    },
-    {
-     "description": "If more than one package of the same type (for print)",
-     "fieldname": "to_case_no",
-     "fieldtype": "Int",
-     "in_list_view": 1,
-     "label": "To Package No.",
-     "no_copy": 1,
-     "width": "50px"
-    },
-    {
-     "fieldname": "package_item_details",
-     "fieldtype": "Section Break"
-    },
-    {
-     "fieldname": "get_items",
-     "fieldtype": "Button",
-     "label": "Get Items"
-    },
-    {
-     "fieldname": "items",
-     "fieldtype": "Table",
-     "label": "Items",
-     "options": "Packing Slip Item",
-     "reqd": 1
-    },
-    {
-     "fieldname": "package_weight_details",
-     "fieldtype": "Section Break",
-     "label": "Package Weight Details"
-    },
-    {
-     "description": "The net weight of this package. (calculated automatically as sum of net weight of items)",
-     "fieldname": "net_weight_pkg",
-     "fieldtype": "Float",
-     "label": "Net Weight",
-     "no_copy": 1,
-     "read_only": 1
-    },
-    {
-     "fieldname": "net_weight_uom",
-     "fieldtype": "Link",
-     "label": "Net Weight UOM",
-     "no_copy": 1,
-     "options": "UOM",
-     "read_only": 1
-    },
-    {
-     "fieldname": "column_break4",
-     "fieldtype": "Column Break"
-    },
-    {
-     "description": "The gross weight of the package. Usually net weight + packaging material weight. (for print)",
-     "fieldname": "gross_weight_pkg",
-     "fieldtype": "Float",
-     "label": "Gross Weight",
-     "no_copy": 1
-    },
-    {
-     "fieldname": "gross_weight_uom",
-     "fieldtype": "Link",
-     "label": "Gross Weight UOM",
-     "no_copy": 1,
-     "options": "UOM"
-    },
-    {
-     "fieldname": "letter_head_details",
-     "fieldtype": "Section Break",
-     "label": "Letter Head"
-    },
-    {
-     "allow_on_submit": 1,
-     "fieldname": "letter_head",
-     "fieldtype": "Link",
-     "label": "Letter Head",
-     "options": "Letter Head",
-     "print_hide": 1
-    },
-    {
-     "fieldname": "misc_details",
-     "fieldtype": "Section Break"
-    },
-    {
-     "fieldname": "amended_from",
-     "fieldtype": "Link",
-     "ignore_user_permissions": 1,
-     "label": "Amended From",
-     "no_copy": 1,
-     "options": "Packing Slip",
-     "print_hide": 1,
-     "read_only": 1
-    }
-   ],
-   "icon": "fa fa-suitcase",
-   "idx": 1,
-   "is_submittable": 1,
-   "modified": "2019-09-09 04:45:08.082862",
-   "modified_by": "Administrator",
-   "module": "Stock",
-   "name": "Packing Slip",
-   "owner": "Administrator",
-   "permissions": [
-    {
-     "amend": 1,
-     "cancel": 1,
-     "create": 1,
-     "delete": 1,
-     "email": 1,
-     "print": 1,
-     "read": 1,
-     "report": 1,
-     "role": "Stock User",
-     "share": 1,
-     "submit": 1,
-     "write": 1
-    },
-    {
-     "amend": 1,
-     "cancel": 1,
-     "create": 1,
-     "delete": 1,
-     "email": 1,
-     "print": 1,
-     "read": 1,
-     "report": 1,
-     "role": "Sales User",
-     "share": 1,
-     "submit": 1,
-     "write": 1
-    },
-    {
-     "amend": 1,
-     "cancel": 1,
-     "create": 1,
-     "delete": 1,
-     "email": 1,
-     "print": 1,
-     "read": 1,
-     "report": 1,
-     "role": "Item Manager",
-     "share": 1,
-     "submit": 1,
-     "write": 1
-    },
-    {
-     "amend": 1,
-     "cancel": 1,
-     "create": 1,
-     "delete": 1,
-     "email": 1,
-     "print": 1,
-     "read": 1,
-     "report": 1,
-     "role": "Stock Manager",
-     "share": 1,
-     "submit": 1,
-     "write": 1
-    },
-    {
-     "amend": 1,
-     "cancel": 1,
-     "create": 1,
-     "delete": 1,
-     "email": 1,
-     "print": 1,
-     "read": 1,
-     "report": 1,
-     "role": "Sales Manager",
-     "share": 1,
-     "submit": 1,
-     "write": 1
-    }
-   ],
-   "search_fields": "delivery_note",
-   "show_name_in_global_search": 1,
-   "sort_field": "modified",
-   "sort_order": "DESC"
+ "actions": [],
+ "allow_import": 1,
+ "autoname": "MAT-PAC-.YYYY.-.#####",
+ "creation": "2013-04-11 15:32:24",
+ "description": "Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.",
+ "doctype": "DocType",
+ "document_type": "Document",
+ "engine": "InnoDB",
+ "field_order": [
+  "packing_slip_details",
+  "column_break0",
+  "delivery_note",
+  "column_break1",
+  "naming_series",
+  "section_break0",
+  "column_break2",
+  "from_case_no",
+  "column_break3",
+  "to_case_no",
+  "package_item_details",
+  "items",
+  "package_weight_details",
+  "net_weight_pkg",
+  "net_weight_uom",
+  "column_break4",
+  "gross_weight_pkg",
+  "gross_weight_uom",
+  "letter_head_details",
+  "letter_head",
+  "misc_details",
+  "amended_from"
+ ],
+ "fields": [
+  {
+   "fieldname": "packing_slip_details",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "column_break0",
+   "fieldtype": "Column Break"
+  },
+  {
+   "description": "Indicates that the package is a part of this delivery (Only Draft)",
+   "fieldname": "delivery_note",
+   "fieldtype": "Link",
+   "in_global_search": 1,
+   "in_list_view": 1,
+   "label": "Delivery Note",
+   "options": "Delivery Note",
+   "reqd": 1
+  },
+  {
+   "fieldname": "column_break1",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "options": "MAT-PAC-.YYYY.-",
+   "print_hide": 1,
+   "reqd": 1,
+   "set_only_once": 1
+  },
+  {
+   "fieldname": "section_break0",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "column_break2",
+   "fieldtype": "Column Break"
+  },
+  {
+   "description": "Identification of the package for the delivery (for print)",
+   "fieldname": "from_case_no",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "From Package No.",
+   "no_copy": 1,
+   "reqd": 1,
+   "width": "50px"
+  },
+  {
+   "fieldname": "column_break3",
+   "fieldtype": "Column Break"
+  },
+  {
+   "description": "If more than one package of the same type (for print)",
+   "fieldname": "to_case_no",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "To Package No.",
+   "no_copy": 1,
+   "width": "50px"
+  },
+  {
+   "fieldname": "package_item_details",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "items",
+   "fieldtype": "Table",
+   "label": "Items",
+   "options": "Packing Slip Item",
+   "reqd": 1
+  },
+  {
+   "fieldname": "package_weight_details",
+   "fieldtype": "Section Break",
+   "label": "Package Weight Details"
+  },
+  {
+   "description": "The net weight of this package. (calculated automatically as sum of net weight of items)",
+   "fieldname": "net_weight_pkg",
+   "fieldtype": "Float",
+   "label": "Net Weight",
+   "no_copy": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "net_weight_uom",
+   "fieldtype": "Link",
+   "label": "Net Weight UOM",
+   "no_copy": 1,
+   "options": "UOM",
+   "read_only": 1
+  },
+  {
+   "fieldname": "column_break4",
+   "fieldtype": "Column Break"
+  },
+  {
+   "description": "The gross weight of the package. Usually net weight + packaging material weight. (for print)",
+   "fieldname": "gross_weight_pkg",
+   "fieldtype": "Float",
+   "label": "Gross Weight",
+   "no_copy": 1
+  },
+  {
+   "fieldname": "gross_weight_uom",
+   "fieldtype": "Link",
+   "label": "Gross Weight UOM",
+   "no_copy": 1,
+   "options": "UOM"
+  },
+  {
+   "fieldname": "letter_head_details",
+   "fieldtype": "Section Break",
+   "label": "Letter Head"
+  },
+  {
+   "allow_on_submit": 1,
+   "fieldname": "letter_head",
+   "fieldtype": "Link",
+   "label": "Letter Head",
+   "options": "Letter Head",
+   "print_hide": 1
+  },
+  {
+   "fieldname": "misc_details",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Amended From",
+   "no_copy": 1,
+   "options": "Packing Slip",
+   "print_hide": 1,
+   "read_only": 1
   }
+ ],
+ "icon": "fa fa-suitcase",
+ "idx": 1,
+ "is_submittable": 1,
+ "links": [],
+ "modified": "2023-04-28 18:01:37.341619",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Packing Slip",
+ "naming_rule": "Expression (old style)",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Stock User",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales User",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Item Manager",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Stock Manager",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Sales Manager",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  }
+ ],
+ "search_fields": "delivery_note",
+ "show_name_in_global_search": 1,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "states": []
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/packing_slip/packing_slip.py b/erpnext/stock/doctype/packing_slip/packing_slip.py
index e5b9de8..6ea5938 100644
--- a/erpnext/stock/doctype/packing_slip/packing_slip.py
+++ b/erpnext/stock/doctype/packing_slip/packing_slip.py
@@ -4,193 +4,181 @@
 
 import frappe
 from frappe import _
-from frappe.model import no_value_fields
-from frappe.model.document import Document
 from frappe.utils import cint, flt
 
+from erpnext.controllers.status_updater import StatusUpdater
 
-class PackingSlip(Document):
-	def validate(self):
-		"""
-		* Validate existence of submitted Delivery Note
-		* Case nos do not overlap
-		* Check if packed qty doesn't exceed actual qty of delivery note
 
-		It is necessary to validate case nos before checking quantity
-		"""
-		self.validate_delivery_note()
-		self.validate_items_mandatory()
-		self.validate_case_nos()
-		self.validate_qty()
+class PackingSlip(StatusUpdater):
+	def __init__(self, *args, **kwargs) -> None:
+		super(PackingSlip, self).__init__(*args, **kwargs)
+		self.status_updater = [
+			{
+				"target_dt": "Delivery Note Item",
+				"join_field": "dn_detail",
+				"target_field": "packed_qty",
+				"target_parent_dt": "Delivery Note",
+				"target_ref_field": "qty",
+				"source_dt": "Packing Slip Item",
+				"source_field": "qty",
+			},
+			{
+				"target_dt": "Packed Item",
+				"join_field": "pi_detail",
+				"target_field": "packed_qty",
+				"target_parent_dt": "Delivery Note",
+				"target_ref_field": "qty",
+				"source_dt": "Packing Slip Item",
+				"source_field": "qty",
+			},
+		]
 
+	def validate(self) -> None:
 		from erpnext.utilities.transaction_base import validate_uom_is_integer
 
+		self.validate_delivery_note()
+		self.validate_case_nos()
+		self.validate_items()
+
 		validate_uom_is_integer(self, "stock_uom", "qty")
 		validate_uom_is_integer(self, "weight_uom", "net_weight")
 
-	def validate_delivery_note(self):
-		"""
-		Validates if delivery note has status as draft
-		"""
-		if cint(frappe.db.get_value("Delivery Note", self.delivery_note, "docstatus")) != 0:
-			frappe.throw(_("Delivery Note {0} must not be submitted").format(self.delivery_note))
+		self.set_missing_values()
+		self.calculate_net_total_pkg()
 
-	def validate_items_mandatory(self):
-		rows = [d.item_code for d in self.get("items")]
-		if not rows:
-			frappe.msgprint(_("No Items to pack"), raise_exception=1)
+	def on_submit(self):
+		self.update_prevdoc_status()
+
+	def on_cancel(self):
+		self.update_prevdoc_status()
+
+	def validate_delivery_note(self):
+		"""Raises an exception if the `Delivery Note` status is not Draft"""
+
+		if cint(frappe.db.get_value("Delivery Note", self.delivery_note, "docstatus")) != 0:
+			frappe.throw(
+				_("A Packing Slip can only be created for Draft Delivery Note.").format(self.delivery_note)
+			)
 
 	def validate_case_nos(self):
-		"""
-		Validate if case nos overlap. If they do, recommend next case no.
-		"""
-		if not cint(self.from_case_no):
-			frappe.msgprint(_("Please specify a valid 'From Case No.'"), raise_exception=1)
+		"""Validate if case nos overlap. If they do, recommend next case no."""
+
+		if cint(self.from_case_no) <= 0:
+			frappe.throw(
+				_("The 'From Package No.' field must neither be empty nor it's value less than 1.")
+			)
 		elif not self.to_case_no:
 			self.to_case_no = self.from_case_no
-		elif cint(self.from_case_no) > cint(self.to_case_no):
-			frappe.msgprint(_("'To Case No.' cannot be less than 'From Case No.'"), raise_exception=1)
+		elif cint(self.to_case_no) < cint(self.from_case_no):
+			frappe.throw(_("'To Package No.' cannot be less than 'From Package No.'"))
+		else:
+			ps = frappe.qb.DocType("Packing Slip")
+			res = (
+				frappe.qb.from_(ps)
+				.select(
+					ps.name,
+				)
+				.where(
+					(ps.delivery_note == self.delivery_note)
+					& (ps.docstatus == 1)
+					& (
+						(ps.from_case_no.between(self.from_case_no, self.to_case_no))
+						| (ps.to_case_no.between(self.from_case_no, self.to_case_no))
+						| ((ps.from_case_no <= self.from_case_no) & (ps.to_case_no >= self.from_case_no))
+					)
+				)
+			).run()
 
-		res = frappe.db.sql(
-			"""SELECT name FROM `tabPacking Slip`
-			WHERE delivery_note = %(delivery_note)s AND docstatus = 1 AND
-			((from_case_no BETWEEN %(from_case_no)s AND %(to_case_no)s)
-			OR (to_case_no BETWEEN %(from_case_no)s AND %(to_case_no)s)
-			OR (%(from_case_no)s BETWEEN from_case_no AND to_case_no))
-			""",
-			{
-				"delivery_note": self.delivery_note,
-				"from_case_no": self.from_case_no,
-				"to_case_no": self.to_case_no,
-			},
-		)
+			if res:
+				frappe.throw(
+					_("""Package No(s) already in use. Try from Package No {0}""").format(
+						self.get_recommended_case_no()
+					)
+				)
 
-		if res:
-			frappe.throw(
-				_("""Case No(s) already in use. Try from Case No {0}""").format(self.get_recommended_case_no())
+	def validate_items(self):
+		for item in self.items:
+			if item.qty <= 0:
+				frappe.throw(_("Row {0}: Qty must be greater than 0.").format(item.idx))
+
+			if not item.dn_detail and not item.pi_detail:
+				frappe.throw(
+					_("Row {0}: Either Delivery Note Item or Packed Item reference is mandatory.").format(
+						item.idx
+					)
+				)
+
+			remaining_qty = frappe.db.get_value(
+				"Delivery Note Item" if item.dn_detail else "Packed Item",
+				{"name": item.dn_detail or item.pi_detail, "docstatus": 0},
+				["sum(qty - packed_qty)"],
 			)
 
-	def validate_qty(self):
-		"""Check packed qty across packing slips and delivery note"""
-		# Get Delivery Note Items, Item Quantity Dict and No. of Cases for this Packing slip
-		dn_details, ps_item_qty, no_of_cases = self.get_details_for_packing()
+			if remaining_qty is None:
+				frappe.throw(
+					_("Row {0}: Please provide a valid Delivery Note Item or Packed Item reference.").format(
+						item.idx
+					)
+				)
+			elif remaining_qty <= 0:
+				frappe.throw(
+					_("Row {0}: Packing Slip is already created for Item {1}.").format(
+						item.idx, frappe.bold(item.item_code)
+					)
+				)
+			elif item.qty > remaining_qty:
+				frappe.throw(
+					_("Row {0}: Qty cannot be greater than {1} for the Item {2}.").format(
+						item.idx, frappe.bold(remaining_qty), frappe.bold(item.item_code)
+					)
+				)
 
-		for item in dn_details:
-			new_packed_qty = (flt(ps_item_qty[item["item_code"]]) * no_of_cases) + flt(item["packed_qty"])
-			if new_packed_qty > flt(item["qty"]) and no_of_cases:
-				self.recommend_new_qty(item, ps_item_qty, no_of_cases)
-
-	def get_details_for_packing(self):
-		"""
-		Returns
-		* 'Delivery Note Items' query result as a list of dict
-		* Item Quantity dict of current packing slip doc
-		* No. of Cases of this packing slip
-		"""
-
-		rows = [d.item_code for d in self.get("items")]
-
-		# also pick custom fields from delivery note
-		custom_fields = ", ".join(
-			"dni.`{0}`".format(d.fieldname)
-			for d in frappe.get_meta("Delivery Note Item").get_custom_fields()
-			if d.fieldtype not in no_value_fields
-		)
-
-		if custom_fields:
-			custom_fields = ", " + custom_fields
-
-		condition = ""
-		if rows:
-			condition = " and item_code in (%s)" % (", ".join(["%s"] * len(rows)))
-
-		# gets item code, qty per item code, latest packed qty per item code and stock uom
-		res = frappe.db.sql(
-			"""select item_code, sum(qty) as qty,
-			(select sum(psi.qty * (abs(ps.to_case_no - ps.from_case_no) + 1))
-				from `tabPacking Slip` ps, `tabPacking Slip Item` psi
-				where ps.name = psi.parent and ps.docstatus = 1
-				and ps.delivery_note = dni.parent and psi.item_code=dni.item_code) as packed_qty,
-			stock_uom, item_name, description, dni.batch_no {custom_fields}
-			from `tabDelivery Note Item` dni
-			where parent=%s {condition}
-			group by item_code""".format(
-				condition=condition, custom_fields=custom_fields
-			),
-			tuple([self.delivery_note] + rows),
-			as_dict=1,
-		)
-
-		ps_item_qty = dict([[d.item_code, d.qty] for d in self.get("items")])
-		no_of_cases = cint(self.to_case_no) - cint(self.from_case_no) + 1
-
-		return res, ps_item_qty, no_of_cases
-
-	def recommend_new_qty(self, item, ps_item_qty, no_of_cases):
-		"""
-		Recommend a new quantity and raise a validation exception
-		"""
-		item["recommended_qty"] = (flt(item["qty"]) - flt(item["packed_qty"])) / no_of_cases
-		item["specified_qty"] = flt(ps_item_qty[item["item_code"]])
-		if not item["packed_qty"]:
-			item["packed_qty"] = 0
-
-		frappe.throw(
-			_("Quantity for Item {0} must be less than {1}").format(
-				item.get("item_code"), item.get("recommended_qty")
-			)
-		)
-
-	def update_item_details(self):
-		"""
-		Fill empty columns in Packing Slip Item
-		"""
+	def set_missing_values(self):
 		if not self.from_case_no:
 			self.from_case_no = self.get_recommended_case_no()
 
-		for d in self.get("items"):
-			res = frappe.db.get_value("Item", d.item_code, ["weight_per_unit", "weight_uom"], as_dict=True)
+		for item in self.items:
+			stock_uom, weight_per_unit, weight_uom = frappe.db.get_value(
+				"Item", item.item_code, ["stock_uom", "weight_per_unit", "weight_uom"]
+			)
 
-			if res and len(res) > 0:
-				d.net_weight = res["weight_per_unit"]
-				d.weight_uom = res["weight_uom"]
+			item.stock_uom = stock_uom
+			if weight_per_unit and not item.net_weight:
+				item.net_weight = weight_per_unit
+			if weight_uom and not item.weight_uom:
+				item.weight_uom = weight_uom
 
 	def get_recommended_case_no(self):
-		"""
-		Returns the next case no. for a new packing slip for a delivery
-		note
-		"""
-		recommended_case_no = frappe.db.sql(
-			"""SELECT MAX(to_case_no) FROM `tabPacking Slip`
-			WHERE delivery_note = %s AND docstatus=1""",
-			self.delivery_note,
+		"""Returns the next case no. for a new packing slip for a delivery note"""
+
+		return (
+			cint(
+				frappe.db.get_value(
+					"Packing Slip", {"delivery_note": self.delivery_note, "docstatus": 1}, ["max(to_case_no)"]
+				)
+			)
+			+ 1
 		)
 
-		return cint(recommended_case_no[0][0]) + 1
+	def calculate_net_total_pkg(self):
+		self.net_weight_uom = self.items[0].weight_uom if self.items else None
+		self.gross_weight_uom = self.net_weight_uom
 
-	@frappe.whitelist()
-	def get_items(self):
-		self.set("items", [])
+		net_weight_pkg = 0
+		for item in self.items:
+			if item.weight_uom != self.net_weight_uom:
+				frappe.throw(
+					_(
+						"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."
+					)
+				)
 
-		custom_fields = frappe.get_meta("Delivery Note Item").get_custom_fields()
+			net_weight_pkg += flt(item.net_weight) * flt(item.qty)
 
-		dn_details = self.get_details_for_packing()[0]
-		for item in dn_details:
-			if flt(item.qty) > flt(item.packed_qty):
-				ch = self.append("items", {})
-				ch.item_code = item.item_code
-				ch.item_name = item.item_name
-				ch.stock_uom = item.stock_uom
-				ch.description = item.description
-				ch.batch_no = item.batch_no
-				ch.qty = flt(item.qty) - flt(item.packed_qty)
+		self.net_weight_pkg = round(net_weight_pkg, 2)
 
-				# copy custom fields
-				for d in custom_fields:
-					if item.get(d.fieldname):
-						ch.set(d.fieldname, item.get(d.fieldname))
-
-		self.update_item_details()
+		if not flt(self.gross_weight_pkg):
+			self.gross_weight_pkg = self.net_weight_pkg
 
 
 @frappe.whitelist()
diff --git a/erpnext/stock/doctype/packing_slip/test_packing_slip.py b/erpnext/stock/doctype/packing_slip/test_packing_slip.py
index bc405b2..96da23d 100644
--- a/erpnext/stock/doctype/packing_slip/test_packing_slip.py
+++ b/erpnext/stock/doctype/packing_slip/test_packing_slip.py
@@ -3,9 +3,118 @@
 
 import unittest
 
-# test_records = frappe.get_test_records('Packing Slip')
+import frappe
 from frappe.tests.utils import FrappeTestCase
 
+from erpnext.selling.doctype.product_bundle.test_product_bundle import make_product_bundle
+from erpnext.stock.doctype.delivery_note.delivery_note import make_packing_slip
+from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
+from erpnext.stock.doctype.item.test_item import make_item
 
-class TestPackingSlip(unittest.TestCase):
-	pass
+
+class TestPackingSlip(FrappeTestCase):
+	def test_packing_slip(self):
+		# Step - 1: Create a Product Bundle
+		items = create_items()
+		make_product_bundle(items[0], items[1:], 5)
+
+		# Step - 2: Create a Delivery Note (Draft) with Product Bundle
+		dn = create_delivery_note(
+			item_code=items[0],
+			qty=2,
+			do_not_save=True,
+		)
+		dn.append(
+			"items",
+			{
+				"item_code": items[1],
+				"warehouse": "_Test Warehouse - _TC",
+				"qty": 10,
+			},
+		)
+		dn.save()
+
+		# Step - 3: Make a Packing Slip from Delivery Note for 4 Qty
+		ps1 = make_packing_slip(dn.name)
+		for item in ps1.items:
+			item.qty = 4
+		ps1.save()
+		ps1.submit()
+
+		# Test - 1: `Packed Qty` should be updated to 4 in Delivery Note Items and Packed Items.
+		dn.load_from_db()
+		for item in dn.items:
+			if not frappe.db.exists("Product Bundle", {"new_item_code": item.item_code}):
+				self.assertEqual(item.packed_qty, 4)
+
+		for item in dn.packed_items:
+			self.assertEqual(item.packed_qty, 4)
+
+		# Step - 4: Make another Packing Slip from Delivery Note for 6 Qty
+		ps2 = make_packing_slip(dn.name)
+		ps2.save()
+		ps2.submit()
+
+		# Test - 2: `Packed Qty` should be updated to 10 in Delivery Note Items and Packed Items.
+		dn.load_from_db()
+		for item in dn.items:
+			if not frappe.db.exists("Product Bundle", {"new_item_code": item.item_code}):
+				self.assertEqual(item.packed_qty, 10)
+
+		for item in dn.packed_items:
+			self.assertEqual(item.packed_qty, 10)
+
+		# Step - 5: Cancel Packing Slip [1]
+		ps1.cancel()
+
+		# Test - 3: `Packed Qty` should be updated to 4 in Delivery Note Items and Packed Items.
+		dn.load_from_db()
+		for item in dn.items:
+			if not frappe.db.exists("Product Bundle", {"new_item_code": item.item_code}):
+				self.assertEqual(item.packed_qty, 6)
+
+		for item in dn.packed_items:
+			self.assertEqual(item.packed_qty, 6)
+
+		# Step - 6: Cancel Packing Slip [2]
+		ps2.cancel()
+
+		# Test - 4: `Packed Qty` should be updated to 0 in Delivery Note Items and Packed Items.
+		dn.load_from_db()
+		for item in dn.items:
+			if not frappe.db.exists("Product Bundle", {"new_item_code": item.item_code}):
+				self.assertEqual(item.packed_qty, 0)
+
+		for item in dn.packed_items:
+			self.assertEqual(item.packed_qty, 0)
+
+		# Step - 7: Make Packing Slip for more Qty than Delivery Note
+		ps3 = make_packing_slip(dn.name)
+		ps3.items[0].qty = 20
+
+		# Test - 5: Should throw an ValidationError, as Packing Slip Qty is more than Delivery Note Qty
+		self.assertRaises(frappe.exceptions.ValidationError, ps3.save)
+
+		# Step - 8: Make Packing Slip for less Qty than Delivery Note
+		ps4 = make_packing_slip(dn.name)
+		ps4.items[0].qty = 5
+		ps4.save()
+		ps4.submit()
+
+		# Test - 6: Delivery Note should throw a ValidationError on Submit, as Packed Qty and Delivery Note Qty are not the same
+		dn.load_from_db()
+		self.assertRaises(frappe.exceptions.ValidationError, dn.submit)
+
+
+def create_items():
+	items_properties = [
+		{"is_stock_item": 0},
+		{"is_stock_item": 1, "stock_uom": "Nos"},
+		{"is_stock_item": 1, "stock_uom": "Box"},
+	]
+
+	items = []
+	for properties in items_properties:
+		items.append(make_item(properties=properties).name)
+
+	return items
diff --git a/erpnext/stock/doctype/packing_slip_item/packing_slip_item.json b/erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
index 4270839..4bd9035 100644
--- a/erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
+++ b/erpnext/stock/doctype/packing_slip_item/packing_slip_item.json
@@ -20,7 +20,8 @@
   "stock_uom",
   "weight_uom",
   "page_break",
-  "dn_detail"
+  "dn_detail",
+  "pi_detail"
  ],
  "fields": [
   {
@@ -121,13 +122,23 @@
    "fieldtype": "Data",
    "hidden": 1,
    "in_list_view": 1,
-   "label": "DN Detail"
+   "label": "Delivery Note Item",
+   "no_copy": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "pi_detail",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "label": "Delivery Note Packed Item",
+   "no_copy": 1,
+   "read_only": 1
   }
  ],
  "idx": 1,
  "istable": 1,
  "links": [],
- "modified": "2021-12-14 01:22:00.715935",
+ "modified": "2023-04-28 15:00:14.079306",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Packing Slip Item",
@@ -136,5 +147,6 @@
  "permissions": [],
  "sort_field": "modified",
  "sort_order": "DESC",
+ "states": [],
  "track_changes": 1
 }
\ No newline at end of file
diff --git a/erpnext/stock/doctype/pick_list/pick_list.py b/erpnext/stock/doctype/pick_list/pick_list.py
index 74927c7..a9a9a1d 100644
--- a/erpnext/stock/doctype/pick_list/pick_list.py
+++ b/erpnext/stock/doctype/pick_list/pick_list.py
@@ -460,7 +460,7 @@
 		item_doc.qty if (docstatus == 1 and item_doc.stock_qty == 0) else item_doc.stock_qty
 	)
 
-	while remaining_stock_qty > 0 and available_locations:
+	while flt(remaining_stock_qty) > 0 and available_locations:
 		item_location = available_locations.pop(0)
 		item_location = frappe._dict(item_location)
 
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index cd076d8..55b950b 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -2398,7 +2398,7 @@
 						"basic_rate": item.get("valuation_rate"),
 						"uom": item.get("uom"),
 						"stock_uom": item.get("stock_uom"),
-						"conversion_factor": 1.0,
+						"conversion_factor": item.get("conversion_factor") or 1.0,
 						"serial_no": sample_serial_nos,
 						"batch_no": item.get("batch_no"),
 					},
diff --git a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
index 3fd4cec..8d8b69d 100644
--- a/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py
@@ -47,6 +47,7 @@
 		self.validate_putaway_capacity()
 
 		if self._action == "submit":
+			self.validate_reserved_stock()
 			self.make_batches("warehouse")
 
 	def on_submit(self):
@@ -60,6 +61,7 @@
 
 	def on_cancel(self):
 		self.ignore_linked_doctypes = ("GL Entry", "Stock Ledger Entry", "Repost Item Valuation")
+		self.validate_reserved_stock()
 		self.make_sle_on_cancel()
 		self.make_gl_entries_on_cancel()
 		self.repost_future_sle_and_gle()
@@ -224,6 +226,46 @@
 		except Exception as e:
 			self.validation_messages.append(_("Row #") + " " + ("%d: " % (row.idx)) + cstr(e))
 
+	def validate_reserved_stock(self) -> None:
+		"""Raises an exception if there is any reserved stock for the items in the Stock Reconciliation."""
+
+		from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+			get_sre_reserved_qty_details_for_item_and_warehouse as get_sre_reserved_qty_details,
+		)
+
+		item_code_list, warehouse_list = [], []
+		for item in self.items:
+			item_code_list.append(item.item_code)
+			warehouse_list.append(item.warehouse)
+
+		sre_reserved_qty_details = get_sre_reserved_qty_details(item_code_list, warehouse_list)
+
+		if sre_reserved_qty_details:
+			data = []
+			for (item_code, warehouse), reserved_qty in sre_reserved_qty_details.items():
+				data.append([item_code, warehouse, reserved_qty])
+
+			msg = ""
+			if len(data) == 1:
+				msg = _(
+					"{0} units are reserved for Item {1} in Warehouse {2}, please un-reserve the same to {3} the Stock Reconciliation."
+				).format(bold(data[0][2]), bold(data[0][0]), bold(data[0][1]), self._action)
+			else:
+				items_html = ""
+				for d in data:
+					items_html += "<li>{0} units of Item {1} in Warehouse {2}</li>".format(
+						bold(d[2]), bold(d[0]), bold(d[1])
+					)
+
+				msg = _(
+					"The stock has been reserved for the following Items and Warehouses, un-reserve the same to {0} the Stock Reconciliation: <br /><br /> {1}"
+				).format(self._action, items_html)
+
+			frappe.throw(
+				msg,
+				title=_("Stock Reservation"),
+			)
+
 	def update_stock_ledger(self):
 		"""find difference between current and expected entries
 		and create stock ledger entries based on the difference"""
diff --git a/erpnext/stock/doctype/stock_reservation_entry/__init__.py b/erpnext/stock/doctype/stock_reservation_entry/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/erpnext/stock/doctype/stock_reservation_entry/__init__.py
diff --git a/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.js b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.js
new file mode 100644
index 0000000..666fd24
--- /dev/null
+++ b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on("Stock Reservation Entry", {
+	refresh(frm) {
+        frm.page.btn_primary.hide()
+	},
+});
diff --git a/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
new file mode 100644
index 0000000..7c7abac
--- /dev/null
+++ b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
@@ -0,0 +1,234 @@
+{
+ "actions": [],
+ "allow_copy": 1,
+ "autoname": "MAT-SRE-.YYYY.-.#####",
+ "creation": "2023-03-20 10:45:59.258959",
+ "default_view": "List",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "item_code",
+  "warehouse",
+  "column_break_elik",
+  "voucher_type",
+  "voucher_no",
+  "voucher_detail_no",
+  "section_break_xt4m",
+  "available_qty",
+  "voucher_qty",
+  "stock_uom",
+  "column_break_o6ex",
+  "reserved_qty",
+  "delivered_qty",
+  "section_break_3vb3",
+  "company",
+  "column_break_jbyr",
+  "project",
+  "status",
+  "amended_from"
+ ],
+ "fields": [
+  {
+   "fieldname": "item_code",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "in_standard_filter": 1,
+   "label": "Item Code",
+   "oldfieldname": "item_code",
+   "oldfieldtype": "Link",
+   "options": "Item",
+   "print_width": "100px",
+   "read_only": 1,
+   "search_index": 1,
+   "width": "100px"
+  },
+  {
+   "fieldname": "warehouse",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "in_standard_filter": 1,
+   "label": "Warehouse",
+   "oldfieldname": "warehouse",
+   "oldfieldtype": "Link",
+   "options": "Warehouse",
+   "print_width": "100px",
+   "read_only": 1,
+   "search_index": 1,
+   "width": "100px"
+  },
+  {
+   "fieldname": "voucher_type",
+   "fieldtype": "Select",
+   "in_filter": 1,
+   "label": "Voucher Type",
+   "oldfieldname": "voucher_type",
+   "oldfieldtype": "Data",
+   "options": "\nSales Order",
+   "print_width": "150px",
+   "read_only": 1,
+   "width": "150px"
+  },
+  {
+   "fieldname": "voucher_no",
+   "fieldtype": "Dynamic Link",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "in_standard_filter": 1,
+   "label": "Voucher No",
+   "oldfieldname": "voucher_no",
+   "oldfieldtype": "Data",
+   "options": "voucher_type",
+   "print_width": "150px",
+   "read_only": 1,
+   "width": "150px"
+  },
+  {
+   "fieldname": "voucher_detail_no",
+   "fieldtype": "Data",
+   "label": "Voucher Detail No",
+   "oldfieldname": "voucher_detail_no",
+   "oldfieldtype": "Data",
+   "print_width": "150px",
+   "read_only": 1,
+   "search_index": 1,
+   "width": "150px"
+  },
+  {
+   "fieldname": "stock_uom",
+   "fieldtype": "Link",
+   "label": "Stock UOM",
+   "oldfieldname": "stock_uom",
+   "oldfieldtype": "Data",
+   "options": "UOM",
+   "print_width": "150px",
+   "read_only": 1,
+   "width": "150px"
+  },
+  {
+   "fieldname": "project",
+   "fieldtype": "Link",
+   "label": "Project",
+   "options": "Project",
+   "read_only": 1
+  },
+  {
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_filter": 1,
+   "label": "Company",
+   "oldfieldname": "company",
+   "oldfieldtype": "Data",
+   "options": "Company",
+   "print_width": "150px",
+   "read_only": 1,
+   "search_index": 1,
+   "width": "150px"
+  },
+  {
+   "fieldname": "reserved_qty",
+   "fieldtype": "Float",
+   "in_filter": 1,
+   "in_list_view": 1,
+   "label": "Reserved Qty",
+   "oldfieldname": "actual_qty",
+   "oldfieldtype": "Currency",
+   "print_width": "150px",
+   "read_only": 1,
+   "width": "150px"
+  },
+  {
+   "default": "Draft",
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "hidden": 1,
+   "label": "Status",
+   "options": "Draft\nPartially Reserved\nReserved\nPartially Delivered\nDelivered\nCancelled",
+   "read_only": 1
+  },
+  {
+   "default": "0",
+   "fieldname": "delivered_qty",
+   "fieldtype": "Float",
+   "label": "Delivered Qty",
+   "read_only": 1
+  },
+  {
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "label": "Amended From",
+   "no_copy": 1,
+   "options": "Stock Reservation Entry",
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "default": "0",
+   "fieldname": "available_qty",
+   "fieldtype": "Float",
+   "label": "Available Qty to Reserve",
+   "no_copy": 1,
+   "read_only": 1
+  },
+  {
+   "default": "0",
+   "fieldname": "voucher_qty",
+   "fieldtype": "Float",
+   "label": "Voucher Qty",
+   "no_copy": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "column_break_elik",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "section_break_xt4m",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "column_break_o6ex",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "section_break_3vb3",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "column_break_jbyr",
+   "fieldtype": "Column Break"
+  }
+ ],
+ "hide_toolbar": 1,
+ "in_create": 1,
+ "index_web_pages_for_search": 1,
+ "is_submittable": 1,
+ "links": [],
+ "modified": "2023-03-29 18:36:26.752872",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Stock Reservation Entry",
+ "naming_rule": "Expression (old style)",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  }
+ ],
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "states": []
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py
new file mode 100644
index 0000000..5819dd7
--- /dev/null
+++ b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py
@@ -0,0 +1,312 @@
+# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+import frappe
+from frappe import _
+from frappe.model.document import Document
+from frappe.query_builder.functions import Sum
+
+
+class StockReservationEntry(Document):
+	def validate(self) -> None:
+		from erpnext.stock.utils import validate_disabled_warehouse, validate_warehouse_company
+
+		self.validate_mandatory()
+		self.validate_for_group_warehouse()
+		validate_disabled_warehouse(self.warehouse)
+		validate_warehouse_company(self.warehouse, self.company)
+
+	def on_submit(self) -> None:
+		self.update_reserved_qty_in_voucher()
+		self.update_status()
+
+	def on_cancel(self) -> None:
+		self.update_reserved_qty_in_voucher()
+		self.update_status()
+
+	def validate_mandatory(self) -> None:
+		"""Raises exception if mandatory fields are not set."""
+
+		mandatory = [
+			"item_code",
+			"warehouse",
+			"voucher_type",
+			"voucher_no",
+			"voucher_detail_no",
+			"available_qty",
+			"voucher_qty",
+			"stock_uom",
+			"reserved_qty",
+			"company",
+		]
+		for d in mandatory:
+			if not self.get(d):
+				frappe.throw(_("{0} is required").format(self.meta.get_label(d)))
+
+	def validate_for_group_warehouse(self) -> None:
+		"""Raises exception if `Warehouse` is a Group Warehouse."""
+
+		if frappe.get_cached_value("Warehouse", self.warehouse, "is_group"):
+			frappe.throw(
+				_("Stock cannot be reserved in group warehouse {0}.").format(frappe.bold(self.warehouse)),
+				title=_("Invalid Warehouse"),
+			)
+
+	def update_status(self, status: str = None, update_modified: bool = True) -> None:
+		"""Updates status based on Voucher Qty, Reserved Qty and Delivered Qty."""
+
+		if not status:
+			if self.docstatus == 2:
+				status = "Cancelled"
+			elif self.docstatus == 1:
+				if self.reserved_qty == self.delivered_qty:
+					status = "Delivered"
+				elif self.delivered_qty and self.delivered_qty < self.reserved_qty:
+					status = "Partially Delivered"
+				elif self.reserved_qty == self.voucher_qty:
+					status = "Reserved"
+				else:
+					status = "Partially Reserved"
+			else:
+				status = "Draft"
+
+		frappe.db.set_value(self.doctype, self.name, "status", status, update_modified=update_modified)
+
+	def update_reserved_qty_in_voucher(
+		self, reserved_qty_field: str = "stock_reserved_qty", update_modified: bool = True
+	) -> None:
+		"""Updates total reserved qty in the voucher."""
+
+		item_doctype = "Sales Order Item" if self.voucher_type == "Sales Order" else None
+
+		if item_doctype:
+			sre = frappe.qb.DocType("Stock Reservation Entry")
+			reserved_qty = (
+				frappe.qb.from_(sre)
+				.select(Sum(sre.reserved_qty))
+				.where(
+					(sre.docstatus == 1)
+					& (sre.voucher_type == self.voucher_type)
+					& (sre.voucher_no == self.voucher_no)
+					& (sre.voucher_detail_no == self.voucher_detail_no)
+				)
+			).run(as_list=True)[0][0] or 0
+
+			frappe.db.set_value(
+				item_doctype,
+				self.voucher_detail_no,
+				reserved_qty_field,
+				reserved_qty,
+				update_modified=update_modified,
+			)
+
+
+def validate_stock_reservation_settings(voucher: object) -> None:
+	"""Raises an exception if `Stock Reservation` is not enabled or `Voucher Type` is not allowed."""
+
+	if not frappe.db.get_single_value("Stock Settings", "enable_stock_reservation"):
+		frappe.throw(
+			_("Please enable {0} in the {1}.").format(
+				frappe.bold("Stock Reservation"), frappe.bold("Stock Settings")
+			)
+		)
+
+	# Voucher types allowed for stock reservation
+	allowed_voucher_types = ["Sales Order"]
+
+	if voucher.doctype not in allowed_voucher_types:
+		frappe.throw(
+			_("Stock Reservation can only be created against {0}.").format(", ".join(allowed_voucher_types))
+		)
+
+
+def get_available_qty_to_reserve(item_code: str, warehouse: str) -> float:
+	"""Returns `Available Qty to Reserve (Actual Qty - Reserved Qty)` for Item and Warehouse combination."""
+
+	from erpnext.stock.utils import get_stock_balance
+
+	available_qty = get_stock_balance(item_code, warehouse)
+
+	if available_qty:
+		sre = frappe.qb.DocType("Stock Reservation Entry")
+		reserved_qty = (
+			frappe.qb.from_(sre)
+			.select(Sum(sre.reserved_qty - sre.delivered_qty))
+			.where(
+				(sre.docstatus == 1)
+				& (sre.item_code == item_code)
+				& (sre.warehouse == warehouse)
+				& (sre.status.notin(["Delivered", "Cancelled"]))
+			)
+		).run()[0][0] or 0.0
+
+		if reserved_qty:
+			return available_qty - reserved_qty
+
+	return available_qty
+
+
+def get_stock_reservation_entries_for_voucher(
+	voucher_type: str, voucher_no: str, voucher_detail_no: str = None, fields: list[str] = None
+) -> list[dict]:
+	"""Returns list of Stock Reservation Entries against a Voucher."""
+
+	if not fields or not isinstance(fields, list):
+		fields = [
+			"name",
+			"item_code",
+			"warehouse",
+			"voucher_detail_no",
+			"reserved_qty",
+			"delivered_qty",
+			"stock_uom",
+		]
+
+	sre = frappe.qb.DocType("Stock Reservation Entry")
+	query = (
+		frappe.qb.from_(sre)
+		.where(
+			(sre.docstatus == 1)
+			& (sre.voucher_type == voucher_type)
+			& (sre.voucher_no == voucher_no)
+			& (sre.status.notin(["Delivered", "Cancelled"]))
+		)
+		.orderby(sre.creation)
+	)
+
+	for field in fields:
+		query = query.select(sre[field])
+
+	if voucher_detail_no:
+		query = query.where(sre.voucher_detail_no == voucher_detail_no)
+
+	return query.run(as_dict=True)
+
+
+def get_sre_reserved_qty_details_for_item_and_warehouse(
+	item_code_list: list, warehouse_list: list
+) -> dict:
+	"""Returns a dict like {("item_code", "warehouse"): "reserved_qty", ... }."""
+
+	sre_details = {}
+
+	if item_code_list and warehouse_list:
+		sre = frappe.qb.DocType("Stock Reservation Entry")
+		sre_data = (
+			frappe.qb.from_(sre)
+			.select(
+				sre.item_code,
+				sre.warehouse,
+				Sum(sre.reserved_qty - sre.delivered_qty).as_("reserved_qty"),
+			)
+			.where(
+				(sre.docstatus == 1)
+				& (sre.item_code.isin(item_code_list))
+				& (sre.warehouse.isin(warehouse_list))
+				& (sre.status.notin(["Delivered", "Cancelled"]))
+			)
+			.groupby(sre.item_code, sre.warehouse)
+		).run(as_dict=True)
+
+		if sre_data:
+			sre_details = {(d["item_code"], d["warehouse"]): d["reserved_qty"] for d in sre_data}
+
+	return sre_details
+
+
+def get_sre_reserved_qty_for_item_and_warehouse(item_code: str, warehouse: str) -> float:
+	"""Returns `Reserved Qty` for Item and Warehouse combination."""
+
+	reserved_qty = 0.0
+
+	if item_code and warehouse:
+		sre = frappe.qb.DocType("Stock Reservation Entry")
+		return (
+			frappe.qb.from_(sre)
+			.select(Sum(sre.reserved_qty - sre.delivered_qty))
+			.where(
+				(sre.docstatus == 1)
+				& (sre.item_code == item_code)
+				& (sre.warehouse == warehouse)
+				& (sre.status.notin(["Delivered", "Cancelled"]))
+			)
+		).run(as_list=True)[0][0] or 0.0
+
+	return reserved_qty
+
+
+def get_sre_reserved_qty_details_for_voucher(voucher_type: str, voucher_no: str) -> dict:
+	"""Returns a dict like {"voucher_detail_no": "reserved_qty", ... }."""
+
+	sre = frappe.qb.DocType("Stock Reservation Entry")
+	data = (
+		frappe.qb.from_(sre)
+		.select(
+			sre.voucher_detail_no,
+			(Sum(sre.reserved_qty) - Sum(sre.delivered_qty)).as_("reserved_qty"),
+		)
+		.where(
+			(sre.docstatus == 1)
+			& (sre.voucher_type == voucher_type)
+			& (sre.voucher_no == voucher_no)
+			& (sre.status.notin(["Delivered", "Cancelled"]))
+		)
+		.groupby(sre.voucher_detail_no)
+	).run(as_list=True)
+
+	return frappe._dict(data)
+
+
+def get_sre_reserved_qty_details_for_voucher_detail_no(
+	voucher_type: str, voucher_no: str, voucher_detail_no: str
+) -> list:
+	"""Returns a list like ["warehouse", "reserved_qty"]."""
+
+	sre = frappe.qb.DocType("Stock Reservation Entry")
+	reserved_qty_details = (
+		frappe.qb.from_(sre)
+		.select(sre.warehouse, (Sum(sre.reserved_qty) - Sum(sre.delivered_qty)))
+		.where(
+			(sre.docstatus == 1)
+			& (sre.voucher_type == voucher_type)
+			& (sre.voucher_no == voucher_no)
+			& (sre.voucher_detail_no == voucher_detail_no)
+			& (sre.status.notin(["Delivered", "Cancelled"]))
+		)
+		.orderby(sre.creation)
+		.groupby(sre.warehouse)
+	).run(as_list=True)
+
+	if reserved_qty_details:
+		return reserved_qty_details[0]
+
+	return reserved_qty_details
+
+
+def has_reserved_stock(voucher_type: str, voucher_no: str, voucher_detail_no: str = None) -> bool:
+	"""Returns True if there is any Stock Reservation Entry for the given voucher."""
+
+	if get_stock_reservation_entries_for_voucher(
+		voucher_type, voucher_no, voucher_detail_no, fields=["name"]
+	):
+		return True
+
+	return False
+
+
+@frappe.whitelist()
+def cancel_stock_reservation_entries(
+	voucher_type: str, voucher_no: str, voucher_detail_no: str = None, notify: bool = True
+) -> None:
+	"""Cancel Stock Reservation Entries for the given voucher."""
+
+	sre_list = get_stock_reservation_entries_for_voucher(
+		voucher_type, voucher_no, voucher_detail_no, fields=["name"]
+	)
+
+	if sre_list:
+		for sre in sre_list:
+			frappe.get_doc("Stock Reservation Entry", sre.name).cancel()
+
+		if notify:
+			frappe.msgprint(_("Stock Reservation Entries Cancelled"), alert=True, indicator="red")
diff --git a/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry_list.js b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry_list.js
new file mode 100644
index 0000000..442ac39
--- /dev/null
+++ b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry_list.js
@@ -0,0 +1,16 @@
+// Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.listview_settings['Stock Reservation Entry'] = {
+	get_indicator: function (doc) {
+		const status_colors = {
+            'Draft': 'red',
+            'Partially Reserved': 'orange',
+            'Reserved': 'blue',
+            'Partially Delivered': 'purple',
+            'Delivered': 'green',
+            'Cancelled': 'red',
+		};
+		return [__(doc.status), status_colors[doc.status], 'status,=,' + doc.status];
+	},
+};
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py b/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py
new file mode 100644
index 0000000..5a082dd
--- /dev/null
+++ b/erpnext/stock/doctype/stock_reservation_entry/test_stock_reservation_entry.py
@@ -0,0 +1,317 @@
+# Copyright (c) 2023, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+
+import frappe
+from frappe.tests.utils import FrappeTestCase, change_settings
+
+from erpnext.selling.doctype.sales_order.test_sales_order import make_sales_order
+from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
+from erpnext.stock.utils import get_stock_balance
+
+
+class TestStockReservationEntry(FrappeTestCase):
+	def setUp(self) -> None:
+		self.items = create_items()
+		create_material_receipts(self.items)
+
+	def tearDown(self) -> None:
+		return super().tearDown()
+
+	def test_validate_stock_reservation_settings(self) -> None:
+		from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+			validate_stock_reservation_settings,
+		)
+
+		voucher = frappe._dict(
+			{
+				"doctype": "Sales Order",
+			}
+		)
+
+		# Case - 1: When `Stock Reservation` is disabled in `Stock Settings`, throw `ValidationError`
+		with change_settings("Stock Settings", {"enable_stock_reservation": 0}):
+			self.assertRaises(frappe.ValidationError, validate_stock_reservation_settings, voucher)
+
+		with change_settings("Stock Settings", {"enable_stock_reservation": 1}):
+			# Case - 2: When `Voucher Type` is not allowed for `Stock Reservation`, throw `ValidationError`
+			voucher.doctype = "NOT ALLOWED"
+			self.assertRaises(frappe.ValidationError, validate_stock_reservation_settings, voucher)
+
+			# Case - 3: When `Voucher Type` is allowed for `Stock Reservation`
+			voucher.doctype = "Sales Order"
+			self.assertIsNone(validate_stock_reservation_settings(voucher), None)
+
+	def test_get_available_qty_to_reserve(self) -> None:
+		from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+			get_available_qty_to_reserve,
+		)
+
+		item_code, warehouse = "SR Item 1", "_Test Warehouse - _TC"
+
+		# Case - 1: When `Reserved Qty` is `0`, Available Qty to Reserve = Actual Qty
+		cancel_all_stock_reservation_entries()
+		available_qty_to_reserve = get_available_qty_to_reserve(item_code, warehouse)
+		expected_available_qty_to_reserve = get_stock_balance(item_code, warehouse)
+
+		self.assertEqual(available_qty_to_reserve, expected_available_qty_to_reserve)
+
+		# Case - 2: When `Reserved Qty` is `> 0`, Available Qty to Reserve = Actual Qty - Reserved Qty
+		sre = make_stock_reservation_entry(
+			item_code=item_code,
+			warehouse=warehouse,
+			ignore_validate=True,
+		)
+		available_qty_to_reserve = get_available_qty_to_reserve(item_code, warehouse)
+		expected_available_qty_to_reserve = get_stock_balance(item_code, warehouse) - sre.reserved_qty
+
+		self.assertEqual(available_qty_to_reserve, expected_available_qty_to_reserve)
+
+	def test_update_status(self) -> None:
+		sre = make_stock_reservation_entry(
+			reserved_qty=30,
+			ignore_validate=True,
+			do_not_submit=True,
+		)
+
+		# Draft: When DocStatus is `0`
+		sre.load_from_db()
+		self.assertEqual(sre.status, "Draft")
+
+		# Partially Reserved: When DocStatus is `1` and `Reserved Qty` < `Voucher Qty`
+		sre.submit()
+		sre.load_from_db()
+		self.assertEqual(sre.status, "Partially Reserved")
+
+		# Reserved: When DocStatus is `1` and `Reserved Qty` = `Voucher Qty`
+		sre.reserved_qty = sre.voucher_qty
+		sre.db_update()
+		sre.update_status()
+		sre.load_from_db()
+		self.assertEqual(sre.status, "Reserved")
+
+		# Partially Delivered: When DocStatus is `1` and (0 < `Delivered Qty` < `Voucher Qty`)
+		sre.delivered_qty = 10
+		sre.db_update()
+		sre.update_status()
+		sre.load_from_db()
+		self.assertEqual(sre.status, "Partially Delivered")
+
+		# Delivered: When DocStatus is `1` and `Delivered Qty` = `Voucher Qty`
+		sre.delivered_qty = sre.voucher_qty
+		sre.db_update()
+		sre.update_status()
+		sre.load_from_db()
+		self.assertEqual(sre.status, "Delivered")
+
+		# Cancelled: When DocStatus is `2`
+		sre.cancel()
+		sre.load_from_db()
+		self.assertEqual(sre.status, "Cancelled")
+
+	@change_settings("Stock Settings", {"enable_stock_reservation": 1})
+	def test_update_reserved_qty_in_voucher(self) -> None:
+		item_code, warehouse = "SR Item 1", "_Test Warehouse - _TC"
+
+		# Step - 1: Create a `Sales Order`
+		so = make_sales_order(
+			item_code=item_code,
+			warehouse=warehouse,
+			qty=50,
+			rate=100,
+			do_not_submit=True,
+		)
+		so.reserve_stock = 0  # Stock Reservation Entries won't be created on submit
+		so.items[0].reserve_stock = 1
+		so.save()
+		so.submit()
+
+		# Step - 2: Create a `Stock Reservation Entry[1]` for the `Sales Order Item`
+		sre1 = make_stock_reservation_entry(
+			item_code=item_code,
+			warehouse=warehouse,
+			voucher_type="Sales Order",
+			voucher_no=so.name,
+			voucher_detail_no=so.items[0].name,
+			reserved_qty=30,
+		)
+
+		so.load_from_db()
+		sre1.load_from_db()
+		self.assertEqual(sre1.status, "Partially Reserved")
+		self.assertEqual(so.items[0].stock_reserved_qty, sre1.reserved_qty)
+
+		# Step - 3: Create a `Stock Reservation Entry[2]` for the `Sales Order Item`
+		sre2 = make_stock_reservation_entry(
+			item_code=item_code,
+			warehouse=warehouse,
+			voucher_type="Sales Order",
+			voucher_no=so.name,
+			voucher_detail_no=so.items[0].name,
+			reserved_qty=20,
+		)
+
+		so.load_from_db()
+		sre2.load_from_db()
+		self.assertEqual(sre1.status, "Partially Reserved")
+		self.assertEqual(so.items[0].stock_reserved_qty, sre1.reserved_qty + sre2.reserved_qty)
+
+		# Step - 4: Cancel `Stock Reservation Entry[1]`
+		sre1.cancel()
+		so.load_from_db()
+		sre1.load_from_db()
+		self.assertEqual(sre1.status, "Cancelled")
+		self.assertEqual(so.items[0].stock_reserved_qty, sre2.reserved_qty)
+
+		# Step - 5: Cancel `Stock Reservation Entry[2]`
+		sre2.cancel()
+		so.load_from_db()
+		sre2.load_from_db()
+		self.assertEqual(sre1.status, "Cancelled")
+		self.assertEqual(so.items[0].stock_reserved_qty, 0)
+
+	@change_settings("Stock Settings", {"enable_stock_reservation": 1})
+	def test_cant_consume_reserved_stock(self) -> None:
+		from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+			cancel_stock_reservation_entries,
+		)
+		from erpnext.stock.stock_ledger import NegativeStockError
+
+		item_code, warehouse = "SR Item 1", "_Test Warehouse - _TC"
+
+		# Step - 1: Create a `Sales Order`
+		so = make_sales_order(
+			item_code=item_code,
+			warehouse=warehouse,
+			qty=50,
+			rate=100,
+			do_not_submit=True,
+		)
+		so.reserve_stock = 1  # Stock Reservation Entries will be created on submit
+		so.items[0].reserve_stock = 1
+		so.save()
+		so.submit()
+
+		actual_qty = get_stock_balance(item_code, warehouse)
+
+		# Step - 2: Try to consume (Transfer/Issue/Deliver) the Available Qty via Stock Entry or Delivery Note, should throw `NegativeStockError`.
+		se = make_stock_entry(
+			item_code=item_code,
+			qty=actual_qty,
+			from_warehouse=warehouse,
+			rate=100,
+			purpose="Material Issue",
+			do_not_submit=True,
+		)
+		self.assertRaises(NegativeStockError, se.submit)
+		se.cancel()
+
+		# Step - 3: Unreserve the stock and consume the Available Qty via Stock Entry.
+		cancel_stock_reservation_entries(so.doctype, so.name)
+
+		se = make_stock_entry(
+			item_code=item_code,
+			qty=actual_qty,
+			from_warehouse=warehouse,
+			rate=100,
+			purpose="Material Issue",
+			do_not_submit=True,
+		)
+		se.submit()
+		se.cancel()
+
+
+def create_items() -> dict:
+	from erpnext.stock.doctype.item.test_item import make_item
+
+	items_details = {
+		# Stock Items
+		"SR Item 1": {"is_stock_item": 1, "valuation_rate": 100},
+		"SR Item 2": {"is_stock_item": 1, "valuation_rate": 200, "stock_uom": "Kg"},
+		# Batch Items
+		"SR Batch Item 1": {
+			"is_stock_item": 1,
+			"valuation_rate": 100,
+			"has_batch_no": 1,
+			"create_new_batch": 1,
+			"batch_number_series": "SRBI-1-.#####.",
+		},
+		"SR Batch Item 2": {
+			"is_stock_item": 1,
+			"valuation_rate": 200,
+			"has_batch_no": 1,
+			"create_new_batch": 1,
+			"batch_number_series": "SRBI-2-.#####.",
+			"stock_uom": "Kg",
+		},
+		# Serial Item
+		"SR Serial Item 1": {
+			"is_stock_item": 1,
+			"valuation_rate": 100,
+			"has_serial_no": 1,
+			"serial_no_series": "SRSI-1-.#####",
+		},
+		# Batch and Serial Item
+		"SR Batch and Serial Item 1": {
+			"is_stock_item": 1,
+			"valuation_rate": 100,
+			"has_batch_no": 1,
+			"create_new_batch": 1,
+			"batch_number_series": "SRBSI-1-.#####.",
+			"has_serial_no": 1,
+			"serial_no_series": "SRBSI-1-.#####",
+		},
+	}
+
+	items = {}
+	for item_code, properties in items_details.items():
+		items[item_code] = make_item(item_code, properties)
+
+	return items
+
+
+def create_material_receipts(
+	items: dict, warehouse: str = "_Test Warehouse - _TC", qty: float = 100
+) -> None:
+	for item in items.values():
+		if item.is_stock_item:
+			make_stock_entry(
+				item_code=item.item_code,
+				qty=qty,
+				to_warehouse=warehouse,
+				rate=item.valuation_rate,
+				purpose="Material Receipt",
+			)
+
+
+def cancel_all_stock_reservation_entries() -> None:
+	sre_list = frappe.db.get_all("Stock Reservation Entry", filters={"docstatus": 1}, pluck="name")
+
+	for sre in sre_list:
+		frappe.get_doc("Stock Reservation Entry", sre).cancel()
+
+
+def make_stock_reservation_entry(**args):
+	doc = frappe.new_doc("Stock Reservation Entry")
+	args = frappe._dict(args)
+
+	doc.item_code = args.item_code or "SR Item 1"
+	doc.warehouse = args.warehouse or "_Test Warehouse - _TC"
+	doc.voucher_type = args.voucher_type
+	doc.voucher_no = args.voucher_no
+	doc.voucher_detail_no = args.voucher_detail_no
+	doc.available_qty = args.available_qty or 100
+	doc.voucher_qty = args.voucher_qty or 50
+	doc.stock_uom = args.stock_uom or "Nos"
+	doc.reserved_qty = args.reserved_qty or 50
+	doc.delivered_qty = args.delivered_qty or 0
+	doc.company = args.company or "_Test Company"
+
+	if args.ignore_validate:
+		doc.flags.ignore_validate = True
+
+	if not args.do_not_save:
+		doc.save()
+		if not args.do_not_submit:
+			doc.submit()
+
+	return doc
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.json b/erpnext/stock/doctype/stock_settings/stock_settings.json
index ec7fb0f..a37f671 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.json
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -8,12 +8,12 @@
   "defaults_tab",
   "item_defaults_section",
   "item_naming_by",
+  "valuation_method",
   "item_group",
-  "stock_uom",
   "column_break_4",
   "default_warehouse",
   "sample_retention_warehouse",
-  "valuation_method",
+  "stock_uom",
   "price_list_defaults_section",
   "auto_insert_price_list_rate_if_missing",
   "column_break_12",
@@ -31,6 +31,11 @@
   "action_if_quality_inspection_is_not_submitted",
   "column_break_23",
   "action_if_quality_inspection_is_rejected",
+  "stock_reservation_tab",
+  "enable_stock_reservation",
+  "column_break_rx3e",
+  "reserve_stock_on_sales_order_submission",
+  "allow_partial_reservation",
   "serial_and_batch_item_settings_tab",
   "section_break_7",
   "automatically_set_serial_nos_based_on_fifo",
@@ -96,6 +101,7 @@
    "fieldtype": "Column Break"
   },
   {
+   "documentation_url": "https://docs.erpnext.com/docs/v14/user/manual/en/stock/articles/calculation-of-valuation-rate-in-fifo-and-moving-average",
    "fieldname": "valuation_method",
    "fieldtype": "Select",
    "label": "Default Valuation Method",
@@ -339,6 +345,37 @@
   {
    "fieldname": "column_break_121",
    "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "stock_reservation_tab",
+   "fieldtype": "Tab Break",
+   "label": "Stock Reservation"
+  },
+  {
+   "default": "0",
+   "fieldname": "enable_stock_reservation",
+   "fieldtype": "Check",
+   "label": "Enable Stock Reservation"
+  },
+  {
+   "default": "0",
+   "depends_on": "eval: doc.enable_stock_reservation",
+   "description": "If enabled, <b>Stock Reservation Entries</b> will be created on submission of <b>Sales Order</b>",
+   "fieldname": "reserve_stock_on_sales_order_submission",
+   "fieldtype": "Check",
+   "label": "Reserve Stock on Sales Order Submission"
+  },
+  {
+   "fieldname": "column_break_rx3e",
+   "fieldtype": "Column Break"
+  },
+  {
+   "default": "1",
+   "depends_on": "eval: doc.enable_stock_reservation",
+   "description": "If enabled, <b>Partial Stock Reservation Entries</b> can be created. For example, If you have a <b>Sales Order</b> of 100 units and the Available Stock is 90 units then a Stock Reservation Entry will be created for 90 units. ",
+   "fieldname": "allow_partial_reservation",
+   "fieldtype": "Check",
+   "label": "Allow Partial Reservation"
   }
  ],
  "icon": "icon-cog",
@@ -346,7 +383,7 @@
  "index_web_pages_for_search": 1,
  "issingle": 1,
  "links": [],
- "modified": "2022-02-05 15:33:43.692736",
+ "modified": "2023-05-29 15:09:54.959411",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Stock Settings",
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.py b/erpnext/stock/doctype/stock_settings/stock_settings.py
index 50807a9..e25c843 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.py
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.py
@@ -55,6 +55,7 @@
 		self.cant_change_valuation_method()
 		self.validate_clean_description_html()
 		self.validate_pending_reposts()
+		self.validate_stock_reservation()
 
 	def validate_warehouses(self):
 		warehouse_fields = ["default_warehouse", "sample_retention_warehouse"]
@@ -99,6 +100,74 @@
 		if self.stock_frozen_upto:
 			check_pending_reposting(self.stock_frozen_upto)
 
+	def validate_stock_reservation(self):
+		"""Raises an exception if the user tries to enable/disable `Stock Reservation` with `Negative Stock` or `Open Stock Reservation Entries`."""
+
+		# Skip validation for tests
+		if frappe.flags.in_test:
+			return
+
+		db_allow_negative_stock = frappe.db.get_single_value("Stock Settings", "allow_negative_stock")
+		db_enable_stock_reservation = frappe.db.get_single_value(
+			"Stock Settings", "enable_stock_reservation"
+		)
+
+		# Change in value of `Allow Negative Stock`
+		if db_allow_negative_stock != self.allow_negative_stock:
+
+			# Disable -> Enable: Don't allow if `Stock Reservation` is enabled
+			if self.allow_negative_stock and self.enable_stock_reservation:
+				frappe.throw(
+					_("As {0} is enabled, you can not enable {1}.").format(
+						frappe.bold("Stock Reservation"), frappe.bold("Allow Negative Stock")
+					)
+				)
+
+		# Change in value of `Enable Stock Reservation`
+		if db_enable_stock_reservation != self.enable_stock_reservation:
+
+			# Disable -> Enable
+			if self.enable_stock_reservation:
+
+				# Don't allow if `Allow Negative Stock` is enabled
+				if self.allow_negative_stock:
+					frappe.throw(
+						_("As {0} is enabled, you can not enable {1}.").format(
+							frappe.bold("Allow Negative Stock"), frappe.bold("Stock Reservation")
+						)
+					)
+
+				else:
+					# Don't allow if there are negative stock
+					from frappe.query_builder.functions import Round
+
+					precision = frappe.db.get_single_value("System Settings", "float_precision") or 3
+					bin = frappe.qb.DocType("Bin")
+					bin_with_negative_stock = (
+						frappe.qb.from_(bin).select(bin.name).where(Round(bin.actual_qty, precision) < 0).limit(1)
+					).run()
+
+					if bin_with_negative_stock:
+						frappe.throw(
+							_("As there are negative stock, you can not enable {0}.").format(
+								frappe.bold("Stock Reservation")
+							)
+						)
+
+			# Enable -> Disable
+			else:
+				# Don't allow if there are open Stock Reservation Entries
+				has_reserved_stock = frappe.db.exists(
+					"Stock Reservation Entry", {"docstatus": 1, "status": ["!=", "Delivered"]}
+				)
+
+				if has_reserved_stock:
+					frappe.throw(
+						_("As there are reserved stock, you cannot disable {0}.").format(
+							frappe.bold("Stock Reservation")
+						)
+					)
+
 	def on_update(self):
 		self.toggle_warehouse_field_for_inter_warehouse_transfer()
 
diff --git a/erpnext/stock/doctype/warehouse/warehouse.js b/erpnext/stock/doctype/warehouse/warehouse.js
index d69c624..87a23ef 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.js
+++ b/erpnext/stock/doctype/warehouse/warehouse.js
@@ -17,6 +17,7 @@
 			return {
 				filters: {
 					is_group: 1,
+					company: doc.company,
 				},
 			};
 		});
@@ -39,26 +40,34 @@
 			!frm.doc.__islocal
 		);
 
-		if (!frm.doc.__islocal) {
+		if (!frm.is_new()) {
 			frappe.contacts.render_address_and_contact(frm);
+
+			let enable_toggle = frm.doc.disabled ? "Enable" : "Disable";
+			frm.add_custom_button(__(enable_toggle), () => {
+				frm.set_value('disabled', 1 - frm.doc.disabled);
+				frm.save()
+			});
+
+			frm.add_custom_button(__("Stock Balance"), function () {
+				frappe.set_route("query-report", "Stock Balance", {
+					warehouse: frm.doc.name,
+				});
+			});
+
+			frm.add_custom_button(
+				frm.doc.is_group
+					? __("Convert to Ledger", null, "Warehouse")
+					: __("Convert to Group", null, "Warehouse"),
+				function () {
+					convert_to_group_or_ledger(frm);
+				},
+			);
+
 		} else {
 			frappe.contacts.clear_address_and_contact(frm);
 		}
 
-		frm.add_custom_button(__("Stock Balance"), function () {
-			frappe.set_route("query-report", "Stock Balance", {
-				warehouse: frm.doc.name,
-			});
-		});
-
-		frm.add_custom_button(
-			frm.doc.is_group
-				? __("Convert to Ledger", null, "Warehouse")
-				: __("Convert to Group", null, "Warehouse"),
-			function () {
-				convert_to_group_or_ledger(frm);
-			},
-		);
 
 		if (!frm.doc.is_group && frm.doc.__onload && frm.doc.__onload.account) {
 			frm.add_custom_button(
diff --git a/erpnext/stock/doctype/warehouse/warehouse.json b/erpnext/stock/doctype/warehouse/warehouse.json
index c695d54..43b2ad2 100644
--- a/erpnext/stock/doctype/warehouse/warehouse.json
+++ b/erpnext/stock/doctype/warehouse/warehouse.json
@@ -1,23 +1,21 @@
 {
  "actions": [],
  "allow_import": 1,
- "creation": "2013-03-07 18:50:32",
+ "creation": "2023-05-29 13:02:17.121296",
  "description": "A logical Warehouse against which stock entries are made.",
  "doctype": "DocType",
  "document_type": "Setup",
  "engine": "InnoDB",
  "field_order": [
   "warehouse_detail",
+  "disabled",
   "warehouse_name",
   "column_break_3",
-  "warehouse_type",
-  "parent_warehouse",
-  "default_in_transit_warehouse",
   "is_group",
+  "parent_warehouse",
   "column_break_4",
   "account",
   "company",
-  "disabled",
   "address_and_contact",
   "address_html",
   "column_break_10",
@@ -32,6 +30,10 @@
   "city",
   "state",
   "pin",
+  "transit_section",
+  "warehouse_type",
+  "column_break_qajx",
+  "default_in_transit_warehouse",
   "tree_details",
   "lft",
   "rgt",
@@ -58,7 +60,7 @@
    "fieldname": "is_group",
    "fieldtype": "Check",
    "in_list_view": 1,
-   "label": "Is Group"
+   "label": "Is Group Warehouse"
   },
   {
    "fieldname": "company",
@@ -78,7 +80,7 @@
    "default": "0",
    "fieldname": "disabled",
    "fieldtype": "Check",
-   "in_list_view": 1,
+   "hidden": 1,
    "label": "Disabled"
   },
   {
@@ -164,7 +166,6 @@
   {
    "fieldname": "city",
    "fieldtype": "Data",
-   "in_list_view": 1,
    "label": "City",
    "oldfieldname": "city",
    "oldfieldtype": "Data"
@@ -238,13 +239,23 @@
    "fieldtype": "Link",
    "label": "Default In-Transit Warehouse",
    "options": "Warehouse"
+  },
+  {
+   "collapsible": 1,
+   "fieldname": "transit_section",
+   "fieldtype": "Section Break",
+   "label": "Transit"
+  },
+  {
+   "fieldname": "column_break_qajx",
+   "fieldtype": "Column Break"
   }
  ],
  "icon": "fa fa-building",
  "idx": 1,
  "is_tree": 1,
  "links": [],
- "modified": "2022-03-01 02:37:48.034944",
+ "modified": "2023-05-29 13:10:43.333160",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Warehouse",
@@ -261,7 +272,6 @@
    "read": 1,
    "report": 1,
    "role": "Item Manager",
-   "set_user_permissions": 1,
    "share": 1,
    "write": 1
   },
diff --git a/erpnext/stock/form_tour/stock_reconciliation/stock_reconciliation.json b/erpnext/stock/form_tour/stock_reconciliation/stock_reconciliation.json
index 5b7fd72..07a5110 100644
--- a/erpnext/stock/form_tour/stock_reconciliation/stock_reconciliation.json
+++ b/erpnext/stock/form_tour/stock_reconciliation/stock_reconciliation.json
@@ -2,54 +2,75 @@
  "creation": "2021-08-24 14:44:46.770952",
  "docstatus": 0,
  "doctype": "Form Tour",
+ "first_document": 0,
  "idx": 0,
+ "include_name_field": 0,
  "is_standard": 1,
- "modified": "2021-08-25 16:26:11.718664",
+ "list_name": "List",
+ "modified": "2023-05-29 13:38:27.192177",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Stock Reconciliation",
+ "new_document_form": 0,
  "owner": "Administrator",
  "reference_doctype": "Stock Reconciliation",
  "save_on_complete": 1,
  "steps": [
   {
    "description": "Set Purpose to Opening Stock to set the stock opening balance.",
-   "field": "",
    "fieldname": "purpose",
    "fieldtype": "Select",
    "has_next_condition": 1,
+   "hide_buttons": 0,
    "is_table_field": 0,
    "label": "Purpose",
+   "modal_trigger": 0,
+   "next_on_click": 0,
    "next_step_condition": "eval: doc.purpose === \"Opening Stock\"",
-   "parent_field": "",
+   "offset_x": 0,
+   "offset_y": 0,
+   "popover_element": 0,
    "position": "Top",
-   "title": "Purpose"
-  },
-  {
-   "description": "Select the items for which the opening stock has to be set.",
-   "field": "",
-   "fieldname": "items",
-   "fieldtype": "Table",
-   "has_next_condition": 1,
-   "is_table_field": 0,
-   "label": "Items",
-   "next_step_condition": "eval: doc.items[0]?.item_code",
-   "parent_field": "",
-   "position": "Top",
-   "title": "Items"
+   "title": "Purpose",
+   "ui_tour": 0
   },
   {
    "description": "Edit the Posting Date by clicking on the Edit Posting Date and Time checkbox below.",
-   "field": "",
    "fieldname": "posting_date",
    "fieldtype": "Date",
    "has_next_condition": 0,
+   "hide_buttons": 0,
    "is_table_field": 0,
    "label": "Posting Date",
-   "parent_field": "",
+   "modal_trigger": 0,
+   "next_on_click": 0,
+   "offset_x": 0,
+   "offset_y": 0,
+   "popover_element": 0,
    "position": "Bottom",
-   "title": "Posting Date"
+   "title": "Posting Date",
+   "ui_tour": 0
+  },
+  {
+   "description": "Select the items for which the opening stock has to be set.",
+   "fieldname": "items",
+   "fieldtype": "Table",
+   "has_next_condition": 1,
+   "hide_buttons": 0,
+   "is_table_field": 0,
+   "label": "Items",
+   "modal_trigger": 0,
+   "next_on_click": 0,
+   "next_step_condition": "eval: doc.items[0]?.item_code",
+   "offset_x": 0,
+   "offset_y": 0,
+   "popover_element": 0,
+   "position": "Top",
+   "title": "Items",
+   "ui_tour": 0
   }
  ],
- "title": "Stock Reconciliation"
+ "title": "Stock Reconciliation",
+ "track_steps": 0,
+ "ui_tour": 0
 }
\ No newline at end of file
diff --git a/erpnext/stock/form_tour/stock_settings/stock_settings.json b/erpnext/stock/form_tour/stock_settings/stock_settings.json
index 3d164e3..adbd159 100644
--- a/erpnext/stock/form_tour/stock_settings/stock_settings.json
+++ b/erpnext/stock/form_tour/stock_settings/stock_settings.json
@@ -2,88 +2,73 @@
  "creation": "2021-08-20 15:20:59.336585",
  "docstatus": 0,
  "doctype": "Form Tour",
+ "first_document": 0,
  "idx": 0,
+ "include_name_field": 0,
  "is_standard": 1,
- "modified": "2021-08-25 16:19:37.699528",
+ "list_name": "List",
+ "modified": "2023-05-29 12:33:19.142202",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Stock Settings",
+ "new_document_form": 0,
  "owner": "Administrator",
  "reference_doctype": "Stock Settings",
  "save_on_complete": 1,
  "steps": [
   {
    "description": "By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a Naming Series choose the 'Naming Series' option.",
-   "field": "",
    "fieldname": "item_naming_by",
    "fieldtype": "Select",
    "has_next_condition": 0,
+   "hide_buttons": 0,
    "is_table_field": 0,
    "label": "Item Naming By",
-   "parent_field": "",
+   "modal_trigger": 0,
+   "next_on_click": 0,
+   "offset_x": 0,
+   "offset_y": 0,
+   "popover_element": 0,
    "position": "Bottom",
-   "title": "Item Naming By"
+   "title": "Item Naming By",
+   "ui_tour": 0
   },
   {
    "description": "Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.",
-   "field": "",
    "fieldname": "default_warehouse",
    "fieldtype": "Link",
    "has_next_condition": 0,
+   "hide_buttons": 0,
    "is_table_field": 0,
    "label": "Default Warehouse",
-   "parent_field": "",
+   "modal_trigger": 0,
+   "next_on_click": 0,
+   "offset_x": 0,
+   "offset_y": 0,
+   "popover_element": 0,
    "position": "Bottom",
-   "title": "Default Warehouse"
-  },
-  {
-   "description": "Quality inspection is performed on the inward and outward movement of goods. Receipt and delivery transactions will be stopped or the user will be warned if the quality inspection is not performed.",
-   "field": "",
-   "fieldname": "action_if_quality_inspection_is_not_submitted",
-   "fieldtype": "Select",
-   "has_next_condition": 0,
-   "is_table_field": 0,
-   "label": "Action If Quality Inspection Is Not Submitted",
-   "parent_field": "",
-   "position": "Bottom",
-   "title": "Action if Quality Inspection Is Not Submitted"
-  },
-  {
-   "description": "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.",
-   "field": "",
-   "fieldname": "automatically_set_serial_nos_based_on_fifo",
-   "fieldtype": "Check",
-   "has_next_condition": 0,
-   "is_table_field": 0,
-   "label": "Automatically Set Serial Nos Based on FIFO",
-   "parent_field": "",
-   "position": "Bottom",
-   "title": "Automatically Set Serial Nos based on FIFO"
-  },
-  {
-   "description": "Show 'Scan Barcode' field above every child table to insert Items with ease.",
-   "field": "",
-   "fieldname": "show_barcode_field",
-   "fieldtype": "Check",
-   "has_next_condition": 0,
-   "is_table_field": 0,
-   "label": "Show Barcode Field in Stock Transactions",
-   "parent_field": "",
-   "position": "Bottom",
-   "title": "Show Barcode Field"
+   "title": "Default Warehouse",
+   "ui_tour": 0
   },
   {
    "description": "Choose between FIFO and Moving Average Valuation Methods. Click <a href=\"https://docs.erpnext.com/docs/user/manual/en/stock/articles/item-valuation-fifo-and-moving-average\" target=\"_blank\">here</a> to know more about them.",
-   "field": "",
    "fieldname": "valuation_method",
    "fieldtype": "Select",
    "has_next_condition": 0,
+   "hide_buttons": 0,
    "is_table_field": 0,
    "label": "Default Valuation Method",
-   "parent_field": "",
+   "modal_trigger": 0,
+   "next_on_click": 0,
+   "offset_x": 0,
+   "offset_y": 0,
+   "popover_element": 0,
    "position": "Bottom",
-   "title": "Default Valuation Method"
+   "title": "Default Valuation Method",
+   "ui_tour": 0
   }
  ],
- "title": "Stock Settings"
+ "title": "Stock Settings",
+ "track_steps": 0,
+ "ui_tour": 0
 }
\ No newline at end of file
diff --git a/erpnext/stock/form_tour/warehouse/warehouse.json b/erpnext/stock/form_tour/warehouse/warehouse.json
index 23ff2ae..5897357 100644
--- a/erpnext/stock/form_tour/warehouse/warehouse.json
+++ b/erpnext/stock/form_tour/warehouse/warehouse.json
@@ -2,53 +2,57 @@
  "creation": "2021-08-24 14:43:44.465237",
  "docstatus": 0,
  "doctype": "Form Tour",
+ "first_document": 0,
  "idx": 0,
+ "include_name_field": 0,
  "is_standard": 1,
- "modified": "2021-08-24 14:50:31.988256",
+ "list_name": "List",
+ "modified": "2023-05-29 13:09:49.920796",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Warehouse",
+ "new_document_form": 0,
  "owner": "Administrator",
  "reference_doctype": "Warehouse",
  "save_on_complete": 1,
  "steps": [
   {
    "description": "Select a name for the warehouse. This should reflect its location or purpose.",
-   "field": "",
    "fieldname": "warehouse_name",
    "fieldtype": "Data",
    "has_next_condition": 1,
+   "hide_buttons": 0,
    "is_table_field": 0,
    "label": "Warehouse Name",
+   "modal_trigger": 0,
+   "next_on_click": 0,
    "next_step_condition": "eval: doc.warehouse_name",
-   "parent_field": "",
+   "offset_x": 0,
+   "offset_y": 0,
+   "popover_element": 0,
    "position": "Bottom",
-   "title": "Warehouse Name"
-  },
-  {
-   "description": "Select a warehouse type to categorize the warehouse into a sub-group.",
-   "field": "",
-   "fieldname": "warehouse_type",
-   "fieldtype": "Link",
-   "has_next_condition": 0,
-   "is_table_field": 0,
-   "label": "Warehouse Type",
-   "parent_field": "",
-   "position": "Top",
-   "title": "Warehouse Type"
+   "title": "Warehouse Name",
+   "ui_tour": 0
   },
   {
    "description": "Select an account to set a default account for all transactions with this warehouse.",
-   "field": "",
    "fieldname": "account",
    "fieldtype": "Link",
    "has_next_condition": 0,
+   "hide_buttons": 0,
    "is_table_field": 0,
    "label": "Account",
-   "parent_field": "",
+   "modal_trigger": 0,
+   "next_on_click": 0,
+   "offset_x": 0,
+   "offset_y": 0,
+   "popover_element": 0,
    "position": "Top",
-   "title": "Account"
+   "title": "Account",
+   "ui_tour": 0
   }
  ],
- "title": "Warehouse"
+ "title": "Warehouse",
+ "track_steps": 0,
+ "ui_tour": 0
 }
\ No newline at end of file
diff --git a/erpnext/stock/module_onboarding/stock/stock.json b/erpnext/stock/module_onboarding/stock/stock.json
index c246747..864ac4b 100644
--- a/erpnext/stock/module_onboarding/stock/stock.json
+++ b/erpnext/stock/module_onboarding/stock/stock.json
@@ -19,7 +19,7 @@
  "documentation_url": "https://docs.erpnext.com/docs/user/manual/en/stock",
  "idx": 0,
  "is_complete": 0,
- "modified": "2021-08-20 14:38:55.570067",
+ "modified": "2023-05-29 14:43:36.223302",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Stock",
@@ -35,10 +35,10 @@
    "step": "Create a Stock Entry"
   },
   {
-   "step": "Stock Opening Balance"
+   "step": "Check Stock Ledger Report"
   },
   {
-   "step": "View Stock Projected Qty"
+   "step": "Stock Opening Balance"
   }
  ],
  "subtitle": "Inventory, Warehouses, Analysis, and more.",
diff --git a/erpnext/stock/onboarding_step/check_stock_ledger_report/check_stock_ledger_report.json b/erpnext/stock/onboarding_step/check_stock_ledger_report/check_stock_ledger_report.json
new file mode 100644
index 0000000..cdbc0b7
--- /dev/null
+++ b/erpnext/stock/onboarding_step/check_stock_ledger_report/check_stock_ledger_report.json
@@ -0,0 +1,24 @@
+{
+ "action": "View Report",
+ "action_label": "Check Stock Ledger",
+ "creation": "2023-05-29 13:46:04.174565",
+ "description": "# Check Stock Reports\nBased on the various stock transactions, you can get a host of one-click Stock Reports in ERPNext like Stock Ledger, Stock Balance, Projected Quantity, and Ageing analysis.",
+ "docstatus": 0,
+ "doctype": "Onboarding Step",
+ "idx": 0,
+ "is_complete": 0,
+ "is_single": 0,
+ "is_skipped": 0,
+ "modified": "2023-05-29 14:39:03.943244",
+ "modified_by": "Administrator",
+ "name": "Check Stock Ledger Report",
+ "owner": "Administrator",
+ "reference_report": "Stock Ledger",
+ "report_description": "Stock Ledger report contains every submitted stock transaction. You can use filter to narrow down ledger entries.",
+ "report_reference_doctype": "Stock Ledger Entry",
+ "report_type": "Script Report",
+ "show_form_tour": 0,
+ "show_full_form": 0,
+ "title": "Check Stock Ledger",
+ "validate_action": 1
+}
\ No newline at end of file
diff --git a/erpnext/stock/onboarding_step/create_a_stock_entry/create_a_stock_entry.json b/erpnext/stock/onboarding_step/create_a_stock_entry/create_a_stock_entry.json
index 3cb522c..dea2aae 100644
--- a/erpnext/stock/onboarding_step/create_a_stock_entry/create_a_stock_entry.json
+++ b/erpnext/stock/onboarding_step/create_a_stock_entry/create_a_stock_entry.json
@@ -9,7 +9,7 @@
  "is_complete": 0,
  "is_single": 0,
  "is_skipped": 0,
- "modified": "2021-06-18 13:57:11.434063",
+ "modified": "2023-05-29 14:39:04.066547",
  "modified_by": "Administrator",
  "name": "Create a Stock Entry",
  "owner": "Administrator",
diff --git a/erpnext/stock/onboarding_step/create_a_warehouse/create_a_warehouse.json b/erpnext/stock/onboarding_step/create_a_warehouse/create_a_warehouse.json
index 22c88bf..2592612 100644
--- a/erpnext/stock/onboarding_step/create_a_warehouse/create_a_warehouse.json
+++ b/erpnext/stock/onboarding_step/create_a_warehouse/create_a_warehouse.json
@@ -9,7 +9,7 @@
  "is_complete": 0,
  "is_single": 0,
  "is_skipped": 0,
- "modified": "2021-08-18 12:23:36.675572",
+ "modified": "2023-05-29 14:39:04.074907",
  "modified_by": "Administrator",
  "name": "Create a Warehouse",
  "owner": "Administrator",
diff --git a/erpnext/stock/onboarding_step/stock_opening_balance/stock_opening_balance.json b/erpnext/stock/onboarding_step/stock_opening_balance/stock_opening_balance.json
index 48fd1fd..18c9550 100644
--- a/erpnext/stock/onboarding_step/stock_opening_balance/stock_opening_balance.json
+++ b/erpnext/stock/onboarding_step/stock_opening_balance/stock_opening_balance.json
@@ -9,7 +9,7 @@
  "is_complete": 0,
  "is_single": 0,
  "is_skipped": 0,
- "modified": "2021-06-18 13:59:36.021097",
+ "modified": "2023-05-29 14:39:08.825699",
  "modified_by": "Administrator",
  "name": "Stock Opening Balance",
  "owner": "Administrator",
diff --git a/erpnext/stock/onboarding_step/stock_settings/stock_settings.json b/erpnext/stock/onboarding_step/stock_settings/stock_settings.json
index 2cf90e8..b48ac80 100644
--- a/erpnext/stock/onboarding_step/stock_settings/stock_settings.json
+++ b/erpnext/stock/onboarding_step/stock_settings/stock_settings.json
@@ -9,7 +9,7 @@
  "is_complete": 0,
  "is_single": 1,
  "is_skipped": 0,
- "modified": "2021-08-18 12:06:51.139387",
+ "modified": "2023-05-29 14:39:04.083360",
  "modified_by": "Administrator",
  "name": "Stock Settings",
  "owner": "Administrator",
diff --git a/erpnext/stock/report/stock_ageing/stock_ageing.py b/erpnext/stock/report/stock_ageing/stock_ageing.py
index 2fa97ae..d3f1f31 100644
--- a/erpnext/stock/report/stock_ageing/stock_ageing.py
+++ b/erpnext/stock/report/stock_ageing/stock_ageing.py
@@ -281,7 +281,7 @@
 			# consume transfer data and add stock to fifo queue
 			self.__adjust_incoming_transfer_qty(transfer_data, fifo_queue, row)
 		else:
-			if not serial_nos:
+			if not serial_nos and not row.get("has_serial_no"):
 				if fifo_queue and flt(fifo_queue[0][0]) <= 0:
 					# neutralize 0/negative stock by adding positive stock
 					fifo_queue[0][0] += flt(row.actual_qty)
diff --git a/erpnext/stock/report/stock_analytics/stock_analytics.py b/erpnext/stock/report/stock_analytics/stock_analytics.py
index 27b94ab..6c5b58c 100644
--- a/erpnext/stock/report/stock_analytics/stock_analytics.py
+++ b/erpnext/stock/report/stock_analytics/stock_analytics.py
@@ -5,15 +5,13 @@
 
 import frappe
 from frappe import _, scrub
+from frappe.query_builder.functions import CombineDatetime
 from frappe.utils import get_first_day as get_first_day_of_month
 from frappe.utils import get_first_day_of_week, get_quarter_start, getdate
+from frappe.utils.nestedset import get_descendants_of
 
 from erpnext.accounts.utils import get_fiscal_year
-from erpnext.stock.report.stock_balance.stock_balance import (
-	get_item_details,
-	get_items,
-	get_stock_ledger_entries,
-)
+from erpnext.stock.doctype.warehouse.warehouse import apply_warehouse_filter
 from erpnext.stock.utils import is_reposting_item_valuation_in_progress
 
 
@@ -231,7 +229,7 @@
 	data = []
 	items = get_items(filters)
 	sle = get_stock_ledger_entries(filters, items)
-	item_details = get_item_details(items, sle, filters)
+	item_details = get_item_details(items, sle)
 	periodic_data = get_periodic_data(sle, filters)
 	ranges = get_period_date_ranges(filters)
 
@@ -265,3 +263,109 @@
 	chart["type"] = "line"
 
 	return chart
+
+
+def get_items(filters):
+	"Get items based on item code, item group or brand."
+	if item_code := filters.get("item_code"):
+		return [item_code]
+	else:
+		item_filters = {}
+		if item_group := filters.get("item_group"):
+			children = get_descendants_of("Item Group", item_group, ignore_permissions=True)
+			item_filters["item_group"] = ("in", children + [item_group])
+		if brand := filters.get("brand"):
+			item_filters["brand"] = brand
+
+		return frappe.get_all("Item", filters=item_filters, pluck="name", order_by=None)
+
+
+def get_stock_ledger_entries(filters, items):
+	sle = frappe.qb.DocType("Stock Ledger Entry")
+
+	query = (
+		frappe.qb.from_(sle)
+		.select(
+			sle.item_code,
+			sle.warehouse,
+			sle.posting_date,
+			sle.actual_qty,
+			sle.valuation_rate,
+			sle.company,
+			sle.voucher_type,
+			sle.qty_after_transaction,
+			sle.stock_value_difference,
+			sle.item_code.as_("name"),
+			sle.voucher_no,
+			sle.stock_value,
+			sle.batch_no,
+		)
+		.where((sle.docstatus < 2) & (sle.is_cancelled == 0))
+		.orderby(CombineDatetime(sle.posting_date, sle.posting_time))
+		.orderby(sle.creation)
+		.orderby(sle.actual_qty)
+	)
+
+	if items:
+		query = query.where(sle.item_code.isin(items))
+
+	query = apply_conditions(query, filters)
+	return query.run(as_dict=True)
+
+
+def apply_conditions(query, filters):
+	sle = frappe.qb.DocType("Stock Ledger Entry")
+	warehouse_table = frappe.qb.DocType("Warehouse")
+
+	if not filters.get("from_date"):
+		frappe.throw(_("'From Date' is required"))
+
+	if to_date := filters.get("to_date"):
+		query = query.where(sle.posting_date <= to_date)
+	else:
+		frappe.throw(_("'To Date' is required"))
+
+	if company := filters.get("company"):
+		query = query.where(sle.company == company)
+
+	if filters.get("warehouse"):
+		query = apply_warehouse_filter(query, sle, filters)
+	elif warehouse_type := filters.get("warehouse_type"):
+		query = (
+			query.join(warehouse_table)
+			.on(warehouse_table.name == sle.warehouse)
+			.where(warehouse_table.warehouse_type == warehouse_type)
+		)
+
+	return query
+
+
+def get_item_details(items, sle):
+	item_details = {}
+	if not items:
+		items = list(set(d.item_code for d in sle))
+
+	if not items:
+		return item_details
+
+	item_table = frappe.qb.DocType("Item")
+
+	query = (
+		frappe.qb.from_(item_table)
+		.select(
+			item_table.name,
+			item_table.item_name,
+			item_table.description,
+			item_table.item_group,
+			item_table.brand,
+			item_table.stock_uom,
+		)
+		.where(item_table.name.isin(items))
+	)
+
+	result = query.run(as_dict=1)
+
+	for item_table in result:
+		item_details.setdefault(item_table.name, item_table)
+
+	return item_details
diff --git a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.js b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.js
index 7a170be..254f527 100644
--- a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.js
+++ b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.js
@@ -33,5 +33,43 @@
 			"fieldtype": "Date",
 			"default": frappe.datetime.get_today(),
 		},
-	]
+	],
+
+	get_datatable_options(options) {
+		return Object.assign(options, {
+			checkboxColumn: true,
+		});
+	},
+
+	onload(report) {
+		report.page.add_inner_button(__("Create Reposting Entries"), function() {
+			let message = `<div>
+				<p>
+					Reposting Entries will change the value of
+					accounts Stock In Hand, and Stock Expenses
+					in the Trial Balance report and will also change
+					the Balance Value in the Stock Balance report.
+				</p>
+				<p>Are you sure you want to create Reposting Entries?</p>
+				</div>
+			`;
+			let indexes = frappe.query_report.datatable.rowmanager.getCheckedRows();
+			let selected_rows = indexes.map(i => frappe.query_report.data[i]);
+
+			if (!selected_rows.length) {
+				frappe.throw(__("Please select rows to create Reposting Entries"));
+			}
+
+			frappe.confirm(__(message), () => {
+				frappe.call({
+					method: "erpnext.stock.report.stock_and_account_value_comparison.stock_and_account_value_comparison.create_reposting_entries",
+					args: {
+						rows: selected_rows,
+						company: frappe.query_report.get_filter_values().company
+					}
+				});
+
+			});
+		});
+	}
 };
diff --git a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py
index 106e877..b1da3ec 100644
--- a/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py
+++ b/erpnext/stock/report/stock_and_account_value_comparison/stock_and_account_value_comparison.py
@@ -4,6 +4,7 @@
 
 import frappe
 from frappe import _
+from frappe.utils import get_link_to_form, parse_json
 
 import erpnext
 from erpnext.accounts.utils import get_currency_precision, get_stock_accounts
@@ -134,3 +135,35 @@
 			"width": "120",
 		},
 	]
+
+
+@frappe.whitelist()
+def create_reposting_entries(rows, company):
+	if isinstance(rows, str):
+		rows = parse_json(rows)
+
+	entries = []
+	for row in rows:
+		row = frappe._dict(row)
+
+		try:
+			doc = frappe.get_doc(
+				{
+					"doctype": "Repost Item Valuation",
+					"based_on": "Transaction",
+					"status": "Queued",
+					"voucher_type": row.voucher_type,
+					"voucher_no": row.voucher_no,
+					"posting_date": row.posting_date,
+					"company": company,
+					"allow_nagative_stock": 1,
+				}
+			).submit()
+
+			entries.append(get_link_to_form("Repost Item Valuation", doc.name))
+		except frappe.DuplicateEntryError:
+			pass
+
+	if entries:
+		entries = ", ".join(entries)
+		frappe.msgprint(_(f"Reposting entries created: {entries}"))
diff --git a/erpnext/stock/report/stock_balance/stock_balance.js b/erpnext/stock/report/stock_balance/stock_balance.js
index 9b3965d..33ed955 100644
--- a/erpnext/stock/report/stock_balance/stock_balance.js
+++ b/erpnext/stock/report/stock_balance/stock_balance.js
@@ -87,6 +87,12 @@
 			"label": __('Show Stock Ageing Data'),
 			"fieldtype": 'Check'
 		},
+		{
+			"fieldname": 'ignore_closing_balance',
+			"label": __('Ignore Closing Balance'),
+			"fieldtype": 'Check',
+			"default": 1
+		},
 	],
 
 	"formatter": function (value, row, column, data, default_formatter) {
diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py
index 66991a9..f2c2e27 100644
--- a/erpnext/stock/report/stock_balance/stock_balance.py
+++ b/erpnext/stock/report/stock_balance/stock_balance.py
@@ -7,15 +7,16 @@
 
 import frappe
 from frappe import _
+from frappe.query_builder import Order
 from frappe.query_builder.functions import Coalesce, CombineDatetime
-from frappe.utils import cint, date_diff, flt, getdate
+from frappe.utils import add_days, cint, date_diff, flt, getdate
 from frappe.utils.nestedset import get_descendants_of
 
 import erpnext
 from erpnext.stock.doctype.inventory_dimension.inventory_dimension import get_inventory_dimensions
 from erpnext.stock.doctype.warehouse.warehouse import apply_warehouse_filter
 from erpnext.stock.report.stock_ageing.stock_ageing import FIFOSlots, get_average_age
-from erpnext.stock.utils import add_additional_uom_columns, is_reposting_item_valuation_in_progress
+from erpnext.stock.utils import add_additional_uom_columns
 
 
 class StockBalanceFilter(TypedDict):
@@ -35,400 +36,571 @@
 
 
 def execute(filters: Optional[StockBalanceFilter] = None):
-	is_reposting_item_valuation_in_progress()
-	if not filters:
-		filters = {}
+	return StockBalanceReport(filters).run()
 
-	if filters.get("company"):
-		company_currency = erpnext.get_company_currency(filters.get("company"))
-	else:
-		company_currency = frappe.db.get_single_value("Global Defaults", "default_currency")
 
-	include_uom = filters.get("include_uom")
-	columns = get_columns(filters)
-	items = get_items(filters)
-	sle = get_stock_ledger_entries(filters, items)
+class StockBalanceReport(object):
+	def __init__(self, filters: Optional[StockBalanceFilter]) -> None:
+		self.filters = filters
+		self.from_date = getdate(filters.get("from_date"))
+		self.to_date = getdate(filters.get("to_date"))
 
-	if filters.get("show_stock_ageing_data"):
-		filters["show_warehouse_wise_stock"] = True
-		item_wise_fifo_queue = FIFOSlots(filters, sle).generate()
+		self.start_from = None
+		self.data = []
+		self.columns = []
+		self.sle_entries: List[SLEntry] = []
+		self.set_company_currency()
 
-	# if no stock ledger entry found return
-	if not sle:
-		return columns, []
+	def set_company_currency(self) -> None:
+		if self.filters.get("company"):
+			self.company_currency = erpnext.get_company_currency(self.filters.get("company"))
+		else:
+			self.company_currency = frappe.db.get_single_value("Global Defaults", "default_currency")
 
-	iwb_map = get_item_warehouse_map(filters, sle)
-	item_map = get_item_details(items, sle, filters)
-	item_reorder_detail_map = get_item_reorder_details(item_map.keys())
+	def run(self):
+		self.float_precision = cint(frappe.db.get_default("float_precision")) or 3
 
-	data = []
-	conversion_factors = {}
+		self.inventory_dimensions = self.get_inventory_dimension_fields()
+		self.prepare_opening_data_from_closing_balance()
+		self.prepare_stock_ledger_entries()
+		self.prepare_new_data()
 
-	_func = itemgetter(1)
+		if not self.columns:
+			self.columns = self.get_columns()
 
-	to_date = filters.get("to_date")
+		self.add_additional_uom_columns()
 
-	for group_by_key in iwb_map:
-		item = group_by_key[1]
-		warehouse = group_by_key[2]
-		company = group_by_key[0]
+		return self.columns, self.data
 
-		if item_map.get(item):
-			qty_dict = iwb_map[group_by_key]
-			item_reorder_level = 0
-			item_reorder_qty = 0
-			if item + warehouse in item_reorder_detail_map:
-				item_reorder_level = item_reorder_detail_map[item + warehouse]["warehouse_reorder_level"]
-				item_reorder_qty = item_reorder_detail_map[item + warehouse]["warehouse_reorder_qty"]
+	def prepare_opening_data_from_closing_balance(self) -> None:
+		self.opening_data = frappe._dict({})
 
-			report_data = {
-				"currency": company_currency,
-				"item_code": item,
-				"warehouse": warehouse,
-				"company": company,
-				"reorder_level": item_reorder_level,
-				"reorder_qty": item_reorder_qty,
-			}
-			report_data.update(item_map[item])
-			report_data.update(qty_dict)
+		closing_balance = self.get_closing_balance()
+		if not closing_balance:
+			return
 
-			if include_uom:
-				conversion_factors.setdefault(item, item_map[item].conversion_factor)
+		self.start_from = add_days(closing_balance[0].to_date, 1)
+		res = frappe.get_doc("Closing Stock Balance", closing_balance[0].name).get_prepared_data()
 
-			if filters.get("show_stock_ageing_data"):
-				fifo_queue = item_wise_fifo_queue[(item, warehouse)].get("fifo_queue")
+		for entry in res.data:
+			entry = frappe._dict(entry)
+
+			group_by_key = self.get_group_by_key(entry)
+			if group_by_key not in self.opening_data:
+				self.opening_data.setdefault(group_by_key, entry)
+
+	def prepare_new_data(self):
+		if not self.sle_entries:
+			return
+
+		if self.filters.get("show_stock_ageing_data"):
+			self.filters["show_warehouse_wise_stock"] = True
+			item_wise_fifo_queue = FIFOSlots(self.filters, self.sle_entries).generate()
+
+		_func = itemgetter(1)
+
+		self.item_warehouse_map = self.get_item_warehouse_map()
+		sre_details = self.get_sre_reserved_qty_details()
+
+		variant_values = {}
+		if self.filters.get("show_variant_attributes"):
+			variant_values = self.get_variant_values_for()
+
+		for key, report_data in self.item_warehouse_map.items():
+			if variant_data := variant_values.get(report_data.item_code):
+				report_data.update(variant_data)
+
+			if self.filters.get("show_stock_ageing_data"):
+				opening_fifo_queue = self.get_opening_fifo_queue(report_data) or []
+
+				fifo_queue = []
+				if fifo_queue := item_wise_fifo_queue.get((report_data.item_code, report_data.warehouse)):
+					fifo_queue = fifo_queue.get("fifo_queue")
+
+				if fifo_queue:
+					opening_fifo_queue.extend(fifo_queue)
 
 				stock_ageing_data = {"average_age": 0, "earliest_age": 0, "latest_age": 0}
-				if fifo_queue:
-					fifo_queue = sorted(filter(_func, fifo_queue), key=_func)
+				if opening_fifo_queue:
+					fifo_queue = sorted(filter(_func, opening_fifo_queue), key=_func)
 					if not fifo_queue:
 						continue
 
+					to_date = self.to_date
 					stock_ageing_data["average_age"] = get_average_age(fifo_queue, to_date)
 					stock_ageing_data["earliest_age"] = date_diff(to_date, fifo_queue[0][1])
 					stock_ageing_data["latest_age"] = date_diff(to_date, fifo_queue[-1][1])
+					stock_ageing_data["fifo_queue"] = fifo_queue
 
 				report_data.update(stock_ageing_data)
 
-			data.append(report_data)
+			report_data.update(
+				{"reserved_stock": sre_details.get((report_data.item_code, report_data.warehouse), 0.0)}
+			)
+			self.data.append(report_data)
 
-	add_additional_uom_columns(columns, data, include_uom, conversion_factors)
-	return columns, data
+	def get_item_warehouse_map(self):
+		item_warehouse_map = {}
+		self.opening_vouchers = self.get_opening_vouchers()
 
+		for entry in self.sle_entries:
+			group_by_key = self.get_group_by_key(entry)
+			if group_by_key not in item_warehouse_map:
+				self.initialize_data(item_warehouse_map, group_by_key, entry)
 
-def get_columns(filters: StockBalanceFilter):
-	"""return columns"""
-	columns = [
-		{
-			"label": _("Item"),
-			"fieldname": "item_code",
-			"fieldtype": "Link",
-			"options": "Item",
-			"width": 100,
-		},
-		{"label": _("Item Name"), "fieldname": "item_name", "width": 150},
-		{
-			"label": _("Item Group"),
-			"fieldname": "item_group",
-			"fieldtype": "Link",
-			"options": "Item Group",
-			"width": 100,
-		},
-		{
-			"label": _("Warehouse"),
-			"fieldname": "warehouse",
-			"fieldtype": "Link",
-			"options": "Warehouse",
-			"width": 100,
-		},
-	]
+			self.prepare_item_warehouse_map(item_warehouse_map, entry, group_by_key)
 
-	for dimension in get_inventory_dimensions():
-		columns.append(
-			{
-				"label": _(dimension.doctype),
-				"fieldname": dimension.fieldname,
-				"fieldtype": "Link",
-				"options": dimension.doctype,
-				"width": 110,
-			}
+			if self.opening_data.get(group_by_key):
+				del self.opening_data[group_by_key]
+
+		for group_by_key, entry in self.opening_data.items():
+			if group_by_key not in item_warehouse_map:
+				self.initialize_data(item_warehouse_map, group_by_key, entry)
+
+		item_warehouse_map = filter_items_with_no_transactions(
+			item_warehouse_map, self.float_precision, self.inventory_dimensions
 		)
 
-	columns.extend(
-		[
-			{
-				"label": _("Stock UOM"),
-				"fieldname": "stock_uom",
-				"fieldtype": "Link",
-				"options": "UOM",
-				"width": 90,
-			},
-			{
-				"label": _("Balance Qty"),
-				"fieldname": "bal_qty",
-				"fieldtype": "Float",
-				"width": 100,
-				"convertible": "qty",
-			},
-			{
-				"label": _("Balance Value"),
-				"fieldname": "bal_val",
-				"fieldtype": "Currency",
-				"width": 100,
-				"options": "currency",
-			},
-			{
-				"label": _("Opening Qty"),
-				"fieldname": "opening_qty",
-				"fieldtype": "Float",
-				"width": 100,
-				"convertible": "qty",
-			},
-			{
-				"label": _("Opening Value"),
-				"fieldname": "opening_val",
-				"fieldtype": "Currency",
-				"width": 110,
-				"options": "currency",
-			},
-			{
-				"label": _("In Qty"),
-				"fieldname": "in_qty",
-				"fieldtype": "Float",
-				"width": 80,
-				"convertible": "qty",
-			},
-			{"label": _("In Value"), "fieldname": "in_val", "fieldtype": "Float", "width": 80},
-			{
-				"label": _("Out Qty"),
-				"fieldname": "out_qty",
-				"fieldtype": "Float",
-				"width": 80,
-				"convertible": "qty",
-			},
-			{"label": _("Out Value"), "fieldname": "out_val", "fieldtype": "Float", "width": 80},
-			{
-				"label": _("Valuation Rate"),
-				"fieldname": "val_rate",
-				"fieldtype": "Currency",
-				"width": 90,
-				"convertible": "rate",
-				"options": "currency",
-			},
-			{
-				"label": _("Reorder Level"),
-				"fieldname": "reorder_level",
-				"fieldtype": "Float",
-				"width": 80,
-				"convertible": "qty",
-			},
-			{
-				"label": _("Reorder Qty"),
-				"fieldname": "reorder_qty",
-				"fieldtype": "Float",
-				"width": 80,
-				"convertible": "qty",
-			},
-			{
-				"label": _("Company"),
-				"fieldname": "company",
-				"fieldtype": "Link",
-				"options": "Company",
-				"width": 100,
-			},
-		]
-	)
+		return item_warehouse_map
 
-	if filters.get("show_stock_ageing_data"):
-		columns += [
-			{"label": _("Average Age"), "fieldname": "average_age", "width": 100},
-			{"label": _("Earliest Age"), "fieldname": "earliest_age", "width": 100},
-			{"label": _("Latest Age"), "fieldname": "latest_age", "width": 100},
-		]
-
-	if filters.get("show_variant_attributes"):
-		columns += [
-			{"label": att_name, "fieldname": att_name, "width": 100}
-			for att_name in get_variants_attributes()
-		]
-
-	return columns
-
-
-def apply_conditions(query, filters):
-	sle = frappe.qb.DocType("Stock Ledger Entry")
-	warehouse_table = frappe.qb.DocType("Warehouse")
-
-	if not filters.get("from_date"):
-		frappe.throw(_("'From Date' is required"))
-
-	if to_date := filters.get("to_date"):
-		query = query.where(sle.posting_date <= to_date)
-	else:
-		frappe.throw(_("'To Date' is required"))
-
-	if company := filters.get("company"):
-		query = query.where(sle.company == company)
-
-	if filters.get("warehouse"):
-		query = apply_warehouse_filter(query, sle, filters)
-	elif warehouse_type := filters.get("warehouse_type"):
-		query = (
-			query.join(warehouse_table)
-			.on(warehouse_table.name == sle.warehouse)
-			.where(warehouse_table.warehouse_type == warehouse_type)
+	def get_sre_reserved_qty_details(self) -> dict:
+		from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+			get_sre_reserved_qty_details_for_item_and_warehouse as get_reserved_qty_details,
 		)
 
-	return query
+		item_code_list, warehouse_list = [], []
+		for d in self.item_warehouse_map:
+			item_code_list.append(d[1])
+			warehouse_list.append(d[2])
 
+		return get_reserved_qty_details(item_code_list, warehouse_list)
 
-def get_stock_ledger_entries(filters: StockBalanceFilter, items: List[str]) -> List[SLEntry]:
-	sle = frappe.qb.DocType("Stock Ledger Entry")
+	def prepare_item_warehouse_map(self, item_warehouse_map, entry, group_by_key):
+		qty_dict = item_warehouse_map[group_by_key]
+		for field in self.inventory_dimensions:
+			qty_dict[field] = entry.get(field)
 
-	query = (
-		frappe.qb.from_(sle)
-		.select(
-			sle.item_code,
-			sle.warehouse,
-			sle.posting_date,
-			sle.actual_qty,
-			sle.valuation_rate,
-			sle.company,
-			sle.voucher_type,
-			sle.qty_after_transaction,
-			sle.stock_value_difference,
-			sle.item_code.as_("name"),
-			sle.voucher_no,
-			sle.stock_value,
-			sle.batch_no,
-		)
-		.where((sle.docstatus < 2) & (sle.is_cancelled == 0))
-		.orderby(CombineDatetime(sle.posting_date, sle.posting_time))
-		.orderby(sle.creation)
-		.orderby(sle.actual_qty)
-	)
-
-	inventory_dimension_fields = get_inventory_dimension_fields()
-	if inventory_dimension_fields:
-		for fieldname in inventory_dimension_fields:
-			query = query.select(fieldname)
-			if fieldname in filters and filters.get(fieldname):
-				query = query.where(sle[fieldname].isin(filters.get(fieldname)))
-
-	if items:
-		query = query.where(sle.item_code.isin(items))
-
-	query = apply_conditions(query, filters)
-	return query.run(as_dict=True)
-
-
-def get_opening_vouchers(to_date):
-	opening_vouchers = {"Stock Entry": [], "Stock Reconciliation": []}
-
-	se = frappe.qb.DocType("Stock Entry")
-	sr = frappe.qb.DocType("Stock Reconciliation")
-
-	vouchers_data = (
-		frappe.qb.from_(
-			(
-				frappe.qb.from_(se)
-				.select(se.name, Coalesce("Stock Entry").as_("voucher_type"))
-				.where((se.docstatus == 1) & (se.posting_date <= to_date) & (se.is_opening == "Yes"))
-			)
-			+ (
-				frappe.qb.from_(sr)
-				.select(sr.name, Coalesce("Stock Reconciliation").as_("voucher_type"))
-				.where((sr.docstatus == 1) & (sr.posting_date <= to_date) & (sr.purpose == "Opening Stock"))
-			)
-		).select("voucher_type", "name")
-	).run(as_dict=True)
-
-	if vouchers_data:
-		for d in vouchers_data:
-			opening_vouchers[d.voucher_type].append(d.name)
-
-	return opening_vouchers
-
-
-def get_inventory_dimension_fields():
-	return [dimension.fieldname for dimension in get_inventory_dimensions()]
-
-
-def get_item_warehouse_map(filters: StockBalanceFilter, sle: List[SLEntry]):
-	iwb_map = {}
-	from_date = getdate(filters.get("from_date"))
-	to_date = getdate(filters.get("to_date"))
-	opening_vouchers = get_opening_vouchers(to_date)
-	float_precision = cint(frappe.db.get_default("float_precision")) or 3
-	inventory_dimensions = get_inventory_dimension_fields()
-
-	for d in sle:
-		group_by_key = get_group_by_key(d, filters, inventory_dimensions)
-		if group_by_key not in iwb_map:
-			iwb_map[group_by_key] = frappe._dict(
-				{
-					"opening_qty": 0.0,
-					"opening_val": 0.0,
-					"in_qty": 0.0,
-					"in_val": 0.0,
-					"out_qty": 0.0,
-					"out_val": 0.0,
-					"bal_qty": 0.0,
-					"bal_val": 0.0,
-					"val_rate": 0.0,
-				}
-			)
-
-		qty_dict = iwb_map[group_by_key]
-		for field in inventory_dimensions:
-			qty_dict[field] = d.get(field)
-
-		if d.voucher_type == "Stock Reconciliation" and not d.batch_no:
-			qty_diff = flt(d.qty_after_transaction) - flt(qty_dict.bal_qty)
+		if entry.voucher_type == "Stock Reconciliation" and (not entry.batch_no or entry.serial_no):
+			qty_diff = flt(entry.qty_after_transaction) - flt(qty_dict.bal_qty)
 		else:
-			qty_diff = flt(d.actual_qty)
+			qty_diff = flt(entry.actual_qty)
 
-		value_diff = flt(d.stock_value_difference)
+		value_diff = flt(entry.stock_value_difference)
 
-		if d.posting_date < from_date or d.voucher_no in opening_vouchers.get(d.voucher_type, []):
+		if entry.posting_date < self.from_date or entry.voucher_no in self.opening_vouchers.get(
+			entry.voucher_type, []
+		):
 			qty_dict.opening_qty += qty_diff
 			qty_dict.opening_val += value_diff
 
-		elif d.posting_date >= from_date and d.posting_date <= to_date:
-			if flt(qty_diff, float_precision) >= 0:
+		elif entry.posting_date >= self.from_date and entry.posting_date <= self.to_date:
+
+			if flt(qty_diff, self.float_precision) >= 0:
 				qty_dict.in_qty += qty_diff
 				qty_dict.in_val += value_diff
 			else:
 				qty_dict.out_qty += abs(qty_diff)
 				qty_dict.out_val += abs(value_diff)
 
-		qty_dict.val_rate = d.valuation_rate
+		qty_dict.val_rate = entry.valuation_rate
 		qty_dict.bal_qty += qty_diff
 		qty_dict.bal_val += value_diff
 
-	iwb_map = filter_items_with_no_transactions(iwb_map, float_precision, inventory_dimensions)
+	def initialize_data(self, item_warehouse_map, group_by_key, entry):
+		opening_data = self.opening_data.get(group_by_key, {})
 
-	return iwb_map
+		item_warehouse_map[group_by_key] = frappe._dict(
+			{
+				"item_code": entry.item_code,
+				"warehouse": entry.warehouse,
+				"item_group": entry.item_group,
+				"company": entry.company,
+				"currency": self.company_currency,
+				"stock_uom": entry.stock_uom,
+				"item_name": entry.item_name,
+				"opening_qty": opening_data.get("bal_qty") or 0.0,
+				"opening_val": opening_data.get("bal_val") or 0.0,
+				"opening_fifo_queue": opening_data.get("fifo_queue") or [],
+				"in_qty": 0.0,
+				"in_val": 0.0,
+				"out_qty": 0.0,
+				"out_val": 0.0,
+				"bal_qty": opening_data.get("bal_qty") or 0.0,
+				"bal_val": opening_data.get("bal_val") or 0.0,
+				"val_rate": 0.0,
+			}
+		)
+
+	def get_group_by_key(self, row) -> tuple:
+		group_by_key = [row.company, row.item_code, row.warehouse]
+
+		for fieldname in self.inventory_dimensions:
+			if self.filters.get(fieldname):
+				group_by_key.append(row.get(fieldname))
+
+		return tuple(group_by_key)
+
+	def get_closing_balance(self) -> List[Dict[str, Any]]:
+		if self.filters.get("ignore_closing_balance"):
+			return []
+
+		table = frappe.qb.DocType("Closing Stock Balance")
+
+		query = (
+			frappe.qb.from_(table)
+			.select(table.name, table.to_date)
+			.where(
+				(table.docstatus == 1)
+				& (table.company == self.filters.company)
+				& ((table.to_date <= self.from_date))
+			)
+			.orderby(table.to_date, order=Order.desc)
+			.limit(1)
+		)
+
+		for fieldname in ["warehouse", "item_code", "item_group", "warehouse_type"]:
+			if self.filters.get(fieldname):
+				query = query.where(table[fieldname] == self.filters.get(fieldname))
+
+		return query.run(as_dict=True)
+
+	def prepare_stock_ledger_entries(self):
+		sle = frappe.qb.DocType("Stock Ledger Entry")
+		item_table = frappe.qb.DocType("Item")
+
+		query = (
+			frappe.qb.from_(sle)
+			.inner_join(item_table)
+			.on(sle.item_code == item_table.name)
+			.select(
+				sle.item_code,
+				sle.warehouse,
+				sle.posting_date,
+				sle.actual_qty,
+				sle.valuation_rate,
+				sle.company,
+				sle.voucher_type,
+				sle.qty_after_transaction,
+				sle.stock_value_difference,
+				sle.item_code.as_("name"),
+				sle.voucher_no,
+				sle.stock_value,
+				sle.batch_no,
+				sle.serial_no,
+				item_table.item_group,
+				item_table.stock_uom,
+				item_table.item_name,
+			)
+			.where((sle.docstatus < 2) & (sle.is_cancelled == 0))
+			.orderby(CombineDatetime(sle.posting_date, sle.posting_time))
+			.orderby(sle.creation)
+			.orderby(sle.actual_qty)
+		)
+
+		query = self.apply_inventory_dimensions_filters(query, sle)
+		query = self.apply_warehouse_filters(query, sle)
+		query = self.apply_items_filters(query, item_table)
+		query = self.apply_date_filters(query, sle)
+
+		if self.filters.get("company"):
+			query = query.where(sle.company == self.filters.get("company"))
+
+		self.sle_entries = query.run(as_dict=True)
+
+	def apply_inventory_dimensions_filters(self, query, sle) -> str:
+		inventory_dimension_fields = self.get_inventory_dimension_fields()
+		if inventory_dimension_fields:
+			for fieldname in inventory_dimension_fields:
+				query = query.select(fieldname)
+				if self.filters.get(fieldname):
+					query = query.where(sle[fieldname].isin(self.filters.get(fieldname)))
+
+		return query
+
+	def apply_warehouse_filters(self, query, sle) -> str:
+		warehouse_table = frappe.qb.DocType("Warehouse")
+
+		if self.filters.get("warehouse"):
+			query = apply_warehouse_filter(query, sle, self.filters)
+		elif warehouse_type := self.filters.get("warehouse_type"):
+			query = (
+				query.join(warehouse_table)
+				.on(warehouse_table.name == sle.warehouse)
+				.where(warehouse_table.warehouse_type == warehouse_type)
+			)
+
+		return query
+
+	def apply_items_filters(self, query, item_table) -> str:
+		if item_group := self.filters.get("item_group"):
+			children = get_descendants_of("Item Group", item_group, ignore_permissions=True)
+			query = query.where(item_table.item_group.isin(children + [item_group]))
+
+		for field in ["item_code", "brand"]:
+			if not self.filters.get(field):
+				continue
+
+			query = query.where(item_table[field] == self.filters.get(field))
+
+		return query
+
+	def apply_date_filters(self, query, sle) -> str:
+		if not self.filters.ignore_closing_balance and self.start_from:
+			query = query.where(sle.posting_date >= self.start_from)
+
+		if self.to_date:
+			query = query.where(sle.posting_date <= self.to_date)
+
+		return query
+
+	def get_columns(self):
+		columns = [
+			{
+				"label": _("Item"),
+				"fieldname": "item_code",
+				"fieldtype": "Link",
+				"options": "Item",
+				"width": 100,
+			},
+			{"label": _("Item Name"), "fieldname": "item_name", "width": 150},
+			{
+				"label": _("Item Group"),
+				"fieldname": "item_group",
+				"fieldtype": "Link",
+				"options": "Item Group",
+				"width": 100,
+			},
+			{
+				"label": _("Warehouse"),
+				"fieldname": "warehouse",
+				"fieldtype": "Link",
+				"options": "Warehouse",
+				"width": 100,
+			},
+		]
+
+		for dimension in get_inventory_dimensions():
+			columns.append(
+				{
+					"label": _(dimension.doctype),
+					"fieldname": dimension.fieldname,
+					"fieldtype": "Link",
+					"options": dimension.doctype,
+					"width": 110,
+				}
+			)
+
+		columns.extend(
+			[
+				{
+					"label": _("Stock UOM"),
+					"fieldname": "stock_uom",
+					"fieldtype": "Link",
+					"options": "UOM",
+					"width": 90,
+				},
+				{
+					"label": _("Balance Qty"),
+					"fieldname": "bal_qty",
+					"fieldtype": "Float",
+					"width": 100,
+					"convertible": "qty",
+				},
+				{
+					"label": _("Balance Value"),
+					"fieldname": "bal_val",
+					"fieldtype": "Currency",
+					"width": 100,
+					"options": "currency",
+				},
+				{
+					"label": _("Opening Qty"),
+					"fieldname": "opening_qty",
+					"fieldtype": "Float",
+					"width": 100,
+					"convertible": "qty",
+				},
+				{
+					"label": _("Opening Value"),
+					"fieldname": "opening_val",
+					"fieldtype": "Currency",
+					"width": 110,
+					"options": "currency",
+				},
+				{
+					"label": _("In Qty"),
+					"fieldname": "in_qty",
+					"fieldtype": "Float",
+					"width": 80,
+					"convertible": "qty",
+				},
+				{"label": _("In Value"), "fieldname": "in_val", "fieldtype": "Float", "width": 80},
+				{
+					"label": _("Out Qty"),
+					"fieldname": "out_qty",
+					"fieldtype": "Float",
+					"width": 80,
+					"convertible": "qty",
+				},
+				{"label": _("Out Value"), "fieldname": "out_val", "fieldtype": "Float", "width": 80},
+				{
+					"label": _("Valuation Rate"),
+					"fieldname": "val_rate",
+					"fieldtype": "Currency",
+					"width": 90,
+					"convertible": "rate",
+					"options": "currency",
+				},
+				{
+					"label": _("Reserved Stock"),
+					"fieldname": "reserved_stock",
+					"fieldtype": "Float",
+					"width": 80,
+					"convertible": "qty",
+				},
+				{
+					"label": _("Company"),
+					"fieldname": "company",
+					"fieldtype": "Link",
+					"options": "Company",
+					"width": 100,
+				},
+			]
+		)
+
+		if self.filters.get("show_stock_ageing_data"):
+			columns += [
+				{"label": _("Average Age"), "fieldname": "average_age", "width": 100},
+				{"label": _("Earliest Age"), "fieldname": "earliest_age", "width": 100},
+				{"label": _("Latest Age"), "fieldname": "latest_age", "width": 100},
+			]
+
+		if self.filters.get("show_variant_attributes"):
+			columns += [
+				{"label": att_name, "fieldname": att_name, "width": 100}
+				for att_name in get_variants_attributes()
+			]
+
+		return columns
+
+	def add_additional_uom_columns(self):
+		if not self.filters.get("include_uom"):
+			return
+
+		conversion_factors = self.get_itemwise_conversion_factor()
+		add_additional_uom_columns(self.columns, self.data, self.filters.include_uom, conversion_factors)
+
+	def get_itemwise_conversion_factor(self):
+		items = []
+		if self.filters.item_code or self.filters.item_group:
+			items = [d.item_code for d in self.data]
+
+		table = frappe.qb.DocType("UOM Conversion Detail")
+		query = (
+			frappe.qb.from_(table)
+			.select(
+				table.conversion_factor,
+				table.parent,
+			)
+			.where((table.parenttype == "Item") & (table.uom == self.filters.include_uom))
+		)
+
+		if items:
+			query = query.where(table.parent.isin(items))
+
+		result = query.run(as_dict=1)
+		if not result:
+			return {}
+
+		return {d.parent: d.conversion_factor for d in result}
+
+	def get_variant_values_for(self):
+		"""Returns variant values for items."""
+		attribute_map = {}
+		items = []
+		if self.filters.item_code or self.filters.item_group:
+			items = [d.item_code for d in self.data]
+
+		filters = {}
+		if items:
+			filters = {"parent": ("in", items)}
+
+		attribute_info = frappe.get_all(
+			"Item Variant Attribute",
+			fields=["parent", "attribute", "attribute_value"],
+			filters=filters,
+		)
+
+		for attr in attribute_info:
+			attribute_map.setdefault(attr["parent"], {})
+			attribute_map[attr["parent"]].update({attr["attribute"]: attr["attribute_value"]})
+
+		return attribute_map
+
+	def get_opening_vouchers(self):
+		opening_vouchers = {"Stock Entry": [], "Stock Reconciliation": []}
+
+		se = frappe.qb.DocType("Stock Entry")
+		sr = frappe.qb.DocType("Stock Reconciliation")
+
+		vouchers_data = (
+			frappe.qb.from_(
+				(
+					frappe.qb.from_(se)
+					.select(se.name, Coalesce("Stock Entry").as_("voucher_type"))
+					.where((se.docstatus == 1) & (se.posting_date <= self.to_date) & (se.is_opening == "Yes"))
+				)
+				+ (
+					frappe.qb.from_(sr)
+					.select(sr.name, Coalesce("Stock Reconciliation").as_("voucher_type"))
+					.where(
+						(sr.docstatus == 1) & (sr.posting_date <= self.to_date) & (sr.purpose == "Opening Stock")
+					)
+				)
+			).select("voucher_type", "name")
+		).run(as_dict=True)
+
+		if vouchers_data:
+			for d in vouchers_data:
+				opening_vouchers[d.voucher_type].append(d.name)
+
+		return opening_vouchers
+
+	@staticmethod
+	def get_inventory_dimension_fields():
+		return [dimension.fieldname for dimension in get_inventory_dimensions()]
+
+	@staticmethod
+	def get_opening_fifo_queue(report_data):
+		opening_fifo_queue = report_data.get("opening_fifo_queue") or []
+		for row in opening_fifo_queue:
+			row[1] = getdate(row[1])
+
+		return opening_fifo_queue
 
 
-def get_group_by_key(row, filters, inventory_dimension_fields) -> tuple:
-	group_by_key = [row.company, row.item_code, row.warehouse]
-
-	for fieldname in inventory_dimension_fields:
-		if filters.get(fieldname):
-			group_by_key.append(row.get(fieldname))
-
-	return tuple(group_by_key)
-
-
-def filter_items_with_no_transactions(iwb_map, float_precision: float, inventory_dimensions: list):
+def filter_items_with_no_transactions(
+	iwb_map, float_precision: float, inventory_dimensions: list = None
+):
 	pop_keys = []
 	for group_by_key in iwb_map:
 		qty_dict = iwb_map[group_by_key]
 
 		no_transactions = True
 		for key, val in qty_dict.items():
-			if key in inventory_dimensions:
+			if inventory_dimensions and key in inventory_dimensions:
+				continue
+
+			if key in [
+				"item_code",
+				"warehouse",
+				"item_name",
+				"item_group",
+				"project",
+				"stock_uom",
+				"company",
+				"opening_fifo_queue",
+			]:
 				continue
 
 			val = flt(val, float_precision)
@@ -445,96 +617,6 @@
 	return iwb_map
 
 
-def get_items(filters: StockBalanceFilter) -> List[str]:
-	"Get items based on item code, item group or brand."
-	if item_code := filters.get("item_code"):
-		return [item_code]
-	else:
-		item_filters = {}
-		if item_group := filters.get("item_group"):
-			children = get_descendants_of("Item Group", item_group, ignore_permissions=True)
-			item_filters["item_group"] = ("in", children + [item_group])
-		if brand := filters.get("brand"):
-			item_filters["brand"] = brand
-
-		return frappe.get_all("Item", filters=item_filters, pluck="name", order_by=None)
-
-
-def get_item_details(items: List[str], sle: List[SLEntry], filters: StockBalanceFilter):
-	item_details = {}
-	if not items:
-		items = list(set(d.item_code for d in sle))
-
-	if not items:
-		return item_details
-
-	item_table = frappe.qb.DocType("Item")
-
-	query = (
-		frappe.qb.from_(item_table)
-		.select(
-			item_table.name,
-			item_table.item_name,
-			item_table.description,
-			item_table.item_group,
-			item_table.brand,
-			item_table.stock_uom,
-		)
-		.where(item_table.name.isin(items))
-	)
-
-	if uom := filters.get("include_uom"):
-		uom_conv_detail = frappe.qb.DocType("UOM Conversion Detail")
-		query = (
-			query.left_join(uom_conv_detail)
-			.on((uom_conv_detail.parent == item_table.name) & (uom_conv_detail.uom == uom))
-			.select(uom_conv_detail.conversion_factor)
-		)
-
-	result = query.run(as_dict=1)
-
-	for item_table in result:
-		item_details.setdefault(item_table.name, item_table)
-
-	if filters.get("show_variant_attributes"):
-		variant_values = get_variant_values_for(list(item_details))
-		item_details = {k: v.update(variant_values.get(k, {})) for k, v in item_details.items()}
-
-	return item_details
-
-
-def get_item_reorder_details(items):
-	item_reorder_details = frappe._dict()
-
-	if items:
-		item_reorder_details = frappe.get_all(
-			"Item Reorder",
-			["parent", "warehouse", "warehouse_reorder_qty", "warehouse_reorder_level"],
-			filters={"parent": ("in", items)},
-		)
-
-	return dict((d.parent + d.warehouse, d) for d in item_reorder_details)
-
-
 def get_variants_attributes() -> List[str]:
 	"""Return all item variant attributes."""
 	return frappe.get_all("Item Attribute", pluck="name")
-
-
-def get_variant_values_for(items):
-	"""Returns variant values for items."""
-	attribute_map = {}
-
-	attribute_info = frappe.get_all(
-		"Item Variant Attribute",
-		["parent", "attribute", "attribute_value"],
-		{
-			"parent": ("in", items),
-		},
-	)
-
-	for attr in attribute_info:
-		attribute_map.setdefault(attr["parent"], {})
-		attribute_map[attr["parent"]].update({attr["attribute"]: attr["attribute_value"]})
-
-	return attribute_map
diff --git a/erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py b/erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py
index abbb33b..5dbdcef 100644
--- a/erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py
+++ b/erpnext/stock/report/warehouse_wise_item_balance_age_and_value/warehouse_wise_item_balance_age_and_value.py
@@ -8,15 +8,15 @@
 import frappe
 from frappe import _
 from frappe.query_builder.functions import Count
-from frappe.utils import flt
+from frappe.utils import cint, flt, getdate
 
 from erpnext.stock.report.stock_ageing.stock_ageing import FIFOSlots, get_average_age
-from erpnext.stock.report.stock_balance.stock_balance import (
+from erpnext.stock.report.stock_analytics.stock_analytics import (
 	get_item_details,
-	get_item_warehouse_map,
 	get_items,
 	get_stock_ledger_entries,
 )
+from erpnext.stock.report.stock_balance.stock_balance import filter_items_with_no_transactions
 from erpnext.stock.utils import is_reposting_item_valuation_in_progress
 
 
@@ -32,7 +32,7 @@
 	items = get_items(filters)
 	sle = get_stock_ledger_entries(filters, items)
 
-	item_map = get_item_details(items, sle, filters)
+	item_map = get_item_details(items, sle)
 	iwb_map = get_item_warehouse_map(filters, sle)
 	warehouse_list = get_warehouse_list(filters)
 	item_ageing = FIFOSlots(filters).generate()
@@ -128,3 +128,59 @@
 
 	for wh in warehouse_list:
 		columns += [_(wh.name) + ":Int:100"]
+
+
+def get_item_warehouse_map(filters, sle):
+	iwb_map = {}
+	from_date = getdate(filters.get("from_date"))
+	to_date = getdate(filters.get("to_date"))
+	float_precision = cint(frappe.db.get_default("float_precision")) or 3
+
+	for d in sle:
+		group_by_key = get_group_by_key(d)
+		if group_by_key not in iwb_map:
+			iwb_map[group_by_key] = frappe._dict(
+				{
+					"opening_qty": 0.0,
+					"opening_val": 0.0,
+					"in_qty": 0.0,
+					"in_val": 0.0,
+					"out_qty": 0.0,
+					"out_val": 0.0,
+					"bal_qty": 0.0,
+					"bal_val": 0.0,
+					"val_rate": 0.0,
+				}
+			)
+
+		qty_dict = iwb_map[group_by_key]
+		if d.voucher_type == "Stock Reconciliation" and not d.batch_no:
+			qty_diff = flt(d.qty_after_transaction) - flt(qty_dict.bal_qty)
+		else:
+			qty_diff = flt(d.actual_qty)
+
+		value_diff = flt(d.stock_value_difference)
+
+		if d.posting_date < from_date:
+			qty_dict.opening_qty += qty_diff
+			qty_dict.opening_val += value_diff
+
+		elif d.posting_date >= from_date and d.posting_date <= to_date:
+			if flt(qty_diff, float_precision) >= 0:
+				qty_dict.in_qty += qty_diff
+				qty_dict.in_val += value_diff
+			else:
+				qty_dict.out_qty += abs(qty_diff)
+				qty_dict.out_val += abs(value_diff)
+
+		qty_dict.val_rate = d.valuation_rate
+		qty_dict.bal_qty += qty_diff
+		qty_dict.bal_val += value_diff
+
+	iwb_map = filter_items_with_no_transactions(iwb_map, float_precision)
+
+	return iwb_map
+
+
+def get_group_by_key(row) -> tuple:
+	return (row.company, row.item_code, row.warehouse)
diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py
index 6106809..711694b 100644
--- a/erpnext/stock/stock_ledger.py
+++ b/erpnext/stock/stock_ledger.py
@@ -13,6 +13,9 @@
 
 import erpnext
 from erpnext.stock.doctype.bin.bin import update_qty as update_bin_qty
+from erpnext.stock.doctype.stock_reservation_entry.stock_reservation_entry import (
+	get_sre_reserved_qty_for_item_and_warehouse as get_reserved_stock,
+)
 from erpnext.stock.utils import (
 	get_incoming_outgoing_rate_for_cancel,
 	get_or_make_bin,
@@ -380,6 +383,7 @@
 		self.new_items_found = False
 		self.distinct_item_warehouses = args.get("distinct_item_warehouses", frappe._dict())
 		self.affected_transactions: Set[Tuple[str, str]] = set()
+		self.reserved_stock = get_reserved_stock(self.args.item_code, self.args.warehouse)
 
 		self.data = frappe._dict()
 		self.initialize_previous_data(self.args)
@@ -443,12 +447,11 @@
 				i += 1
 
 				self.process_sle(sle)
+				self.update_bin_data(sle)
 
 				if sle.dependant_sle_voucher_detail_no:
 					entries_to_fix = self.get_dependent_entries_to_fix(entries_to_fix, sle)
 
-			self.update_bin()
-
 		if self.exceptions:
 			self.raise_exceptions()
 
@@ -628,7 +631,7 @@
 		validate negative stock for entries current datetime onwards
 		will not consider cancelled entries
 		"""
-		diff = self.wh_data.qty_after_transaction + flt(sle.actual_qty)
+		diff = self.wh_data.qty_after_transaction + flt(sle.actual_qty) - flt(self.reserved_stock)
 		diff = flt(diff, self.flt_precision)  # respect system precision
 
 		if diff < 0 and abs(diff) > 0.0001:
@@ -1039,7 +1042,7 @@
 			) in frappe.local.flags.currently_saving:
 
 				msg = _("{0} units of {1} needed in {2} to complete this transaction.").format(
-					abs(deficiency),
+					frappe.bold(abs(deficiency)),
 					frappe.get_desk_link("Item", exceptions[0]["item_code"]),
 					frappe.get_desk_link("Warehouse", warehouse),
 				)
@@ -1047,7 +1050,7 @@
 				msg = _(
 					"{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction."
 				).format(
-					abs(deficiency),
+					frappe.bold(abs(deficiency)),
 					frappe.get_desk_link("Item", exceptions[0]["item_code"]),
 					frappe.get_desk_link("Warehouse", warehouse),
 					exceptions[0]["posting_date"],
@@ -1056,6 +1059,12 @@
 				)
 
 			if msg:
+				if self.reserved_stock:
+					allowed_qty = abs(exceptions[0]["actual_qty"]) - abs(exceptions[0]["diff"])
+					msg = "{0} As {1} units are reserved, you are allowed to consume only {2} units.".format(
+						msg, frappe.bold(self.reserved_stock), frappe.bold(allowed_qty)
+					)
+
 				msg_list.append(msg)
 
 		if msg_list:
@@ -1065,6 +1074,18 @@
 			else:
 				raise NegativeStockError(message)
 
+	def update_bin_data(self, sle):
+		bin_name = get_or_make_bin(sle.item_code, sle.warehouse)
+		values_to_update = {
+			"actual_qty": sle.qty_after_transaction,
+			"stock_value": sle.stock_value,
+		}
+
+		if sle.valuation_rate is not None:
+			values_to_update["valuation_rate"] = sle.valuation_rate
+
+		frappe.db.set_value("Bin", bin_name, values_to_update)
+
 	def update_bin(self):
 		# update bin for each warehouse
 		for warehouse, data in self.data.items():
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index fb52697..ba36983 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -220,7 +220,7 @@
 
 
 def get_or_make_bin(item_code: str, warehouse: str) -> str:
-	bin_record = frappe.db.get_value("Bin", {"item_code": item_code, "warehouse": warehouse})
+	bin_record = frappe.get_cached_value("Bin", {"item_code": item_code, "warehouse": warehouse})
 
 	if not bin_record:
 		bin_obj = _create_bin(item_code, warehouse)
@@ -256,8 +256,6 @@
 	if isinstance(args, str):
 		args = json.loads(args)
 
-	voucher_no = args.get("voucher_no") or args.get("name")
-
 	in_rate = None
 	if (args.get("serial_no") or "").strip():
 		in_rate = get_avg_purchase_rate(args.get("serial_no"))
@@ -280,12 +278,13 @@
 				in_rate = (
 					_get_fifo_lifo_rate(previous_stock_queue, args.get("qty") or 0, valuation_method)
 					if previous_stock_queue
-					else 0
+					else None
 				)
 		elif valuation_method == "Moving Average":
-			in_rate = previous_sle.get("valuation_rate") or 0
+			in_rate = previous_sle.get("valuation_rate")
 
 	if in_rate is None:
+		voucher_no = args.get("voucher_no") or args.get("name")
 		in_rate = get_valuation_rate(
 			args.get("item_code"),
 			args.get("warehouse"),
diff --git a/erpnext/stock/workspace/stock/stock.json b/erpnext/stock/workspace/stock/stock.json
index de5e6de..502afde 100644
--- a/erpnext/stock/workspace/stock/stock.json
+++ b/erpnext/stock/workspace/stock/stock.json
@@ -7,12 +7,14 @@
  ],
  "content": "[{\"type\":\"onboarding\",\"data\":{\"onboarding_name\":\"Stock\",\"col\":12}},{\"type\":\"chart\",\"data\":{\"chart_name\":\"Warehouse wise Stock Value\",\"col\":12}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Quick Access</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Item\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Material Request\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Stock Entry\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Purchase Receipt\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Delivery Note\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Stock Ledger\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Stock Balance\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Dashboard\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Masters &amp; Reports</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Items and Pricing\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Stock Transactions\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Stock Reports\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Serial No and Batch\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Tools\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Key Reports\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Other Reports\",\"col\":4}}]",
  "creation": "2020-03-02 15:43:10.096528",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "stock",
  "idx": 0,
+ "is_hidden": 0,
  "label": "Stock",
  "links": [
   {
@@ -717,17 +719,18 @@
    "type": "Link"
   }
  ],
- "modified": "2022-12-06 17:03:56.397272",
+ "modified": "2023-05-24 14:47:21.707580",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Stock",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
  "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 24.0,
+ "sequence_id": 7.0,
  "shortcuts": [
   {
    "color": "Green",
diff --git a/erpnext/support/workspace/support/support.json b/erpnext/support/workspace/support/support.json
index 8ca3a67..1aaf2de 100644
--- a/erpnext/support/workspace/support/support.json
+++ b/erpnext/support/workspace/support/support.json
@@ -1,13 +1,15 @@
 {
  "charts": [],
- "content": "[{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Issue\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Maintenance Visit\",\"col\":3}},{\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Service Level Agreement\",\"col\":3}},{\"type\":\"spacer\",\"data\":{\"col\":12}},{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports & Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Issues\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Maintenance\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Service Level Agreement\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Warranty\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}}]",
+ "content": "[{\"id\":\"qzP2mZrGOu\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Your Shortcuts</b></span>\",\"col\":12}},{\"id\":\"Fkdjo6bJ7A\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Issue\",\"col\":3}},{\"id\":\"OTS8kx2f3x\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Maintenance Visit\",\"col\":3}},{\"id\":\"smDTSjBR3Z\",\"type\":\"shortcut\",\"data\":{\"shortcut_name\":\"Service Level Agreement\",\"col\":3}},{\"id\":\"WCqL_gBYGU\",\"type\":\"spacer\",\"data\":{\"col\":12}},{\"id\":\"oxhWhXp9b2\",\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports &amp; Masters</b></span>\",\"col\":12}},{\"id\":\"Ff8Ab3nLLN\",\"type\":\"card\",\"data\":{\"card_name\":\"Issues\",\"col\":4}},{\"id\":\"_lndiuJTVP\",\"type\":\"card\",\"data\":{\"card_name\":\"Maintenance\",\"col\":4}},{\"id\":\"R_aNO5ESzJ\",\"type\":\"card\",\"data\":{\"card_name\":\"Service Level Agreement\",\"col\":4}},{\"id\":\"N8aA2afWfi\",\"type\":\"card\",\"data\":{\"card_name\":\"Warranty\",\"col\":4}},{\"id\":\"M5fxGuFwUR\",\"type\":\"card\",\"data\":{\"card_name\":\"Settings\",\"col\":4}},{\"id\":\"xKH0kO9q4P\",\"type\":\"card\",\"data\":{\"card_name\":\"Reports\",\"col\":4}}]",
  "creation": "2020-03-02 15:48:23.224699",
+ "custom_blocks": [],
  "docstatus": 0,
  "doctype": "Workspace",
  "for_user": "",
  "hide_custom": 0,
  "icon": "support",
  "idx": 0,
+ "is_hidden": 0,
  "label": "Support",
  "links": [
   {
@@ -169,16 +171,18 @@
    "type": "Link"
   }
  ],
- "modified": "2022-01-13 17:48:27.247406",
+ "modified": "2023-05-24 14:47:23.408966",
  "modified_by": "Administrator",
  "module": "Support",
  "name": "Support",
+ "number_cards": [],
  "owner": "Administrator",
  "parent_page": "",
  "public": 1,
+ "quick_lists": [],
  "restrict_to_domain": "",
  "roles": [],
- "sequence_id": 25.0,
+ "sequence_id": 12.0,
  "shortcuts": [
   {
    "color": "Yellow",
diff --git a/erpnext/translations/af.csv b/erpnext/translations/af.csv
index f2458e3..bbfcd23 100644
--- a/erpnext/translations/af.csv
+++ b/erpnext/translations/af.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projek sal op hierdie webwerf toeganklik wees,
 Copied From,Gekopieer vanaf,
 Start and End Dates,Begin en einddatums,
-Actual Time (in Hours),Werklike tyd (in ure),
+Actual Time in Hours (via Timesheet),Werklike tyd (in ure),
 Costing and Billing,Koste en faktuur,
-Total Costing Amount (via Timesheets),Totale kosteberekening (via tydskrifte),
-Total Expense Claim (via Expense Claims),Totale koste-eis (via koste-eise),
+Total Costing Amount (via Timesheet),Totale kosteberekening (via tydskrifte),
+Total Expense Claim (via Expense Claim),Totale koste-eis (via koste-eise),
 Total Purchase Cost (via Purchase Invoice),Totale Aankoopprys (via Aankoopfaktuur),
 Total Sales Amount (via Sales Order),Totale verkoopsbedrag (via verkoopsbestelling),
-Total Billable Amount (via Timesheets),Totale Rekeninge Bedrag (via Tydstate),
-Total Billed Amount (via Sales Invoices),Totale gefaktureerde bedrag (via verkoopsfakture),
-Total Consumed Material Cost  (via Stock Entry),Totale verbruikte materiaalkoste (via voorraadinskrywing),
+Total Billable Amount (via Timesheet),Totale Rekeninge Bedrag (via Tydstate),
+Total Billed Amount (via Sales Invoice),Totale gefaktureerde bedrag (via verkoopsfakture),
+Total Consumed Material Cost (via Stock Entry),Totale verbruikte materiaalkoste (via voorraadinskrywing),
 Gross Margin,Bruto Marge,
 Gross Margin %,Bruto Marge%,
 Monitor Progress,Monitor vordering,
@@ -7521,12 +7521,10 @@
 Dependencies,afhanklikhede,
 Dependent Tasks,Afhanklike take,
 Depends on Tasks,Hang af van take,
-Actual Start Date (via Time Sheet),Werklike Aanvangsdatum (via Tydblad),
-Actual Time (in hours),Werklike tyd (in ure),
-Actual End Date (via Time Sheet),Werklike Einddatum (via Tydblad),
-Total Costing Amount (via Time Sheet),Totale kosteberekening (via tydblad),
+Actual Start Date (via Timesheet),Werklike Aanvangsdatum (via Tydblad),
+Actual Time in Hours (via Timesheet),Werklike tyd (in ure),
+Actual End Date (via Timesheet),Werklike Einddatum (via Tydblad),
 Total Expense Claim (via Expense Claim),Totale koste-eis (via koste-eis),
-Total Billing Amount (via Time Sheet),Totale faktuurbedrag (via tydblad),
 Review Date,Hersieningsdatum,
 Closing Date,Sluitingsdatum,
 Task Depends On,Taak hang af,
diff --git a/erpnext/translations/am.csv b/erpnext/translations/am.csv
index d4db285..a57f0aa 100644
--- a/erpnext/translations/am.csv
+++ b/erpnext/translations/am.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,ፕሮጀክት በእነዚህ ተጠቃሚዎች ወደ ድረ ገጽ ላይ ተደራሽ ይሆናል,
 Copied From,ከ ተገልብጧል,
 Start and End Dates,ይጀምሩ እና ቀኖች የማይኖርበት,
-Actual Time (in Hours),ትክክለኛው ጊዜ (በሰዓታት ውስጥ),
+Actual Time in Hours (via Timesheet),ትክክለኛው ጊዜ (በሰዓታት ውስጥ),
 Costing and Billing,ዋጋና አከፋፈል,
-Total Costing Amount (via Timesheets),ጠቅላላ ወለድ ሂሳብ (በዳገርስ ወረቀቶች በኩል),
-Total Expense Claim (via Expense Claims),ጠቅላላ የወጪ የይገባኛል ጥያቄ (የወጪ የይገባኛል በኩል),
+Total Costing Amount (via Timesheet),ጠቅላላ ወለድ ሂሳብ (በዳገርስ ወረቀቶች በኩል),
+Total Expense Claim (via Expense Claim),ጠቅላላ የወጪ የይገባኛል ጥያቄ (የወጪ የይገባኛል በኩል),
 Total Purchase Cost (via Purchase Invoice),ጠቅላላ የግዢ ዋጋ (የግዢ ደረሰኝ በኩል),
 Total Sales Amount (via Sales Order),ጠቅላላ የሽያጭ መጠን (በሽያጭ ትእዛዝ),
-Total Billable Amount (via Timesheets),ጠቅላላ የክፍያ መጠን (በዳበጣ ሉሆች በኩል),
-Total Billed Amount (via Sales Invoices),አጠቃላይ የተጠየቀው መጠን (በሽያጭ ደረሰኞች በኩል),
-Total Consumed Material Cost  (via Stock Entry),ጠቅላላ የዋጋ ቁሳቁስ ወጪ (በቅጥፈት መግቢያ በኩል),
+Total Billable Amount (via Timesheet),ጠቅላላ የክፍያ መጠን (በዳበጣ ሉሆች በኩል),
+Total Billed Amount (via Sales Invoice),አጠቃላይ የተጠየቀው መጠን (በሽያጭ ደረሰኞች በኩል),
+Total Consumed Material Cost (via Stock Entry),ጠቅላላ የዋጋ ቁሳቁስ ወጪ (በቅጥፈት መግቢያ በኩል),
 Gross Margin,ግዙፍ ኅዳግ,
 Gross Margin %,ግዙፍ ኅዳግ %,
 Monitor Progress,የክትትል ሂደት,
@@ -7521,12 +7521,10 @@
 Dependencies,ጥገኛ።,
 Dependent Tasks,ጥገኛ ተግባራት,
 Depends on Tasks,ተግባራት ላይ ይመረኮዛል,
-Actual Start Date (via Time Sheet),ትክክለኛው የማስጀመሪያ ቀን (ሰዓት ሉህ በኩል),
-Actual Time (in hours),(ሰዓቶች ውስጥ) ትክክለኛ ሰዓት,
-Actual End Date (via Time Sheet),ትክክለኛው መጨረሻ ቀን (ሰዓት ሉህ በኩል),
-Total Costing Amount (via Time Sheet),(ጊዜ ሉህ በኩል) ጠቅላላ ዋጋና መጠን,
+Actual Start Date (via Timesheet),ትክክለኛው የማስጀመሪያ ቀን (ሰዓት ሉህ በኩል),
+Actual Time in Hours (via Timesheet),(ሰዓቶች ውስጥ) ትክክለኛ ሰዓት,
+Actual End Date (via Timesheet),ትክክለኛው መጨረሻ ቀን (ሰዓት ሉህ በኩል),
 Total Expense Claim (via Expense Claim),(የወጪ የይገባኛል በኩል) ጠቅላላ የወጪ የይገባኛል ጥያቄ,
-Total Billing Amount (via Time Sheet),ጠቅላላ የሂሳብ አከፋፈል መጠን (ጊዜ ሉህ በኩል),
 Review Date,ግምገማ ቀን,
 Closing Date,መዝጊያ ቀን,
 Task Depends On,ተግባር ላይ ይመረኮዛል,
diff --git a/erpnext/translations/ar.csv b/erpnext/translations/ar.csv
index ea2777f..3cbaba9 100644
--- a/erpnext/translations/ar.csv
+++ b/erpnext/translations/ar.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,والمشروع أن تكون متاحة على الموقع الإلكتروني لهؤلاء المستخدمين,
 Copied From,تم نسخها من,
 Start and End Dates,تواريخ البدء والانتهاء,
-Actual Time (in Hours),الوقت الفعلي (بالساعات),
+Actual Time in Hours (via Timesheet),الوقت الفعلي (بالساعات),
 Costing and Billing,التكلفة و الفواتير,
-Total Costing Amount (via Timesheets),إجمالي مبلغ التكلفة (عبر الجداول الزمنية),
-Total Expense Claim (via Expense Claims),مجموع المطالبة المصاريف (عبر مطالبات النفقات),
+Total Costing Amount (via Timesheet),إجمالي مبلغ التكلفة (عبر الجداول الزمنية),
+Total Expense Claim (via Expense Claim),مجموع المطالبة المصاريف (عبر مطالبات النفقات),
 Total Purchase Cost (via Purchase Invoice),مجموع تكلفة الشراء (عن طريق شراء الفاتورة),
 Total Sales Amount (via Sales Order),إجمالي مبلغ المبيعات (عبر أمر المبيعات),
-Total Billable Amount (via Timesheets),إجمالي المبلغ القابل للفوترة (عبر الجداول الزمنية),
-Total Billed Amount (via Sales Invoices),إجمالي مبلغ الفاتورة (عبر فواتير المبيعات),
-Total Consumed Material Cost  (via Stock Entry),إجمالي تكلفة المواد المستهلكة (عبر إدخال المخزون),
+Total Billable Amount (via Timesheet),إجمالي المبلغ القابل للفوترة (عبر الجداول الزمنية),
+Total Billed Amount (via Sales Invoice),إجمالي مبلغ الفاتورة (عبر فواتير المبيعات),
+Total Consumed Material Cost (via Stock Entry),إجمالي تكلفة المواد المستهلكة (عبر إدخال المخزون),
 Gross Margin,هامش الربح الإجمالي,
 Gross Margin %,هامش إجمالي٪,
 Monitor Progress,التقدم المرئى,
@@ -7521,12 +7521,10 @@
 Dependencies,تبعيات,
 Dependent Tasks,المهام التابعة,
 Depends on Tasks,تعتمد على المهام,
-Actual Start Date (via Time Sheet),تاريخ البدء الفعلي (عبر ورقة الوقت),
-Actual Time (in hours),الوقت الفعلي (بالساعات),
-Actual End Date (via Time Sheet),تاريخ الإنتهاء الفعلي (عبر ورقة الوقت),
-Total Costing Amount (via Time Sheet),إجمالي حساب التكاليف المبلغ (عبر ورقة الوقت),
+Actual Start Date (via Timesheet),تاريخ البدء الفعلي (عبر ورقة الوقت),
+Actual Time in Hours (via Timesheet),الوقت الفعلي (بالساعات),
+Actual End Date (via Timesheet),تاريخ الإنتهاء الفعلي (عبر ورقة الوقت),
 Total Expense Claim (via Expense Claim),مجموع المطالبة المصاريف (عبر مطالبات مصاريف),
-Total Billing Amount (via Time Sheet),المبلغ الكلي الفواتير (عبر ورقة الوقت),
 Review Date,مراجعة تاريخ,
 Closing Date,تاريخ الاغلاق,
 Task Depends On,المهمة تعتمد على,
diff --git a/erpnext/translations/bg.csv b/erpnext/translations/bg.csv
index 6839129..964a9f8 100644
--- a/erpnext/translations/bg.csv
+++ b/erpnext/translations/bg.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Проектът ще бъде достъпен на интернет страницата на тези потребители,
 Copied From,Копирано от,
 Start and End Dates,Начална и крайна дата,
-Actual Time (in Hours),Действително време (в часове),
+Actual Time in Hours (via Timesheet),Действително време (в часове),
 Costing and Billing,Остойностяване и фактуриране,
-Total Costing Amount (via Timesheets),Обща сума за изчисляване на разходите (чрез Timesheets),
-Total Expense Claim (via Expense Claims),Общо разход претенция (чрез разход Вземания),
+Total Costing Amount (via Timesheet),Обща сума за изчисляване на разходите (чрез Timesheets),
+Total Expense Claim (via Expense Claim),Общо разход претенция (чрез разход Вземания),
 Total Purchase Cost (via Purchase Invoice),Общата покупна цена на придобиване (чрез покупка на фактура),
 Total Sales Amount (via Sales Order),Обща продажна сума (чрез поръчка за продажба),
-Total Billable Amount (via Timesheets),Обща таксуваема сума (чрез Timesheets),
-Total Billed Amount (via Sales Invoices),Обща таксувана сума (чрез фактури за продажби),
-Total Consumed Material Cost  (via Stock Entry),Общо разходи за потребление на материали (чрез вписване в наличност),
+Total Billable Amount (via Timesheet),Обща таксуваема сума (чрез Timesheets),
+Total Billed Amount (via Sales Invoice),Обща таксувана сума (чрез фактури за продажби),
+Total Consumed Material Cost (via Stock Entry),Общо разходи за потребление на материали (чрез вписване в наличност),
 Gross Margin,Брутна печалба,
 Gross Margin %,Брутна печалба %,
 Monitor Progress,Наблюдение на напредъка,
@@ -7521,12 +7521,10 @@
 Dependencies,Зависимостите,
 Dependent Tasks,Зависими задачи,
 Depends on Tasks,Зависи от Задачи,
-Actual Start Date (via Time Sheet),Действително Начална дата (чрез Time Sheet),
-Actual Time (in hours),Действителното време (в часове),
-Actual End Date (via Time Sheet),Действително Крайна дата (чрез Time Sheet),
-Total Costing Amount (via Time Sheet),Общо Остойностяване сума (чрез Time Sheet),
+Actual Start Date (via Timesheet),Действително Начална дата (чрез Time Sheet),
+Actual Time in Hours (via Timesheet),Действителното време (в часове),
+Actual End Date (via Timesheet),Действително Крайна дата (чрез Time Sheet),
 Total Expense Claim (via Expense Claim),Общо разход претенция (чрез Expense претенция),
-Total Billing Amount (via Time Sheet),Обща сума за плащане (чрез Time Sheet),
 Review Date,Преглед Дата,
 Closing Date,Крайна дата,
 Task Depends On,Задачата зависи от,
diff --git a/erpnext/translations/bn.csv b/erpnext/translations/bn.csv
index a944d99..2058bde 100644
--- a/erpnext/translations/bn.csv
+++ b/erpnext/translations/bn.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,প্রকল্প এই ব্যবহারকারীর জন্য ওয়েবসাইটে অ্যাক্সেস করা যাবে,
 Copied From,থেকে অনুলিপি,
 Start and End Dates,শুরু এবং তারিখগুলি End,
-Actual Time (in Hours),আসল সময় (ঘন্টা সময়),
+Actual Time in Hours (via Timesheet),আসল সময় (ঘন্টা সময়),
 Costing and Billing,খোয়াতে এবং বিলিং,
-Total Costing Amount (via Timesheets),মোট খরচ পরিমাণ (টাইমসাইটের মাধ্যমে),
-Total Expense Claim (via Expense Claims),মোট ব্যয় দাবি (ব্যয় দাবি মাধ্যমে),
+Total Costing Amount (via Timesheet),মোট খরচ পরিমাণ (টাইমসাইটের মাধ্যমে),
+Total Expense Claim (via Expense Claim),মোট ব্যয় দাবি (ব্যয় দাবি মাধ্যমে),
 Total Purchase Cost (via Purchase Invoice),মোট ক্রয় খরচ (ক্রয় চালান মাধ্যমে),
 Total Sales Amount (via Sales Order),মোট বিক্রয় পরিমাণ (বিক্রয় আদেশের মাধ্যমে),
-Total Billable Amount (via Timesheets),মোট বিলযোগ্য পরিমাণ (টাইমসাইটের মাধ্যমে),
-Total Billed Amount (via Sales Invoices),মোট বিল পরিমাণ (বিক্রয় চালান মাধ্যমে),
-Total Consumed Material Cost  (via Stock Entry),মোট খরচকৃত উপাদান খরচ (স্টক এন্ট্রি মাধ্যমে),
+Total Billable Amount (via Timesheet),মোট বিলযোগ্য পরিমাণ (টাইমসাইটের মাধ্যমে),
+Total Billed Amount (via Sales Invoice),মোট বিল পরিমাণ (বিক্রয় চালান মাধ্যমে),
+Total Consumed Material Cost (via Stock Entry),মোট খরচকৃত উপাদান খরচ (স্টক এন্ট্রি মাধ্যমে),
 Gross Margin,গ্রস মার্জিন,
 Gross Margin %,গ্রস মার্জিন%,
 Monitor Progress,মনিটর অগ্রগতি,
@@ -7521,12 +7521,10 @@
 Dependencies,নির্ভরতা,
 Dependent Tasks,নির্ভরশীল কাজ,
 Depends on Tasks,কার্যগুলি উপর নির্ভর করে,
-Actual Start Date (via Time Sheet),প্রকৃত স্টার্ট তারিখ (টাইম শিট মাধ্যমে),
-Actual Time (in hours),(ঘন্টায়) প্রকৃত সময়,
-Actual End Date (via Time Sheet),প্রকৃত শেষ তারিখ (টাইম শিট মাধ্যমে),
-Total Costing Amount (via Time Sheet),মোট খোয়াতে পরিমাণ (টাইম শিট মাধ্যমে),
+Actual Start Date (via Timesheet),প্রকৃত স্টার্ট তারিখ (টাইম শিট মাধ্যমে),
+Actual Time in Hours (via Timesheet),(ঘন্টায়) প্রকৃত সময়,
+Actual End Date (via Timesheet),প্রকৃত শেষ তারিখ (টাইম শিট মাধ্যমে),
 Total Expense Claim (via Expense Claim),(ব্যয় দাবি মাধ্যমে) মোট ব্যয় দাবি,
-Total Billing Amount (via Time Sheet),মোট বিলিং পরিমাণ (টাইম শিট মাধ্যমে),
 Review Date,পর্যালোচনা তারিখ,
 Closing Date,বন্ধের তারিখ,
 Task Depends On,কাজের উপর নির্ভর করে,
diff --git a/erpnext/translations/bs.csv b/erpnext/translations/bs.csv
index 2d9c26d..8af5475 100644
--- a/erpnext/translations/bs.csv
+++ b/erpnext/translations/bs.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projekt će biti dostupna na web stranici ovih korisnika,
 Copied From,kopira iz,
 Start and End Dates,Datume početka i završetka,
-Actual Time (in Hours),Stvarno vrijeme (u satima),
+Actual Time in Hours (via Timesheet),Stvarno vrijeme (u satima),
 Costing and Billing,Cijena i naplata,
-Total Costing Amount (via Timesheets),Ukupni iznos troškova (preko Timesheeta),
-Total Expense Claim (via Expense Claims),Ukupni rashodi potraživanja (preko rashodi potraživanja),
+Total Costing Amount (via Timesheet),Ukupni iznos troškova (preko Timesheeta),
+Total Expense Claim (via Expense Claim),Ukupni rashodi potraživanja (preko rashodi potraživanja),
 Total Purchase Cost (via Purchase Invoice),Ukupno TROŠKA (preko fakturi),
 Total Sales Amount (via Sales Order),Ukupan iznos prodaje (preko prodajnog naloga),
-Total Billable Amount (via Timesheets),Ukupan iznos iznosa (preko Timesheeta),
-Total Billed Amount (via Sales Invoices),Ukupan fakturisani iznos (preko faktura prodaje),
-Total Consumed Material Cost  (via Stock Entry),Ukupni troškovi potrošnje materijala (preko zaliha zaliha),
+Total Billable Amount (via Timesheet),Ukupan iznos iznosa (preko Timesheeta),
+Total Billed Amount (via Sales Invoice),Ukupan fakturisani iznos (preko faktura prodaje),
+Total Consumed Material Cost (via Stock Entry),Ukupni troškovi potrošnje materijala (preko zaliha zaliha),
 Gross Margin,Bruto marža,
 Gross Margin %,Bruto marža %,
 Monitor Progress,Napredak monitora,
@@ -7521,12 +7521,10 @@
 Dependencies,Zavisnosti,
 Dependent Tasks,Zavisni zadaci,
 Depends on Tasks,Ovisi o Zadaci,
-Actual Start Date (via Time Sheet),Stvarni Ozljede Datum (preko Time Sheet),
-Actual Time (in hours),Stvarno vrijeme (u satima),
-Actual End Date (via Time Sheet),Stvarni Završni datum (preko Time Sheet),
-Total Costing Amount (via Time Sheet),Ukupno Costing Iznos (preko Time Sheet),
+Actual Start Date (via Timesheet),Stvarni Ozljede Datum (preko Time Sheet),
+Actual Time in Hours (via Timesheet),Stvarno vrijeme (u satima),
+Actual End Date (via Timesheet),Stvarni Završni datum (preko Time Sheet),
 Total Expense Claim (via Expense Claim),Ukupni rashodi potraživanja (preko rashodi potraživanje),
-Total Billing Amount (via Time Sheet),Ukupno Billing Iznos (preko Time Sheet),
 Review Date,Datum pregleda,
 Closing Date,Datum zatvaranja,
 Task Depends On,Zadatak ovisi o,
diff --git a/erpnext/translations/ca.csv b/erpnext/translations/ca.csv
index 85c6285..44538e9 100644
--- a/erpnext/translations/ca.csv
+++ b/erpnext/translations/ca.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projecte serà accessible a la pàgina web a aquests usuaris,
 Copied From,de copiat,
 Start and End Dates,Les dates d&#39;inici i fi,
-Actual Time (in Hours),Hora real (en hores),
+Actual Time in Hours (via Timesheet),Hora real (en hores),
 Costing and Billing,Càlcul de costos i facturació,
-Total Costing Amount (via Timesheets),Import total de costos (a través de fulls de temps),
-Total Expense Claim (via Expense Claims),Reclamació de Despeses totals (a través de reclamacions de despeses),
+Total Costing Amount (via Timesheet),Import total de costos (a través de fulls de temps),
+Total Expense Claim (via Expense Claim),Reclamació de Despeses totals (a través de reclamacions de despeses),
 Total Purchase Cost (via Purchase Invoice),Cost total de compra (mitjançant compra de la factura),
 Total Sales Amount (via Sales Order),Import total de vendes (a través de l&#39;ordre de vendes),
-Total Billable Amount (via Timesheets),Import total facturat (mitjançant fulls de temps),
-Total Billed Amount (via Sales Invoices),Import total facturat (mitjançant factures de vendes),
-Total Consumed Material Cost  (via Stock Entry),Cost del material consumit total (a través de l&#39;entrada d&#39;accions),
+Total Billable Amount (via Timesheet),Import total facturat (mitjançant fulls de temps),
+Total Billed Amount (via Sales Invoice),Import total facturat (mitjançant factures de vendes),
+Total Consumed Material Cost (via Stock Entry),Cost del material consumit total (a través de l&#39;entrada d&#39;accions),
 Gross Margin,Marge Brut,
 Gross Margin %,Marge Brut%,
 Monitor Progress,Progrés del monitor,
@@ -7521,12 +7521,10 @@
 Dependencies,Dependències,
 Dependent Tasks,Tasques depenents,
 Depends on Tasks,Depèn de Tasques,
-Actual Start Date (via Time Sheet),Data d&#39;inici real (a través de fulla d&#39;hores),
-Actual Time (in hours),Temps real (en hores),
-Actual End Date (via Time Sheet),Data de finalització real (a través de fulla d&#39;hores),
-Total Costing Amount (via Time Sheet),Càlcul del cost total Monto (a través de fulla d&#39;hores),
+Actual Start Date (via Timesheet),Data d&#39;inici real (a través de fulla d&#39;hores),
+Actual Time in Hours (via Timesheet),Temps real (en hores),
+Actual End Date (via Timesheet),Data de finalització real (a través de fulla d&#39;hores),
 Total Expense Claim (via Expense Claim),Reclamació de despeses totals (a través de despeses),
-Total Billing Amount (via Time Sheet),Facturació quantitat total (a través de fulla d&#39;hores),
 Review Date,Data de revisió,
 Closing Date,Data de tancament,
 Task Depends On,Tasca Depèn de,
diff --git a/erpnext/translations/cs.csv b/erpnext/translations/cs.csv
index 3fb67e7..783d6d4 100644
--- a/erpnext/translations/cs.csv
+++ b/erpnext/translations/cs.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projekt bude k dispozici na webových stránkách k těmto uživatelům,
 Copied From,Zkopírován z,
 Start and End Dates,Datum zahájení a ukončení,
-Actual Time (in Hours),Skutečný čas (v hodinách),
+Actual Time in Hours (via Timesheet),Skutečný čas (v hodinách),
 Costing and Billing,Kalkulace a fakturace,
-Total Costing Amount (via Timesheets),Celková částka kalkulování (prostřednictvím časových lístků),
-Total Expense Claim (via Expense Claims),Total Expense Claim (via Expense nároků),
+Total Costing Amount (via Timesheet),Celková částka kalkulování (prostřednictvím časových lístků),
+Total Expense Claim (via Expense Claim),Total Expense Claim (via Expense nároků),
 Total Purchase Cost (via Purchase Invoice),Celkové pořizovací náklady (přes nákupní faktury),
 Total Sales Amount (via Sales Order),Celková částka prodeje (prostřednictvím objednávky prodeje),
-Total Billable Amount (via Timesheets),Celková fakturační částka (prostřednictvím časových lístků),
-Total Billed Amount (via Sales Invoices),Celková fakturační částka (prostřednictvím prodejních faktur),
-Total Consumed Material Cost  (via Stock Entry),Celkové náklady na spotřebu materiálu (přes vstup zboží),
+Total Billable Amount (via Timesheet),Celková fakturační částka (prostřednictvím časových lístků),
+Total Billed Amount (via Sales Invoice),Celková fakturační částka (prostřednictvím prodejních faktur),
+Total Consumed Material Cost (via Stock Entry),Celkové náklady na spotřebu materiálu (přes vstup zboží),
 Gross Margin,Hrubá marže,
 Gross Margin %,Hrubá Marže %,
 Monitor Progress,Monitorování pokroku,
@@ -7521,12 +7521,10 @@
 Dependencies,Závislosti,
 Dependent Tasks,Závislé úkoly,
 Depends on Tasks,Závisí na Úkoly,
-Actual Start Date (via Time Sheet),Skutečné datum zahájení (přes Time Sheet),
-Actual Time (in hours),Skutečná doba (v hodinách),
-Actual End Date (via Time Sheet),Skutečné datum ukončení (přes Time Sheet),
-Total Costing Amount (via Time Sheet),Celková kalkulace Částka (přes Time Sheet),
+Actual Start Date (via Timesheet),Skutečné datum zahájení (přes Time Sheet),
+Actual Time in Hours (via Timesheet),Skutečná doba (v hodinách),
+Actual End Date (via Timesheet),Skutečné datum ukončení (přes Time Sheet),
 Total Expense Claim (via Expense Claim),Total Expense Claim (via Expense nároku),
-Total Billing Amount (via Time Sheet),Celková částka Billing (přes Time Sheet),
 Review Date,Review Datum,
 Closing Date,Uzávěrka Datum,
 Task Depends On,Úkol je závislá na,
diff --git a/erpnext/translations/cz.csv b/erpnext/translations/cz.csv
index 2828b83..270a710 100644
--- a/erpnext/translations/cz.csv
+++ b/erpnext/translations/cz.csv
@@ -3177,7 +3177,7 @@
 To Bill,Billa,
 Piecework,Úkolová práce,
 Avg. Buying Rate,Avg. Nákup Rate,
-Actual Time (in Hours),Skutečná doba (v hodinách)
+Actual Time in Hours (via Timesheet),Skutečná doba (v hodinách)
 History In Company,Historie ve Společnosti,
 Shipping,Lodni,
 Stock Ledger Entry,Reklamní Ledger Entry,
@@ -3720,7 +3720,6 @@
 State,Stav,
 Batch,Šarže,
 Balance,Zůstatek,
-Total Expense Claim (via Expense Claims),Total Expense Claim (via Expense nároků)
 Gender,Pohlave,
 Debit Note,Debit Note,
 As per Stock UOM,Podle Stock nerozpuštěných,
diff --git a/erpnext/translations/da.csv b/erpnext/translations/da.csv
index f0654b9..05a9042 100644
--- a/erpnext/translations/da.csv
+++ b/erpnext/translations/da.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Sagen vil være tilgængelig på hjemmesiden for disse brugere,
 Copied From,Kopieret fra,
 Start and End Dates,Start- og slutdato,
-Actual Time (in Hours),Faktisk tid (i timer),
+Actual Time in Hours (via Timesheet),Faktisk tid (i timer),
 Costing and Billing,Omkostningsberegning og fakturering,
-Total Costing Amount (via Timesheets),Samlet Omkostningsbeløb (via tidsskemaer),
-Total Expense Claim (via Expense Claims),Udlæg ialt (via Udlæg),
+Total Costing Amount (via Timesheet),Samlet Omkostningsbeløb (via tidsskemaer),
+Total Expense Claim (via Expense Claim),Udlæg ialt (via Udlæg),
 Total Purchase Cost (via Purchase Invoice),Samlet anskaffelsespris (via købsfaktura),
 Total Sales Amount (via Sales Order),Samlet Salgsbeløb (via salgsordre),
-Total Billable Amount (via Timesheets),Samlet fakturerbart beløb (via timesheets),
-Total Billed Amount (via Sales Invoices),Samlet faktureret beløb (via salgsfakturaer),
-Total Consumed Material Cost  (via Stock Entry),Samlet forbrugt materialeomkostning (via lagerindtastning),
+Total Billable Amount (via Timesheet),Samlet fakturerbart beløb (via timesheets),
+Total Billed Amount (via Sales Invoice),Samlet faktureret beløb (via salgsfakturaer),
+Total Consumed Material Cost (via Stock Entry),Samlet forbrugt materialeomkostning (via lagerindtastning),
 Gross Margin,Gross Margin,
 Gross Margin %,Gross Margin%,
 Monitor Progress,Monitor Progress,
@@ -7521,12 +7521,10 @@
 Dependencies,Afhængigheder,
 Dependent Tasks,Afhængige opgaver,
 Depends on Tasks,Afhænger af opgaver,
-Actual Start Date (via Time Sheet),Faktisk startdato (via Tidsregistreringen),
-Actual Time (in hours),Faktisk tid (i timer),
-Actual End Date (via Time Sheet),Faktisk Slutdato (via Tidsregistreringen),
-Total Costing Amount (via Time Sheet),Totale omkostninger (via tidsregistrering),
+Actual Start Date (via Timesheet),Faktisk startdato (via Tidsregistreringen),
+Actual Time in Hours (via Timesheet),Faktisk tid (i timer),
+Actual End Date (via Timesheet),Faktisk Slutdato (via Tidsregistreringen),
 Total Expense Claim (via Expense Claim),Udlæg ialt (via Udlæg),
-Total Billing Amount (via Time Sheet),Faktureret beløb i alt (via Tidsregistrering),
 Review Date,Anmeldelse Dato,
 Closing Date,Closing Dato,
 Task Depends On,Opgave afhænger af,
diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv
index b4fd76d..68358c6 100644
--- a/erpnext/translations/de.csv
+++ b/erpnext/translations/de.csv
@@ -650,7 +650,7 @@
 Create Disbursement Entry,Auszahlungsbeleg erstellen,
 Create Employee,Mitarbeiter anlegen,
 Create Employee Records,Erstellen Sie Mitarbeiterdaten,
-"Create Employee records to manage leaves, expense claims and payroll","Erstellen Sie Mitarbeiterdaten Blätter, Spesenabrechnung und Gehaltsabrechnung zu verwalten",
+"Create Employee records to manage leaves, expense claims and payroll","Legen Sie Mitarbeiterstammdaten an, um Urlaub, Auslagen und Gehälter zu verwalten",
 Create Fee Schedule,Gebührenverzeichnis erstellen,
 Create Fees,Gebühren anlegen,
 Create Inter Company Journal Entry,Erstellen Sie einen Inter Company Journal Eintrag,
@@ -993,8 +993,8 @@
 Expense Account,Aufwandskonto,
 Expense Claim,Auslagenabrechnung,
 Expense Claim for Vehicle Log {0},Auslagenabrechnung für Fahrtenbuch {0},
-Expense Claim {0} already exists for the Vehicle Log,Auslagenabrechnung {0} existiert bereits für das Fahrzeug Log,
-Expense Claims,Aufwandsabrechnungen,
+Expense Claim {0} already exists for the Vehicle Log,Auslagenabrechnung {0} existiert bereits für das Fahrtenbuch,
+Expense Claims,Auslagenabrechnungen,
 Expense account is mandatory for item {0},Aufwandskonto ist zwingend für Artikel {0},
 Expenses,Aufwendungen,
 Expenses Included In Asset Valuation,"Aufwendungen, die in der Vermögensbewertung enthalten sind",
@@ -2452,7 +2452,7 @@
 Row #{0}: Please specify Serial No for Item {1},Zeile #{0}: Bitte Seriennummer für Artikel {1} angeben,
 Row #{0}: Qty increased by 1,Zeile # {0}: Menge um 1 erhöht,
 Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Zeile #{0}: Preis muss derselbe wie {1}: {2} ({3} / {4}) sein,
-Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Row # {0}: Referenzdokumenttyp muss einer der Kostenansprüche oder des Journaleintrags sein,
+Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Row # {0}: Referenzdokumenttyp muss entweder 'Auslagenabrechnung' oder 'Journaleintrag' sein,
 "Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Row # {0}: Referenzdokumenttyp muss eine der Bestellung, Rechnung oder Kaufjournaleintrag sein",
 Row #{0}: Rejected Qty can not be entered in Purchase Return,Zeile #{0}: Abgelehnte Menge kann nicht in Kaufrückgabe eingegeben werden,
 Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Abgelehnt Warehouse ist obligatorisch gegen zurückgewiesen Artikel {1},
@@ -2462,7 +2462,7 @@
 "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","Zeile # {0}: Der Batch {1} hat nur {2} Menge. Bitte wähle eine andere Charge aus, die {3} Menge zur Verfügung hat oder die Zeile in mehrere Zeilen aufteilt, um aus mehreren Chargen zu liefern / auszutauschen",
 Row #{0}: Timings conflicts with row {1},Zeile #{0}: Timing-Konflikte mit Zeile {1},
 Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} kann für Artikel nicht negativ sein {2},
-Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Zeile Nr. {0}: Betrag kann nicht größer als der ausstehende Betrag zur Aufwandsabrechnung {1} sein. Ausstehender Betrag ist {2},
+Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Zeile Nr. {0}: Der Betrag kann nicht größer als der ausstehende Betrag der Auslagenabrechnung {1} sein. Der ausstehende Betrag ist {2},
 Row {0} : Operation is required against the raw material item {1},Zeile {0}: Vorgang ist für die Rohmaterialposition {1} erforderlich,
 Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Zeile {0} # Der zugewiesene Betrag {1} darf nicht größer sein als der nicht beanspruchte Betrag {2},
 Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Zeile {0} # Artikel {1} kann nicht mehr als {2} gegen Bestellung {3} übertragen werden.,
@@ -4364,7 +4364,7 @@
 Income Tax Slab: {0} is disabled,Einkommensteuerplatte: {0} ist deaktiviert,
 Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Die Einkommensteuerplatte muss am oder vor dem Startdatum der Abrechnungsperiode wirksam sein: {0},
 No leave record found for employee {0} on {1},Für Mitarbeiter {0} auf {1} wurde kein Urlaubsdatensatz gefunden,
-Row {0}: {1} is required in the expenses table to book an expense claim.,"Zeile {0}: {1} in der Spesenabrechnung ist erforderlich, um eine Spesenabrechnung zu buchen.",
+Row {0}: {1} is required in the expenses table to book an expense claim.,"Zeile {0}: {1} in der Tabelle der Auslagen ist erforderlich, um eine Auslagenabrechnung zu buchen.",
 Set the default account for the {0} {1},Legen Sie das Standardkonto für {0} {1} fest,
 (Half Day),(Halber Tag),
 Income Tax Slab,Einkommensteuerplatte,
@@ -6690,12 +6690,12 @@
 Vehicle Log,Fahrzeug Log,
 Employees Email Id,E-Mail-ID des Mitarbeiters,
 More Details,Mehr Details,
-Expense Claim Account,Kostenabrechnung Konto,
+Expense Claim Account,Konto für Auslagenabrechnung,
 Expense Claim Advance,Auslagenvorschuss,
 Unclaimed amount,Nicht beanspruchter Betrag,
-Expense Claim Detail,Aufwandsabrechnungsdetail,
-Expense Date,Datum der Aufwendung,
-Expense Claim Type,Art der Aufwandsabrechnung,
+Expense Claim Detail,Auslage,
+Expense Date,Datum der Auslage,
+Expense Claim Type,Art der Auslagenabrechnung,
 Holiday List Name,Urlaubslistenname,
 Total Holidays,Insgesamt Feiertage,
 Add Weekly Holidays,Wöchentliche Feiertage hinzufügen,
@@ -6708,7 +6708,7 @@
 Retirement Age,Rentenalter,
 Enter retirement age in years,Geben Sie das Rentenalter in Jahren,
 Stop Birthday Reminders,Geburtstagserinnerungen ausschalten,
-Expense Approver Mandatory In Expense Claim,Auslagengenehmiger in Spesenabrechnung erforderlich,
+Expense Approver Mandatory In Expense Claim,Auslagengenehmiger in Auslagenabrechnung erforderlich,
 Payroll Settings,Einstellungen zur Gehaltsabrechnung,
 Leave,Verlassen,
 Max working hours against Timesheet,Max Arbeitszeit gegen Stundenzettel,
@@ -7485,15 +7485,17 @@
 Project will be accessible on the website to these users,Projekt wird auf der Website für diese Benutzer zugänglich sein,
 Copied From,Kopiert von,
 Start and End Dates,Start- und Enddatum,
-Actual Time (in Hours),Tatsächliche Zeit (in Stunden),
+Actual Time in Hours (via Timesheet),Tatsächliche Dauer in Stunden (Zeiterfassung),
+Actual Start Date (via Timesheet),Tatsächliches Startdatum (Zeiterfassung),
+Actual End Date (via Timesheet),Tatsächliches Enddatum (Zeiterfassung),
 Costing and Billing,Kalkulation und Abrechnung,
-Total Costing Amount (via Timesheets),Gesamtkalkulationsbetrag (über Zeiterfassung),
-Total Expense Claim (via Expense Claims),Gesamtbetrag der Auslagenabrechnung (über Auslagenabrechnungen),
-Total Purchase Cost (via Purchase Invoice),Summe Einkaufskosten (über Eingangsrechnung),
-Total Sales Amount (via Sales Order),Auftragssumme (über Auftrag),
-Total Billable Amount (via Timesheets),Abrechenbare Summe (über Zeiterfassung),
-Total Billed Amount (via Sales Invoices),Abgerechnete Summe (über Ausgangsrechnungen),
-Total Consumed Material Cost  (via Stock Entry),Summe der verbrauchten Materialkosten (über die Bestandsbuchung),
+Total Costing Amount (via Timesheet),Lohnkosten (Zeiterfassung),
+Total Expense Claim (via Expense Claim),Auslagen der Mitarbeiter (Auslagenabrechnung),
+Total Purchase Cost (via Purchase Invoice),Einkaufskosten (Eingangsrechnung),
+Total Sales Amount (via Sales Order),Auftragswert (Auftrag),
+Total Billable Amount (via Timesheet),Abrechenbare Zeiten (Zeiterfassung),
+Total Billed Amount (via Sales Invoice),Abgerechneter Betrag (Ausgangsrechnung),
+Total Consumed Material Cost (via Stock Entry),Verbrauchtes Material (Lagerbuchung),
 Gross Margin,Handelsspanne,
 Gross Margin %,Handelsspanne %,
 Monitor Progress,Überwachung der Fortschritte,
@@ -7527,12 +7529,6 @@
 Dependencies,Abhängigkeiten,
 Dependent Tasks,Abhängige Vorgänge,
 Depends on Tasks,Abhängig von Vorgang,
-Actual Start Date (via Time Sheet),Das tatsächliche Startdatum (durch Zeiterfassung),
-Actual Time (in hours),Tatsächliche Zeit (in Stunden),
-Actual End Date (via Time Sheet),Das tatsächliche Enddatum (durch Zeiterfassung),
-Total Costing Amount (via Time Sheet),Gesamtkosten (über Zeiterfassung),
-Total Expense Claim (via Expense Claim),Summe der Auslagen (über Auslagenabrechnung),
-Total Billing Amount (via Time Sheet),Gesamtrechnungsbetrag (über Zeiterfassung),
 Review Date,Überprüfungsdatum,
 Closing Date,Abschlussdatum,
 Task Depends On,Vorgang hängt ab von,
@@ -7801,7 +7797,7 @@
 Default Deferred Revenue Account,Standardkonto für passive Rechnungsabgrenzung,
 Default Deferred Expense Account,Standardkonto für aktive Rechnungsabgrenzung,
 Default Payroll Payable Account,Standardkonto für Verbindlichkeiten aus Lohn und Gehalt,
-Default Expense Claim Payable Account,Standard-Expense Claim Zahlbares Konto,
+Default Expense Claim Payable Account,Standardkonto für Verbindlichkeiten aus Auslagenabrechnungen,
 Stock Settings,Lager-Einstellungen,
 Enable Perpetual Inventory,Permanente Inventur aktivieren,
 Default Inventory Account,Standard Inventurkonto,
@@ -8283,8 +8279,8 @@
 Out of AMC,Außerhalb des jährlichen Wartungsvertrags,
 Warranty Period (Days),Garantiefrist (Tage),
 Serial No Details,Details zur Seriennummer,
-Stock Entry Type,Bestandsbuchungsart,
-Stock Entry (Outward GIT),Bestandsbuchung (Outward GIT),
+Stock Entry Type,Art der Lagerbuchung,
+Stock Entry (Outward GIT),Lagerbuchung (ausgeh. WIT),
 Material Consumption for Manufacture,Materialverbrauch für die Herstellung,
 Repack,Umpacken,
 Send to Subcontractor,An Subunternehmer senden,
@@ -8316,7 +8312,7 @@
 BOM No. for a Finished Good Item,Stücklisten-Nr. für einen fertigen Artikel,
 Material Request used to make this Stock Entry,Materialanfrage wurde für die Erstellung dieser Lagerbuchung verwendet,
 Subcontracted Item,Unterauftragsgegenstand,
-Against Stock Entry,Gegen Bestandsaufnahme,
+Against Stock Entry,Gegen Lagerbuchung,
 Stock Entry Child,Stock Entry Child,
 PO Supplied Item,PO geliefertes Einzelteil,
 Reference Purchase Receipt,Referenz Kaufbeleg,
diff --git a/erpnext/translations/el.csv b/erpnext/translations/el.csv
index c241558..75e4294 100644
--- a/erpnext/translations/el.csv
+++ b/erpnext/translations/el.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Του έργου θα είναι προσβάσιμη στην ιστοσελίδα του σε αυτούς τους χρήστες,
 Copied From,Αντιγραφή από,
 Start and End Dates,Ημερομηνίες έναρξης και λήξης,
-Actual Time (in Hours),Πραγματική ώρα (σε ώρες),
+Actual Time in Hours (via Timesheet),Πραγματική ώρα (σε ώρες),
 Costing and Billing,Κοστολόγηση και Τιμολόγηση,
-Total Costing Amount (via Timesheets),Συνολικό ποσό κοστολόγησης (μέσω Timesheets),
-Total Expense Claim (via Expense Claims),Σύνολο αξίωση Εξόδων (μέσω αξιώσεις Εξόδων),
+Total Costing Amount (via Timesheet),Συνολικό ποσό κοστολόγησης (μέσω Timesheets),
+Total Expense Claim (via Expense Claim),Σύνολο αξίωση Εξόδων (μέσω αξιώσεις Εξόδων),
 Total Purchase Cost (via Purchase Invoice),Συνολικό Κόστος Αγοράς (μέσω του τιμολογίου αγοράς),
 Total Sales Amount (via Sales Order),Συνολικό Ποσό Πωλήσεων (μέσω Παραγγελίας),
-Total Billable Amount (via Timesheets),Συνολικό χρεώσιμο ποσό (μέσω Timesheets),
-Total Billed Amount (via Sales Invoices),Συνολικό ποσό χρέωσης (μέσω τιμολογίων πωλήσεων),
-Total Consumed Material Cost  (via Stock Entry),Συνολικό Καταναλωμένο Κόστος Υλικού (μέσω Εισαγωγής στο Αποθεματικό),
+Total Billable Amount (via Timesheet),Συνολικό χρεώσιμο ποσό (μέσω Timesheets),
+Total Billed Amount (via Sales Invoice),Συνολικό ποσό χρέωσης (μέσω τιμολογίων πωλήσεων),
+Total Consumed Material Cost (via Stock Entry),Συνολικό Καταναλωμένο Κόστος Υλικού (μέσω Εισαγωγής στο Αποθεματικό),
 Gross Margin,Μικτό Περιθώριο Κέρδους,
 Gross Margin %,Μικτό κέρδος (περιθώριο) %,
 Monitor Progress,Παρακολουθήστε την πρόοδο,
@@ -7521,12 +7521,10 @@
 Dependencies,Εξαρτήσεις,
 Dependent Tasks,Εξαρτημένες εργασίες,
 Depends on Tasks,Εξαρτάται από Εργασίες,
-Actual Start Date (via Time Sheet),Πραγματική Ημερομηνία Έναρξης (μέσω Ώρα Φύλλο),
-Actual Time (in hours),Πραγματικός χρόνος (σε ώρες),
-Actual End Date (via Time Sheet),Πραγματική Ημερομηνία λήξης (μέσω Ώρα Φύλλο),
-Total Costing Amount (via Time Sheet),Σύνολο Κοστολόγηση Ποσό (μέσω Ώρα Φύλλο),
+Actual Start Date (via Timesheet),Πραγματική Ημερομηνία Έναρξης (μέσω Ώρα Φύλλο),
+Actual Time in Hours (via Timesheet),Πραγματικός χρόνος (σε ώρες),
+Actual End Date (via Timesheet),Πραγματική Ημερομηνία λήξης (μέσω Ώρα Φύλλο),
 Total Expense Claim (via Expense Claim),Σύνολο αξίωση Εξόδων (μέσω αιτημάτων εξόδων),
-Total Billing Amount (via Time Sheet),Συνολικό Ποσό χρέωσης (μέσω Ώρα Φύλλο),
 Review Date,Ημερομηνία αξιολόγησης,
 Closing Date,Καταληκτική ημερομηνία,
 Task Depends On,Εργασία Εξαρτάται από,
diff --git a/erpnext/translations/es-PE.csv b/erpnext/translations/es-PE.csv
index 05f14cc..11f5484 100644
--- a/erpnext/translations/es-PE.csv
+++ b/erpnext/translations/es-PE.csv
@@ -190,12 +190,12 @@
 Raw Material Cost,Costo de la Materia Prima,
 A Customer Group exists with same name please change the Customer name or rename the Customer Group,"Existe una categoría de cliente con el mismo nombre, por favor cambie el nombre del cliente o cambie el nombre de la categoría"
 Quotation {0} is cancelled,Cotización {0} se cancela,
-Quality Inspection required for Item {0},Inspección de la calidad requerida para el articulo {0}
-What does it do?,¿Qué hace?
-Actual Time (in Hours),Tiempo actual (En horas)
+Quality Inspection required for Item {0},Inspección de la calidad requerida para el articulo {0},
+What does it do?,¿Qué hace?,
+Actual Time in Hours (via Timesheet),Tiempo actual en horas,
 Make Sales Order,Hacer Orden de Venta,
-Doc Type,Tipo Doc.
-List a few of your customers. They could be organizations or individuals.,Enumere algunos de sus clientes. Pueden ser organizaciones o individuos.
+Doc Type,Tipo Doc.,
+List a few of your customers. They could be organizations or individuals.,Enumere algunos de sus clientes. Pueden ser organizaciones o individuos.,
 Ref Code,Código Referencia,
 Default Selling Cost Center,Centros de coste por defecto,
 Leave Block List Allowed,Lista de Bloqueo de Vacaciones Permitida,
diff --git a/erpnext/translations/es.csv b/erpnext/translations/es.csv
index 9996fe5..432982b 100644
--- a/erpnext/translations/es.csv
+++ b/erpnext/translations/es.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Proyecto será accesible en la página web de estos usuarios,
 Copied From,Copiado de,
 Start and End Dates,Fechas de Inicio y Fin,
-Actual Time (in Hours),Tiempo real (en horas),
+Actual Time in Hours (via Timesheet),Tiempo real (en horas),
 Costing and Billing,Cálculo de Costos y Facturación,
-Total Costing Amount (via Timesheets),Monto Total de Costos (a través de Partes de Horas),
-Total Expense Claim (via Expense Claims),Total reembolso (Vía reembolsos de gastos),
+Total Costing Amount (via Timesheet),Monto Total de Costos (a través de Partes de Horas),
+Total Expense Claim (via Expense Claim),Total reembolso (Vía reembolsos de gastos),
 Total Purchase Cost (via Purchase Invoice),Costo total de compra (vía facturas de compra),
 Total Sales Amount (via Sales Order),Importe de Ventas Total (a través de Ordenes de Venta),
-Total Billable Amount (via Timesheets),Monto Total Facturable (a través de Partes de Horas),
-Total Billed Amount (via Sales Invoices),Importe Total Facturado (a través de Facturas de Ventas),
-Total Consumed Material Cost  (via Stock Entry),Costo total del Material Consumido (a través de la Entrada de Stock),
+Total Billable Amount (via Timesheet),Monto Total Facturable (a través de Partes de Horas),
+Total Billed Amount (via Sales Invoice),Importe Total Facturado (a través de Facturas de Ventas),
+Total Consumed Material Cost (via Stock Entry),Costo total del Material Consumido (a través de la Entrada de Stock),
 Gross Margin,Margen bruto,
 Gross Margin %,Margen bruto %,
 Monitor Progress,Monitorear el Progreso,
@@ -7521,12 +7521,10 @@
 Dependencies,Dependencias,
 Dependent Tasks,Tareas dependientes,
 Depends on Tasks,Depende de Tareas,
-Actual Start Date (via Time Sheet),Fecha de inicio real (a través de hoja de horas),
-Actual Time (in hours),Tiempo real (en horas),
-Actual End Date (via Time Sheet),Fecha de finalización real (a través de hoja de horas),
-Total Costing Amount (via Time Sheet),Importe total del cálculo del coste (mediante el cuadro de horario de trabajo),
+Actual Start Date (via Timesheet),Fecha de inicio real (a través de hoja de horas),
+Actual Time in Hours (via Timesheet),Tiempo real (en horas),
+Actual End Date (via Timesheet),Fecha de finalización real (a través de hoja de horas),
 Total Expense Claim (via Expense Claim),Total reembolso (Vía reembolso de gastos),
-Total Billing Amount (via Time Sheet),Monto Total Facturable (a través de tabla de tiempo),
 Review Date,Fecha de Revisión,
 Closing Date,Fecha de cierre,
 Task Depends On,Tarea depende de,
diff --git a/erpnext/translations/es_pe.csv b/erpnext/translations/es_pe.csv
index 108782c..9b801e5 100644
--- a/erpnext/translations/es_pe.csv
+++ b/erpnext/translations/es_pe.csv
@@ -814,7 +814,7 @@
 Home Page is Products,Pagína de Inicio es Productos,
 Billing Rate,Tasa de facturación,
 Total Purchase Cost (via Purchase Invoice),Coste total de compra (mediante compra de la factura),
-Actual Time (in hours),Tiempo actual (En horas),
+Actual Time in Hours (via Timesheet),Tiempo actual (En horas),
 % Amount Billed,% Monto Facturado,
 Buyer of Goods and Services.,Compradores de Productos y Servicios.,
 From Lead,De la iniciativa,
diff --git a/erpnext/translations/et.csv b/erpnext/translations/et.csv
index 6e60809..8e1063b 100644
--- a/erpnext/translations/et.csv
+++ b/erpnext/translations/et.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projekt on kättesaadav veebilehel nendele kasutajatele,
 Copied From,kopeeritud,
 Start and End Dates,Algus- ja lõppkuupäev,
-Actual Time (in Hours),Tegelik aeg (tundides),
+Actual Time in Hours (via Timesheet),Tegelik aeg (tundides),
 Costing and Billing,Kuluarvestus ja arvete,
-Total Costing Amount (via Timesheets),Kogukulude summa (ajaveebide kaudu),
-Total Expense Claim (via Expense Claims),Kogukulude nõue (via kuluaruanded),
+Total Costing Amount (via Timesheet),Kogukulude summa (ajaveebide kaudu),
+Total Expense Claim (via Expense Claim),Kogukulude nõue (via kuluaruanded),
 Total Purchase Cost (via Purchase Invoice),Kokku ostukulud (via ostuarve),
 Total Sales Amount (via Sales Order),Müügi kogusumma (müügitellimuse kaudu),
-Total Billable Amount (via Timesheets),Kogu tasuline kogus (ajaveebide kaudu),
-Total Billed Amount (via Sales Invoices),Kogu tasuline summa (arvete kaudu),
-Total Consumed Material Cost  (via Stock Entry),Kokku tarbitud materjalikulud (varude sisestamise kaudu),
+Total Billable Amount (via Timesheet),Kogu tasuline kogus (ajaveebide kaudu),
+Total Billed Amount (via Sales Invoice),Kogu tasuline summa (arvete kaudu),
+Total Consumed Material Cost (via Stock Entry),Kokku tarbitud materjalikulud (varude sisestamise kaudu),
 Gross Margin,Gross Margin,
 Gross Margin %,Gross Margin%,
 Monitor Progress,Jälgida progressi,
@@ -7521,12 +7521,10 @@
 Dependencies,Sõltuvused,
 Dependent Tasks,Sõltuvad ülesanded,
 Depends on Tasks,Oleneb Ülesanded,
-Actual Start Date (via Time Sheet),Tegelik Start Date (via Time Sheet),
-Actual Time (in hours),Tegelik aeg (tundides),
-Actual End Date (via Time Sheet),Tegelik End Date (via Time Sheet),
-Total Costing Amount (via Time Sheet),Kokku kuluarvestus summa (via Time Sheet),
+Actual Start Date (via Timesheet),Tegelik Start Date (via Time Sheet),
+Actual Time in Hours (via Timesheet),Tegelik aeg (tundides),
+Actual End Date (via Timesheet),Tegelik End Date (via Time Sheet),
 Total Expense Claim (via Expense Claim),Kogukulude nõue (via kuluhüvitussüsteeme),
-Total Billing Amount (via Time Sheet),Arve summa (via Time Sheet),
 Review Date,Review Date,
 Closing Date,Lõpptähtaeg,
 Task Depends On,Task sõltub,
diff --git a/erpnext/translations/fa.csv b/erpnext/translations/fa.csv
index 7d18e27..b5bfab4 100644
--- a/erpnext/translations/fa.csv
+++ b/erpnext/translations/fa.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,پروژه در وب سایت به این کاربران در دسترس خواهد بود,
 Copied From,کپی شده از,
 Start and End Dates,تاریخ شروع و پایان,
-Actual Time (in Hours),زمان واقعی (چند ساعت),
+Actual Time in Hours (via Timesheet),زمان واقعی (چند ساعت),
 Costing and Billing,هزینه یابی و حسابداری,
-Total Costing Amount (via Timesheets),مقدار کل هزینه (از طریق Timesheets),
-Total Expense Claim (via Expense Claims),مجموع ادعای هزینه (از طریق ادعاهای هزینه),
+Total Costing Amount (via Timesheet),مقدار کل هزینه (از طریق Timesheets),
+Total Expense Claim (via Expense Claim),مجموع ادعای هزینه (از طریق ادعاهای هزینه),
 Total Purchase Cost (via Purchase Invoice),هزینه خرید مجموع (از طریق فاکتورخرید ),
 Total Sales Amount (via Sales Order),کل مبلغ فروش (از طریق سفارش خرید),
-Total Billable Amount (via Timesheets),مجموع مبلغ قابل پرداخت (از طریق Timesheets),
-Total Billed Amount (via Sales Invoices),مجموع مبلغ پرداخت شده (از طریق صورتحساب فروش),
-Total Consumed Material Cost  (via Stock Entry),مجموع هزینه مصرف مواد (از طریق ورودی سهام),
+Total Billable Amount (via Timesheet),مجموع مبلغ قابل پرداخت (از طریق Timesheets),
+Total Billed Amount (via Sales Invoice),مجموع مبلغ پرداخت شده (از طریق صورتحساب فروش),
+Total Consumed Material Cost (via Stock Entry),مجموع هزینه مصرف مواد (از طریق ورودی سهام),
 Gross Margin,حاشیه ناخالص,
 Gross Margin %,حاشیه ناخالص٪,
 Monitor Progress,مانیتور پیشرفت,
@@ -7521,12 +7521,10 @@
 Dependencies,وابستگی ها,
 Dependent Tasks,وظایف وابسته,
 Depends on Tasks,بستگی به وظایف,
-Actual Start Date (via Time Sheet),واقعی تاریخ شروع (از طریق زمان ورق),
-Actual Time (in hours),زمان واقعی (در ساعت),
-Actual End Date (via Time Sheet),واقعی پایان تاریخ (از طریق زمان ورق),
-Total Costing Amount (via Time Sheet),مجموع هزینه یابی مقدار (از طریق زمان ورق),
+Actual Start Date (via Timesheet),واقعی تاریخ شروع (از طریق زمان ورق),
+Actual Time in Hours (via Timesheet),زمان واقعی (در ساعت),
+Actual End Date (via Timesheet),واقعی پایان تاریخ (از طریق زمان ورق),
 Total Expense Claim (via Expense Claim),ادعای هزینه کل (از طریق ادعای هزینه),
-Total Billing Amount (via Time Sheet),مبلغ کل حسابداری (از طریق زمان ورق),
 Review Date,بررسی تاریخ,
 Closing Date,اختتامیه عضویت,
 Task Depends On,کار بستگی به,
diff --git a/erpnext/translations/fi.csv b/erpnext/translations/fi.csv
index c700f60..b374fb1 100644
--- a/erpnext/translations/fi.csv
+++ b/erpnext/translations/fi.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projekti on näiden käyttäjien nähtävissä www-sivustolla,
 Copied From,kopioitu,
 Start and End Dates,Alkamis- ja päättymisajankohta,
-Actual Time (in Hours),Todellinen aika (tunteina),
+Actual Time in Hours (via Timesheet),Todellinen aika (tunteina),
 Costing and Billing,Kustannuslaskenta ja laskutus,
-Total Costing Amount (via Timesheets),Kokonaiskustannusmäärä (aikataulujen mukaan),
-Total Expense Claim (via Expense Claims),Kulukorvaus yhteensä (kulukorvauksesta),
+Total Costing Amount (via Timesheet),Kokonaiskustannusmäärä (aikataulujen mukaan),
+Total Expense Claim (via Expense Claim),Kulukorvaus yhteensä (kulukorvauksesta),
 Total Purchase Cost (via Purchase Invoice),hankintakustannusten kokonaismäärä (ostolaskuista),
 Total Sales Amount (via Sales Order),Myyntimäärän kokonaismäärä (myyntitilauksen mukaan),
-Total Billable Amount (via Timesheets),Laskutettava summa yhteensä (kautta aikajaksoja),
-Total Billed Amount (via Sales Invoices),Laskutettu kokonaissumma (myyntilaskut),
-Total Consumed Material Cost  (via Stock Entry),Kulutettu kokonaiskustannus (osakemäärällä),
+Total Billable Amount (via Timesheet),Laskutettava summa yhteensä (kautta aikajaksoja),
+Total Billed Amount (via Sales Invoice),Laskutettu kokonaissumma (myyntilaskut),
+Total Consumed Material Cost (via Stock Entry),Kulutettu kokonaiskustannus (osakemäärällä),
 Gross Margin,bruttokate,
 Gross Margin %,bruttokate %,
 Monitor Progress,Seurata edistymistä,
@@ -7521,12 +7521,10 @@
 Dependencies,riippuvuudet,
 Dependent Tasks,Riippuvat tehtävät,
 Depends on Tasks,Riippuu Tehtävät,
-Actual Start Date (via Time Sheet),Todellinen aloituspäivä (via kellokortti),
-Actual Time (in hours),todellinen aika (tunneissa),
-Actual End Date (via Time Sheet),Todellinen Lopetuspäivä (via kellokortti),
-Total Costing Amount (via Time Sheet),Yhteensä Costing Määrä (via Time Sheet),
+Actual Start Date (via Timesheet),Todellinen aloituspäivä (via kellokortti),
+Actual Time in Hours (via Timesheet),todellinen aika (tunneissa),
+Actual End Date (via Timesheet),Todellinen Lopetuspäivä (via kellokortti),
 Total Expense Claim (via Expense Claim),Kulukorvaus yhteensä (kulukorvauksesta),
-Total Billing Amount (via Time Sheet),Total Billing Määrä (via Time Sheet),
 Review Date,Review Date,
 Closing Date,sulkupäivä,
 Task Depends On,Tehtävä riippuu,
diff --git a/erpnext/translations/fr.csv b/erpnext/translations/fr.csv
index 0f6c309..35037fb 100644
--- a/erpnext/translations/fr.csv
+++ b/erpnext/translations/fr.csv
@@ -7480,15 +7480,15 @@
 Project will be accessible on the website to these users,Le Projet sera accessible sur le site web à ces utilisateurs,
 Copied From,Copié Depuis,
 Start and End Dates,Dates de Début et de Fin,
-Actual Time (in Hours),Temps réel (en heures),
+Actual Time in Hours (via Timesheet),Temps réel (en heures),
 Costing and Billing,Coûts et Facturation,
-Total Costing Amount (via Timesheets),Montant total des coûts (via les feuilles de temps),
-Total Expense Claim (via Expense Claims),Total des Notes de Frais (via Notes de Frais),
+Total Costing Amount (via Timesheet),Montant total des coûts (via les feuilles de temps),
+Total Expense Claim (via Expense Claim),Total des Notes de Frais (via Notes de Frais),
 Total Purchase Cost (via Purchase Invoice),Coût d'Achat Total (via Facture d'Achat),
 Total Sales Amount (via Sales Order),Montant total des ventes (via la commande client),
-Total Billable Amount (via Timesheets),Montant total facturable (via les feuilles de temps),
-Total Billed Amount (via Sales Invoices),Montant total facturé (via les factures de vente),
-Total Consumed Material Cost  (via Stock Entry),Coût total du matériel consommé (via écriture de stock),
+Total Billable Amount (via Timesheet),Montant total facturable (via les feuilles de temps),
+Total Billed Amount (via Sales Invoice),Montant total facturé (via les factures de vente),
+Total Consumed Material Cost (via Stock Entry),Coût total du matériel consommé (via écriture de stock),
 Gross Margin,Marge Brute,
 Gross Margin %,Marge Brute %,
 Monitor Progress,Suivre l'avancement,
@@ -7522,12 +7522,10 @@
 Dependencies,Les dépendances,
 Dependent Tasks,Tâches dépendantes,
 Depends on Tasks,Dépend des Tâches,
-Actual Start Date (via Time Sheet),Date de Début Réelle (via la feuille de temps),
-Actual Time (in hours),Temps Réel (en Heures),
-Actual End Date (via Time Sheet),Date de Fin Réelle (via la Feuille de Temps),
-Total Costing Amount (via Time Sheet),Montant Total des Coûts (via Feuille de Temps),
+Actual Start Date (via Timesheet),Date de Début Réelle (via la feuille de temps),
+Actual Time in Hours (via Timesheet),Temps Réel (en Heures),
+Actual End Date (via Timesheet),Date de Fin Réelle (via la Feuille de Temps),
 Total Expense Claim (via Expense Claim),Total des Notes de Frais (via Note de Frais),
-Total Billing Amount (via Time Sheet),Montant Total de Facturation (via Feuille de Temps),
 Review Date,Date de Revue,
 Closing Date,Date de Clôture,
 Task Depends On,Tâche Dépend De,
diff --git a/erpnext/translations/gu.csv b/erpnext/translations/gu.csv
index b26d2f3..439b782 100644
--- a/erpnext/translations/gu.csv
+++ b/erpnext/translations/gu.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,પ્રોજેક્ટ આ વપરાશકર્તાઓ માટે વેબસાઇટ પર સુલભ હશે,
 Copied From,નકલ,
 Start and End Dates,શરૂ કરો અને તારીખો અંત,
-Actual Time (in Hours),વાસ્તવિક સમય (કલાકોમાં),
+Actual Time in Hours (via Timesheet),વાસ્તવિક સમય (કલાકોમાં),
 Costing and Billing,પડતર અને બિલિંગ,
-Total Costing Amount (via Timesheets),કુલ ખર્ચની રકમ (ટાઇમ્સશીટ્સ દ્વારા),
-Total Expense Claim (via Expense Claims),કુલ ખર્ચ દાવો (ખર્ચ દાવાઓ મારફતે),
+Total Costing Amount (via Timesheet),કુલ ખર્ચની રકમ (ટાઇમ્સશીટ્સ દ્વારા),
+Total Expense Claim (via Expense Claim),કુલ ખર્ચ દાવો (ખર્ચ દાવાઓ મારફતે),
 Total Purchase Cost (via Purchase Invoice),કુલ ખરીદ કિંમત (ખરીદી ભરતિયું મારફતે),
 Total Sales Amount (via Sales Order),કુલ સેલ્સ રકમ (સેલ્સ ઓર્ડર દ્વારા),
-Total Billable Amount (via Timesheets),કુલ બિલવાળી રકમ (ટાઇમ્સશીટ્સ દ્વારા),
-Total Billed Amount (via Sales Invoices),કુલ બિલની રકમ (સેલ્સ ઇન્વૉઇસેસ દ્વારા),
-Total Consumed Material Cost  (via Stock Entry),કુલ કન્ઝ્યુમડ મટિરિયલ કોસ્ટ (સ્ટોક એન્ટ્રી દ્વારા),
+Total Billable Amount (via Timesheet),કુલ બિલવાળી રકમ (ટાઇમ્સશીટ્સ દ્વારા),
+Total Billed Amount (via Sales Invoice),કુલ બિલની રકમ (સેલ્સ ઇન્વૉઇસેસ દ્વારા),
+Total Consumed Material Cost (via Stock Entry),કુલ કન્ઝ્યુમડ મટિરિયલ કોસ્ટ (સ્ટોક એન્ટ્રી દ્વારા),
 Gross Margin,એકંદર માર્જીન,
 Gross Margin %,એકંદર માર્જીન%,
 Monitor Progress,મોનિટર પ્રગતિ,
@@ -7521,12 +7521,10 @@
 Dependencies,અવલંબન,
 Dependent Tasks,આશ્રિત કાર્યો,
 Depends on Tasks,કાર્યો પર આધાર રાખે છે,
-Actual Start Date (via Time Sheet),વાસ્તવિક પ્રારંભ તારીખ (સમયનો શીટ મારફતે),
-Actual Time (in hours),(કલાકોમાં) વાસ્તવિક સમય,
-Actual End Date (via Time Sheet),વાસ્તવિક ઓવરને તારીખ (સમયનો શીટ મારફતે),
-Total Costing Amount (via Time Sheet),કુલ પડતર રકમ (સમયનો શીટ મારફતે),
+Actual Start Date (via Timesheet),વાસ્તવિક પ્રારંભ તારીખ (સમયનો શીટ મારફતે),
+Actual Time in Hours (via Timesheet),(કલાકોમાં) વાસ્તવિક સમય,
+Actual End Date (via Timesheet),વાસ્તવિક ઓવરને તારીખ (સમયનો શીટ મારફતે),
 Total Expense Claim (via Expense Claim),(ખર્ચ દાવો મારફતે) કુલ ખર્ચ દાવો,
-Total Billing Amount (via Time Sheet),કુલ બિલિંગ રકમ (સમયનો શીટ મારફતે),
 Review Date,સમીક્ષા તારીખ,
 Closing Date,છેલ્લી તારીખ,
 Task Depends On,કાર્ય પર આધાર રાખે છે,
diff --git a/erpnext/translations/he.csv b/erpnext/translations/he.csv
index e40b68e..1abdc58 100644
--- a/erpnext/translations/he.csv
+++ b/erpnext/translations/he.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,הפרויקט יהיה נגיש באתר למשתמשים אלה,
 Copied From,הועתק מ,
 Start and End Dates,תאריכי התחלה וסיום,
-Actual Time (in Hours),זמן בפועל (בשעות),
+Actual Time in Hours (via Timesheet),זמן בפועל (בשעות),
 Costing and Billing,תמחיר וחיובים,
-Total Costing Amount (via Timesheets),סכום עלות כולל (באמצעות גיליונות זמנים),
-Total Expense Claim (via Expense Claims),תביעת הוצאות כוללת (באמצעות תביעות הוצאות),
+Total Costing Amount (via Timesheet),סכום עלות כולל (באמצעות גיליונות זמנים),
+Total Expense Claim (via Expense Claim),תביעת הוצאות כוללת (באמצעות תביעות הוצאות),
 Total Purchase Cost (via Purchase Invoice),עלות רכישה כוללת (באמצעות רכישת חשבונית),
 Total Sales Amount (via Sales Order),סכום מכירות כולל (באמצעות הזמנת מכירה),
-Total Billable Amount (via Timesheets),הסכום הכולל לחיוב (באמצעות גיליונות זמנים),
-Total Billed Amount (via Sales Invoices),סכום חיוב כולל (באמצעות חשבוניות מכירה),
-Total Consumed Material Cost  (via Stock Entry),עלות חומר נצרכת כוללת (באמצעות הזנת מלאי),
+Total Billable Amount (via Timesheet),הסכום הכולל לחיוב (באמצעות גיליונות זמנים),
+Total Billed Amount (via Sales Invoice),סכום חיוב כולל (באמצעות חשבוניות מכירה),
+Total Consumed Material Cost (via Stock Entry),עלות חומר נצרכת כוללת (באמצעות הזנת מלאי),
 Gross Margin,שיעור רווח גולמי,
 Gross Margin %,% שיעור רווח גולמי,
 Monitor Progress,עקוב אחר ההתקדמות,
@@ -7521,12 +7521,10 @@
 Dependencies,תלות,
 Dependent Tasks,משימות תלויות,
 Depends on Tasks,תלוי במשימות,
-Actual Start Date (via Time Sheet),תאריך התחלה בפועל (באמצעות גיליון זמן),
-Actual Time (in hours),זמן בפועל (בשעות),
-Actual End Date (via Time Sheet),תאריך סיום בפועל (באמצעות גיליון זמן),
-Total Costing Amount (via Time Sheet),סה&quot;כ תמחיר הסכום (באמצעות גיליון זמן),
+Actual Start Date (via Timesheet),תאריך התחלה בפועל (באמצעות גיליון זמן),
+Actual Time in Hours (via Timesheet),זמן בפועל (בשעות),
+Actual End Date (via Timesheet),תאריך סיום בפועל (באמצעות גיליון זמן),
 Total Expense Claim (via Expense Claim),תביעה סה&quot;כ הוצאות (באמצעות תביעת הוצאות),
-Total Billing Amount (via Time Sheet),סכום לחיוב סה&quot;כ (דרך הזמן גיליון),
 Review Date,תאריך סקירה,
 Closing Date,תאריך סגירה,
 Task Depends On,המשימה תלויה ב,
diff --git a/erpnext/translations/hi.csv b/erpnext/translations/hi.csv
index 78094d7..e5664a8 100644
--- a/erpnext/translations/hi.csv
+++ b/erpnext/translations/hi.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,परियोजना इन उपयोगकर्ताओं के लिए वेबसाइट पर सुलभ हो जाएगा,
 Copied From,से प्रतिलिपि बनाई गई,
 Start and End Dates,आरंभ और अंत तारीखें,
-Actual Time (in Hours),वास्तविक समय (घंटे में),
+Actual Time in Hours (via Timesheet),वास्तविक समय (घंटे में),
 Costing and Billing,लागत और बिलिंग,
-Total Costing Amount (via Timesheets),कुल लागत (टाइम्सशीट्स के माध्यम से),
-Total Expense Claim (via Expense Claims),कुल खर्च दावा (खर्च का दावा के माध्यम से),
+Total Costing Amount (via Timesheet),कुल लागत (टाइम्सशीट्स के माध्यम से),
+Total Expense Claim (via Expense Claim),कुल खर्च दावा (खर्च का दावा के माध्यम से),
 Total Purchase Cost (via Purchase Invoice),कुल खरीद मूल्य (खरीद चालान के माध्यम से),
 Total Sales Amount (via Sales Order),कुल बिक्री राशि (बिक्री आदेश के माध्यम से),
-Total Billable Amount (via Timesheets),कुल बिल योग्य राशि (टाइम्सशीट्स के माध्यम से),
-Total Billed Amount (via Sales Invoices),कुल बिल राशि (बिक्री चालान के माध्यम से),
-Total Consumed Material Cost  (via Stock Entry),कुल उपभोजित सामग्री लागत (स्टॉक प्रविष्टि के माध्यम से),
+Total Billable Amount (via Timesheet),कुल बिल योग्य राशि (टाइम्सशीट्स के माध्यम से),
+Total Billed Amount (via Sales Invoice),कुल बिल राशि (बिक्री चालान के माध्यम से),
+Total Consumed Material Cost (via Stock Entry),कुल उपभोजित सामग्री लागत (स्टॉक प्रविष्टि के माध्यम से),
 Gross Margin,सकल मुनाफा,
 Gross Margin %,सकल मार्जिन%,
 Monitor Progress,प्रगति की निगरानी करें,
@@ -7521,12 +7521,10 @@
 Dependencies,निर्भरता,
 Dependent Tasks,आश्रित कार्य,
 Depends on Tasks,कार्य पर निर्भर करता है,
-Actual Start Date (via Time Sheet),वास्तविक प्रारंभ तिथि (समय पत्रक के माध्यम से),
-Actual Time (in hours),(घंटे में) वास्तविक समय,
-Actual End Date (via Time Sheet),वास्तविक अंत तिथि (समय पत्रक के माध्यम से),
-Total Costing Amount (via Time Sheet),कुल लागत राशि (समय पत्रक के माध्यम से),
+Actual Start Date (via Timesheet),वास्तविक प्रारंभ तिथि (समय पत्रक के माध्यम से),
+Actual Time in Hours (via Timesheet),(घंटे में) वास्तविक समय,
+Actual End Date (via Timesheet),वास्तविक अंत तिथि (समय पत्रक के माध्यम से),
 Total Expense Claim (via Expense Claim),(व्यय दावा) के माध्यम से कुल खर्च का दावा,
-Total Billing Amount (via Time Sheet),कुल बिलिंग राशि (समय पत्रक के माध्यम से),
 Review Date,तिथि की समीक्षा,
 Closing Date,तिथि समापन,
 Task Depends On,काम पर निर्भर करता है,
diff --git a/erpnext/translations/hr.csv b/erpnext/translations/hr.csv
index 232832f..fa54317 100644
--- a/erpnext/translations/hr.csv
+++ b/erpnext/translations/hr.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projekt će biti dostupan na web-stranici ovih korisnika,
 Copied From,Kopiran iz,
 Start and End Dates,Datumi početka i završetka,
-Actual Time (in Hours),Stvarno vrijeme (u satima),
+Actual Time in Hours (via Timesheet),Stvarno vrijeme (u satima),
 Costing and Billing,Obračun troškova i naplate,
-Total Costing Amount (via Timesheets),Ukupni iznos troškova (putem vremenskih brojeva),
-Total Expense Claim (via Expense Claims),Ukupni rashodi Zatraži (preko Rashodi potraživanja),
+Total Costing Amount (via Timesheet),Ukupni iznos troškova (putem vremenskih brojeva),
+Total Expense Claim (via Expense Claim),Ukupni rashodi Zatraži (preko Rashodi potraživanja),
 Total Purchase Cost (via Purchase Invoice),Ukupno troškovi nabave (putem kupnje proizvoda),
 Total Sales Amount (via Sales Order),Ukupni iznos prodaje (putem prodajnog naloga),
-Total Billable Amount (via Timesheets),Ukupan iznos koji se naplaćuje (putem vremenskih brojeva),
-Total Billed Amount (via Sales Invoices),Ukupni iznos naplaćenog računa (putem faktura prodaje),
-Total Consumed Material Cost  (via Stock Entry),Ukupni trošak potrošenog materijala (putem stanja na burzi),
+Total Billable Amount (via Timesheet),Ukupan iznos koji se naplaćuje (putem vremenskih brojeva),
+Total Billed Amount (via Sales Invoice),Ukupni iznos naplaćenog računa (putem faktura prodaje),
+Total Consumed Material Cost (via Stock Entry),Ukupni trošak potrošenog materijala (putem stanja na burzi),
 Gross Margin,Bruto marža,
 Gross Margin %,Bruto marža %,
 Monitor Progress,Monitor napredak,
@@ -7521,12 +7521,10 @@
 Dependencies,ovisnosti,
 Dependent Tasks,Zavisni zadaci,
 Depends on Tasks,Ovisi o poslovima,
-Actual Start Date (via Time Sheet),Stvarni datum početka (putem vremenska tablica),
-Actual Time (in hours),Stvarno vrijeme (u satima),
-Actual End Date (via Time Sheet),Stvarni Datum završetka (putem vremenska tablica),
-Total Costing Amount (via Time Sheet),Ukupno troška Iznos (preko vremenska tablica),
+Actual Start Date (via Timesheet),Stvarni datum početka (putem vremenska tablica),
+Actual Time in Hours (via Timesheet),Stvarno vrijeme (u satima),
+Actual End Date (via Timesheet),Stvarni Datum završetka (putem vremenska tablica),
 Total Expense Claim (via Expense Claim),Ukupni rashodi Zatraži (preko Rashodi Zahtjeva),
-Total Billing Amount (via Time Sheet),Ukupan iznos za naplatu (preko vremenska tablica),
 Review Date,Recenzija Datum,
 Closing Date,Datum zatvaranja,
 Task Depends On,Zadatak ovisi o,
diff --git a/erpnext/translations/hu.csv b/erpnext/translations/hu.csv
index e3dcd61..c56f5b0 100644
--- a/erpnext/translations/hu.csv
+++ b/erpnext/translations/hu.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,"Project téma elérhető lesz a honlapon, ezeknek a felhasználóknak",
 Copied From,Innen másolt,
 Start and End Dates,Kezdetének és befejezésének időpontjai,
-Actual Time (in Hours),Tényleges idő (órában),
+Actual Time in Hours (via Timesheet),Tényleges idő (órában),
 Costing and Billing,Költség- és számlázás,
-Total Costing Amount (via Timesheets),Összköltség összege (időnyilvántartó alapján),
-Total Expense Claim (via Expense Claims),Teljes Költség Követelés (költségtérítési igényekkel),
+Total Costing Amount (via Timesheet),Összköltség összege (időnyilvántartó alapján),
+Total Expense Claim (via Expense Claim),Teljes Költség Követelés (költségtérítési igényekkel),
 Total Purchase Cost (via Purchase Invoice),Beszerzés teljes költsége (Beszerzési számla alapján),
 Total Sales Amount (via Sales Order),Értékesítési összérték (értékesítési rendelés szerint),
-Total Billable Amount (via Timesheets),Összesen számlázható összeg (Jelenléti ív alapján),
-Total Billed Amount (via Sales Invoices),Összesen számlázott összeg (értékesítési számlák alapján),
-Total Consumed Material Cost  (via Stock Entry),Összesített anyagköltség (raktári bejegyzés  útján),
+Total Billable Amount (via Timesheet),Összesen számlázható összeg (Jelenléti ív alapján),
+Total Billed Amount (via Sales Invoice),Összesen számlázott összeg (értékesítési számlák alapján),
+Total Consumed Material Cost (via Stock Entry),Összesített anyagköltség (raktári bejegyzés  útján),
 Gross Margin,Bruttó árkülönbözet,
 Gross Margin %,Bruttó árkülönbözet %,
 Monitor Progress,Folyamatok nyomonkövetése,
@@ -7521,12 +7521,10 @@
 Dependencies,Dependencies,
 Dependent Tasks,Függő feladatok,
 Depends on Tasks,Függ a Feladatoktól,
-Actual Start Date (via Time Sheet),Tényleges kezdési dátum (Idő nyilvántartó szerint),
-Actual Time (in hours),Tényleges idő (óra),
-Actual End Date (via Time Sheet),Tényleges befejezés dátuma (Idő nyilvántartó szerint),
-Total Costing Amount (via Time Sheet),Összes költség összeg ((Idő nyilvántartó szerint),
+Actual Start Date (via Timesheet),Tényleges kezdési dátum (Idő nyilvántartó szerint),
+Actual Time in Hours (via Timesheet),Tényleges idő (óra),
+Actual End Date (via Timesheet),Tényleges befejezés dátuma (Idő nyilvántartó szerint),
 Total Expense Claim (via Expense Claim),Teljes Költség Követelés (költségtérítési igényekkel),
-Total Billing Amount (via Time Sheet),Összesen számlázási összeg ((Idő nyilvántartó szerint),
 Review Date,Megtekintés dátuma,
 Closing Date,Benyújtási határidő,
 Task Depends On,A feladat ettől függ:,
diff --git a/erpnext/translations/id.csv b/erpnext/translations/id.csv
index ccbb002..649c808 100644
--- a/erpnext/translations/id.csv
+++ b/erpnext/translations/id.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Proyek akan dapat diakses di website pengguna ini,
 Copied From,Disalin dari,
 Start and End Dates,Mulai dan Akhir Tanggal,
-Actual Time (in Hours),Waktu Aktual (dalam Jam),
+Actual Time in Hours (via Timesheet),Waktu Aktual (dalam Jam),
 Costing and Billing,Biaya dan Penagihan,
-Total Costing Amount (via Timesheets),Total Costing Amount (melalui Timesheets),
-Total Expense Claim (via Expense Claims),Jumlah Klaim Beban (via Klaim Beban),
+Total Costing Amount (via Timesheet),Total Costing Amount (melalui Timesheets),
+Total Expense Claim (via Expense Claim),Jumlah Klaim Beban (via Klaim Beban),
 Total Purchase Cost (via Purchase Invoice),Total Biaya Pembelian (Purchase Invoice via),
 Total Sales Amount (via Sales Order),Total Jumlah Penjualan (via Sales Order),
-Total Billable Amount (via Timesheets),Total Jumlah yang Dapat Ditagih (via Timesheets),
-Total Billed Amount (via Sales Invoices),Total Jumlah Bills (via Faktur Penjualan),
-Total Consumed Material Cost  (via Stock Entry),Total Biaya Bahan yang Dikonsumsi (melalui Entri Stok),
+Total Billable Amount (via Timesheet),Total Jumlah yang Dapat Ditagih (via Timesheets),
+Total Billed Amount (via Sales Invoice),Total Jumlah Bills (via Faktur Penjualan),
+Total Consumed Material Cost (via Stock Entry),Total Biaya Bahan yang Dikonsumsi (melalui Entri Stok),
 Gross Margin,Margin kotor,
 Gross Margin %,Gross Margin%,
 Monitor Progress,Pantau Kemajuan,
@@ -7521,12 +7521,10 @@
 Dependencies,Ketergantungan,
 Dependent Tasks,Tugas Tanggungan,
 Depends on Tasks,Tergantung pada Tugas,
-Actual Start Date (via Time Sheet),Aktual Mulai Tanggal (via Waktu Lembar),
-Actual Time (in hours),Waktu Aktual (dalam Jam),
-Actual End Date (via Time Sheet),Tanggal Akhir Aktual (dari Lembar Waktu),
-Total Costing Amount (via Time Sheet),Total Costing Jumlah (via Waktu Lembar),
+Actual Start Date (via Timesheet),Aktual Mulai Tanggal (via Waktu Lembar),
+Actual Time in Hours (via Timesheet),Waktu Aktual (dalam Jam),
+Actual End Date (via Timesheet),Tanggal Akhir Aktual (dari Lembar Waktu),
 Total Expense Claim (via Expense Claim),Jumlah Klaim Beban (via Beban Klaim),
-Total Billing Amount (via Time Sheet),Jumlah Total Penagihan (via Waktu Lembar),
 Review Date,Tanggal Ulasan,
 Closing Date,Tanggal Penutupan,
 Task Depends On,Tugas Tergantung Pada,
diff --git a/erpnext/translations/is.csv b/erpnext/translations/is.csv
index 5f11c63..8319a53 100644
--- a/erpnext/translations/is.csv
+++ b/erpnext/translations/is.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Verkefnið verður aðgengilegur á vef þessara notenda,
 Copied From,Afritað frá,
 Start and End Dates,Upphafs- og lokadagsetningar,
-Actual Time (in Hours),Raunverulegur tími (í klukkustundum),
+Actual Time in Hours (via Timesheet),Raunverulegur tími (í klukkustundum),
 Costing and Billing,Kosta og innheimtu,
-Total Costing Amount (via Timesheets),Samtals kostnaðarverð (með tímariti),
-Total Expense Claim (via Expense Claims),Total Expense Krafa (með kostnað kröfum),
+Total Costing Amount (via Timesheet),Samtals kostnaðarverð (með tímariti),
+Total Expense Claim (via Expense Claim),Total Expense Krafa (með kostnað kröfum),
 Total Purchase Cost (via Purchase Invoice),Total Kaup Kostnaður (í gegnum kaupa Reikningar),
 Total Sales Amount (via Sales Order),Samtals sölugjald (með sölupöntun),
-Total Billable Amount (via Timesheets),Samtals reikningshæft magn (með tímariti),
-Total Billed Amount (via Sales Invoices),Samtals innheimt upphæð (með sölutölum),
-Total Consumed Material Cost  (via Stock Entry),Heildarkostnaður neyslukostnaðar (í gegnum vöruskipti),
+Total Billable Amount (via Timesheet),Samtals reikningshæft magn (með tímariti),
+Total Billed Amount (via Sales Invoice),Samtals innheimt upphæð (með sölutölum),
+Total Consumed Material Cost (via Stock Entry),Heildarkostnaður neyslukostnaðar (í gegnum vöruskipti),
 Gross Margin,Heildarframlegð,
 Gross Margin %,Heildarframlegð %,
 Monitor Progress,Skjár framfarir,
@@ -7521,12 +7521,10 @@
 Dependencies,Ósjálfstæði,
 Dependent Tasks,Ósjálfstætt verkefni,
 Depends on Tasks,Fer á Verkefni,
-Actual Start Date (via Time Sheet),Raunbyrjunardagsetning (með Time Sheet),
-Actual Time (in hours),Tíminn (í klst),
-Actual End Date (via Time Sheet),Raunveruleg End Date (með Time Sheet),
-Total Costing Amount (via Time Sheet),Total kostnaðarútreikninga Magn (með Time Sheet),
+Actual Start Date (via Timesheet),Raunbyrjunardagsetning (með Time Sheet),
+Actual Time in Hours (via Timesheet),Tíminn (í klst),
+Actual End Date (via Timesheet),Raunveruleg End Date (með Time Sheet),
 Total Expense Claim (via Expense Claim),Total Expense Krafa (með kostnað kröfu),
-Total Billing Amount (via Time Sheet),Total Billing Magn (með Time Sheet),
 Review Date,Review Date,
 Closing Date,lokadegi,
 Task Depends On,Verkefni veltur á,
diff --git a/erpnext/translations/it.csv b/erpnext/translations/it.csv
index 0dbde45..b6b9bcc 100644
--- a/erpnext/translations/it.csv
+++ b/erpnext/translations/it.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Progetto sarà accessibile sul sito web per questi utenti,
 Copied From,Copiato da,
 Start and End Dates,Date di inizio e fine,
-Actual Time (in Hours),Tempo effettivo (in ore),
+Actual Time in Hours (via Timesheet),Tempo effettivo (in ore),
 Costing and Billing,Costi e Fatturazione,
-Total Costing Amount (via Timesheets),Total Costing Amount (via Timesheets),
-Total Expense Claim (via Expense Claims),Total Expense Claim (via rimborsi spese),
+Total Costing Amount (via Timesheet),Total Costing Amount (via Timesheet),
+Total Expense Claim (via Expense Claim),Total Expense Claim (via rimborsi spese),
 Total Purchase Cost (via Purchase Invoice),Costo totale di acquisto (tramite acquisto fattura),
 Total Sales Amount (via Sales Order),Importo totale vendite (tramite ordine cliente),
-Total Billable Amount (via Timesheets),Importo totale fatturabile (tramite Timesheets),
-Total Billed Amount (via Sales Invoices),Importo fatturato totale (tramite fatture di vendita),
-Total Consumed Material Cost  (via Stock Entry),Costo totale del materiale consumato (tramite stock),
+Total Billable Amount (via Timesheet),Importo totale fatturabile (tramite Timesheets),
+Total Billed Amount (via Sales Invoice),Importo fatturato totale (tramite fatture di vendita),
+Total Consumed Material Cost (via Stock Entry),Costo totale del materiale consumato (tramite stock),
 Gross Margin,Margine lordo,
 Gross Margin %,Margine lordo %,
 Monitor Progress,Monitorare i progressi,
@@ -7521,12 +7521,10 @@
 Dependencies,dipendenze,
 Dependent Tasks,Attività dipendenti,
 Depends on Tasks,Dipende Compiti,
-Actual Start Date (via Time Sheet),Data di inizio effettiva (da Time Sheet),
-Actual Time (in hours),Tempo reale (in ore),
-Actual End Date (via Time Sheet),Data di fine effettiva (da Time Sheet),
-Total Costing Amount (via Time Sheet),Totale Costing Importo (tramite Time Sheet),
+Actual Start Date (via Timesheet),Data di inizio effettiva (da Time Sheet),
+Actual Time in Hours (via Timesheet),Tempo reale (in ore),
+Actual End Date (via Timesheet),Data di fine effettiva (da Time Sheet),
 Total Expense Claim (via Expense Claim),Rimborso spese totale (via Expense Claim),
-Total Billing Amount (via Time Sheet),Importo totale di fatturazione (tramite Time Sheet),
 Review Date,Data di revisione,
 Closing Date,Data Chiusura,
 Task Depends On,L'attività dipende da,
diff --git a/erpnext/translations/ja.csv b/erpnext/translations/ja.csv
index 210c78e..16acc24 100644
--- a/erpnext/translations/ja.csv
+++ b/erpnext/translations/ja.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,プロジェクトでは、これらのユーザーにウェブサイト上でアクセスできるようになります,
 Copied From,コピー元,
 Start and End Dates,開始・終了日,
-Actual Time (in Hours),実際の時間（時間単位）,
+Actual Time in Hours (via Timesheet),実際の時間（時間単位）,
 Costing and Billing,原価計算と請求,
-Total Costing Amount (via Timesheets),合計原価計算（タイムシートから）,
-Total Expense Claim (via Expense Claims),総経費請求（経費請求経由）,
+Total Costing Amount (via Timesheet),合計原価計算（タイムシートから）,
+Total Expense Claim (via Expense Claim),総経費請求（経費請求経由）,
 Total Purchase Cost (via Purchase Invoice),総仕入費用（仕入請求書経由）,
 Total Sales Amount (via Sales Order),合計売上金額（受注による）,
-Total Billable Amount (via Timesheets),請求可能総額（タイムシートから）,
-Total Billed Amount (via Sales Invoices),総請求金額（請求書による）,
-Total Consumed Material Cost  (via Stock Entry),総消費材料費（入庫による）,
+Total Billable Amount (via Timesheet),請求可能総額（タイムシートから）,
+Total Billed Amount (via Sales Invoice),総請求金額（請求書による）,
+Total Consumed Material Cost (via Stock Entry),総消費材料費（入庫による）,
 Gross Margin,売上総利益,
 Gross Margin %,粗利益率％,
 Monitor Progress,モニターの進捗状況,
@@ -7521,12 +7521,10 @@
 Dependencies,依存関係,
 Dependent Tasks,依存タスク,
 Depends on Tasks,タスクに依存,
-Actual Start Date (via Time Sheet),実際の開始日（勤務表による）,
-Actual Time (in hours),実際の時間（時）,
-Actual End Date (via Time Sheet),実際の終了日（勤務表による）,
-Total Costing Amount (via Time Sheet),総原価計算量（勤務表による）,
+Actual Start Date (via Timesheet),実際の開始日（勤務表による）,
+Actual Time in Hours (via Timesheet),実際の時間（時）,
+Actual End Date (via Timesheet),実際の終了日（勤務表による）,
 Total Expense Claim (via Expense Claim),総経費請求（経費請求経由）,
-Total Billing Amount (via Time Sheet),合計請求金額（勤務表による）,
 Review Date,レビュー日,
 Closing Date,締切日,
 Task Depends On,依存するタスク,
diff --git a/erpnext/translations/km.csv b/erpnext/translations/km.csv
index 1eb85cc..41e239d 100644
--- a/erpnext/translations/km.csv
+++ b/erpnext/translations/km.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,គម្រោងនឹងត្រូវបានចូលដំណើរការបាននៅលើគេហទំព័រទាំងនេះដល់អ្នកប្រើ,
 Copied From,ចម្លងពី,
 Start and End Dates,ចាប់ផ្តើមនិងបញ្ចប់កាលបរិច្ឆេទ,
-Actual Time (in Hours),ពេលវេលាជាក់ស្តែង (គិតជាម៉ោង),
+Actual Time in Hours (via Timesheet),ពេលវេលាជាក់ស្តែង (គិតជាម៉ោង),
 Costing and Billing,និងវិក័យប័ត្រមានតម្លៃ,
-Total Costing Amount (via Timesheets),ចំនួនទឹកប្រាក់សរុបសរុប (តាមរយៈសន្លឹកកិច្ចការ),
-Total Expense Claim (via Expense Claims),ពាក្យបណ្តឹងលើការចំណាយសរុប (តាមរយៈការប្តឹងទាមទារសំណងលើការចំណាយ),
+Total Costing Amount (via Timesheet),ចំនួនទឹកប្រាក់សរុបសរុប (តាមរយៈសន្លឹកកិច្ចការ),
+Total Expense Claim (via Expense Claim),ពាក្យបណ្តឹងលើការចំណាយសរុប (តាមរយៈការប្តឹងទាមទារសំណងលើការចំណាយ),
 Total Purchase Cost (via Purchase Invoice),ការចំណាយទិញសរុប (តាមរយៈការទិញវិក័យប័ត្រ),
 Total Sales Amount (via Sales Order),បរិមាណលក់សរុប (តាមរយៈការបញ្ជាទិញ),
-Total Billable Amount (via Timesheets),បរិមាណសរុបដែលអាចចេញវិក្កយបត្រ (តាមរយៈកម្រងសន្លឹកកិច្ចការ),
-Total Billed Amount (via Sales Invoices),បរិមាណសរុបដែលបានចេញវិក្កយបត្រ (តាមវិក័យប័ត្រលក់),
-Total Consumed Material Cost  (via Stock Entry),ចំណាយសម្ភារៈប្រើប្រាស់សរុប (តាមរយៈធាតុចូល),
+Total Billable Amount (via Timesheet),បរិមាណសរុបដែលអាចចេញវិក្កយបត្រ (តាមរយៈកម្រងសន្លឹកកិច្ចការ),
+Total Billed Amount (via Sales Invoice),បរិមាណសរុបដែលបានចេញវិក្កយបត្រ (តាមវិក័យប័ត្រលក់),
+Total Consumed Material Cost (via Stock Entry),ចំណាយសម្ភារៈប្រើប្រាស់សរុប (តាមរយៈធាតុចូល),
 Gross Margin,ប្រាក់ចំណេញដុល,
 Gross Margin %,រឹម% សរុបបាន,
 Monitor Progress,វឌ្ឍនភាពម៉ូនីទ័រ,
@@ -7521,12 +7521,10 @@
 Dependencies,ភាពអាស្រ័យ។,
 Dependent Tasks,ភារកិច្ចដែលពឹងផ្អែក។,
 Depends on Tasks,អាស្រ័យលើភារកិច្ច,
-Actual Start Date (via Time Sheet),ពិតប្រាកដចាប់ផ្តើមកាលបរិច្ឆេទ (តាមរយៈសន្លឹកម៉ោង),
-Actual Time (in hours),ពេលវេលាពិតប្រាកដ (នៅក្នុងម៉ោងធ្វើការ),
-Actual End Date (via Time Sheet),បញ្ចប់ពិតប្រាកដកាលបរិច្ឆេទ (តាមរយៈសន្លឹកម៉ោង),
-Total Costing Amount (via Time Sheet),សរុបការចំណាយចំនួនទឹកប្រាក់ (តាមរយៈសន្លឹកម៉ោង),
+Actual Start Date (via Timesheet),ពិតប្រាកដចាប់ផ្តើមកាលបរិច្ឆេទ (តាមរយៈសន្លឹកម៉ោង),
+Actual Time in Hours (via Timesheet),ពេលវេលាពិតប្រាកដ (នៅក្នុងម៉ោងធ្វើការ),
+Actual End Date (via Timesheet),បញ្ចប់ពិតប្រាកដកាលបរិច្ឆេទ (តាមរយៈសន្លឹកម៉ោង),
 Total Expense Claim (via Expense Claim),ពាក្យបណ្តឹងការចំណាយសរុប (តាមរយៈបណ្តឹងទាមទារការចំណាយ),
-Total Billing Amount (via Time Sheet),ចំនួនវិក័យប័ត្រសរុប (តាមរយៈសន្លឹកម៉ោង),
 Review Date,ពិនិត្យឡើងវិញកាលបរិច្ឆេទ,
 Closing Date,ថ្ងៃផុតកំណត់,
 Task Depends On,ភារកិច្ចអាស្រ័យលើ,
diff --git a/erpnext/translations/kn.csv b/erpnext/translations/kn.csv
index 4e40c63..558c986 100644
--- a/erpnext/translations/kn.csv
+++ b/erpnext/translations/kn.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,ಪ್ರಾಜೆಕ್ಟ್ ಈ ಬಳಕೆದಾರರಿಗೆ ವೆಬ್ಸೈಟ್ನಲ್ಲಿ ಪ್ರವೇಶಿಸಬಹುದಾಗಿದೆ,
 Copied From,ನಕಲು,
 Start and End Dates,ಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ದಿನಾಂಕ ಎಂಡ್,
-Actual Time (in Hours),ನಿಜವಾದ ಸಮಯ (ಗಂಟೆಗಳಲ್ಲಿ),
+Actual Time in Hours (via Timesheet),ನಿಜವಾದ ಸಮಯ (ಗಂಟೆಗಳಲ್ಲಿ),
 Costing and Billing,ಕಾಸ್ಟಿಂಗ್ ಮತ್ತು ಬಿಲ್ಲಿಂಗ್,
-Total Costing Amount (via Timesheets),ಒಟ್ಟು ವೆಚ್ಚದ ಮೊತ್ತ (ಟೈಮ್ಸ್ಶೀಟ್ಗಳು ಮೂಲಕ),
-Total Expense Claim (via Expense Claims),ಒಟ್ಟು ಖರ್ಚು ಹಕ್ಕು (ಖರ್ಚು ಹಕ್ಕು ಮೂಲಕ),
+Total Costing Amount (via Timesheet),ಒಟ್ಟು ವೆಚ್ಚದ ಮೊತ್ತ (ಟೈಮ್ಸ್ಶೀಟ್ಗಳು ಮೂಲಕ),
+Total Expense Claim (via Expense Claim),ಒಟ್ಟು ಖರ್ಚು ಹಕ್ಕು (ಖರ್ಚು ಹಕ್ಕು ಮೂಲಕ),
 Total Purchase Cost (via Purchase Invoice),ಒಟ್ಟು ಖರೀದಿ ವೆಚ್ಚ (ಖರೀದಿ ಸರಕುಪಟ್ಟಿ ಮೂಲಕ),
 Total Sales Amount (via Sales Order),ಒಟ್ಟು ಮಾರಾಟದ ಮೊತ್ತ (ಸೇಲ್ಸ್ ಆರ್ಡರ್ ಮೂಲಕ),
-Total Billable Amount (via Timesheets),ಒಟ್ಟು ಬಿಲ್ ಮಾಡಬಹುದಾದ ಮೊತ್ತ (ಟೈಮ್ಸ್ಶೀಟ್ಗಳು ಮೂಲಕ),
-Total Billed Amount (via Sales Invoices),ಒಟ್ಟು ಬಿಲ್ ಮಾಡಿದ ಮೊತ್ತ (ಸೇಲ್ಸ್ ಇನ್ವಾಯ್ಸ್ ಮೂಲಕ),
-Total Consumed Material Cost  (via Stock Entry),ಒಟ್ಟು ಸಂಭಾವ್ಯ ವಸ್ತು ವೆಚ್ಚ (ಸ್ಟಾಕ್ ಎಂಟ್ರಿ ಮೂಲಕ),
+Total Billable Amount (via Timesheet),ಒಟ್ಟು ಬಿಲ್ ಮಾಡಬಹುದಾದ ಮೊತ್ತ (ಟೈಮ್ಸ್ಶೀಟ್ಗಳು ಮೂಲಕ),
+Total Billed Amount (via Sales Invoice),ಒಟ್ಟು ಬಿಲ್ ಮಾಡಿದ ಮೊತ್ತ (ಸೇಲ್ಸ್ ಇನ್ವಾಯ್ಸ್ ಮೂಲಕ),
+Total Consumed Material Cost (via Stock Entry),ಒಟ್ಟು ಸಂಭಾವ್ಯ ವಸ್ತು ವೆಚ್ಚ (ಸ್ಟಾಕ್ ಎಂಟ್ರಿ ಮೂಲಕ),
 Gross Margin,ಒಟ್ಟು ಅಂಚು,
 Gross Margin %,ಒಟ್ಟು ಅಂಚು %,
 Monitor Progress,ಪ್ರೋಗ್ರೆಸ್ ಮೇಲ್ವಿಚಾರಣೆ,
@@ -7521,12 +7521,10 @@
 Dependencies,ಅವಲಂಬನೆಗಳು,
 Dependent Tasks,ಅವಲಂಬಿತ ಕಾರ್ಯಗಳು,
 Depends on Tasks,ಕಾರ್ಯಗಳು ಅವಲಂಬಿಸಿದೆ,
-Actual Start Date (via Time Sheet),ನಿಜವಾದ ಪ್ರಾರಂಭ ದಿನಾಂಕ (ಟೈಮ್ ಶೀಟ್ ಮೂಲಕ),
-Actual Time (in hours),(ಘಂಟೆಗಳಲ್ಲಿ) ವಾಸ್ತವ ಟೈಮ್,
-Actual End Date (via Time Sheet),ನಿಜವಾದ ಅಂತಿಮ ದಿನಾಂಕ (ಟೈಮ್ ಶೀಟ್ ಮೂಲಕ),
-Total Costing Amount (via Time Sheet),ಒಟ್ಟು ಕಾಸ್ಟಿಂಗ್ ಪ್ರಮಾಣ (ಟೈಮ್ ಶೀಟ್ ಮೂಲಕ),
+Actual Start Date (via Timesheet),ನಿಜವಾದ ಪ್ರಾರಂಭ ದಿನಾಂಕ (ಟೈಮ್ ಶೀಟ್ ಮೂಲಕ),
+Actual Time in Hours (via Timesheet),(ಘಂಟೆಗಳಲ್ಲಿ) ವಾಸ್ತವ ಟೈಮ್,
+Actual End Date (via Timesheet),ನಿಜವಾದ ಅಂತಿಮ ದಿನಾಂಕ (ಟೈಮ್ ಶೀಟ್ ಮೂಲಕ),
 Total Expense Claim (via Expense Claim),(ಖರ್ಚು ಹಕ್ಕು ಮೂಲಕ) ಒಟ್ಟು ಖರ್ಚು ಹಕ್ಕು,
-Total Billing Amount (via Time Sheet),ಒಟ್ಟು ಬಿಲ್ಲಿಂಗ್ ಪ್ರಮಾಣ (ಟೈಮ್ ಶೀಟ್ ಮೂಲಕ),
 Review Date,ರಿವ್ಯೂ ದಿನಾಂಕ,
 Closing Date,ದಿನಾಂಕ ಕ್ಲೋಸಿಂಗ್,
 Task Depends On,ಟಾಸ್ಕ್ ಅವಲಂಬಿಸಿರುತ್ತದೆ,
diff --git a/erpnext/translations/ko.csv b/erpnext/translations/ko.csv
index 36ec3af..e33e406 100644
--- a/erpnext/translations/ko.csv
+++ b/erpnext/translations/ko.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,프로젝트는 이러한 사용자에게 웹 사이트에 액세스 할 수 있습니다,
 Copied From,에서 복사 됨,
 Start and End Dates,시작 날짜를 종료,
-Actual Time (in Hours),실제 시간 (시간),
+Actual Time in Hours (via Timesheet),실제 시간 (시간),
 Costing and Billing,원가 계산 및 결제,
-Total Costing Amount (via Timesheets),총 원가 계산 금액 (작업 표를 통해),
-Total Expense Claim (via Expense Claims),총 경비 요청 (비용 청구를 통해),
+Total Costing Amount (via Timesheet),총 원가 계산 금액 (작업 표를 통해),
+Total Expense Claim (via Expense Claim),총 경비 요청 (비용 청구를 통해),
 Total Purchase Cost (via Purchase Invoice),총 구매 비용 (구매 송장을 통해),
 Total Sales Amount (via Sales Order),총 판매 금액 (판매 오더를 통한),
-Total Billable Amount (via Timesheets),총 청구 가능 금액 (작업 표를 통해),
-Total Billed Amount (via Sales Invoices),총 청구 금액 (판매 송장을 통해),
-Total Consumed Material Cost  (via Stock Entry),총 소비 된 자재 원가 (재고 입력을 통한),
+Total Billable Amount (via Timesheet),총 청구 가능 금액 (작업 표를 통해),
+Total Billed Amount (via Sales Invoice),총 청구 금액 (판매 송장을 통해),
+Total Consumed Material Cost (via Stock Entry),총 소비 된 자재 원가 (재고 입력을 통한),
 Gross Margin,매출 총 이익률,
 Gross Margin %,매출 총 이익률의 %,
 Monitor Progress,진행 상황 모니터링,
@@ -7521,12 +7521,10 @@
 Dependencies,종속성,
 Dependent Tasks,종속 작업,
 Depends on Tasks,작업에 따라 달라집니다,
-Actual Start Date (via Time Sheet),실제 시작 날짜 (시간 시트를 통해),
-Actual Time (in hours),(시간) 실제 시간,
-Actual End Date (via Time Sheet),실제 종료 날짜 (시간 시트를 통해),
-Total Costing Amount (via Time Sheet),(시간 시트를 통해) 총 원가 계산 금액,
+Actual Start Date (via Timesheet),실제 시작 날짜 (시간 시트를 통해),
+Actual Time in Hours (via Timesheet),(시간) 실제 시간,
+Actual End Date (via Timesheet),실제 종료 날짜 (시간 시트를 통해),
 Total Expense Claim (via Expense Claim),(비용 청구를 통해) 총 경비 요청,
-Total Billing Amount (via Time Sheet),총 결제 금액 (시간 시트를 통해),
 Review Date,검토 날짜,
 Closing Date,마감일,
 Task Depends On,작업에 따라 다릅니다,
diff --git a/erpnext/translations/ku.csv b/erpnext/translations/ku.csv
index 28927a0..35317cf 100644
--- a/erpnext/translations/ku.csv
+++ b/erpnext/translations/ku.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Project li ser malpera ji bo van bikarhênerên were gihiştin,
 Copied From,Kopiyek ji From,
 Start and End Dates,Destpêk û dawiya Kurdî Nexşe,
-Actual Time (in Hours),Dema Rastîn (Bi Demjimêran),
+Actual Time in Hours (via Timesheet),Dema Rastîn (Bi Demjimêran),
 Costing and Billing,Bi qurûşekî û Billing,
-Total Costing Amount (via Timesheets),Giştî Hatina Barkirina (Bi rêya Timesheets),
-Total Expense Claim (via Expense Claims),Total mesrefan (via Îdîayên Expense),
+Total Costing Amount (via Timesheet),Giştî Hatina Barkirina (Bi rêya Timesheets),
+Total Expense Claim (via Expense Claim),Total mesrefan (via Îdîayên Expense),
 Total Purchase Cost (via Purchase Invoice),Total Cost Purchase (via Purchase bi fatûreyên),
 Total Sales Amount (via Sales Order),Giştî ya Firotinê (ji hêla firotina firotanê),
-Total Billable Amount (via Timesheets),Giştî ya Bilind (Bi rêya Timesheets),
-Total Billed Amount (via Sales Invoices),Amûr Barkirî (Bi rêya Barkirina Bazirganî),
-Total Consumed Material Cost  (via Stock Entry),Barkirina Barkirina Tevahiya Giştî (bi rêya Stock Entry),
+Total Billable Amount (via Timesheet),Giştî ya Bilind (Bi rêya Timesheets),
+Total Billed Amount (via Sales Invoice),Amûr Barkirî (Bi rêya Barkirina Bazirganî),
+Total Consumed Material Cost (via Stock Entry),Barkirina Barkirina Tevahiya Giştî (bi rêya Stock Entry),
 Gross Margin,Kenarê Gross,
 Gross Margin %,Kenarê% Gross,
 Monitor Progress,Pêşveçûna Çavdêriyê,
@@ -7521,12 +7521,10 @@
 Dependencies,Zehmetiyên,
 Dependent Tasks,Karên girêdayî,
 Depends on Tasks,Dimîne li ser Peywir,
-Actual Start Date (via Time Sheet),Rastî Date Serî (via Time Sheet),
-Actual Time (in hours),Time rastî (di Hours),
-Actual End Date (via Time Sheet),Rastî End Date (via Time Sheet),
-Total Costing Amount (via Time Sheet),Bi tevahî bi qurûşekî jî Mîqdar (via Time Sheet),
+Actual Start Date (via Timesheet),Rastî Date Serî (via Time Sheet),
+Actual Time in Hours (via Timesheet),Time rastî (di Hours),
+Actual End Date (via Timesheet),Rastî End Date (via Time Sheet),
 Total Expense Claim (via Expense Claim),Îdîaya Expense Total (via mesrefan),
-Total Billing Amount (via Time Sheet),Temamê meblaxa Billing (via Time Sheet),
 Review Date,Date Review,
 Closing Date,Date girtinê,
 Task Depends On,Task Dimîne li ser,
diff --git a/erpnext/translations/lo.csv b/erpnext/translations/lo.csv
index 3904308..c6f6c80 100644
--- a/erpnext/translations/lo.csv
+++ b/erpnext/translations/lo.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,ໂຄງການຈະສາມາດເຂົ້າເຖິງກ່ຽວກັບເວັບໄຊທ໌ເພື່ອຜູ້ໃຊ້ເຫລົ່ານີ້,
 Copied From,ຄັດລອກຈາກ,
 Start and End Dates,ເລີ່ມຕົ້ນແລະສິ້ນສຸດວັນທີ່,
-Actual Time (in Hours),ເວລາຕົວຈິງ (ເປັນຊົ່ວໂມງ),
+Actual Time in Hours (via Timesheet),ເວລາຕົວຈິງ (ເປັນຊົ່ວໂມງ),
 Costing and Billing,ການໃຊ້ຈ່າຍແລະການເອີ້ນເກັບເງິນ,
-Total Costing Amount (via Timesheets),ຈໍານວນຄ່າໃຊ້ຈ່າຍທັງຫມົດ (ຜ່ານບັດປະຈໍາຕົວ),
-Total Expense Claim (via Expense Claims),ລວມຄ່າໃຊ້ຈ່າຍການຮ້ອງຂໍ (ຜ່ານການຮຽກຮ້ອງຄ່າໃຊ້ຈ່າຍ),
+Total Costing Amount (via Timesheet),ຈໍານວນຄ່າໃຊ້ຈ່າຍທັງຫມົດ (ຜ່ານບັດປະຈໍາຕົວ),
+Total Expense Claim (via Expense Claim),ລວມຄ່າໃຊ້ຈ່າຍການຮ້ອງຂໍ (ຜ່ານການຮຽກຮ້ອງຄ່າໃຊ້ຈ່າຍ),
 Total Purchase Cost (via Purchase Invoice),ມູນຄ່າທັງຫມົດຊື້ (ຜ່ານຊື້ Invoice),
 Total Sales Amount (via Sales Order),ຈໍານວນການຂາຍທັງຫມົດ (ໂດຍຜ່ານການສັ່ງຂາຍ),
-Total Billable Amount (via Timesheets),ຈໍານວນເງິນທີ່ສາມາດຈ່າຍເງິນໄດ້ (ຜ່ານບັດປະຈໍາຕົວ),
-Total Billed Amount (via Sales Invoices),ຈໍານວນເງິນທີ່ຖືກຊໍາລະທັງຫມົດ (ຜ່ານໃບແຈ້ງຍອດຂາຍ),
-Total Consumed Material Cost  (via Stock Entry),ມູນຄ່າວັດຖຸດິບທີ່ໃຊ້ທັງຫມົດ (ໂດຍຜ່ານຫຼັກຊັບ),
+Total Billable Amount (via Timesheet),ຈໍານວນເງິນທີ່ສາມາດຈ່າຍເງິນໄດ້ (ຜ່ານບັດປະຈໍາຕົວ),
+Total Billed Amount (via Sales Invoice),ຈໍານວນເງິນທີ່ຖືກຊໍາລະທັງຫມົດ (ຜ່ານໃບແຈ້ງຍອດຂາຍ),
+Total Consumed Material Cost (via Stock Entry),ມູນຄ່າວັດຖຸດິບທີ່ໃຊ້ທັງຫມົດ (ໂດຍຜ່ານຫຼັກຊັບ),
 Gross Margin,ຂອບໃບລວມຍອດ,
 Gross Margin %,Gross Margin%,
 Monitor Progress,Monitor Progress,
@@ -7521,12 +7521,10 @@
 Dependencies,ການເພິ່ງພາອາໄສ,
 Dependent Tasks,ໜ້າ ວຽກເພິ່ງພາອາໄສ,
 Depends on Tasks,ຂຶ້ນຢູ່ກັບວຽກ,
-Actual Start Date (via Time Sheet),ຕົວຈິງວັນທີ່ເລີ່ມຕົ້ນ (ໂດຍຜ່ານທີ່ໃຊ້ເວລາ Sheet),
-Actual Time (in hours),ທີ່ໃຊ້ເວລາຕົວຈິງ (ໃນຊົ່ວໂມງ),
-Actual End Date (via Time Sheet),ຕົວຈິງວັນທີ່ສິ້ນສຸດ (ຜ່ານທີ່ໃຊ້ເວລາ Sheet),
-Total Costing Amount (via Time Sheet),ມູນຄ່າທັງຫມົດຈໍານວນເງິນ (ຜ່ານທີ່ໃຊ້ເວລາ Sheet),
+Actual Start Date (via Timesheet),ຕົວຈິງວັນທີ່ເລີ່ມຕົ້ນ (ໂດຍຜ່ານທີ່ໃຊ້ເວລາ Sheet),
+Actual Time in Hours (via Timesheet),ທີ່ໃຊ້ເວລາຕົວຈິງ (ໃນຊົ່ວໂມງ),
+Actual End Date (via Timesheet),ຕົວຈິງວັນທີ່ສິ້ນສຸດ (ຜ່ານທີ່ໃຊ້ເວລາ Sheet),
 Total Expense Claim (via Expense Claim),ການຮ້ອງຂໍຄ່າໃຊ້ຈ່າຍທັງຫມົດ (ໂດຍຜ່ານຄ່າໃຊ້ຈ່າຍການຮຽກຮ້ອງ),
-Total Billing Amount (via Time Sheet),ຈໍານວນການເອີ້ນເກັບເງິນທັງຫມົດ (ໂດຍຜ່ານທີ່ໃຊ້ເວລາ Sheet),
 Review Date,ການທົບທວນຄືນວັນທີ່,
 Closing Date,ວັນປິດ,
 Task Depends On,ວຽກງານຂຶ້ນໃນ,
diff --git a/erpnext/translations/lt.csv b/erpnext/translations/lt.csv
index d05688c..b9f4ffb 100644
--- a/erpnext/translations/lt.csv
+++ b/erpnext/translations/lt.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projektas bus prieinama tinklalapyje šių vartotojų,
 Copied From,Nukopijuota iš,
 Start and End Dates,Pradžios ir pabaigos datos,
-Actual Time (in Hours),Faktinis laikas (valandomis),
+Actual Time in Hours (via Timesheet),Faktinis laikas (valandomis),
 Costing and Billing,Sąnaudų ir atsiskaitymas,
-Total Costing Amount (via Timesheets),Bendra sąnaudų suma (per laiko lapus),
-Total Expense Claim (via Expense Claims),Bendras išlaidų pretenzija (per išlaidų paraiškos),
+Total Costing Amount (via Timesheet),Bendra sąnaudų suma (per laiko lapus),
+Total Expense Claim (via Expense Claim),Bendras išlaidų pretenzija (per išlaidų paraiškos),
 Total Purchase Cost (via Purchase Invoice),Viso įsigijimo savikainą (per pirkimo sąskaitoje faktūroje),
 Total Sales Amount (via Sales Order),Bendra pardavimo suma (per pardavimo užsakymą),
-Total Billable Amount (via Timesheets),Visa apmokestinamoji suma (per laiko lapus),
-Total Billed Amount (via Sales Invoices),Visa išleista suma (per pardavimo sąskaitas faktūras),
-Total Consumed Material Cost  (via Stock Entry),Iš viso sunaudotų medžiagų kaina (per sandėlius),
+Total Billable Amount (via Timesheet),Visa apmokestinamoji suma (per laiko lapus),
+Total Billed Amount (via Sales Invoice),Visa išleista suma (per pardavimo sąskaitas faktūras),
+Total Consumed Material Cost (via Stock Entry),Iš viso sunaudotų medžiagų kaina (per sandėlius),
 Gross Margin,bendroji marža,
 Gross Margin %,"Bendroji marža,%",
 Monitor Progress,Stebėti progresą,
@@ -7521,12 +7521,10 @@
 Dependencies,Priklausomybės,
 Dependent Tasks,Priklausomos užduotys,
 Depends on Tasks,Priklauso nuo Užduotys,
-Actual Start Date (via Time Sheet),Tikrasis pradžios data (per Time lapas),
-Actual Time (in hours),Tikrasis laikas (valandomis),
-Actual End Date (via Time Sheet),Tikrasis Pabaigos data (per Time lapas),
-Total Costing Amount (via Time Sheet),Iš viso Sąnaudų suma (per Time lapas),
+Actual Start Date (via Timesheet),Tikrasis pradžios data (per Time lapas),
+Actual Time in Hours (via Timesheet),Tikrasis laikas (valandomis),
+Actual End Date (via Timesheet),Tikrasis Pabaigos data (per Time lapas),
 Total Expense Claim (via Expense Claim),Bendras išlaidų pretenzija (per expense punktą),
-Total Billing Amount (via Time Sheet),Iš viso Atsiskaitymo suma (per Time lapas),
 Review Date,peržiūros data,
 Closing Date,Pabaigos data,
 Task Depends On,Užduotis Priklauso nuo,
diff --git a/erpnext/translations/lv.csv b/erpnext/translations/lv.csv
index d5cf852..17979eb 100644
--- a/erpnext/translations/lv.csv
+++ b/erpnext/translations/lv.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projekts būs pieejams tīmekļa vietnē ar šo lietotāju,
 Copied From,kopēts no,
 Start and End Dates,Sākuma un beigu datumi,
-Actual Time (in Hours),Faktiskais laiks (stundās),
+Actual Time in Hours (via Timesheet),Faktiskais laiks (stundās),
 Costing and Billing,Izmaksu un Norēķinu,
-Total Costing Amount (via Timesheets),Kopējā izmaksu summa (izmantojot laika kontrolsaraksts),
-Total Expense Claim (via Expense Claims),Kopējo izdevumu Pretenzijas (via izdevumu deklarācijas),
+Total Costing Amount (via Timesheet),Kopējā izmaksu summa (izmantojot laika kontrolsaraksts),
+Total Expense Claim (via Expense Claim),Kopējo izdevumu Pretenzijas (via izdevumu deklarācijas),
 Total Purchase Cost (via Purchase Invoice),Total Cost iegāde (via pirkuma rēķina),
 Total Sales Amount (via Sales Order),Kopējā pārdošanas summa (ar pārdošanas pasūtījumu),
-Total Billable Amount (via Timesheets),Kopējā apmaksājamā summa (izmantojot laika kontrolsaraksts),
-Total Billed Amount (via Sales Invoices),Kopējā iekasētā summa (izmantojot pārdošanas rēķinus),
-Total Consumed Material Cost  (via Stock Entry),Kopējā patērētā materiāla cena (izmantojot krājuma ierakstu),
+Total Billable Amount (via Timesheet),Kopējā apmaksājamā summa (izmantojot laika kontrolsaraksts),
+Total Billed Amount (via Sales Invoice),Kopējā iekasētā summa (izmantojot pārdošanas rēķinus),
+Total Consumed Material Cost (via Stock Entry),Kopējā patērētā materiāla cena (izmantojot krājuma ierakstu),
 Gross Margin,Bruto peļņa,
 Gross Margin %,Bruto rezerve%,
 Monitor Progress,Pārraudzīt Progress,
@@ -7521,12 +7521,10 @@
 Dependencies,Atkarības,
 Dependent Tasks,Atkarīgie uzdevumi,
 Depends on Tasks,Atkarīgs no uzdevumiem,
-Actual Start Date (via Time Sheet),Faktiskā Sākuma datums (via laiks lapas),
-Actual Time (in hours),Faktiskais laiks (stundās),
-Actual End Date (via Time Sheet),Faktiskā Beigu datums (via laiks lapas),
-Total Costing Amount (via Time Sheet),Kopā Izmaksu summa (via laiks lapas),
+Actual Start Date (via Timesheet),Faktiskā Sākuma datums (via laiks lapas),
+Actual Time in Hours (via Timesheet),Faktiskais laiks (stundās),
+Actual End Date (via Timesheet),Faktiskā Beigu datums (via laiks lapas),
 Total Expense Claim (via Expense Claim),Kopējo izdevumu Pretenzijas (via Izdevumu Claim),
-Total Billing Amount (via Time Sheet),Kopā Norēķinu Summa (via laiks lapas),
 Review Date,Pārskatīšana Datums,
 Closing Date,Slēgšanas datums,
 Task Depends On,Uzdevums Atkarīgs On,
diff --git a/erpnext/translations/mk.csv b/erpnext/translations/mk.csv
index e01cb70..9007b6c 100644
--- a/erpnext/translations/mk.csv
+++ b/erpnext/translations/mk.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Проектот ќе биде достапен на веб страната за овие корисници,
 Copied From,копирани од,
 Start and End Dates,Отпочнување и завршување,
-Actual Time (in Hours),Вистинско време (за неколку часа),
+Actual Time in Hours (via Timesheet),Вистинско време (за неколку часа),
 Costing and Billing,Трошоци и регистрации,
-Total Costing Amount (via Timesheets),Вкупен износ на трошоци (преку тајмс),
-Total Expense Claim (via Expense Claims),Вкупно Побарување за Расход (преку Побарувања за Расходи),
+Total Costing Amount (via Timesheet),Вкупен износ на трошоци (преку тајмс),
+Total Expense Claim (via Expense Claim),Вкупно Побарување за Расход (преку Побарувања за Расходи),
 Total Purchase Cost (via Purchase Invoice),Вкупен трошок за Набавка (преку Влезна фактура),
 Total Sales Amount (via Sales Order),Вкупен износ на продажба (преку нарачка за продажба),
-Total Billable Amount (via Timesheets),Вкупно наплатен износ (преку тајмс),
-Total Billed Amount (via Sales Invoices),Вкупен износ на фактури (преку фактури за продажба),
-Total Consumed Material Cost  (via Stock Entry),Вкупен трошок за потрошен материјал (преку внес на акции),
+Total Billable Amount (via Timesheet),Вкупно наплатен износ (преку тајмс),
+Total Billed Amount (via Sales Invoice),Вкупен износ на фактури (преку фактури за продажба),
+Total Consumed Material Cost (via Stock Entry),Вкупен трошок за потрошен материјал (преку внес на акции),
 Gross Margin,Бруто маржа,
 Gross Margin %,Бруто маржа%,
 Monitor Progress,Следи напредок,
@@ -7521,12 +7521,10 @@
 Dependencies,Зависи,
 Dependent Tasks,Зависни задачи,
 Depends on Tasks,Зависи Задачи,
-Actual Start Date (via Time Sheet),Старт на проектот Датум (преку време лист),
-Actual Time (in hours),Крај на времето (во часови),
-Actual End Date (via Time Sheet),Крај Крај Датум (преку време лист),
-Total Costing Amount (via Time Sheet),Вкупно Износ на трошоци (преку време лист),
+Actual Start Date (via Timesheet),Старт на проектот Датум (преку време лист),
+Actual Time in Hours (via Timesheet),Крај на времето (во часови),
+Actual End Date (via Timesheet),Крај Крај Датум (преку време лист),
 Total Expense Claim (via Expense Claim),Вкупно Побарување за Расход (преку Побарување за Расход),
-Total Billing Amount (via Time Sheet),Вкупен износ за наплата (преку време лист),
 Review Date,Преглед Датум,
 Closing Date,Краен датум,
 Task Depends On,Задача зависи од,
diff --git a/erpnext/translations/ml.csv b/erpnext/translations/ml.csv
index c5a98b6..94621c3 100644
--- a/erpnext/translations/ml.csv
+++ b/erpnext/translations/ml.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,പ്രോജക്ട് ഈ ഉപയോക്താക്കൾക്ക് വെബ്സൈറ്റിൽ ആക്സസ്സുചെയ്യാനാവൂ,
 Copied From,നിന്നും പകർത്തി,
 Start and End Dates,"ആരംഭ, അവസാന തീയതി",
-Actual Time (in Hours),യഥാർത്ഥ സമയം (മണിക്കൂറിൽ),
+Actual Time in Hours (via Timesheet),യഥാർത്ഥ സമയം (മണിക്കൂറിൽ),
 Costing and Billing,ആറെണ്ണവും ബില്ലിംഗ്,
-Total Costing Amount (via Timesheets),ആകെ ചെലവ് തുക (ടൈംഷെറ്റുകൾ വഴി),
-Total Expense Claim (via Expense Claims),(ചിലവേറിയ ക്ലെയിമുകൾ വഴി) ആകെ ചിലവേറിയ ക്ലെയിം,
+Total Costing Amount (via Timesheet),ആകെ ചെലവ് തുക (ടൈംഷെറ്റുകൾ വഴി),
+Total Expense Claim (via Expense Claim),(ചിലവേറിയ ക്ലെയിമുകൾ വഴി) ആകെ ചിലവേറിയ ക്ലെയിം,
 Total Purchase Cost (via Purchase Invoice),(വാങ്ങൽ ഇൻവോയിസ് വഴി) ആകെ വാങ്ങൽ ചെലവ്,
 Total Sales Amount (via Sales Order),ആകെ വില്പന തുക (സെയിൽസ് ഓർഡർ വഴി),
-Total Billable Amount (via Timesheets),ആകെ ബില്ലബിൾ തുക (ടൈംഷെറ്റുകൾ വഴി),
-Total Billed Amount (via Sales Invoices),മൊത്തം ബില്ലും തുക (വിൽപ്പന ഇൻവോയ്സുകളിലൂടെ),
-Total Consumed Material Cost  (via Stock Entry),ആകെ ഉപഭോഗം ചെയ്യുന്ന മെറ്റീരിയൽ ചെലവ് (സ്റ്റോക്ക് എൻട്രി വഴി),
+Total Billable Amount (via Timesheet),ആകെ ബില്ലബിൾ തുക (ടൈംഷെറ്റുകൾ വഴി),
+Total Billed Amount (via Sales Invoice),മൊത്തം ബില്ലും തുക (വിൽപ്പന ഇൻവോയ്സുകളിലൂടെ),
+Total Consumed Material Cost (via Stock Entry),ആകെ ഉപഭോഗം ചെയ്യുന്ന മെറ്റീരിയൽ ചെലവ് (സ്റ്റോക്ക് എൻട്രി വഴി),
 Gross Margin,മൊത്തം മാർജിൻ,
 Gross Margin %,മൊത്തം മാർജിൻ%,
 Monitor Progress,മോണിറ്റർ പുരോഗതി,
@@ -7521,12 +7521,10 @@
 Dependencies,ആശ്രിതത്വം,
 Dependent Tasks,ആശ്രിത ചുമതലകൾ,
 Depends on Tasks,ചുമതലകൾ ആശ്രയിച്ചിരിക്കുന്നു,
-Actual Start Date (via Time Sheet),യഥാർത്ഥ ആരംഭ തീയതി (ടൈം ഷീറ്റ് വഴി),
-Actual Time (in hours),(അവേഴ്സ്) യഥാർത്ഥ സമയം,
-Actual End Date (via Time Sheet),യഥാർത്ഥ അവസാന തീയതി (ടൈം ഷീറ്റ് വഴി),
-Total Costing Amount (via Time Sheet),ആകെ ആറെണ്ണവും തുക (ടൈം ഷീറ്റ് വഴി),
+Actual Start Date (via Timesheet),യഥാർത്ഥ ആരംഭ തീയതി (ടൈം ഷീറ്റ് വഴി),
+Actual Time in Hours (via Timesheet),(അവേഴ്സ്) യഥാർത്ഥ സമയം,
+Actual End Date (via Timesheet),യഥാർത്ഥ അവസാന തീയതി (ടൈം ഷീറ്റ് വഴി),
 Total Expense Claim (via Expense Claim),(ചിലവിടൽ ക്ലെയിം വഴി) ആകെ ചിലവേറിയ ക്ലെയിം,
-Total Billing Amount (via Time Sheet),ആകെ ബില്ലിംഗ് തുക (ടൈം ഷീറ്റ് വഴി),
 Review Date,അവലോകന തീയതി,
 Closing Date,അവസാന തീയതി,
 Task Depends On,ടാസ്ക് ആശ്രയിച്ചിരിക്കുന്നു,
diff --git a/erpnext/translations/mr.csv b/erpnext/translations/mr.csv
index 21aaa3f..b28550a 100644
--- a/erpnext/translations/mr.csv
+++ b/erpnext/translations/mr.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,"प्रकल्प या वापरकर्त्यांना वेबसाइटवर उपलब्ध राहील,",
 Copied From,कॉपी,
 Start and End Dates,सुरू आणि तारखा समाप्त,
-Actual Time (in Hours),वास्तविक वेळ (तासांमध्ये),
+Actual Time in Hours (via Timesheet),वास्तविक वेळ (तासांमध्ये),
 Costing and Billing,भांडवलाच्या आणि बिलिंग,
-Total Costing Amount (via Timesheets),एकूण किंमत (वेळपत्रके मार्गे),
-Total Expense Claim (via Expense Claims),एकूण खर्च हक्क (खर्चाचे दावे द्वारे),
+Total Costing Amount (via Timesheet),एकूण किंमत (वेळपत्रके मार्गे),
+Total Expense Claim (via Expense Claim),एकूण खर्च हक्क (खर्चाचे दावे द्वारे),
 Total Purchase Cost (via Purchase Invoice),एकूण खरेदी किंमत (खरेदी  चलन द्वारे),
 Total Sales Amount (via Sales Order),एकूण विक्री रक्कम (विक्री आदेशानुसार),
-Total Billable Amount (via Timesheets),एकूण बिल करण्यायोग्य रक्कम (टाईम्सशीट्सद्वारे),
-Total Billed Amount (via Sales Invoices),एकूण बिल रक्कम (विक्री चलन द्वारे),
-Total Consumed Material Cost  (via Stock Entry),टोटल कन्स्ट्रक्टेड मटेरियल कॉस्ट (स्टॉक एंट्री द्वारे),
+Total Billable Amount (via Timesheet),एकूण बिल करण्यायोग्य रक्कम (टाईम्सशीट्सद्वारे),
+Total Billed Amount (via Sales Invoice),एकूण बिल रक्कम (विक्री चलन द्वारे),
+Total Consumed Material Cost (via Stock Entry),टोटल कन्स्ट्रक्टेड मटेरियल कॉस्ट (स्टॉक एंट्री द्वारे),
 Gross Margin,एकूण मार्जिन,
 Gross Margin %,एकूण मार्जिन%,
 Monitor Progress,मॉनिटर प्रगती,
@@ -7521,12 +7521,10 @@
 Dependencies,अवलंबित्व,
 Dependent Tasks,अवलंबित कार्ये,
 Depends on Tasks,कार्ये अवलंबून,
-Actual Start Date (via Time Sheet),प्रत्यक्ष प्रारंभ तारीख (वेळ पत्रक द्वारे),
-Actual Time (in hours),(तास) वास्तविक वेळ,
-Actual End Date (via Time Sheet),प्रत्यक्ष समाप्ती तारीख (वेळ पत्रक द्वारे),
-Total Costing Amount (via Time Sheet),एकूण कोस्टींग रक्कम (वेळ पत्रक द्वारे),
+Actual Start Date (via Timesheet),प्रत्यक्ष प्रारंभ तारीख (वेळ पत्रक द्वारे),
+Actual Time in Hours (via Timesheet),(तास) वास्तविक वेळ,
+Actual End Date (via Timesheet),प्रत्यक्ष समाप्ती तारीख (वेळ पत्रक द्वारे),
 Total Expense Claim (via Expense Claim),(खर्च दावा द्वारे) एकूण खर्च दावा,
-Total Billing Amount (via Time Sheet),एकूण बिलिंग रक्कम (वेळ पत्रक द्वारे),
 Review Date,पुनरावलोकन तारीख,
 Closing Date,अखेरची दिनांक,
 Task Depends On,कार्य अवलंबून असते,
diff --git a/erpnext/translations/ms.csv b/erpnext/translations/ms.csv
index 5a3d986..d3fbd4c 100644
--- a/erpnext/translations/ms.csv
+++ b/erpnext/translations/ms.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projek akan boleh diakses di laman web untuk pengguna ini,
 Copied From,disalin Dari,
 Start and End Dates,Tarikh mula dan tamat,
-Actual Time (in Hours),Masa Sebenar (dalam Jam),
+Actual Time in Hours (via Timesheet),Masa Sebenar (dalam Jam),
 Costing and Billing,Kos dan Billing,
-Total Costing Amount (via Timesheets),Jumlah Kos Jumlah (melalui Timesheet),
-Total Expense Claim (via Expense Claims),Jumlah Tuntutan Perbelanjaan (melalui Tuntutan Perbelanjaan),
+Total Costing Amount (via Timesheet),Jumlah Kos Jumlah (melalui Timesheet),
+Total Expense Claim (via Expense Claim),Jumlah Tuntutan Perbelanjaan (melalui Tuntutan Perbelanjaan),
 Total Purchase Cost (via Purchase Invoice),Jumlah Kos Pembelian (melalui Invois Belian),
 Total Sales Amount (via Sales Order),Jumlah Jumlah Jualan (melalui Perintah Jualan),
-Total Billable Amount (via Timesheets),Jumlah Jumlah Yang Boleh Dibayar (melalui Timesheet),
-Total Billed Amount (via Sales Invoices),Jumlah Amaun Dibilkan (melalui Invois Jualan),
-Total Consumed Material Cost  (via Stock Entry),Jumlah Kos Bahan Terutu (melalui Entry Saham),
+Total Billable Amount (via Timesheet),Jumlah Jumlah Yang Boleh Dibayar (melalui Timesheet),
+Total Billed Amount (via Sales Invoice),Jumlah Amaun Dibilkan (melalui Invois Jualan),
+Total Consumed Material Cost (via Stock Entry),Jumlah Kos Bahan Terutu (melalui Entry Saham),
 Gross Margin,Margin kasar,
 Gross Margin %,Margin kasar%,
 Monitor Progress,Memantau Kemajuan,
@@ -7521,12 +7521,10 @@
 Dependencies,Kebergantungan,
 Dependent Tasks,Tugasan yang bergantung,
 Depends on Tasks,Bergantung kepada Tugas,
-Actual Start Date (via Time Sheet),Tarikh Mula Sebenar (melalui Lembaran Time),
-Actual Time (in hours),Masa sebenar (dalam jam),
-Actual End Date (via Time Sheet),Sebenar Tarikh Akhir (melalui Lembaran Time),
-Total Costing Amount (via Time Sheet),Jumlah Kos Jumlah (melalui Lembaran Time),
+Actual Start Date (via Timesheet),Tarikh Mula Sebenar (melalui Lembaran Time),
+Actual Time in Hours (via Timesheet),Masa sebenar (dalam jam),
+Actual End Date (via Timesheet),Sebenar Tarikh Akhir (melalui Lembaran Time),
 Total Expense Claim (via Expense Claim),Jumlah Tuntutan Perbelanjaan (melalui Perbelanjaan Tuntutan),
-Total Billing Amount (via Time Sheet),Jumlah Bil (melalui Lembaran Time),
 Review Date,Tarikh Semakan,
 Closing Date,Tarikh Tutup,
 Task Depends On,Petugas Bergantung Pada,
diff --git a/erpnext/translations/my.csv b/erpnext/translations/my.csv
index 7638e76..a66d7d2 100644
--- a/erpnext/translations/my.csv
+++ b/erpnext/translations/my.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,စီမံကိန်းကဤသည်အသုံးပြုသူများမှ website တွင်ဝင်ရောက်ဖြစ်လိမ့်မည်,
 Copied From,မှစ. ကူးယူ,
 Start and End Dates,Start နဲ့ရပ်တန့်နေ့စွဲများ,
-Actual Time (in Hours),အမှန်တကယ်အချိန် (နာရီများအတွင်း),
+Actual Time in Hours (via Timesheet),အမှန်တကယ်အချိန် (နာရီများအတွင်း),
 Costing and Billing,ကုန်ကျနှင့်ငွေတောင်းခံလွှာ,
-Total Costing Amount (via Timesheets),(Timesheets မှတဆင့်) စုစုပေါင်းကုန်ကျငွေပမာဏ,
-Total Expense Claim (via Expense Claims),(သုံးစွဲမှုစွပ်စွဲနေတဆင့်) စုစုပေါင်းကုန်ကျစရိတ်တောင်းဆိုမှုများ,
+Total Costing Amount (via Timesheet),(Timesheets မှတဆင့်) စုစုပေါင်းကုန်ကျငွေပမာဏ,
+Total Expense Claim (via Expense Claim),(သုံးစွဲမှုစွပ်စွဲနေတဆင့်) စုစုပေါင်းကုန်ကျစရိတ်တောင်းဆိုမှုများ,
 Total Purchase Cost (via Purchase Invoice),(ဝယ်ယူခြင်းပြေစာကနေတဆင့်) စုစုပေါင်းဝယ်ယူကုန်ကျစရိတ်,
 Total Sales Amount (via Sales Order),(အရောင်းအမိန့်မှတဆင့်) စုစုပေါင်းအရောင်းပမာဏ,
-Total Billable Amount (via Timesheets),(Timesheets မှတဆင့်) စုစုပေါင်းဘီလ်ဆောင်ငွေပမာဏ,
-Total Billed Amount (via Sales Invoices),(အရောင်းငွေတောင်းခံလွှာကနေတဆင့်) စုစုပေါင်းကောက်ခံခဲ့ငွေပမာဏ,
-Total Consumed Material Cost  (via Stock Entry),(စတော့အိတ် Entry &#39;မှတဆင့်) စုစုပေါင်းစားသုံးပစ္စည်းကုန်ကျစရိတ်,
+Total Billable Amount (via Timesheet),(Timesheets မှတဆင့်) စုစုပေါင်းဘီလ်ဆောင်ငွေပမာဏ,
+Total Billed Amount (via Sales Invoice),(အရောင်းငွေတောင်းခံလွှာကနေတဆင့်) စုစုပေါင်းကောက်ခံခဲ့ငွေပမာဏ,
+Total Consumed Material Cost (via Stock Entry),(စတော့အိတ် Entry &#39;မှတဆင့်) စုစုပေါင်းစားသုံးပစ္စည်းကုန်ကျစရိတ်,
 Gross Margin,gross Margin,
 Gross Margin %,gross Margin%,
 Monitor Progress,တိုးတက်မှုစောင့်ကြည့်,
@@ -7521,12 +7521,10 @@
 Dependencies,မှီခို,
 Dependent Tasks,မှီခိုလုပ်ငန်းများ,
 Depends on Tasks,လုပ်ငန်းများအပေါ်မူတည်,
-Actual Start Date (via Time Sheet),(အချိန်စာရွက်မှတဆင့်) အမှန်တကယ် Start ကိုနေ့စွဲ,
-Actual Time (in hours),(နာရီအတွက်) အမှန်တကယ်အချိန်,
-Actual End Date (via Time Sheet),(အချိန်စာရွက်မှတဆင့်) အမှန်တကယ်ပြီးဆုံးရက်စွဲ,
-Total Costing Amount (via Time Sheet),(အချိန်စာရွက်မှတဆင့်) စုစုပေါင်းကုန်ကျငွေပမာဏ,
+Actual Start Date (via Timesheet),(အချိန်စာရွက်မှတဆင့်) အမှန်တကယ် Start ကိုနေ့စွဲ,
+Actual Time in Hours (via Timesheet),(နာရီအတွက်) အမှန်တကယ်အချိန်,
+Actual End Date (via Timesheet),(အချိန်စာရွက်မှတဆင့်) အမှန်တကယ်ပြီးဆုံးရက်စွဲ,
 Total Expense Claim (via Expense Claim),(ကုန်ကျစရိတ်တောင်းဆိုမှုများကနေတဆင့်) စုစုပေါင်းကုန်ကျစရိတ်တောင်းဆိုမှုများ,
-Total Billing Amount (via Time Sheet),(အချိန်စာရွက်မှတဆင့်) စုစုပေါင်းငွေတောင်းခံလွှာပမာဏ,
 Review Date,ပြန်လည်ဆန်းစစ်ခြင်းနေ့စွဲ,
 Closing Date,နိဂုံးချုပ်နေ့စွဲ,
 Task Depends On,Task အပေါ်မူတည်,
diff --git a/erpnext/translations/nl.csv b/erpnext/translations/nl.csv
index b559c69..f2158b5 100644
--- a/erpnext/translations/nl.csv
+++ b/erpnext/translations/nl.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Project zal toegankelijk op de website van deze gebruikers,
 Copied From,Gekopieerd van,
 Start and End Dates,Begin- en einddatum,
-Actual Time (in Hours),Werkelijke tijd (in uren),
+Actual Time in Hours (via Timesheet),Werkelijke tijd (in uren),
 Costing and Billing,Kostenberekening en facturering,
-Total Costing Amount (via Timesheets),Totale kostenbedrag (via urenstaten),
-Total Expense Claim (via Expense Claims),Total Expense Claim (via declaraties),
+Total Costing Amount (via Timesheet),Totale kostenbedrag (via urenstaten),
+Total Expense Claim (via Expense Claim),Total Expense Claim (via declaraties),
 Total Purchase Cost (via Purchase Invoice),Totale aanschafkosten (via Purchase Invoice),
 Total Sales Amount (via Sales Order),Totaal verkoopbedrag (via klantorder),
-Total Billable Amount (via Timesheets),Totaal factureerbare hoeveelheid (via urenstaten),
-Total Billed Amount (via Sales Invoices),Totaal gefactureerd bedrag (via verkoopfacturen),
-Total Consumed Material Cost  (via Stock Entry),Totale verbruikte materiaalkosten (via voorraadinvoer),
+Total Billable Amount (via Timesheet),Totaal factureerbare hoeveelheid (via urenstaten),
+Total Billed Amount (via Sales Invoice),Totaal gefactureerd bedrag (via verkoopfacturen),
+Total Consumed Material Cost (via Stock Entry),Totale verbruikte materiaalkosten (via voorraadinvoer),
 Gross Margin,Bruto Marge,
 Gross Margin %,Bruto marge %,
 Monitor Progress,Voortgang in de gaten houden,
@@ -7521,12 +7521,10 @@
 Dependencies,afhankelijkheden,
 Dependent Tasks,Afhankelijke taken,
 Depends on Tasks,Hangt af van Taken,
-Actual Start Date (via Time Sheet),Werkelijke Startdatum (via Urenregistratie),
-Actual Time (in hours),Werkelijke tijd (in uren),
-Actual End Date (via Time Sheet),Werkelijke Einddatum (via Urenregistratie),
-Total Costing Amount (via Time Sheet),Totaal bedrag Costing (via Urenregistratie),
+Actual Start Date (via Timesheet),Werkelijke Startdatum (via Urenregistratie),
+Actual Time in Hours (via Timesheet),Werkelijke tijd (in uren),
+Actual End Date (via Timesheet),Werkelijke Einddatum (via Urenregistratie),
 Total Expense Claim (via Expense Claim),Total Expense Claim (via Expense Claim),
-Total Billing Amount (via Time Sheet),Totaal Billing Bedrag (via Urenregistratie),
 Review Date,Herzieningsdatum,
 Closing Date,Afsluitingsdatum,
 Task Depends On,Taak Hangt On,
diff --git a/erpnext/translations/no.csv b/erpnext/translations/no.csv
index 20b8916..f08ae41 100644
--- a/erpnext/translations/no.csv
+++ b/erpnext/translations/no.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Prosjektet vil være tilgjengelig på nettstedet til disse brukerne,
 Copied From,Kopiert fra,
 Start and End Dates,Start- og sluttdato,
-Actual Time (in Hours),Faktisk tid (i timer),
+Actual Time in Hours (via Timesheet),Faktisk tid (i timer),
 Costing and Billing,Kalkulasjon og fakturering,
-Total Costing Amount (via Timesheets),Totalt kostende beløp (via tidsskrifter),
-Total Expense Claim (via Expense Claims),Total Expense krav (via Utgifts Krav),
+Total Costing Amount (via Timesheet),Totalt kostende beløp (via tidsskrifter),
+Total Expense Claim (via Expense Claim),Total Expense krav (via Utgifts Krav),
 Total Purchase Cost (via Purchase Invoice),Total anskaffelseskost (via fakturaen),
 Total Sales Amount (via Sales Order),Total salgsbeløp (via salgsordre),
-Total Billable Amount (via Timesheets),Totalt fakturerbart beløp (via tidsskrifter),
-Total Billed Amount (via Sales Invoices),Sum fakturert beløp (via salgsfakturaer),
-Total Consumed Material Cost  (via Stock Entry),Total forbruket materialkostnad (via lagerinngang),
+Total Billable Amount (via Timesheet),Totalt fakturerbart beløp (via tidsskrifter),
+Total Billed Amount (via Sales Invoice),Sum fakturert beløp (via salgsfakturaer),
+Total Consumed Material Cost (via Stock Entry),Total forbruket materialkostnad (via lagerinngang),
 Gross Margin,Bruttomargin,
 Gross Margin %,Bruttomargin%,
 Monitor Progress,Monitor Progress,
@@ -7521,12 +7521,10 @@
 Dependencies,avhengig,
 Dependent Tasks,Avhengige oppgaver,
 Depends on Tasks,Avhenger Oppgaver,
-Actual Start Date (via Time Sheet),Faktisk startdato (via Timeregistrering),
-Actual Time (in hours),Virkelig tid (i timer),
-Actual End Date (via Time Sheet),Faktisk Sluttdato (via Timeregistrering),
-Total Costing Amount (via Time Sheet),Total Costing Beløp (via Timeregistrering),
+Actual Start Date (via Timesheet),Faktisk startdato (via Timeregistrering),
+Actual Time in Hours (via Timesheet),Virkelig tid (i timer),
+Actual End Date (via Timesheet),Faktisk Sluttdato (via Timeregistrering),
 Total Expense Claim (via Expense Claim),Total Expense krav (via Expense krav),
-Total Billing Amount (via Time Sheet),Total Billing Beløp (via Timeregistrering),
 Review Date,Omtale Dato,
 Closing Date,Avslutningsdato,
 Task Depends On,Task Avhenger,
diff --git a/erpnext/translations/pl.csv b/erpnext/translations/pl.csv
index 4563b64..013a1c3 100644
--- a/erpnext/translations/pl.csv
+++ b/erpnext/translations/pl.csv
@@ -1,9745 +1,9743 @@
-"""Customer Provided Item"" cannot be Purchase Item also","""Element dostarczony przez klienta"" nie może być również elementem nabycia",
-"""Customer Provided Item"" cannot have Valuation Rate","""Element dostarczony przez klienta"" nie może mieć wskaźnika wyceny",
-"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Jest Środkiem Trwałym"" nie może być odznaczone, jeśli istnieją pozycje z takim ustawieniem",
-'Based On' and 'Group By' can not be same,"Pola ""Bazuje na"" i ""Grupuj wg."" nie mogą być takie same",
-'Days Since Last Order' must be greater than or equal to zero,Pole 'Dni od ostatniego zamówienia' musi być większe bądź równe zero,
-'Entries' cannot be empty,Pole 'Wpisy' nie może być puste,
-'From Date' is required,Pole 'Od daty' jest wymagane,
-'From Date' must be after 'To Date',Pole 'Od daty' musi następować później niż 'Do daty',
-'Has Serial No' can not be 'Yes' for non-stock item,Numer seryjny nie jest dostępny dla pozycji niemagazynowych,
-'Opening',&quot;Otwarcie&quot;,
-'To Case No.' cannot be less than 'From Case No.','To Case No.' nie powinno być mniejsze niż 'From Case No.',
-'To Date' is required,'Do daty' jest wymaganym polem,
-'Total',&#39;Całkowity&#39;,
-'Update Stock' can not be checked because items are not delivered via {0},"'Aktualizuj Stan' nie może być zaznaczone, ponieważ elementy nie są dostarczane przez {0}",
-'Update Stock' cannot be checked for fixed asset sale,Opcja 'Aktualizuj Stan' nie może być zaznaczona dla sprzedaży środka trwałego,
-) for {0},) dla {0},
-1 exact match.,1 dokładny mecz.,
-90-Above,90-Ponad,
-A Customer Group exists with same name please change the Customer name or rename the Customer Group,Grupa Odbiorców posiada taką nazwę - wprowadź inną nazwę Odbiorcy lub zmień nazwę Grupy,
-A Default Service Level Agreement already exists.,Domyślna umowa dotycząca poziomu usług już istnieje.,
-A Lead requires either a person's name or an organization's name,Ołów wymaga nazwy osoby lub nazwy organizacji,
-A customer with the same name already exists,Klient o tej samej nazwie już istnieje,
-A question must have more than one options,Pytanie musi mieć więcej niż jedną opcję,
-A qustion must have at least one correct options,Qustion musi mieć co najmniej jedną poprawną opcję,
-A {0} exists between {1} and {2} (,{0} istnieje pomiędzy {1} a {2} (,
-A4,A4,
-API Endpoint,Punkt końcowy API,
-API Key,Klucz API,
-Abbr can not be blank or space,Skrót nie może być pusty lub być spacją,
-Abbreviation already used for another company,Skrót już używany przez inną firmę,
-Abbreviation cannot have more than 5 characters,Skrót nie może posiadać więcej niż 5 znaków,
-Abbreviation is mandatory,Skrót jest obowiązkowy,
-About the Company,O firmie,
-About your company,O Twojej firmie,
-Above,Powyżej,
-Absent,Nieobecny,
-Academic Term,semestr,
-Academic Term: ,Okres akademicki:,
-Academic Year,Rok akademicki,
-Academic Year: ,Rok akademicki:,
-Accepted + Rejected Qty must be equal to Received quantity for Item {0},Ilość Przyjętych + Odrzuconych musi odpowiadać ilości Odebranych (Element {0}),
-Access Token,Dostęp za pomocą Tokenu,
-Accessable Value,Dostępna wartość,
-Account,Konto,
-Account Number,Numer konta,
-Account Number {0} already used in account {1},Numer konta {0} jest już używany na koncie {1},
-Account Pay Only,Tylko płatne konto,
-Account Type,typ konta,
-Account Type for {0} must be {1},Typ konta dla {0} musi być {1},
-"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Konto jest na minusie, nie możesz ustawić wymagań jako debet.",
-"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Konto jest na minusie, nie możesz ustawić wymagań jako kredyt.",
-Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Numer konta dla konta {0} jest niedostępny. <br> Skonfiguruj poprawnie swój plan kont.,
-Account with child nodes cannot be converted to ledger,Konto grupujące inne konta nie może być konwertowane,
-Account with child nodes cannot be set as ledger,Konto z węzłów podrzędnych nie może być ustawiony jako księgi,
-Account with existing transaction can not be converted to group.,Konto z istniejącymi zapisami nie może być konwertowane na Grupę (konto dzielone).,
-Account with existing transaction can not be deleted,Konto z istniejącymi zapisami nie może być usunięte,
-Account with existing transaction cannot be converted to ledger,Konto z istniejącymi zapisami nie może być konwertowane,
-Account {0} does not belong to company: {1},Konto {0} nie należy do firmy: {1},
-Account {0} does not belongs to company {1},Konto {0} nie należy do firmy {1},
-Account {0} does not exist,Konto {0} nie istnieje,
-Account {0} does not exists,Konto {0} nie istnieje,
-Account {0} does not match with Company {1} in Mode of Account: {2},Konto {0} nie jest zgodne z firmą {1} w trybie konta: {2},
-Account {0} has been entered multiple times,Konto {0} zostało wprowadzone wielokrotnie,
-Account {0} is added in the child company {1},Konto {0} zostało dodane w firmie podrzędnej {1},
-Account {0} is frozen,Konto {0} jest zamrożone,
-Account {0} is invalid. Account Currency must be {1},Konto {0} jest nieprawidłowe. Waluta konta musi być {1},
-Account {0}: Parent account {1} can not be a ledger,Konto {0}: Nadrzędne konto {1} nie może być zwykłym,
-Account {0}: Parent account {1} does not belong to company: {2},Konto {0}: konto nadrzędne {1} nie należy do firmy: {2},
-Account {0}: Parent account {1} does not exist,Konto {0}: Konto nadrzędne {1} nie istnieje,
-Account {0}: You can not assign itself as parent account,Konto {0}: Nie można przypisać siebie jako konta nadrzędnego,
-Account: {0} can only be updated via Stock Transactions,Konto: {0} może być aktualizowana tylko przez operacje magazynowe,
-Account: {0} with currency: {1} can not be selected,Konto: {0} z waluty: nie można wybrać {1},
-Accountant,Księgowy,
-Accounting,Księgowość,
-Accounting Entry for Asset,Zapis Księgowy dla aktywów,
-Accounting Entry for Stock,Zapis księgowy dla zapasów,
-Accounting Entry for {0}: {1} can only be made in currency: {2},Wprowadzenia danych księgowych dla {0}: {1} może być dokonywane wyłącznie w walucie: {2},
-Accounting Ledger,Księgi rachunkowe,
-Accounting journal entries.,Dziennik zapisów księgowych.,
-Accounts,Księgowość,
-Accounts Manager,Specjalista ds. Sprzedaży,
-Accounts Payable,Zobowiązania,
-Accounts Payable Summary,Zobowiązania Podsumowanie,
-Accounts Receivable,Należności,
-Accounts Receivable Summary,Należności Podsumowanie,
-Accounts User,Konta Użytkownika,
-Accounts table cannot be blank.,Tabela kont nie może być pusta,
-Accrual Journal Entry for salaries from {0} to {1},Zapis wstępny w dzienniku dla zarobków od {0} do {1},
-Accumulated Depreciation,Umorzenia (skumulowana amortyzacja),
-Accumulated Depreciation Amount,Kwota Skumulowanej amortyzacji,
-Accumulated Depreciation as on,Skumulowana amortyzacja jak na,
-Accumulated Monthly,skumulowane miesięcznie,
-Accumulated Values,Skumulowane wartości,
-Accumulated Values in Group Company,Skumulowane wartości w Spółce Grupy,
-Achieved ({}),Osiągnięto ({}),
-Action,Działanie,
-Action Initialised,Działanie zainicjowane,
-Actions,działania,
-Active,Aktywny,
-Activity Cost exists for Employee {0} against Activity Type - {1},Istnieje aktywny Koszt Pracodawcy {0} przed Type Aktywny - {1},
-Activity Cost per Employee,Koszt aktywność na pracownika,
-Activity Type,Rodzaj aktywności,
-Actual Cost,Aktualna cena,
-Actual Delivery Date,Rzeczywista data dostawy,
-Actual Qty,Rzeczywista ilość,
-Actual Qty is mandatory,Rzeczywista ilość jest obowiązkowa,
-Actual Qty {0} / Waiting Qty {1},Rzeczywista ilość {0} / liczba oczekujących {1},
-Actual Qty: Quantity available in the warehouse.,Rzeczywista ilość: ilość dostępna w magazynie.,
-Actual qty in stock,Rzeczywista ilość w magazynie,
-Actual type tax cannot be included in Item rate in row {0},Rzeczywista Podatek typu nie mogą być wliczone w cenę towaru w wierszu {0},
-Add,Dodaj,
-Add / Edit Prices,Dodaj / edytuj ceny,
-Add Comment,Dodaj komentarz,
-Add Customers,Dodaj klientów,
-Add Employees,Dodaj pracowników,
-Add Item,Dodaj pozycję,
-Add Items,Dodaj pozycje,
-Add Leads,Dodaj namiary,
-Add Multiple Tasks,Dodaj wiele zadań,
-Add Row,Dodaj wiersz,
-Add Sales Partners,Dodaj partnerów handlowych,
-Add Serial No,Dodaj nr seryjny,
-Add Students,Dodaj uczniów,
-Add Suppliers,Dodaj dostawców,
-Add Time Slots,Dodaj gniazda czasowe,
-Add Timesheets,Dodaj ewidencja czasu pracy,
-Add Timeslots,Dodaj czasopisma,
-Add Users to Marketplace,Dodaj użytkowników do rynku,
-Add a new address,Dodaj nowy adres,
-Add cards or custom sections on homepage,Dodaj karty lub niestandardowe sekcje na stronie głównej,
-Add more items or open full form,Dodać więcej rzeczy lub otworzyć pełną formę,
-Add notes,Dodaj notatki,
-Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Dodać resztę organizacji jako użytkowników. Można również dodać zaprosić klientów do portalu dodając je z Kontaktów,
-Add to Details,Dodaj do szczegółów,
-Add/Remove Recipients,Dodaj / usuń odbiorców,
-Added,Dodano,
-Added to details,Dodano do szczegółów,
-Added {0} users,Dodano {0} użytkowników,
-Additional Salary Component Exists.,Istnieje dodatkowy składnik wynagrodzenia.,
-Address,Adres,
-Address Line 2,Drugi wiersz adresu,
-Address Name,Adres,
-Address Title,Tytuł adresu,
-Address Type,Typ adresu,
-Administrative Expenses,Wydatki na podstawową działalność,
-Administrative Officer,Urzędnik administracyjny,
-Administrator,Administrator,
-Admission,Wstęp,
-Admission and Enrollment,Wstęp i rejestracja,
-Admissions for {0},Rekrutacja dla {0},
-Admit,Przyznać,
-Admitted,Przyznał,
-Advance Amount,Kwota Zaliczki,
-Advance Payments,Zaliczki,
-Advance account currency should be same as company currency {0},"Waluta konta Advance powinna być taka sama, jak waluta firmy {0}",
-Advance amount cannot be greater than {0} {1},Ilość wyprzedzeniem nie może być większa niż {0} {1},
-Advertising,Reklamowanie,
-Aerospace,Lotnictwo,
-Against,Wyklucza,
-Against Account,Konto korespondujące,
-Against Journal Entry {0} does not have any unmatched {1} entry,Przeciwko Urzędowym Wejście {0} nie ma niezrównaną pozycję {1},
-Against Journal Entry {0} is already adjusted against some other voucher,Zapis {0} jest już powiązany z innym dowodem księgowym,
-Against Supplier Invoice {0} dated {1},Przeciwko Dostawcę faktury {0} {1} dnia,
-Against Voucher,Dowód księgowy,
-Against Voucher Type,Rodzaj dowodu,
-Age,Wiek,
-Age (Days),Wiek (dni),
-Ageing Based On,Starzenie na podstawie,
-Ageing Range 1,Starzenie Zakres 1,
-Ageing Range 2,Starzenie Zakres 2,
-Ageing Range 3,Starzenie Zakres 3,
-Agriculture,Rolnictwo,
-Agriculture (beta),Rolnictwo (beta),
-Airline,Linia lotnicza,
-All Accounts,Wszystkie konta,
-All Addresses.,Wszystkie adresy,
-All Assessment Groups,Wszystkie grupy oceny,
-All BOMs,Wszystkie LM,
-All Contacts.,Wszystkie kontakty.,
-All Customer Groups,Wszystkie grupy klientów,
-All Day,Cały Dzień,
-All Departments,Wszystkie departamenty,
-All Healthcare Service Units,Wszystkie jednostki służby zdrowia,
-All Item Groups,Wszystkie grupy produktów,
-All Jobs,Wszystkie Oferty pracy,
-All Products,Wszystkie produkty,
-All Products or Services.,Wszystkie produkty i usługi.,
-All Student Admissions,Wszystkie Przyjęć studenckie,
-All Supplier Groups,Wszystkie grupy dostawców,
-All Supplier scorecards.,Wszystkie karty oceny dostawcy.,
-All Territories,Wszystkie obszary,
-All Warehouses,Wszystkie magazyny,
-All communications including and above this shall be moved into the new Issue,"Wszystkie komunikaty, w tym i powyżej tego, zostaną przeniesione do nowego wydania",
-All items have already been transferred for this Work Order.,Wszystkie przedmioty zostały już przekazane dla tego zlecenia pracy.,
-All other ITC,Wszystkie inne ITC,
-All the mandatory Task for employee creation hasn't been done yet.,Wszystkie obowiązkowe zadanie tworzenia pracowników nie zostało jeszcze wykonane.,
-Allocate Payment Amount,Przeznaczyć Kwota płatności,
-Allocated Amount,Przyznana kwota,
-Allocated Leaves,Przydzielone Nieobecności,
-Allocating leaves...,Przydzielanie Nieobecności...,
-Already record exists for the item {0},Już istnieje rekord dla elementu {0},
-"Already set default in pos profile {0} for user {1}, kindly disabled default","Już ustawiono domyślne w profilu pozycji {0} dla użytkownika {1}, domyślnie wyłączone",
-Alternate Item,Alternatywna pozycja,
-Alternative item must not be same as item code,"Element alternatywny nie może być taki sam, jak kod produktu",
-Amended From,Zmodyfikowany od,
-Amount,Wartość,
-Amount After Depreciation,Kwota po amortyzacji,
-Amount of Integrated Tax,Kwota Zintegrowanego Podatku,
-Amount of TDS Deducted,Kwota potrąconej TDS,
-Amount should not be less than zero.,Kwota nie powinna być mniejsza niż zero.,
-Amount to Bill,Kwota rachunku,
-Amount {0} {1} against {2} {3},Kwota {0} {1} przeciwko {2} {3},
-Amount {0} {1} deducted against {2},Kwota {0} {1} odliczone przed {2},
-Amount {0} {1} transferred from {2} to {3},"Kwota {0} {1} przeniesione z {2} {3}, aby",
-Amount {0} {1} {2} {3},Kwota {0} {1} {2} {3},
-Amt,Amt,
-"An Item Group exists with same name, please change the item name or rename the item group",Istnieje element Grupy o takiej nazwie. Zmień nazwę elementu lub tamtej Grupy.,
-An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Semestr z tym &quot;Roku Akademickiego&quot; {0} i &#39;Nazwa Termin&#39; {1} już istnieje. Proszę zmodyfikować te dane i spróbuj jeszcze raz.,
-An error occurred during the update process,Wystąpił błąd podczas procesu aktualizacji,
-"An item exists with same name ({0}), please change the item group name or rename the item",Istnieje element  o takiej nazwie. Zmień nazwę Grupy lub tego elementu.,
-Analyst,Analityk,
-Analytics,Analityk,
-Annual Billing: {0},Roczne rozliczeniowy: {0},
-Annual Salary,Roczne wynagrodzenie,
-Anonymous,Anonimowy,
-Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Inny rekord budżetu &quot;{0}&quot; już istnieje w stosunku do {1} &quot;{2}&quot; i konta &quot;{3}&quot; w roku finansowym {4},
-Another Period Closing Entry {0} has been made after {1},Kolejny okres Zamknięcie Wejście {0} została wykonana po {1},
-Another Sales Person {0} exists with the same Employee id,Inna osoba Sprzedaż {0} istnieje w tym samym identyfikator pracownika,
-Antibiotic,Antybiotyk,
-Apparel & Accessories,Odzież i akcesoria,
-Applicable For,Stosowne dla,
-"Applicable if the company is SpA, SApA or SRL","Stosuje się, jeśli spółką jest SpA, SApA lub SRL",
-Applicable if the company is a limited liability company,"Stosuje się, jeśli firma jest spółką z ograniczoną odpowiedzialnością",
-Applicable if the company is an Individual or a Proprietorship,"Stosuje się, jeśli firma jest jednostką lub właścicielem",
-Applicant,Petent,
-Applicant Type,Typ Wnioskodawcy,
-Application of Funds (Assets),Aktywa,
-Application period cannot be across two allocation records,Okres aplikacji nie może mieć dwóch rekordów przydziału,
-Application period cannot be outside leave allocation period,Wskazana data nieobecności nie może wykraczać poza zaalokowany okres dla nieobecności,
-Applied,Stosowany,
-Apply Now,Aplikuj teraz,
-Appointment Confirmation,Potwierdzenie spotkania,
-Appointment Duration (mins),Czas trwania spotkania (min),
-Appointment Type,Typ spotkania,
-Appointment {0} and Sales Invoice {1} cancelled,Mianowanie {0} i faktura sprzedaży {1} zostały anulowane,
-Appointments and Encounters,Spotkania i spotkania,
-Appointments and Patient Encounters,Spotkania i spotkania z pacjentami,
-Appraisal {0} created for Employee {1} in the given date range,Ocena {0} utworzona dla Pracownika {1} w datach od-do,
-Apprentice,Uczeń,
-Approval Status,Status Zatwierdzenia,
-Approval Status must be 'Approved' or 'Rejected',Status Zatwierdzenia musi być 'Zatwierdzono' albo 'Odrzucono',
-Approve,Zatwierdzać,
-Approving Role cannot be same as role the rule is Applicable To,Rola Zatwierdzająca nie może być taka sama jak rola którą zatwierdza,
-Approving User cannot be same as user the rule is Applicable To,"Zatwierdzający Użytkownik nie może być taki sam, jak użytkownik którego zatwierdza",
-"Apps using current key won't be able to access, are you sure?","Aplikacje używające obecnego klucza nie będą mogły uzyskać dostępu, czy na pewno?",
-Are you sure you want to cancel this appointment?,Czy na pewno chcesz anulować to spotkanie?,
-Arrear,Zaległość,
-As Examiner,Jako egzaminator,
-As On Date,W sprawie daty,
-As Supervisor,Jako Supervisor,
-As per rules 42 & 43 of CGST Rules,Zgodnie z zasadami 42 i 43 Regulaminu CGST,
-As per section 17(5),Jak w sekcji 17 (5),
-As per your assigned Salary Structure you cannot apply for benefits,Zgodnie z przypisaną Ci strukturą wynagrodzeń nie możesz ubiegać się o świadczenia,
-Assessment,Oszacowanie,
-Assessment Criteria,Kryteria oceny,
-Assessment Group,Grupa Assessment,
-Assessment Group: ,Grupa oceny:,
-Assessment Plan,Plan oceny,
-Assessment Plan Name,Nazwa planu oceny,
-Assessment Report,Sprawozdanie z oceny,
-Assessment Reports,Raporty z oceny,
-Assessment Result,Wynik oceny,
-Assessment Result record {0} already exists.,Wynik Wynik {0} już istnieje.,
-Asset,Składnik aktywów,
-Asset Category,Aktywa Kategoria,
-Asset Category is mandatory for Fixed Asset item,Kategoria atutem jest obowiązkowe dla Fixed pozycja aktywów,
-Asset Maintenance,Konserwacja aktywów,
-Asset Movement,Zaleta Ruch,
-Asset Movement record {0} created,Rekord Ruch atutem {0} tworzone,
-Asset Name,Zaleta Nazwa,
-Asset Received But Not Billed,"Zasoby odebrane, ale nieopłacone",
-Asset Value Adjustment,Korekta wartości aktywów,
-"Asset cannot be cancelled, as it is already {0}","Aktywów nie mogą być anulowane, ponieważ jest już {0}",
-Asset scrapped via Journal Entry {0},Zaleta złomowany poprzez Journal Entry {0},
-"Asset {0} cannot be scrapped, as it is already {1}","Składnik {0} nie może zostać wycofane, jak to jest już {1}",
-Asset {0} does not belong to company {1},Zaleta {0} nie należą do firmy {1},
-Asset {0} must be submitted,Zaleta {0} należy składać,
-Assets,Majątek,
-Assign,Przydziel,
-Assign Salary Structure,Przypisanie struktury wynagrodzeń,
-Assign To,Przypisano do,
-Assign to Employees,Przypisz do pracowników,
-Assigning Structures...,Przyporządkowywanie Struktur,
-Associate,Współpracownik,
-At least one mode of payment is required for POS invoice.,Co najmniej jeden tryb płatności POS jest wymagane dla faktury.,
-Atleast one item should be entered with negative quantity in return document,Conajmniej jedna pozycja powinna być wpisana w ilości negatywnej w dokumencie powrotnej,
-Atleast one of the Selling or Buying must be selected,Conajmniej jeden sprzedaż lub zakup musi być wybrany,
-Atleast one warehouse is mandatory,Co najmniej jeden magazyn jest wymagany,
-Attach Logo,Załącz Logo,
-Attachment,Załącznik,
-Attachments,Załączniki,
-Attendance,Obecność,
-Attendance From Date and Attendance To Date is mandatory,Obecnośc od i do Daty są obowiązkowe,
-Attendance can not be marked for future dates,Obecność nie może być oznaczana na przyszłość,
-Attendance date can not be less than employee's joining date,data frekwencja nie może być mniejsza niż data łączącej pracownika,
-Attendance for employee {0} is already marked,Frekwencja pracownika {0} jest już zaznaczona,
-Attendance for employee {0} is already marked for this day,Frekwencja na pracownika {0} jest już zaznaczone na ten dzień,
-Attendance has been marked successfully.,Obecność została oznaczona pomyślnie.,
-Attendance not submitted for {0} as it is a Holiday.,"Frekwencja nie została przesłana do {0}, ponieważ jest to święto.",
-Attendance not submitted for {0} as {1} on leave.,Obecność nie została przesłana do {0} jako {1} podczas nieobecności.,
-Attribute table is mandatory,Stół atrybut jest obowiązkowy,
-Attribute {0} selected multiple times in Attributes Table,Atrybut {0} wybrane atrybuty kilka razy w tabeli,
-Author,Autor,
-Authorized Signatory,Upoważniony sygnatariusz,
-Auto Material Requests Generated,Wnioski Auto Materiał Generated,
-Auto Repeat,Auto Repeat,
-Auto repeat document updated,Automatycznie powtórzony dokument został zaktualizowany,
-Available,Dostępny,
-Available Leaves,Dostępne Nieobecności,
-Available Qty,Dostępne szt,
-Available Selling,Dostępne sprzedawanie,
-Available for use date is required,Dostępna jest data przydatności do użycia,
-Available slots,Dostępne gniazda,
-Available {0},Dostępne {0},
-Available-for-use Date should be after purchase date,Data przydatności do użycia powinna być późniejsza niż data zakupu,
-Average Age,Średni wiek,
-Average Rate,Średnia Stawka,
-Avg Daily Outgoing,Średnia dzienna Wychodzące,
-Avg. Buying Price List Rate,Śr. Kupowanie kursu cenowego,
-Avg. Selling Price List Rate,Śr. Wskaźnik cen sprzedaży,
-Avg. Selling Rate,Średnia. Cena sprzedaży,
-BOM,BOM,
-BOM Browser,Przeglądarka BOM,
-BOM No,Nr zestawienia materiałowego,
-BOM Rate,BOM Kursy,
-BOM Stock Report,BOM Zdjęcie Zgłoś,
-BOM and Manufacturing Quantity are required,BOM i ilości są wymagane Manufacturing,
-BOM does not contain any stock item,BOM nie zawiera żadnego elementu akcji,
-BOM {0} does not belong to Item {1},BOM {0} nie należy do pozycji {1},
-BOM {0} must be active,BOM {0} musi być aktywny,
-BOM {0} must be submitted,BOM {0} musi być złożony,
-Balance,Bilans,
-Balance (Dr - Cr),Balans (Dr - Cr),
-Balance ({0}),Saldo ({0}),
-Balance Qty,Ilość bilansu,
-Balance Sheet,Arkusz Bilansu,
-Balance Value,Wartość bilansu,
-Balance for Account {0} must always be {1},Bilans dla Konta {0} zawsze powinien wynosić {1},
-Bank,Bank,
-Bank Account,Konto bankowe,
-Bank Accounts,Konta bankowe,
-Bank Draft,Przekaz bankowy,
-Bank Entries,Operacje bankowe,
-Bank Name,Nazwa banku,
-Bank Overdraft Account,Konto z kredytem w rachunku bankowym,
-Bank Reconciliation,Uzgodnienia z wyciągiem bankowym,
-Bank Reconciliation Statement,Stan uzgodnień z wyciągami z banku,
-Bank Statement,Wyciąg bankowy,
-Bank Statement Settings,Ustawienia wyciągu bankowego,
-Bank Statement balance as per General Ledger,Bilans wyciągów bankowych wedle Księgi Głównej,
-Bank account cannot be named as {0},Rachunku bankowego nie może być nazwany {0},
-Bank/Cash transactions against party or for internal transfer,Transakcje Bank / Gotówka przeciwko osobie lub do przenoszenia wewnętrznego,
-Banking,Bankowość,
-Banking and Payments,Operacje bankowe i płatności,
-Barcode {0} already used in Item {1},Kod kreskowy {0} jest już używany dla przedmiotu {1},
-Barcode {0} is not a valid {1} code,Kod kreskowy {0} nie jest prawidłowym kodem {1},
-Base,Baza,
-Base URL,Podstawowy adres URL,
-Based On,Bazujący na,
-Based On Payment Terms,Bazując na Zasadach Płatności,
-Basic,Podstawowy,
-Batch,Partia,
-Batch Entries,Wpisy wsadowe,
-Batch ID is mandatory,Identyfikator zbiorczy jest obowiązkowy,
-Batch Inventory,Inwentaryzacja partii,
-Batch Name,Batch Nazwa,
-Batch No,Nr Partii,
-Batch number is mandatory for Item {0},Numer partii jest obowiązkowy dla produktu {0},
-Batch {0} of Item {1} has expired.,Batch {0} pozycji {1} wygasł.,
-Batch {0} of Item {1} is disabled.,Partia {0} elementu {1} jest wyłączona.,
-Batch: ,Partia:,
-Batches,Partie,
-Become a Seller,Zostań sprzedawcą,
-Beginner,Początkujący,
-Bill,Rachunek,
-Bill Date,Data Rachunku,
-Bill No,Numer Rachunku,
-Bill of Materials,Zestawienie materiałów,
-Bill of Materials (BOM),Zestawienie materiałowe (BOM),
-Billable Hours,Rozliczalne godziny,
-Billed,Rozliczony,
-Billed Amount,Ilość Rozliczenia,
-Billing,Dane do faktury,
-Billing Address,Adres Faktury,
-Billing Address is same as Shipping Address,"Adres rozliczeniowy jest taki sam, jak adres wysyłki",
-Billing Amount,Kwota Rozliczenia,
-Billing Status,Status Faktury,
-Billing currency must be equal to either default company's currency or party account currency,Waluta rozliczeniowa musi być równa domyślnej walucie firmy lub walucie konta strony,
-Bills raised by Suppliers.,Rachunki od dostawców.,
-Bills raised to Customers.,Rachunki dla klientów.,
-Biotechnology,Biotechnologia,
-Birthday Reminder,Przypomnienie o urodzinach,
-Black,czarny,
-Blanket Orders from Costumers.,Zamówienia zbiorcze od klientów.,
-Block Invoice,Zablokuj fakturę,
-Boms,Bomy,
-Bonus Payment Date cannot be a past date,Data płatności premii nie może być datą przeszłą,
-Both Trial Period Start Date and Trial Period End Date must be set,"Należy ustawić zarówno datę rozpoczęcia okresu próbnego, jak i datę zakończenia okresu próbnego",
-Both Warehouse must belong to same Company,Obydwa Magazyny muszą należeć do tej samej firmy,
-Branch,Odddział,
-Broadcasting,Transmitowanie,
-Brokerage,Pośrednictwo,
-Browse BOM,Przeglądaj BOM,
-Budget Against,budżet Against,
-Budget List,Lista budżetu,
-Budget Variance Report,Raport z weryfikacji budżetu,
-Budget cannot be assigned against Group Account {0},Budżet nie może być przypisany do rachunku grupy {0},
-"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Budżet nie może być przypisany przed {0}, ponieważ nie jest to konto przychodów lub kosztów",
-Buildings,Budynki,
-Bundle items at time of sale.,Pakiet przedmiotów w momencie sprzedaży,
-Business Development Manager,Business Development Manager,
-Buy,Kup,
-Buying,Zakupy,
-Buying Amount,Kwota zakupu,
-Buying Price List,Kupowanie cennika,
-Buying Rate,Cena zakupu,
-"Buying must be checked, if Applicable For is selected as {0}","Zakup musi być sprawdzona, jeśli dotyczy wybrano jako {0}",
-By {0},Do {0},
-Bypass credit check at Sales Order ,Pomiń kontrolę kredytową w zleceniu sprzedaży,
-C-Form records,C-forma rekordy,
-C-form is not applicable for Invoice: {0},C-forma nie ma zastosowania do faktury: {0},
-CEO,CEO,
-CESS Amount,Kwota CESS,
-CGST Amount,CGST Kwota,
-CRM,CRM,
-CWIP Account,Konto CWIP,
-Calculated Bank Statement balance,Obliczony bilans wyciągu bankowego,
-Calls,Połączenia,
-Campaign,Kampania,
-Can be approved by {0},Może być zatwierdzone przez {0},
-"Can not filter based on Account, if grouped by Account","Nie można przefiltrować na podstawie Konta, jeśli pogrupowano z użuciem konta",
-"Can not filter based on Voucher No, if grouped by Voucher","Nie można przefiltrować wg Podstawy, jeśli pogrupowano z użyciem Podstawy",
-"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Nie można oznaczyć rekordu rozładowania szpitala, istnieją niezafakturowane faktury {0}",
-Can only make payment against unbilled {0},Mogą jedynie wpłaty przed Unbilled {0},
-Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Może odnosić się do wierdza tylko wtedy, gdy typ opłata jest ""Poprzedniej Wartości Wiersza Suma"" lub ""poprzedniego wiersza Razem""",
-"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Nie można zmienić metody wyceny, ponieważ istnieją transakcje dotyczące niektórych pozycji, które nie mają własnej metody wyceny",
-Can't create standard criteria. Please rename the criteria,Nie można utworzyć standardowych kryteriów. Zmień nazwę kryteriów,
-Cancel,Anuluj,
-Cancel Material Visit {0} before cancelling this Warranty Claim,Anuluj Materiał Odwiedź {0} zanim anuluje to roszczenia z tytułu gwarancji,
-Cancel Material Visits {0} before cancelling this Maintenance Visit,Anuluj Fizyczne Wizyty {0} zanim anulujesz Wizytę Pośrednią,
-Cancel Subscription,Anuluj subskrypcje,
-Cancel the journal entry {0} first,Najpierw anuluj zapis księgowy {0},
-Canceled,Anulowany,
-"Cannot Submit, Employees left to mark attendance","Nie można przesłać, pracownicy zostali pozostawieni, aby zaznaczyć frekwencję",
-Cannot be a fixed asset item as Stock Ledger is created.,"Nie może być pozycją środka trwałego, ponieważ tworzona jest księga zapasowa.",
-Cannot cancel because submitted Stock Entry {0} exists,"Nie można anulować, ponieważ wskazane Wprowadzenie na magazyn {0} istnieje",
-Cannot cancel transaction for Completed Work Order.,Nie można anulować transakcji dotyczącej ukończonego zlecenia pracy.,
-Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},"Nie można anulować {0} {1}, ponieważ numer seryjny {2} nie należy do magazynu {3}",
-Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Nie można zmienić atrybutów po transakcji giełdowej. Zrób nowy przedmiot i prześlij towar do nowego przedmiotu,
-Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,"Nie można zmienić Rok obrotowy Data rozpoczęcia i Data zakończenia roku obrotowego, gdy rok obrotowy jest zapisane.",
-Cannot change Service Stop Date for item in row {0},Nie można zmienić daty zatrzymania usługi dla pozycji w wierszu {0},
-Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,"Nie można zmienić właściwości wariantu po transakcji giełdowej. Będziesz musiał zrobić nową rzecz, aby to zrobić.",
-"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Nie można zmienić domyślnej waluty firmy, ponieważ istnieją przypisane do niej transakcje. Anuluj transakcje, aby zmienić domyślną walutę",
-Cannot change status as student {0} is linked with student application {1},Nie można zmienić status studenta {0} jest powiązany z aplikacją studentów {1},
-Cannot convert Cost Center to ledger as it has child nodes,"Nie można przekonwertować centrum kosztów do księgi głównej, jak to ma węzły potomne",
-Cannot covert to Group because Account Type is selected.,"Nie można konwertowanie do grupy, ponieważ jest wybrany rodzaj konta.",
-Cannot create Retention Bonus for left Employees,Nie można utworzyć bonusu utrzymania dla leworęcznych pracowników,
-Cannot create a Delivery Trip from Draft documents.,Nie można utworzyć podróży dostawy z dokumentów roboczych.,
-Cannot deactivate or cancel BOM as it is linked with other BOMs,Nie można wyłączyć lub anulować LM jak to jest połączone z innymi LM,
-"Cannot declare as lost, because Quotation has been made.",Nie można zadeklarować jako zagubiony z powodu utworzenia kwotacji,
-Cannot deduct when category is for 'Valuation' or 'Valuation and Total',"Nie można wywnioskować, kiedy kategoria dotyczy ""Ocena"" a kiedy ""Oceny i Total""",
-Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Nie można odliczyć, gdy kategoria jest dla &#39;Wycena&#39; lub &#39;Vaulation i Total&#39;",
-"Cannot delete Serial No {0}, as it is used in stock transactions","Nie można usunąć nr seryjnego {0}, ponieważ jest wykorzystywany w transakcjach magazynowych",
-Cannot enroll more than {0} students for this student group.,Nie można zapisać więcej niż {0} studentów dla tej grupy studentów.,
-Cannot find active Leave Period,Nie można znaleźć aktywnego Okresu Nieobecności,
-Cannot produce more Item {0} than Sales Order quantity {1},Nie można wyprodukować więcej przedmiotów {0} niż wartość {1} na Zamówieniu,
-Cannot promote Employee with status Left,Nie można promować pracownika z pozostawionym statusem,
-Cannot refer row number greater than or equal to current row number for this Charge type,Nie można wskazać numeru wiersza większego lub równego numerowi dla tego typu Opłaty,
-Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Nie można wybrać typu opłaty jako ""Sumy Poprzedniej Komórki"" lub ""Całkowitej kwoty poprzedniej Komórki"" w pierwszym rzędzie",
-Cannot set as Lost as Sales Order is made.,Nie można ustawić jako Utracone Zamówienia Sprzedaży,
-Cannot set authorization on basis of Discount for {0},Nie można ustawić autoryzacji na podstawie Zniżki dla {0},
-Cannot set multiple Item Defaults for a company.,Nie można ustawić wielu wartości domyślnych dla danej firmy.,
-Cannot set quantity less than delivered quantity,Nie można ustawić ilości mniejszej niż dostarczona ilość,
-Cannot set quantity less than received quantity,Nie można ustawić ilości mniejszej niż ilość odebrana,
-Cannot set the field <b>{0}</b> for copying in variants,Nie można ustawić pola <b>{0}</b> do kopiowania w wariantach,
-Cannot transfer Employee with status Left,Nie można przenieść pracownika ze statusem w lewo,
-Cannot {0} {1} {2} without any negative outstanding invoice,Nie można {0} {1} {2} bez negatywnego wybitne faktury,
-Capital Equipments,Wyposażenie Kapitałowe,
-Capital Stock,Kapitał zakładowy,
-Capital Work in Progress,Praca kapitałowa w toku,
-Cart,Koszyk,
-Cart is Empty,Koszyk jest pusty,
-Case No(s) already in use. Try from Case No {0},Numer(y) sprawy w użytku. Proszę spróbować Numer Sprawy {0},
-Cash,Gotówka,
-Cash Flow Statement,Raport kasowy,
-Cash Flow from Financing,Cash Flow z finansowania,
-Cash Flow from Investing,Przepływy środków pieniężnych z Inwestowanie,
-Cash Flow from Operations,Przepływy środków pieniężnych z działalności operacyjnej,
-Cash In Hand,Gotówka w kasie,
-Cash or Bank Account is mandatory for making payment entry,Konto Gotówka lub Bank jest wymagane dla tworzenia zapisów Płatności,
-Cashier Closing,Zamknięcie kasjera,
-Casual Leave,Urlop okolicznościowy,
-Category,Kategoria,
-Category Name,Nazwa kategorii,
-Caution,Uwaga,
-Central Tax,Podatek centralny,
-Certification,Orzecznictwo,
-Cess,Cess,
-Change Amount,Zmień Kwota,
-Change Item Code,Zmień kod przedmiotu,
-Change Release Date,Zmień datę wydania,
-Change Template Code,Zmień kod szablonu,
-Changing Customer Group for the selected Customer is not allowed.,Zmiana grupy klientów dla wybranego klienta jest niedozwolona.,
-Chapter,Rozdział,
-Chapter information.,Informacje o rozdziale.,
-Charge of type 'Actual' in row {0} cannot be included in Item Rate,Opłata typu 'Aktualny' w wierszu {0} nie może być uwzględniona w cenie pozycji,
-Chargeble,Chargeble,
-Charges are updated in Purchase Receipt against each item,Opłaty są aktualizowane w ZAKUPU każdej pozycji,
-"Charges will be distributed proportionately based on item qty or amount, as per your selection","Koszty zostaną rozdzielone proporcjonalnie na podstawie Ilość pozycji lub kwoty, jak na swój wybór",
-Chart of Cost Centers,Struktura kosztów (MPK),
-Check all,Zaznacz wszystkie,
-Checkout,Sprawdzić,
-Chemical,Chemiczny,
-Cheque,Czek,
-Cheque/Reference No,Czek / numer,
-Cheques Required,Wymagane kontrole,
-Cheques and Deposits incorrectly cleared,Czeki i Depozyty nieprawidłowo rozliczone,
-Child Task exists for this Task. You can not delete this Task.,Dla tego zadania istnieje zadanie podrzędne. Nie możesz usunąć tego zadania.,
-Child nodes can be only created under 'Group' type nodes,węzły potomne mogą być tworzone tylko w węzłach typu &quot;grupa&quot;,
-Child warehouse exists for this warehouse. You can not delete this warehouse.,Magazyn Dziecko nie istnieje dla tego magazynu. Nie można usunąć tego magazynu.,
-Circular Reference Error,Circular Error Referencje,
-City,Miasto,
-City/Town,Miasto/Miejscowość,
-Claimed Amount,Kwota roszczenia,
-Clay,Glina,
-Clear filters,Wyczyść filtry,
-Clear values,Wyczyść wartości,
-Clearance Date,Data Czystki,
-Clearance Date not mentioned,Rozliczenie Data nie została podana,
-Clearance Date updated,Rozliczenie Data aktualizacji,
-Client,Klient,
-Client ID,Identyfikator klienta,
-Client Secret,Klient Secret,
-Clinical Procedure,Procedura kliniczna,
-Clinical Procedure Template,Szablon procedury klinicznej,
-Close Balance Sheet and book Profit or Loss.,Sporządzenie Bilansu oraz Rachunku zysków i strat.,
-Close Loan,Zamknij pożyczkę,
-Close the POS,Zamknij punkt sprzedaży,
-Closed,Zamknięte,
-Closed order cannot be cancelled. Unclose to cancel.,Kolejność Zamknięty nie mogą być anulowane. Unclose aby anulować.,
-Closing (Cr),Zamknięcie (Cr),
-Closing (Dr),Zamknięcie (Dr),
-Closing (Opening + Total),Zamknięcie (otwarcie + suma),
-Closing Account {0} must be of type Liability / Equity,Zamknięcie konta {0} musi być typu odpowiedzialności / Equity,
-Closing Balance,Bilans zamknięcia,
-Code,Kod,
-Collapse All,Zwinąć wszystkie,
-Color,Kolor,
-Colour,Kolor,
-Combined invoice portion must equal 100%,Łączna kwota faktury musi wynosić 100%,
-Commercial,Komercyjny,
-Commission,Prowizja,
-Commission Rate %,Stawka prowizji%,
-Commission on Sales,Prowizja od sprzedaży,
-Commission rate cannot be greater than 100,Wartość prowizji nie może być większa niż 100,
-Community Forum,Społeczność Forum,
-Company (not Customer or Supplier) master.,Informacje o własnej firmie.,
-Company Abbreviation,Nazwa skrótowa firmy,
-Company Abbreviation cannot have more than 5 characters,Skrót firmy nie może zawierać więcej niż 5 znaków,
-Company Name,Nazwa firmy,
-Company Name cannot be Company,Nazwa firmy nie może być firmą,
-Company currencies of both the companies should match for Inter Company Transactions.,Waluty firmy obu spółek powinny być zgodne z Transakcjami między spółkami.,
-Company is manadatory for company account,Firma jest manadatory dla konta firmowego,
-Company name not same,Nazwa firmy nie jest taka sama,
-Company {0} does not exist,Firma {0} nie istnieje,
-Compensatory Off,Urlop wyrównawczy,
-Compensatory leave request days not in valid holidays,Dni urlopu wyrównawczego nie zawierają się w zakresie prawidłowych dniach świątecznych,
-Complaint,Skarga,
-Completion Date,Data ukończenia,
-Computer,Komputer,
-Condition,Stan,
-Configure,Konfiguruj,
-Configure {0},Konfiguruj {0},
-Confirmed orders from Customers.,Potwierdzone zamówienia od klientów,
-Connect Amazon with ERPNext,Połącz Amazon z ERPNext,
-Connect Shopify with ERPNext,Połącz Shopify z ERPNext,
-Connect to Quickbooks,Połącz się z Quickbooks,
-Connected to QuickBooks,Połączony z QuickBooks,
-Connecting to QuickBooks,Łączenie z QuickBookami,
-Consultation,Konsultacja,
-Consultations,Konsultacje,
-Consulting,Konsulting,
-Consumable,Konsumpcyjny,
-Consumed,Skonsumowano,
-Consumed Amount,Skonsumowana wartość,
-Consumed Qty,Skonsumowana ilość,
-Consumer Products,Produkty konsumenckie,
-Contact,Kontakt,
-Contact Details,Szczegóły kontaktu,
-Contact Number,Numer kontaktowy,
-Contact Us,Skontaktuj się z nami,
-Content,Zawartość,
-Content Masters,Mistrzowie treści,
-Content Type,Typ zawartości,
-Continue Configuration,Kontynuuj konfigurację,
-Contract,Kontrakt,
-Contract End Date must be greater than Date of Joining,Końcowa data kontraktu musi być większa od Daty Członkowstwa,
-Contribution %,Udział %,
-Contribution Amount,Kwota udziału,
-Conversion factor for default Unit of Measure must be 1 in row {0},Współczynnikiem konwersji dla domyślnej Jednostki Pomiaru musi być 1 w rzędzie {0},
-Conversion rate cannot be 0 or 1,Wartością konwersji nie może być 0 ani 1,
-Convert to Group,Przekształć w Grupę,
-Convert to Non-Group,Przekształć w nie-Grupę,
-Cosmetics,Kosmetyki,
-Cost Center,Centrum kosztów,
-Cost Center Number,Numer centrum kosztów,
-Cost Center and Budgeting,Centrum kosztów i budżetowanie,
-Cost Center is required in row {0} in Taxes table for type {1},Centrum kosztów jest wymagane w wierszu {0} w tabeli podatków dla typu {1},
-Cost Center with existing transactions can not be converted to group,Centrum Kosztów z istniejącą transakcją nie może być przekształcone w grupę,
-Cost Center with existing transactions can not be converted to ledger,Centrum Kosztów z istniejącą transakcją nie może być przekształcone w rejestr,
-Cost Centers,Centra Kosztów,
-Cost Updated,Koszt Zaktualizowano,
-Cost as on,Kosztować od,
-Cost of Delivered Items,Koszt dostarczonych przedmiotów,
-Cost of Goods Sold,Wartość sprzedanych pozycji w cenie nabycia,
-Cost of Issued Items,Koszt Emitowanych Przedmiotów,
-Cost of New Purchase,Koszt zakupu nowego,
-Cost of Purchased Items,Koszt zakupionych towarów,
-Cost of Scrapped Asset,Koszt złomowany aktywach,
-Cost of Sold Asset,Koszt sprzedanych aktywów,
-Cost of various activities,Koszt różnych działań,
-"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Nie można utworzyć noty kredytowej automatycznie, odznacz opcję &quot;Nota kredytowa&quot; i prześlij ponownie",
-Could not generate Secret,Nie można wygenerować Tajnego,
-Could not retrieve information for {0}.,Nie można pobrać informacji dla {0}.,
-Could not solve criteria score function for {0}. Make sure the formula is valid.,"Nie można rozwiązać funkcji punktacji kryterium dla {0}. Upewnij się, że formuła jest prawidłowa.",
-Could not solve weighted score function. Make sure the formula is valid.,"Nie udało się rozwiązać funkcji ważonych punktów. Upewnij się, że formuła jest prawidłowa.",
-Could not submit some Salary Slips,Nie można przesłać niektórych zwrotów wynagrodzeń,
-"Could not update stock, invoice contains drop shipping item.","Nie można zaktualizować stanu - faktura zawiera pozycję, której proces wysyłki scedowano na dostawcę.",
-Country wise default Address Templates,Szablony Adresów na dany kraj,
-Course,Kurs,
-Course Code: ,Kod kursu:,
-Course Enrollment {0} does not exists,Rejestracja kursu {0} nie istnieje,
-Course Schedule,Plan zajęć,
-Course: ,Kierunek:,
-Cr,Kr,
-Create,Utwórz,
-Create BOM,Utwórz zestawienie komponentów,
-Create Delivery Trip,Utwórz podróż dostawy,
-Create Disbursement Entry,Utwórz wpis wypłaty,
-Create Employee,Utwórz pracownika,
-Create Employee Records,Tworzenie pracownicze Records,
-"Create Employee records to manage leaves, expense claims and payroll","Tworzenie rekordów pracownika do zarządzania nieobecnościami, roszczenia o wydatkach i płac",
-Create Fee Schedule,Utwórz harmonogram opłat,
-Create Fees,Utwórz opłaty,
-Create Inter Company Journal Entry,Utwórz wpis do dziennika firmy,
-Create Invoice,Wystaw fakturę,
-Create Invoices,Utwórz faktury,
-Create Job Card,Utwórz kartę pracy,
-Create Journal Entry,Utwórz wpis do dziennika,
-Create Lead,Utwórz ołów,
-Create Leads,Tworzenie Leads,
-Create Maintenance Visit,Utwórz wizytę serwisową,
-Create Material Request,Utwórz żądanie materiałowe,
-Create Multiple,Utwórz wiele,
-Create Opening Sales and Purchase Invoices,Utwórz otwarcie sprzedaży i faktury zakupu,
-Create Payment Entries,Utwórz wpisy płatności,
-Create Payment Entry,Utwórz wpis płatności,
-Create Print Format,Tworzenie format wydruku,
-Create Purchase Order,Utwórz zamówienie zakupu,
-Create Purchase Orders,Stwórz zamówienie zakupu,
-Create Quotation,Utwórz ofertę,
-Create Salary Slip,Utwórz pasek wynagrodzenia,
-Create Salary Slips,Utwórz wynagrodzenie wynagrodzenia,
-Create Sales Invoice,Utwórz fakturę sprzedaży,
-Create Sales Order,Utwórz zamówienie sprzedaży,
-Create Sales Orders to help you plan your work and deliver on-time,"Twórz zlecenia sprzedaży, aby pomóc Ci zaplanować pracę i dostarczyć terminowość",
-Create Sample Retention Stock Entry,Utwórz wpis dotyczący przechowywania próbki,
-Create Student,Utwórz ucznia,
-Create Student Batch,Utwórz Partię Ucznia,
-Create Student Groups,Tworzenie grup studenckich,
-Create Supplier Quotation,Utwórz ofertę dla dostawców,
-Create Tax Template,Utwórz szablon podatku,
-Create Timesheet,Utwórz grafik,
-Create User,Stwórz użytkownika,
-Create Users,Tworzenie użytkowników,
-Create Variant,Utwórz wariant,
-Create Variants,Tworzenie Warianty,
-"Create and manage daily, weekly and monthly email digests.","Tworzenie i zarządzanie dziennymi, tygodniowymi i miesięcznymi zestawieniami e-mail.",
-Create rules to restrict transactions based on values.,Tworzenie reguł ograniczających transakcje na podstawie wartości,
-Create customer quotes,Tworzenie cytaty z klientami,
-Created {0} scorecards for {1} between: ,Utworzono {0} karty wyników dla {1} między:,
-Creating Company and Importing Chart of Accounts,Tworzenie firmy i importowanie planu kont,
-Creating Fees,Tworzenie opłat,
-Creating Payment Entries......,Tworzenie wpisów płatności ......,
-Creating Salary Slips...,Tworzenie zarobków ...,
-Creating student groups,Tworzenie grup studentów,
-Creating {0} Invoice,Tworzenie faktury {0},
-Credit,Kredyt,
-Credit ({0}),Kredyt ({0}),
-Credit Account,Konto kredytowe,
-Credit Balance,Saldo kredytowe,
-Credit Card,Karta kredytowa,
-Credit Days cannot be a negative number,Dni kredytu nie mogą być liczbą ujemną,
-Credit Limit,Limit kredytowy,
-Credit Note,Nota uznaniowa (kredytowa),
-Credit Note Amount,Kwota noty uznaniowej,
-Credit Note Issued,Credit blanco wystawiony,
-Credit Note {0} has been created automatically,Nota kredytowa {0} została utworzona automatycznie,
-Credit limit has been crossed for customer {0} ({1}/{2}),Limit kredytowy został przekroczony dla klienta {0} ({1} / {2}),
-Creditors,Wierzyciele,
-Criteria weights must add up to 100%,Kryteria wag muszą dodać do 100%,
-Crop Cycle,Crop Cycle,
-Crops & Lands,Uprawy i ziemie,
-Currency Exchange must be applicable for Buying or for Selling.,Wymiana walut musi dotyczyć Kupowania lub Sprzedaży.,
-Currency can not be changed after making entries using some other currency,Waluta nie może być zmieniony po dokonaniu wpisów używając innej walucie,
-Currency exchange rate master.,Główna wartość Wymiany walut,
-Currency for {0} must be {1},Waluta dla {0} musi być {1},
-Currency is required for Price List {0},Waluta jest wymagana dla Cenniku {0},
-Currency of the Closing Account must be {0},Waluta Rachunku Zamknięcie musi być {0},
-Currency of the price list {0} must be {1} or {2},Waluta listy cen {0} musi wynosić {1} lub {2},
-Currency should be same as Price List Currency: {0},"Waluta powinna być taka sama, jak waluta cennika: {0}",
-Current,Bieżący,
-Current Assets,Aktywa finansowe,
-Current BOM and New BOM can not be same,Aktualna BOM i Nowa BOM nie może być taki sam,
-Current Job Openings,Aktualne ofert pracy,
-Current Liabilities,Bieżące Zobowiązania,
-Current Qty,Obecna ilość,
-Current invoice {0} is missing,Brak aktualnej faktury {0},
-Custom HTML,Niestandardowy HTML,
-Custom?,Niestandardowy?,
-Customer,Klient,
-Customer Addresses And Contacts,Klienci Adresy i kontakty,
-Customer Contact,Kontakt z klientem,
-Customer Database.,Baza danych klientów.,
-Customer Group,Grupa klientów,
-Customer LPO,Klient LPO,
-Customer LPO No.,Numer klienta LPO,
-Customer Name,Nazwa klienta,
-Customer POS Id,Identyfikator klienta klienta,
-Customer Service,Obsługa klienta,
-Customer and Supplier,Klient i dostawca,
-Customer is required,Klient jest wymagany,
-Customer isn't enrolled in any Loyalty Program,Klient nie jest zarejestrowany w żadnym Programie Lojalnościowym,
-Customer required for 'Customerwise Discount',Klient wymagany dla 'Klientwise Discount',
-Customer {0} does not belong to project {1},Klient {0} nie należy do projektu {1},
-Customer {0} is created.,Utworzono klienta {0}.,
-Customers in Queue,Klienci w kolejce,
-Customize Homepage Sections,Dostosuj sekcje strony głównej,
-Customizing Forms,Dostosowywanie formularzy,
-Daily Project Summary for {0},Codzienne podsumowanie projektu dla {0},
-Daily Reminders,Codzienne przypomnienia,
-Daily Work Summary,Dziennie Podsumowanie zawodowe,
-Daily Work Summary Group,Codzienna grupa podsumowująca pracę,
-Data Import and Export,Import i eksport danych,
-Data Import and Settings,Import i ustawienia danych,
-Database of potential customers.,Baza danych potencjalnych klientów.,
-Date Format,Format daty,
-Date Of Retirement must be greater than Date of Joining,Data przejścia na emeryturę musi być większa niż Data wstąpienia,
-Date is repeated,Data jest powtórzona,
-Date of Birth,Data urodzenia,
-Date of Birth cannot be greater than today.,Data urodzenia nie może być większa niż data dzisiejsza.,
-Date of Commencement should be greater than Date of Incorporation,Data rozpoczęcia powinna być większa niż data założenia,
-Date of Joining,Data Wstąpienia,
-Date of Joining must be greater than Date of Birth,Data Wstąpienie musi być większa niż Data Urodzenia,
-Date of Transaction,Data transakcji,
-Datetime,Data-czas,
-Day,Dzień,
-Debit,Debet,
-Debit ({0}),Debet ({0}),
-Debit A/C Number,Numer A / C debetu,
-Debit Account,Konto debetowe,
-Debit Note,Nota debetowa,
-Debit Note Amount,Kwota noty debetowej,
-Debit Note Issued,Nocie debetowej,
-Debit To is required,Debetowane Konto jest wymagane,
-Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debetowe i kredytowe nie równe dla {0} # {1}. Różnica jest {2}.,
-Debtors,Dłużnicy,
-Debtors ({0}),Dłużnicy ({0}),
-Declare Lost,Zadeklaruj Zagubiony,
-Deduction,Odliczenie,
-Default Activity Cost exists for Activity Type - {0},Istnieje Domyślnie aktywny Koszt rodzajów działalności - {0},
-Default BOM ({0}) must be active for this item or its template,Domyślnie Wykaz Materiałów ({0}) musi być aktywny dla tej pozycji lub jej szablonu,
-Default BOM for {0} not found,Domyślnie BOM dla {0} Nie znaleziono,
-Default BOM not found for Item {0} and Project {1},Domyślnie nie znaleziono elementu BOM dla elementu {0} i projektu {1},
-Default Letter Head,Domyślny nagłówek pisma,
-Default Tax Template,Domyślny szablon podatkowy,
-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.,"Domyślnie Jednostka miary dla pozycji {0} nie może być zmieniana bezpośrednio, ponieważ masz już jakąś transakcję (y) z innym UOM. Musisz utworzyć nowy obiekt, aby użyć innego domyślnego UOM.",
-Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',"Domyślne jednostki miary dla wariantu &quot;{0}&quot; musi być taki sam, jak w szablonie &#39;{1}&#39;",
-Default settings for buying transactions.,Domyślne ustawienia dla transakcji kupna,
-Default settings for selling transactions.,Domyślne ustawienia dla transakcji sprzedaży,
-Default tax templates for sales and purchase are created.,Definiowane są domyślne szablony podatkowe dla sprzedaży i zakupu.,
-Defaults,Wartości domyślne,
-Defense,Obrona,
-Define Project type.,Zdefiniuj typ projektu.,
-Define budget for a financial year.,Definiowanie budżetu za dany rok budżetowy.,
-Define various loan types,Definiować różne rodzaje kredytów,
-Del,Del,
-Delay in payment (Days),Opóźnienie w płatności (dni),
-Delete all the Transactions for this Company,"Usuń wszystkie transakcje, dla tej firmy",
-Deletion is not permitted for country {0},Usunięcie jest niedozwolone w przypadku kraju {0},
-Delivered,Dostarczono,
-Delivered Amount,Dostarczone Ilość,
-Delivered Qty,Dostarczona Liczba jednostek,
-Delivered: {0},Dostarczone: {0},
-Delivery,Dostarczanie,
-Delivery Date,Data dostawy,
-Delivery Note,Dowód dostawy,
-Delivery Note {0} is not submitted,Dowód dostawy {0} nie został wysłany,
-Delivery Note {0} must not be submitted,Dowód dostawy {0} nie może być wysłany,
-Delivery Notes {0} must be cancelled before cancelling this Sales Order,Dowody Dostawy {0} muszą być anulowane przed anulowanie Zamówienia Sprzedaży,
-Delivery Notes {0} updated,Zaktualizowano uwagi dotyczące dostawy {0},
-Delivery Status,Status dostawy,
-Delivery Trip,Podróż dostawy,
-Delivery warehouse required for stock item {0},Dostawa wymagane dla magazynu pozycji magazynie {0},
-Department,Departament,
-Department Stores,Sklepy detaliczne,
-Depreciation,Amortyzacja,
-Depreciation Amount,Kwota amortyzacji,
-Depreciation Amount during the period,Kwota amortyzacji w okresie,
-Depreciation Date,amortyzacja Data,
-Depreciation Eliminated due to disposal of assets,Amortyzacja Wyeliminowany z tytułu zbycia aktywów,
-Depreciation Entry,Amortyzacja,
-Depreciation Method,Metoda amortyzacji,
-Depreciation Row {0}: Depreciation Start Date is entered as past date,Wiersz amortyzacji {0}: Data rozpoczęcia amortyzacji jest wprowadzana jako data przeszła,
-Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Wiersz amortyzacji {0}: oczekiwana wartość po okresie użyteczności musi być większa lub równa {1},
-Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Wiersz amortyzacji {0}: Data następnej amortyzacji nie może być wcześniejsza niż data przydatności do użycia,
-Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Wiersz amortyzacji {0}: Data następnej amortyzacji nie może być wcześniejsza niż Data zakupu,
-Designer,Projektant,
-Detailed Reason,Szczegółowy powód,
-Details,Szczegóły,
-Details of Outward Supplies and inward supplies liable to reverse charge,Szczegóły dotyczące dostaw zewnętrznych i dostaw wewnętrznych podlegających zwrotnemu obciążeniu,
-Details of the operations carried out.,Szczegóły dotyczące przeprowadzonych operacji.,
-Diagnosis,Diagnoza,
-Did not find any item called {0},Nie znaleziono żadnych pozycji o nazwie {0},
-Diff Qty,Diff Qty,
-Difference Account,Konto Różnic,
-"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Konto różnica musi być kontem typu aktywami / pasywami, ponieważ Zdjęcie Pojednanie jest Wejście otwarcia",
-Difference Amount,Kwota różnicy,
-Difference Amount must be zero,Różnica Kwota musi wynosić zero,
-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óżne UOM dla pozycji prowadzi do nieprawidłowych (Całkowity) Waga netto wartość. Upewnij się, że Waga netto każdej pozycji jest w tej samej UOM.",
-Direct Expenses,Wydatki bezpośrednie,
-Direct Income,Przychody bezpośrednie,
-Disable,Wyłącz,
-Disabled template must not be default template,Szablon niepełnosprawnych nie może być domyślny szablon,
-Disburse Loan,Wypłata pożyczki,
-Disbursed,Wypłacony,
-Disc,Dysk,
-Discharge,Rozładować się,
-Discount,Zniżka (rabat),
-Discount Percentage can be applied either against a Price List or for all Price List.,Rabat procentowy może być stosowany zarówno przed cenniku dla wszystkich Cenniku.,
-Discount must be less than 100,Zniżka musi wynosić mniej niż 100,
-Diseases & Fertilizers,Choroby i nawozy,
-Dispatch,Wyślij,
-Dispatch Notification,Powiadomienie o wysyłce,
-Dispatch State,Państwo wysyłki,
-Distance,Dystans,
-Distribution,Dystrybucja,
-Distributor,Dystrybutor,
-Dividends Paid,Dywidendy wypłacone,
-Do you really want to restore this scrapped asset?,Czy na pewno chcesz przywrócić złomowane atut?,
-Do you really want to scrap this asset?,Czy naprawdę chcemy zlikwidować ten atut?,
-Do you want to notify all the customers by email?,Czy chcesz powiadomić wszystkich klientów pocztą e-mail?,
-Doc Date,Doc Data,
-Doc Name,Doc Name,
-Doc Type,Doc Type,
-Docs Search,Wyszukiwanie dokumentów,
-Document Name,Nazwa dokumentu,
-Document Status,Stan dokumentu,
-Document Type,Typ Dokumentu,
-Domain,Domena,
-Domains,Domeny,
-Done,Gotowe,
-Donor,Dawca,
-Donor Type information.,Informacje o typie dawcy.,
-Donor information.,Informacje o dawcy.,
-Download JSON,Pobierz JSON,
-Draft,Wersja robocza,
-Drop Ship,Drop Ship,
-Drug,Narkotyk,
-Due / Reference Date cannot be after {0},Data referencyjne / Termin nie może być po {0},
-Due Date cannot be before Posting / Supplier Invoice Date,"Data ""do"" nie może być przed datą faktury Opublikowania / Dostawcy",
-Due Date is mandatory,Due Date jest obowiązkowe,
-Duplicate Entry. Please check Authorization Rule {0},Wpis zduplikowany. Proszę sprawdzić zasadę autoryzacji {0},
-Duplicate Serial No entered for Item {0},Zduplikowany Nr Seryjny wprowadzony dla przedmiotu {0},
-Duplicate customer group found in the cutomer group table,Duplikat grupa klientów znajduje się w tabeli grupy cutomer,
-Duplicate entry,Wpis zduplikowany,
-Duplicate item group found in the item group table,Duplikat grupę pozycji w tabeli grupy produktów,
-Duplicate roll number for student {0},Duplikat numeru rolki dla ucznia {0},
-Duplicate row {0} with same {1},Wiersz zduplikowany {0} z tym samym {1},
-Duplicate {0} found in the table,Duplikat {0} znaleziony w tabeli,
-Duration in Days,Czas trwania w dniach,
-Duties and Taxes,Podatki i cła,
-E-Invoicing Information Missing,Brak informacji o e-fakturowaniu,
-ERPNext Demo,ERPNext Demo,
-ERPNext Settings,Ustawienia ERPNext,
-Earliest,Najwcześniejszy,
-Earnest Money,Pieniądze zaliczkowe,
-Earning,Dochód,
-Edit,Edytować,
-Edit Publishing Details,Edytuj szczegóły publikowania,
-"Edit in full page for more options like assets, serial nos, batches etc.","Edytuj na całej stronie, aby uzyskać więcej opcji, takich jak zasoby, numery seryjne, partie itp.",
-Education,Edukacja,
-Either location or employee must be required,Każda lokalizacja lub pracownik muszą być wymagane,
-Either target qty or target amount is mandatory,Wymagana jest ilość lub kwota docelowa,
-Either target qty or target amount is mandatory.,Wymagana jest ilość lub kwota docelowa,
-Electrical,Elektryczne,
-Electronic Equipments,Urządzenia elektroniczne,
-Electronics,Elektronika,
-Eligible ITC,Kwalifikujące się ITC,
-Email Account,Konto e-mail,
-Email Address,Adres e-mail,
-"Email Address must be unique, already exists for {0}","E-mail musi być unikalny, istnieje już dla {0}",
-Email Digest: ,przetwarzanie maila,
-Email Reminders will be sent to all parties with email contacts,Przypomnienia e-mailem będą wysyłane do wszystkich stron z kontaktami e-mail,
-Email Sent,Wiadomość wysłana,
-Email Template,Szablon e-maila,
-Email not found in default contact,Nie znaleziono wiadomości e-mail w domyślnym kontakcie,
-Email sent to {0},Wiadomość wysłana do {0},
-Employee,Pracownik,
-Employee A/C Number,Numer A / C pracownika,
-Employee Advances,Zaliczki dla pracowników,
-Employee Benefits,Świadczenia pracownicze,
-Employee Grade,Klasa pracownika,
-Employee ID,numer identyfikacyjny pracownika,
-Employee Lifecycle,Cykl życia pracownika,
-Employee Name,Nazwisko pracownika,
-Employee Promotion cannot be submitted before Promotion Date ,Promocji Pracowników nie można przesłać przed datą promocji,
-Employee Referral,Referencje pracownika,
-Employee Transfer cannot be submitted before Transfer Date ,Przeniesienie pracownika nie może zostać przesłane przed datą transferu,
-Employee cannot report to himself.,Pracownik nie może odpowiadać do samego siebie.,
-Employee relieved on {0} must be set as 'Left',pracownik zwalnia się na {0} musi być ustawiony jako 'opuścił',
-Employee {0} already submited an apllication {1} for the payroll period {2},Pracownik {0} przesłał już aplikację {1} na okres rozliczeniowy {2},
-Employee {0} has already applied for {1} between {2} and {3} : ,Pracownik {0} złożył już wniosek o przyznanie {1} między {2} a {3}:,
-Employee {0} has no maximum benefit amount,Pracownik {0} nie ma maksymalnej kwoty świadczenia,
-Employee {0} is not active or does not exist,Pracownik {0} jest nieaktywny lub nie istnieje,
-Employee {0} is on Leave on {1},Pracownik {0} jest Nieobecny w trybie {1},
-Employee {0} of grade {1} have no default leave policy,Pracownik {0} stopnia {1} nie ma domyślnych zasad dotyczących urlopu,
-Employee {0} on Half day on {1},Pracownik {0} na pół dnia na {1},
-Enable,Włączyć,
-Enable / disable currencies.,Włącz/wyłącz waluty.,
-Enabled,Aktywny,
-"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Włączenie &quot;użycie do koszyka&quot;, ponieważ koszyk jest włączony i nie powinno być co najmniej jedna zasada podatkowa w koszyku",
-End Date,Data zakonczenia,
-End Date can not be less than Start Date,Data zakończenia nie może być krótsza niż data rozpoczęcia,
-End Date cannot be before Start Date.,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia.,
-End Year,Koniec roku,
-End Year cannot be before Start Year,Koniec roku nie może być przed rozpoczęciem Roku,
-End on,Podłużnie,
-End time cannot be before start time,Czas zakończenia nie może być wcześniejszy niż czas rozpoczęcia,
-Ends On date cannot be before Next Contact Date.,Kończy się Data nie może być wcześniejsza niż data następnego kontaktu.,
-Energy,Energia,
-Engineer,Inżynier,
-Enough Parts to Build,Wystarczające elementy do budowy,
-Enroll,Zapisać,
-Enrolling student,Zapis uczeń,
-Enrolling students,Zapisywanie studentów,
-Enter depreciation details,Wprowadź szczegóły dotyczące amortyzacji,
-Enter the Bank Guarantee Number before submittting.,Wprowadź numer gwarancyjny banku przed złożeniem wniosku.,
-Enter the name of the Beneficiary before submittting.,Wprowadź nazwę Beneficjenta przed złożeniem wniosku.,
-Enter the name of the bank or lending institution before submittting.,Wprowadź nazwę banku lub instytucji kredytowej przed złożeniem wniosku.,
-Enter value betweeen {0} and {1},Wpisz wartość między {0} a {1},
-Entertainment & Leisure,Rozrywka i relaks,
-Entertainment Expenses,Wydatki na reprezentację,
-Equity,Kapitał własny,
-Error Log,Dziennik błędów,
-Error evaluating the criteria formula,Błąd podczas oceny formuły kryterium,
-Error in formula or condition: {0},Błąd wzoru lub stanu {0},
-Error: Not a valid id?,Błąd: Nie ważne id?,
-Estimated Cost,Szacowany koszt,
-Evaluation,Ocena,
-"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Nawet jeśli istnieje wiele przepisów dotyczących cen o najwyższym priorytecie, a następnie następujące priorytety wewnętrznej są stosowane:",
-Event,Wydarzenie,
-Event Location,Lokalizacja wydarzenia,
-Event Name,Nazwa wydarzenia,
-Exchange Gain/Loss,Wymiana Zysk / Strata,
-Exchange Rate Revaluation master.,Mistrz wyceny kursu wymiany.,
-Exchange Rate must be same as {0} {1} ({2}),"Kurs wymiany muszą być takie same, jak {0} {1} ({2})",
-Excise Invoice,Akcyza Faktura,
-Execution,Wykonanie,
-Executive Search,Szukanie wykonawcze,
-Expand All,Rozwiń wszystkie,
-Expected Delivery Date,Spodziewana data odbioru przesyłki,
-Expected Delivery Date should be after Sales Order Date,Oczekiwana data dostarczenia powinna nastąpić po Dacie Zamówienia Sprzedaży,
-Expected End Date,Spodziewana data końcowa,
-Expected Hrs,Oczekiwany godz,
-Expected Start Date,Spodziewana data startowa,
-Expense,Koszt,
-Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Konto koszty / Różnica ({0}) musi być kontem ""rachunek zysków i strat""",
-Expense Account,Konto Wydatków,
-Expense Claim,Zwrot kosztów,
-Expense Claim for Vehicle Log {0},Koszty Żądanie Vehicle Zaloguj {0},
-Expense Claim {0} already exists for the Vehicle Log,Koszty roszczenie {0} już istnieje dla Zaloguj Pojazdów,
-Expense Claims,Zapotrzebowania na wydatki,
-Expense account is mandatory for item {0},Konto wydatków jest obowiązkowe dla przedmiotu {0},
-Expenses,Wydatki,
-Expenses Included In Asset Valuation,Koszty uwzględnione w wycenie aktywów,
-Expenses Included In Valuation,Zaksięgowane wydatki w wycenie,
-Expired Batches,Wygasłe partie,
-Expires On,Upływa w dniu,
-Expiring On,Wygasający,
-Expiry (In Days),Wygaśnięcie (w dniach),
-Explore,Przeglądaj,
-Export E-Invoices,Eksportuj e-faktury,
-Extra Large,Bardzo duży,
-Extra Small,Extra Small,
-Fail,Zawieść,
-Failed,Nieudane,
-Failed to create website,Nie udało się utworzyć witryny,
-Failed to install presets,Nie udało się zainstalować ustawień wstępnych,
-Failed to login,Nie udało się zalogować,
-Failed to setup company,Nie udało się skonfigurować firmy,
-Failed to setup defaults,Nie udało się skonfigurować ustawień domyślnych,
-Failed to setup post company fixtures,Nie udało się skonfigurować urządzeń firm post,
-Fax,Faks,
-Fee,Opłata,
-Fee Created,Opłata utworzona,
-Fee Creation Failed,Utworzenie opłaty nie powiodło się,
-Fee Creation Pending,Tworzenie opłat w toku,
-Fee Records Created - {0},Utworzono Records Fee - {0},
-Feedback,Informacja zwrotna,
-Fees,Opłaty,
-Female,Kobieta,
-Fetch Data,Pobierz dane,
-Fetch Subscription Updates,Pobierz aktualizacje subskrypcji,
-Fetch exploded BOM (including sub-assemblies),Pobierz rozbitą BOM (w tym podzespoły),
-Fetching records......,Pobieranie rekordów ......,
-Field Name,Nazwa pola,
-Fieldname,Nazwa pola,
-Fields,Pola,
-Fill the form and save it,Wypełnij formularz i zapisz,
-Filter Employees By (Optional),Filtruj pracowników według (opcjonalnie),
-"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filtruj pola Wiersz # {0}: Nazwa pola <b>{1}</b> musi być typu „Link” lub „Tabela MultiSelect”,
-Filter Total Zero Qty,Filtruj całkowitą liczbę zerową,
-Finance Book,Książka finansowa,
-Financial / accounting year.,Rok finansowy / księgowy.,
-Financial Services,Usługi finansowe,
-Financial Statements,Sprawozdania finansowe,
-Financial Year,Rok budżetowy,
-Finish,koniec,
-Finished Good,Skończony dobrze,
-Finished Good Item Code,Gotowy kod dobrego towaru,
-Finished Goods,Ukończone dobra,
-Finished Item {0} must be entered for Manufacture type entry,Zakończone Pozycja {0} musi być wprowadzony do wejścia typu Produkcja,
-Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Ilość gotowego produktu <b>{0}</b> i ilość <b>{1}</b> nie mogą się różnić,
-First Name,Imię,
-"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","System fiskalny jest obowiązkowy, uprzejmie ustal system podatkowy w firmie {0}",
-Fiscal Year,Rok podatkowy,
-Fiscal Year End Date should be one year after Fiscal Year Start Date,Data zakończenia roku obrachunkowego powinna wynosić jeden rok od daty rozpoczęcia roku obrachunkowego,
-Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Rok obrotowy Data rozpoczęcia i Data zakończenia roku obrotowego są już ustawione w roku podatkowym {0},
-Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Data rozpoczęcia roku podatkowego powinna być o rok wcześniejsza niż data zakończenia roku obrotowego,
-Fiscal Year {0} does not exist,Rok fiskalny {0} nie istnieje,
-Fiscal Year {0} is required,Rok fiskalny {0} jest wymagane,
-Fiscal Year {0} not found,Rok fiskalny {0} Nie znaleziono,
-Fixed Asset,Trwała własność,
-Fixed Asset Item must be a non-stock item.,Trwałego Rzecz musi być element non-stock.,
-Fixed Assets,Środki trwałe,
-Following Material Requests have been raised automatically based on Item's re-order level,Niniejszy materiał Wnioski zostały podniesione automatycznie na podstawie poziomu ponownego zamówienia elementu,
-Following accounts might be selected in GST Settings:,W ustawieniach GST można wybrać następujące konta:,
-Following course schedules were created,Utworzono harmonogramy kursów,
-Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Poniższy element {0} nie jest oznaczony jako element {1}. Możesz je włączyć jako element {1} z jego wzorca pozycji,
-Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Następujące elementy {0} nie są oznaczone jako {1}. Możesz je włączyć jako element {1} z jego wzorca pozycji,
-Food,Żywność,
-"Food, Beverage & Tobacco","Żywność, Trunki i Tytoń",
-For,Dla,
-"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.","Dla pozycji &quot;Produkt Bundle&quot;, magazyn, nr seryjny i numer partii będą rozpatrywane z &quot;packing list&quot; tabeli. Jeśli magazynowe oraz Batch Nie są takie same dla wszystkich elementów Opakowanie do pozycji każdego &quot;produkt Bundle&quot;, wartości te mogą zostać wpisane do tabeli głównej pozycji, wartości zostaną skopiowane do &quot;packing list&quot; tabeli.",
-For Employee,Dla pracownika,
-For Quantity (Manufactured Qty) is mandatory,Do Ilość (Wyprodukowano kopie) są obowiązkowe,
-For Supplier,Dla dostawcy,
-For Warehouse,Dla magazynu,
-For Warehouse is required before Submit,Dla magazynu jest wymagane przed wysłaniem,
-"For an item {0}, quantity must be negative number",W przypadku elementu {0} ilość musi być liczbą ujemną,
-"For an item {0}, quantity must be positive number",W przypadku elementu {0} liczba musi być liczbą dodatnią,
-"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry",W przypadku karty pracy {0} można dokonać tylko wpisu typu „Transfer materiałów do produkcji”,
-"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Do rzędu {0} w {1}. Aby dołączyć {2} w cenę towaru, wiersze {3} musi być włączone",
-For row {0}: Enter Planned Qty,Dla wiersza {0}: wpisz planowaną liczbę,
-"For {0}, only credit accounts can be linked against another debit entry","Dla {0}, tylko Kredytowane konta mogą być połączone z innym zapisem po stronie debetowej",
-"For {0}, only debit accounts can be linked against another credit entry","Dla {0}, tylko rachunki płatnicze mogą być połączone z innym wejściem kredytową",
-Forum Activity,Aktywność na forum,
-Free item code is not selected,Kod wolnego przedmiotu nie jest wybrany,
-Freight and Forwarding Charges,Koszty dostaw i przesyłek,
-Frequency,Częstotliwość,
-Friday,Piątek,
-From,Od,
-From Address 1,Od adresu 1,
-From Address 2,Od adresu 2,
-From Currency and To Currency cannot be same,Od Waluty i Do Waluty nie mogą być te same,
-From Date and To Date lie in different Fiscal Year,Od daty i daty są różne w danym roku obrotowym,
-From Date cannot be greater than To Date,Data od - nie może być późniejsza niż Data do,
-From Date must be before To Date,Data od musi być przed datą do,
-From Date should be within the Fiscal Year. Assuming From Date = {0},"""Data od"" powinna być w tym roku podatkowym. Przyjmując Datę od = {0}",
-From Date {0} cannot be after employee's relieving Date {1},Od daty {0} nie może być po zwolnieniu pracownika Data {1},
-From Date {0} cannot be before employee's joining Date {1},Od daty {0} nie może upłynąć data dołączenia pracownika {1},
-From Datetime,Od DateTime,
-From Delivery Note,Od dowodu dostawy,
-From Fiscal Year,Od roku obrotowego,
-From GSTIN,Z GSTIN,
-From Party Name,Od nazwy imprezy,
-From Pin Code,Z kodu PIN,
-From Place,Z miejsca,
-From Range has to be less than To Range,Od Zakres musi być mniejsza niż do zakresu,
-From State,Z państwa,
-From Time,Od czasu,
-From Time Should Be Less Than To Time,Od czasu powinno być mniej niż w czasie,
-From Time cannot be greater than To Time.,Od czasu nie może być większa niż do czasu.,
-"From a supplier under composition scheme, Exempt and Nil rated","Od dostawcy w ramach systemu składu, Zwolniony i Nil oceniono",
-From and To dates required,Daty Od i Do są wymagane,
-From date can not be less than employee's joining date,Od daty nie może być mniejsza niż data dołączenia pracownika,
-From value must be less than to value in row {0},"Wartość ""od"" musi być mniejsza niż wartość w rzędzie {0}",
-From {0} | {1} {2},Od {0} | {1} {2},
-Fuel Price,Cena paliwa,
-Fuel Qty,Ilość paliwa,
-Fulfillment,Spełnienie,
-Full,Pełny,
-Full Name,Imię i nazwisko,
-Full-time,Na cały etet,
-Fully Depreciated,pełni zamortyzowanych,
-Furnitures and Fixtures,Meble i wyposażenie,
-"Further accounts can be made under Groups, but entries can be made against non-Groups","Dalsze relacje mogą być wykonane w ramach grup, ale wpisy mogą być wykonane przed spoza grup",
-Further cost centers can be made under Groups but entries can be made against non-Groups,"Kolejne centra kosztów mogą być wykonane w ramach grup, ale wpisy mogą być wykonane przed spoza grup",
-Further nodes can be only created under 'Group' type nodes,"Kolejne powiązania mogą być tworzone tylko w powiązaniach typu ""grupa""",
-Future dates not allowed,Przyszłe daty są niedozwolone,
-GSTIN,GSTIN,
-GSTR3B-Form,Formularz GSTR3B,
-Gain/Loss on Asset Disposal,Zysk / Strata na Aktywów pozbywaniu,
-Gantt Chart,Wykres Gantta,
-Gantt chart of all tasks.,Wykres Gantta dla wszystkich zadań.,
-Gender,Płeć,
-General,Ogólne,
-General Ledger,Księga Główna,
-Generate Material Requests (MRP) and Work Orders.,Generuj zapotrzebowanie materiałowe (MRP) i zlecenia pracy.,
-Generate Secret,Generuj sekret,
-Get Details From Declaration,Uzyskaj szczegółowe informacje z deklaracji,
-Get Employees,Zdobądź pracowników,
-Get Invocies,Zdobądź Invocies,
-Get Invoices,Uzyskaj faktury,
-Get Invoices based on Filters,Uzyskaj faktury na podstawie filtrów,
-Get Items from BOM,Weź produkty z zestawienia materiałowego,
-Get Items from Healthcare Services,Pobierz przedmioty z usług opieki zdrowotnej,
-Get Items from Prescriptions,Zdobądź przedmioty z recept,
-Get Items from Product Bundle,Elementy z Bundle produktu,
-Get Suppliers,Dodaj dostawców,
-Get Suppliers By,Dodaj dostawców wg,
-Get Updates,Informuj o aktualizacjach,
-Get customers from,Zdobądź klientów,
-Get from Patient Encounter,Uzyskaj od Spotkania Pacjenta,
-Getting Started,Start,
-GitHub Sync ID,GitHub Sync ID,
-Global settings for all manufacturing processes.,Globalne ustawienia dla wszystkich procesów produkcyjnych.,
-Go to the Desktop and start using ERPNext,Przejdź do pulpitu i rozpocząć korzystanie ERPNext,
-GoCardless SEPA Mandate,Mandat SEPA bez karty,
-GoCardless payment gateway settings,Ustawienia bramy płatności bez płatności,
-Goal and Procedure,Cel i procedura,
-Goals cannot be empty,Cele nie mogą być puste,
-Goods In Transit,Towary w tranzycie,
-Goods Transferred,Przesyłane towary,
-Goods and Services Tax (GST India),Podatek od towarów i usług (GST India),
-Goods are already received against the outward entry {0},Towary są już otrzymane w stosunku do wpisu zewnętrznego {0},
-Government,Rząd,
-Grand Total,Suma Całkowita,
-Grant,Dotacja,
-Grant Application,Wniosek o dofinansowanie,
-Grant Leaves,Przydziel możliwe Nieobecności,
-Grant information.,Udziel informacji.,
-Grocery,Artykuły spożywcze,
-Gross Pay,Płaca brutto,
-Gross Profit,Zysk brutto,
-Gross Profit %,Zysk brutto%,
-Gross Profit / Loss,Zysk / Strata,
-Gross Purchase Amount,Zakup Kwota brutto,
-Gross Purchase Amount is mandatory,Zakup Kwota brutto jest obowiązkowe,
-Group by Account,Grupuj według konta,
-Group by Party,Grupa według partii,
-Group by Voucher,Grupuj według Podstawy księgowania,
-Group by Voucher (Consolidated),Group by Voucher (Consolidated),
-Group node warehouse is not allowed to select for transactions,"Magazyn węzeł Grupa nie jest dozwolone, aby wybrać dla transakcji",
-Group to Non-Group,Grupa do Non-Group,
-Group your students in batches,Grupa uczniowie w partiach,
-Groups,Grupy,
-Guardian1 Email ID,Identyfikator e-maila Guardian1,
-Guardian1 Mobile No,Guardian1 Komórka Nie,
-Guardian1 Name,Nazwa Guardian1,
-Guardian2 Email ID,Identyfikator e-mail Guardian2,
-Guardian2 Mobile No,Guardian2 Komórka Nie,
-Guardian2 Name,Nazwa Guardian2,
-Guest,Gość,
-HR Manager,Kierownik ds. Personalnych,
-HSN,HSN,
-HSN/SAC,HSN / SAC,
-Half Day,Pół Dnia,
-Half Day Date is mandatory,Data półdniowa jest obowiązkowa,
-Half Day Date should be between From Date and To Date,Pół Dzień Data powinna być pomiędzy Od Data i do tej pory,
-Half Day Date should be in between Work From Date and Work End Date,Data pół dnia powinna znajdować się pomiędzy datą pracy a datą zakończenia pracy,
-Half Yearly,Pół Roku,
-Half day date should be in between from date and to date,Data pół dnia powinna być pomiędzy datą i datą,
-Half-Yearly,Półroczny,
-Hardware,Sprzęt komputerowy,
-Head of Marketing and Sales,Kierownik marketingu i sprzedaży,
-Health Care,Opieka zdrowotna,
-Healthcare,Opieka zdrowotna,
-Healthcare (beta),Opieka zdrowotna (beta),
-Healthcare Practitioner,Praktyk opieki zdrowotnej,
-Healthcare Practitioner not available on {0},Pracownik służby zdrowia niedostępny na {0},
-Healthcare Practitioner {0} not available on {1},Pracownik służby zdrowia {0} nie jest dostępny w {1},
-Healthcare Service Unit,Jednostka opieki zdrowotnej,
-Healthcare Service Unit Tree,Drzewo usług opieki zdrowotnej,
-Healthcare Service Unit Type,Rodzaj usługi opieki zdrowotnej,
-Healthcare Services,Opieka zdrowotna,
-Healthcare Settings,Ustawienia opieki zdrowotnej,
-Hello,cześć,
-Help Results for,Pomoc Wyniki dla,
-High,Wysoki,
-High Sensitivity,Wysoka czułość,
-Hold,Trzymaj,
-Hold Invoice,Hold Invoice,
-Holiday,Święto,
-Holiday List,Lista Świąt,
-Hotel Rooms of type {0} are unavailable on {1},Pokoje hotelowe typu {0} są niedostępne w dniu {1},
-Hotels,Hotele,
-Hourly,Cogodzinny,
-Hours,godziny,
-House rent paid days overlapping with {0},Dni płatne za wynajem domu pokrywają się z {0},
-House rented dates required for exemption calculation,Daty wynajmu domu wymagane do obliczenia odstępstwa,
-House rented dates should be atleast 15 days apart,Terminy wynajmu domu powinny wynosić co najmniej 15 dni,
-How Pricing Rule is applied?,Jak reguła jest stosowana Wycena?,
-Hub Category,Kategoria koncentratora,
-Hub Sync ID,Identyfikator Hub Sync,
-Human Resource,Zasoby ludzkie,
-Human Resources,Kadry,
-IFSC Code,Kod IFSC,
-IGST Amount,Wielkość IGST,
-IP Address,Adres IP,
-ITC Available (whether in full op part),Dostępne ITC (czy w pełnej wersji),
-ITC Reversed,Odwrócono ITC,
-Identifying Decision Makers,Identyfikacja decydentów,
-"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Jeśli zaznaczona jest opcja automatycznego wyboru, klienci zostaną automatycznie połączeni z danym Programem lojalnościowym (przy zapisie)",
-"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Jeśli wiele Zasady ustalania cen nadal dominować, użytkownicy proszeni są o ustawienie Priorytet ręcznie rozwiązać konflikt.",
-"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.","Jeśli wybrana zostanie reguła cenowa dla &quot;Stawka&quot;, nadpisze ona Cennik. Stawka za ustalanie stawek jest ostateczną stawką, więc nie należy stosować dodatkowej zniżki. W związku z tym w transakcjach takich jak zamówienie sprzedaży, zamówienie itp. Zostanie ono pobrane w polu &quot;stawka&quot;, a nie w polu &quot;cennik ofert&quot;.",
-"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.","Jeśli dwóch lub więcej Zasady ustalania cen na podstawie powyższych warunków, jest stosowana Priorytet. Priorytetem jest liczba z zakresu od 0 do 20, podczas gdy wartość domyślna wynosi zero (puste). Wyższa liczba oznacza, że będzie mieć pierwszeństwo, jeśli istnieje wiele przepisów dotyczących cen z samych warunkach.",
-"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.",W przypadku nielimitowanego wygaśnięcia punktów lojalnościowych czas trwania ważności jest pusty lub 0.,
-"If you have any questions, please get back to us.","Jeśli masz jakieś pytania, proszę wrócić do nas.",
-Ignore Existing Ordered Qty,Ignoruj istniejącą zamówioną ilość,
-Image,Obrazek,
-Image View,Widok obrazka,
-Import Data,Importuj dane,
-Import Day Book Data,Importuj dane książki dziennej,
-Import Log,Log operacji importu,
-Import Master Data,Importuj dane podstawowe,
-Import in Bulk,Masowego importu,
-Import of goods,Import towarów,
-Import of services,Import usług,
-Importing Items and UOMs,Importowanie elementów i UOM,
-Importing Parties and Addresses,Importowanie stron i adresów,
-In Maintenance,W naprawie,
-In Production,W produkcji,
-In Qty,W ilości,
-In Stock Qty,Ilość w magazynie,
-In Stock: ,W magazynie:,
-In Value,w polu Wartość,
-"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","W przypadku programu wielowarstwowego Klienci zostaną automatycznie przypisani do danego poziomu, zgodnie z wydatkami",
-Inactive,Nieaktywny,
-Include Default Book Entries,Dołącz domyślne wpisy książki,
-Include Exploded Items,Dołącz rozstrzelone przedmioty,
-Include POS Transactions,Uwzględnij transakcje POS,
-Include UOM,Dołącz UOM,
-Included in Gross Profit,Zawarte w zysku brutto,
-Income,Przychody,
-Income Account,Konto przychodów,
-Income Tax,Podatek dochodowy,
-Incoming,Przychodzące,
-Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Nieprawidłowa liczba zapisów w Księdze głównej. Być może wybrano niewłaściwe konto w transakcji.,
-Increment cannot be 0,Przyrost nie może być 0,
-Increment for Attribute {0} cannot be 0,Przyrost dla atrybutu {0} nie może być 0,
-Indirect Expenses,Wydatki pośrednie,
-Indirect Income,Przychody pośrednie,
-Individual,Indywidualny,
-Ineligible ITC,Niekwalifikowany ITC,
-Initiated,Zapoczątkowany,
-Inpatient Record,Zapis ambulatoryjny,
-Insert,Wstaw,
-Installation Note,Notka instalacyjna,
-Installation Note {0} has already been submitted,Notka instalacyjna {0} została już dodana,
-Installation date cannot be before delivery date for Item {0},Data instalacji nie może być wcześniejsza niż data dostawy dla pozycji {0},
-Installing presets,Instalowanie ustawień wstępnych,
-Institute Abbreviation,Instytut Skrót,
-Institute Name,Nazwa Instytutu,
-Instructor,Instruktor,
-Insufficient Stock,Niewystarczający zapas,
-Insurance Start date should be less than Insurance End date,Data rozpoczęcia ubezpieczenia powinna być mniejsza niż data zakończenia ubezpieczenia,
-Integrated Tax,Zintegrowany podatek,
-Inter-State Supplies,Dostawy międzypaństwowe,
-Interest Amount,Kwota procentowa,
-Interests,Zainteresowania,
-Intern,Stażysta,
-Internet Publishing,Wydawnictwa internetowe,
-Intra-State Supplies,Materiały wewnątrzpaństwowe,
-Introduction,Wprowadzenie,
-Invalid Attribute,Nieprawidłowy atrybut,
-Invalid Blanket Order for the selected Customer and Item,Nieprawidłowe zamówienie zbiorcze dla wybranego klienta i przedmiotu,
-Invalid Company for Inter Company Transaction.,Nieważna firma dla transakcji między przedsiębiorstwami.,
-Invalid GSTIN! A GSTIN must have 15 characters.,Nieprawidłowy GSTIN! GSTIN musi mieć 15 znaków.,
-Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Nieprawidłowy GSTIN! Pierwsze 2 cyfry GSTIN powinny pasować do numeru stanu {0}.,
-Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,Nieprawidłowy GSTIN! Wprowadzone dane nie pasują do formatu GSTIN.,
-Invalid Posting Time,Nieprawidłowy czas publikacji,
-Invalid attribute {0} {1},Nieprawidłowy atrybut {0} {1},
-Invalid quantity specified for item {0}. Quantity should be greater than 0.,Nieprawidłowa ilość określona dla elementu {0}. Ilość powinna być większa niż 0.,
-Invalid reference {0} {1},Nieprawidłowy odniesienia {0} {1},
-Invalid {0},Nieprawidłowy {0},
-Invalid {0} for Inter Company Transaction.,Nieprawidłowy {0} dla transakcji między przedsiębiorstwami.,
-Invalid {0}: {1},Nieprawidłowy {0}: {1},
-Inventory,Inwentarz,
-Investment Banking,Bankowość inwestycyjna,
-Investments,Inwestycje,
-Invoice,Faktura,
-Invoice Created,Utworzono fakturę,
-Invoice Discounting,Dyskontowanie faktury,
-Invoice Patient Registration,Rejestracja pacjenta faktury,
-Invoice Posting Date,Faktura Data zamieszczenia,
-Invoice Type,Typ faktury,
-Invoice already created for all billing hours,Faktura została już utworzona dla wszystkich godzin rozliczeniowych,
-Invoice can't be made for zero billing hour,Faktura nie może zostać wystawiona na zero godzin rozliczeniowych,
-Invoice {0} no longer exists,Faktura {0} już nie istnieje,
-Invoiced,Zafakturowane,
-Invoiced Amount,Kwota zafakturowana,
-Invoices,Faktury,
-Invoices for Costumers.,Faktury dla klientów.,
-Inward supplies from ISD,Dostawy wewnętrzne z ISD,
-Inward supplies liable to reverse charge (other than 1 & 2 above),Dostawy wewnętrzne podlegające zwrotowi (inne niż 1 i 2 powyżej),
-Is Active,Jest aktywny,
-Is Default,Jest domyślny,
-Is Existing Asset,Czy istniejącego środka trwałego,
-Is Frozen,Zamrożony,
-Is Group,Czy Grupa,
-Issue,Zdarzenie,
-Issue Material,Wydanie Materiał,
-Issued,Wydany,
-Issues,Zagadnienia,
-It is needed to fetch Item Details.,"Jest to niezbędne, aby pobrać szczegółowe dotyczące pozycji.",
-Item,Asortyment,
-Item 1,Pozycja 1,
-Item 2,Pozycja 2,
-Item 3,Pozycja 3,
-Item 4,Pozycja 4,
-Item 5,Pozycja 5,
-Item Cart,poz Koszyk,
-Item Code,Kod identyfikacyjny,
-Item Code cannot be changed for Serial No.,Kod przedmiotu nie może być zmieniony na podstawie numeru seryjnego,
-Item Code required at Row No {0},Wymagany jest kod elementu w wierszu nr {0},
-Item Description,Opis produktu,
-Item Group,Kategoria,
-Item Group Tree,Drzewo kategorii,
-Item Group not mentioned in item master for item {0},Pozycja Grupa nie wymienione w pozycji do pozycji mistrza {0},
-Item Name,Nazwa przedmiotu,
-Item Price added for {0} in Price List {1},Pozycja Cena dodany do {0} w Cenniku {1},
-"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Cena produktu pojawia się wiele razy w oparciu o Cennik, Dostawcę / Klienta, Walutę, Pozycję, UOM, Ilość i Daty.",
-Item Price updated for {0} in Price List {1},Pozycja Cena aktualizowana {0} w Cenniku {1},
-Item Row {0}: {1} {2} does not exist in above '{1}' table,Wiersz pozycji {0}: {1} {2} nie istnieje w powyższej tabeli &quot;{1}&quot;,
-Item Template,Szablon przedmiotu,
-Item Variant Settings,Ustawienia wariantu pozycji,
-Item Variant {0} already exists with same attributes,Pozycja Wersja {0} istnieje już z samymi atrybutami,
-Item Variants,Warianty artykuł,
-Item Variants updated,Zaktualizowano wariant produktu,
-Item has variants.,Pozycja ma warianty.,
-Item must be added using 'Get Items from Purchase Receipts' button,"Rzecz musi być dodane za ""elementy z zakupu wpływy"" przycisk",
-Item valuation rate is recalculated considering landed cost voucher amount,Jednostkowy wskaźnik wyceny przeliczone z uwzględnieniem kosztów ilość kupon wylądował,
-Item variant {0} exists with same attributes,Pozycja wariant {0} istnieje z samymi atrybutami,
-Item {0} does not exist,Element {0} nie istnieje,
-Item {0} does not exist in the system or has expired,Element {0} nie istnieje w systemie lub wygasł,
-Item {0} has already been returned,Element {0} został zwrócony,
-Item {0} has been disabled,Element {0} została wyłączona,
-Item {0} has reached its end of life on {1},Element {0} osiągnął kres przydatności {1},
-Item {0} ignored since it is not a stock item,"Element {0} jest ignorowany od momentu, kiedy nie ma go w magazynie",
-"Item {0} is a template, please select one of its variants","Element {0} jest szablon, należy wybrać jedną z jego odmian",
-Item {0} is cancelled,Element {0} jest anulowany,
-Item {0} is disabled,Element {0} jest wyłączony,
-Item {0} is not a stock Item,Element {0} nie jest w magazynie,
-Item {0} is not active or end of life has been reached,"Element {0} nie jest aktywny, lub osiągnął datę przydatności",
-Item {0} is not setup for Serial Nos. Check Item master,Element {0} nie jest ustawiony na nr seryjny. Sprawdź mastera tego elementu,
-Item {0} is not setup for Serial Nos. Column must be blank,Element {0} nie jest ustawiony na nr seryjny. Kolumny powinny być puste,
-Item {0} must be a Fixed Asset Item,Element {0} musi być trwałego przedmiotu,
-Item {0} must be a non-stock item,Element {0} musi być elementem non-stock,
-Item {0} must be a stock Item,Item {0} musi być dostępna w magazynie,
-Item {0} not found,Element {0} nie został znaleziony,
-Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Element {0} nie znajdują się w &quot;materiały dostarczane&quot; tabeli w Zamówieniu {1},
-Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Element {0}: Zamówione szt {1} nie może być mniejsza niż minimalna Ilość zamówień {2} (określonego w pkt).,
-Item: {0} does not exist in the system,Pozycja: {0} nie istnieje w systemie,
-Items,Produkty,
-Items Filter,Elementy Filtruj,
-Items and Pricing,Produkty i cennik,
-Items for Raw Material Request,Elementy do żądania surowca,
-Job Card,Karta pracy,
-Job Description,Opis stanowiska Pracy,
-Job Offer,Oferta pracy,
-Job card {0} created,Utworzono kartę zadania {0},
-Jobs,Oferty pracy,
-Join,łączyć,
-Journal Entries {0} are un-linked,Zapisy księgowe {0} nie są powiązane,
-Journal Entry,Zapis księgowy,
-Journal Entry {0} does not have account {1} or already matched against other voucher,Księgowanie {0} nie masz konta {1} lub już porównywane inne bon,
-Kanban Board,Kanban Board,
-Key Reports,Kluczowe raporty,
-LMS Activity,Aktywność LMS,
-Lab Test,Test laboratoryjny,
-Lab Test Report,Raport z testów laboratoryjnych,
-Lab Test Sample,Próbka do badań laboratoryjnych,
-Lab Test Template,Szablon testu laboratoryjnego,
-Lab Test UOM,Lab Test UOM,
-Lab Tests and Vital Signs,Testy laboratoryjne i Vital Signs,
-Lab result datetime cannot be before testing datetime,Data zestawienia wyników laboratorium nie może być wcześniejsza niż test datetime,
-Lab testing datetime cannot be before collection datetime,Data testowania laboratorium nie może być datą zbierania danych,
-Label,etykieta,
-Laboratory,Laboratorium,
-Language Name,Nazwa Język,
-Large,Duży,
-Last Communication,Ostatnia komunikacja,
-Last Communication Date,Ostatni dzień komunikacji,
-Last Name,Nazwisko,
-Last Order Amount,Kwota ostatniego zamówienia,
-Last Order Date,Data ostatniego zamówienia,
-Last Purchase Price,Ostatnia cena zakupu,
-Last Purchase Rate,Data Ostatniego Zakupu,
-Latest,Ostatnie,
-Latest price updated in all BOMs,Aktualna cena została zaktualizowana we wszystkich biuletynach,
-Lead,Potencjalny klient,
-Lead Count,Liczba potencjalnych klientów,
-Lead Owner,Właściciel Tropu,
-Lead Owner cannot be same as the Lead,Ołów Właściciel nie może być taka sama jak Lead,
-Lead Time Days,Czas realizacji (dni),
-Lead to Quotation,Trop do Wyceny,
-"Leads help you get business, add all your contacts and more as your leads","Przewody pomóc biznesu, dodać wszystkie kontakty i więcej jak swoich klientów",
-Learn,Samouczek,
-Leave Approval Notification,Powiadomienie o zmianie zatwierdzającego Nieobecność,
-Leave Blocked,Urlop Zablokowany,
-Leave Encashment,Zostawić Inkaso,
-Leave Management,Zarządzanie Nieobecnościami,
-Leave Status Notification,Powiadomienie o Statusie zgłoszonej Nieobecności,
-Leave Type,Typ urlopu,
-Leave Type is madatory,Typ Nieobecności jest polem wymaganym,
-Leave Type {0} cannot be allocated since it is leave without pay,"Typ Nieobecności {0} nie może zostać zaalokowany, ponieważ jest Urlopem Bezpłatnym",
-Leave Type {0} cannot be carry-forwarded,Typ Nieobecności {0} nie może zostać przeniesiony w przyszłość,
-Leave Type {0} is not encashable,Typ opuszczenia {0} nie podlega szyfrowaniu,
-Leave Without Pay,Urlop bezpłatny,
-Leave and Attendance,Nieobecności i Obecności,
-Leave application {0} already exists against the student {1},Pozostaw aplikację {0} już istnieje przeciwko uczniowi {1},
-"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Nieobecność nie może być przyznana przed {0}, a bilans nieobecności został już przeniesiony na przyszły wpis alokacyjny nieobecności {1}",
-"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Zostaw nie mogą być stosowane / anulowana przed {0}, a bilans urlopu zostało już przeniesionych przekazywane w przyszłości rekordu alokacji urlopu {1}",
-Leave of type {0} cannot be longer than {1},Urlop typu {0} nie może być dłuższy niż {1},
-Leaves,Odchodzi,
-Leaves Allocated Successfully for {0},Nieobecności Przedzielono z Powodzeniem dla {0},
-Leaves has been granted sucessfully,Nieobecności zostały przyznane z powodzeniem,
-Leaves must be allocated in multiples of 0.5,"Urlop musi być zdefiniowany jako wielokrotność liczby ""0.5""",
-Leaves per Year,Nieobecności w Roku,
-Ledger,Rejestr,
-Legal,Legalnie,
-Legal Expenses,Wydatki na obsługę prawną,
-Letter Head,Nagłówek,
-Letter Heads for print templates.,Nagłówki dla szablonów druku,
-Level,Poziom,
-Liability,Zobowiązania,
-License,Licencja,
-Lifecycle,Koło życia,
-Limit,Limit,
-Limit Crossed,Limit Crossed,
-Link to Material Request,Link do żądania materiałowego,
-List of all share transactions,Lista wszystkich transakcji akcji,
-List of available Shareholders with folio numbers,Lista dostępnych Akcjonariuszy z numerami folio,
-Loading Payment System,Ładowanie systemu płatności,
-Loan,Pożyczka,
-Loan Amount cannot exceed Maximum Loan Amount of {0},Kwota kredytu nie może przekroczyć maksymalna kwota kredytu o {0},
-Loan Application,Podanie o pożyczkę,
-Loan Management,Zarządzanie kredytem,
-Loan Repayment,Spłata pożyczki,
-Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,"Data rozpoczęcia pożyczki i okres pożyczki są obowiązkowe, aby zapisać dyskontowanie faktury",
-Loans (Liabilities),Kredyty (zobowiązania),
-Loans and Advances (Assets),Pożyczki i zaliczki (aktywa),
-Local,Lokalne,
-Log,Log,
-Logs for maintaining sms delivery status,Logi do utrzymania sms stan przesyłki,
-Lost,Straty,
-Lost Reasons,Przegrane przyczyny,
-Low,Niski,
-Low Sensitivity,Mała czułość,
-Lower Income,Niższy przychód,
-Loyalty Amount,Kwota lojalności,
-Loyalty Point Entry,Punkt lojalnościowy,
-Loyalty Points,Punkty lojalnościowe,
-"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Punkty lojalnościowe będą obliczane na podstawie zużytego (za pomocą faktury sprzedaży), na podstawie wspomnianego współczynnika zbierania.",
-Loyalty Points: {0},Punkty lojalnościowe: {0},
-Loyalty Program,Program lojalnościowy,
-Main,Główny,
-Maintenance,Konserwacja,
-Maintenance Log,Dziennik konserwacji,
-Maintenance Manager,Menager Konserwacji,
-Maintenance Schedule,Plan Konserwacji,
-Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Plan Konserwacji nie jest generowany dla wszystkich przedmiotów. Proszę naciśnij ""generuj plan""",
-Maintenance Schedule {0} exists against {1},Harmonogram konserwacji {0} istnieje przeciwko {1},
-Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Plan Konserwacji {0} musi być anulowany przed usunięciem tego zamówienia,
-Maintenance Status has to be Cancelled or Completed to Submit,Stan konserwacji musi zostać anulowany lub uzupełniony do przesłania,
-Maintenance User,Użytkownik Konserwacji,
-Maintenance Visit,Wizyta Konserwacji,
-Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Wizyta Konserwacji {0} musi być anulowana przed usunięciem nakazu sprzedaży,
-Maintenance start date can not be before delivery date for Serial No {0},Początek daty konserwacji nie może być wcześniejszy od daty numeru seryjnego {0},
-Make,Stwórz,
-Make Payment,Dokonać płatności,
-Make project from a template.,Utwórz projekt z szablonu.,
-Making Stock Entries,Dokonywanie stockowe Wpisy,
-Male,Mężczyzna,
-Manage Customer Group Tree.,Zarządzaj drzewem grupy klientów,
-Manage Sales Partners.,Zarządzaj Partnerami Sprzedaży.,
-Manage Sales Person Tree.,Zarządzaj Drzewem Sprzedawców,
-Manage Territory Tree.,Zarządzaj drzewem terytorium,
-Manage your orders,Zarządzanie zamówień,
-Management,Zarząd,
-Manager,Menager,
-Managing Projects,Zarządzanie projektami,
-Managing Subcontracting,Zarządzanie Podwykonawstwo,
-Mandatory,Obowiązkowe,
-Mandatory field - Academic Year,Pole obowiązkowe - Rok akademicki,
-Mandatory field - Get Students From,Pole obowiązkowe - pobierz uczniów,
-Mandatory field - Program,Pole obowiązkowe - program,
-Manufacture,Produkcja,
-Manufacturer,Producent,
-Manufacturer Part Number,Numer katalogowy producenta,
-Manufacturing,Produkcja,
-Manufacturing Quantity is mandatory,Ilość wyprodukowanych jest obowiązkowa,
-Mapping,Mapowanie,
-Mapping Type,Typ odwzorowania,
-Mark Absent,Oznacz Nieobecna,
-Mark Attendance,Oznaczaj Uczestnictwo,
-Mark Half Day,Oznacz pół dnia,
-Mark Present,Mark Present,
-Marketing,Marketing,
-Marketing Expenses,Wydatki marketingowe,
-Marketplace,Rynek,
-Marketplace Error,Błąd na rynku,
-Masters,Magistrowie,
-Match Payments with Invoices,Płatności mecz fakturami,
-Match non-linked Invoices and Payments.,Łączenie faktur z płatnościami,
-Material,Materiał,
-Material Consumption,Zużycie materiału,
-Material Consumption is not set in Manufacturing Settings.,Zużycie materiału nie jest ustawione w ustawieniach produkcyjnych.,
-Material Receipt,Przyjęcie materiałów,
-Material Request,Zamówienie produktu,
-Material Request Date,Materiał Zapytanie Data,
-Material Request No,Zamówienie produktu nr,
-"Material Request not created, as quantity for Raw Materials already available.","Nie utworzono wniosku o materiał, jako ilość dostępnych surowców.",
-Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Zamówienie produktu o maksymalnej ilości {0} może być zrealizowane dla przedmiotu {1} w zamówieniu {2},
-Material Request to Purchase Order,Twoje zamówienie jest w realizacji,
-Material Request {0} is cancelled or stopped,Zamówienie produktu {0} jest anulowane lub wstrzymane,
-Material Request {0} submitted.,Wysłano żądanie materiałowe {0}.,
-Material Transfer,Transfer materiałów,
-Material Transferred,Przeniesiony materiał,
-Material to Supplier,Materiał do dostawcy,
-Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Maksymalna kwota zwolnienia nie może być większa niż maksymalna kwota zwolnienia {0} kategorii zwolnienia podatkowego {1},
-Max benefits should be greater than zero to dispense benefits,Maksymalne korzyści powinny być większe niż zero w celu rozłożenia korzyści,
-Max discount allowed for item: {0} is {1}%,Maksymalna zniżka pozwoliło na pozycji: {0} jest {1}%,
-Max: {0},Max: {0},
-Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Maksymalne próbki - {0} mogą zostać zachowane dla Batch {1} i Item {2}.,
-Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Maksymalne próbki - {0} zostały już zachowane dla partii {1} i pozycji {2} w partii {3}.,
-Maximum amount eligible for the component {0} exceeds {1},Maksymalna kwota kwalifikująca się do komponentu {0} przekracza {1},
-Maximum benefit amount of component {0} exceeds {1},Maksymalna kwota świadczenia komponentu {0} przekracza {1},
-Maximum benefit amount of employee {0} exceeds {1},Maksymalna kwota świadczenia pracownika {0} przekracza {1},
-Maximum discount for Item {0} is {1}%,Maksymalna zniżka dla pozycji {0} to {1}%,
-Maximum leave allowed in the leave type {0} is {1},Maksymalny dozwolony urlop w typie urlopu {0} to {1},
-Medical,Medyczny,
-Medical Code,Kodeks medyczny,
-Medical Code Standard,Standardowy kod medyczny,
-Medical Department,Wydział Lekarski,
-Medical Record,Historia choroby,
-Medium,Średni,
-Meeting,Spotkanie,
-Member Activity,Aktywność użytkownika,
-Member ID,ID Użytkownika,
-Member Name,Nazwa członka,
-Member information.,Informacje o członkach.,
-Membership,Członkostwo,
-Membership Details,Dane dotyczące członkostwa,
-Membership ID,Identyfikator członkostwa,
-Membership Type,typ członkostwa,
-Memebership Details,Szczegóły Memebership,
-Memebership Type Details,Szczegóły typu memebership,
-Merge,Łączyć,
-Merge Account,Połącz konto,
-Merge with Existing Account,Scal z istniejącym kontem,
-"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Połączenie jest możliwe tylko wtedy, gdy następujące właściwości są takie same w obu płyt. Czy Grupa Root Typ, Firma",
-Message Examples,Przykłady wiadomości,
-Message Sent,Wiadomość wysłana,
-Method,Metoda,
-Middle Income,Średni dochód,
-Middle Name,Drugie imię,
-Middle Name (Optional),Drugie imię (opcjonalnie),
-Min Amt can not be greater than Max Amt,Min Amt nie może być większy niż Max Amt,
-Min Qty can not be greater than Max Qty,Minimalna ilość nie może być większa niż maksymalna ilość,
-Minimum Lead Age (Days),Minimalny wiek ołowiu (dni),
-Miscellaneous Expenses,Pozostałe drobne wydatki,
-Missing Currency Exchange Rates for {0},Brakujące Wymiana walut stawki dla {0},
-Missing email template for dispatch. Please set one in Delivery Settings.,Brakujący szablon wiadomości e-mail do wysyłki. Ustaw jeden w Ustawieniach dostawy.,
-"Missing value for Password, API Key or Shopify URL","Brakująca wartość hasła, klucza API lub Shopify URL",
-Mode of Payment,Sposób płatności,
-Mode of Payments,Tryb płatności,
-Mode of Transport,Tryb transportu,
-Mode of Transportation,Środek transportu,
-Mode of payment is required to make a payment,"Sposób płatności jest wymagane, aby dokonać płatności",
-Model,Model,
-Moderate Sensitivity,Średnia czułość,
-Monday,Poniedziałek,
-Monthly,Miesięcznie,
-Monthly Distribution,Miesięczny Dystrybucja,
-Monthly Repayment Amount cannot be greater than Loan Amount,Miesięczna kwota spłaty nie może być większa niż Kwota kredytu,
-More,Więcej,
-More Information,Więcej informacji,
-More than one selection for {0} not allowed,Więcej niż jeden wybór dla {0} jest niedozwolony,
-More...,Jeszcze...,
-Motion Picture & Video,Ruchomy Obraz i Video,
-Move,ruch,
-Move Item,Move Item,
-Multi Currency,Wielowalutowy,
-Multiple Item prices.,Wiele cen przedmiotu.,
-Multiple Loyalty Program found for the Customer. Please select manually.,Znaleziono wiele programów lojalnościowych dla klienta. Wybierz ręcznie.,
-"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}",Wiele Zasad Cen istnieje w tych samych kryteriach proszę rozwiązywania konflikty poprzez przypisanie priorytetu. Zasady Cen: {0},
-Multiple Variants,Wiele wariantów,
-Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Wiele lat podatkowych istnieją na dzień {0}. Proszę ustawić firmy w roku finansowym,
-Music,Muzyka,
-My Account,Moje Konto,
-Name error: {0},Błąd Nazwa: {0},
-Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Nazwa nowego konta. Uwaga: Proszę nie tworzyć konta dla odbiorców i dostawców,
-Name or Email is mandatory,Imię lub E-mail jest obowiązkowe,
-Nature Of Supplies,Natura dostaw,
-Navigating,Nawigacja,
-Needs Analysis,Analiza potrzeb,
-Negative Quantity is not allowed,Ilość nie może być wyrażana na minusie,
-Negative Valuation Rate is not allowed,Błąd Szacowania Wartość nie jest dozwolona,
-Negotiation/Review,Negocjacje / przegląd,
-Net Asset value as on,Wartość aktywów netto na,
-Net Cash from Financing,Przepływy pieniężne netto z finansowania,
-Net Cash from Investing,Przepływy pieniężne netto z inwestycji,
-Net Cash from Operations,Środki pieniężne netto z działalności operacyjnej,
-Net Change in Accounts Payable,Zmiana netto stanu zobowiązań,
-Net Change in Accounts Receivable,Zmiana netto stanu należności,
-Net Change in Cash,Zmiana netto stanu środków pieniężnych,
-Net Change in Equity,Zmiana netto w kapitale własnym,
-Net Change in Fixed Asset,Zmiana netto stanu trwałego,
-Net Change in Inventory,Zmiana netto stanu zapasów,
-Net ITC Available(A) - (B),Net ITC Available (A) - (B),
-Net Pay,Stawka Netto,
-Net Pay cannot be less than 0,Wynagrodzenie netto nie może być mniejsza niż 0,
-Net Profit,Zysk netto,
-Net Salary Amount,Kwota wynagrodzenia netto,
-Net Total,Łączna wartość netto,
-Net pay cannot be negative,Stawka Netto nie może być na minusie,
-New Account Name,Nowa nazwa konta,
-New Address,Nowy adres,
-New BOM,Nowe zestawienie materiałowe,
-New Batch ID (Optional),Nowy identyfikator partii (opcjonalnie),
-New Batch Qty,Nowa partia,
-New Company,Nowa firma,
-New Cost Center Name,Nazwa nowego Centrum Kosztów,
-New Customer Revenue,Nowy Przychody klienta,
-New Customers,Nowi Klienci,
-New Department,Nowy dział,
-New Employee,Nowy pracownik,
-New Location,Nowa lokalizacja,
-New Quality Procedure,Nowa procedura jakości,
-New Sales Invoice,Nowa faktura sprzedaży,
-New Sales Person Name,Nazwa nowej osoby Sprzedaży,
-New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nowy nr seryjny nie może mieć Magazynu. Magazyn musi być ustawiona przez Zasoby lub  na podstawie Paragonu Zakupu,
-New Warehouse Name,Nowy magazyn Nazwa,
-New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Nowy limit kredytowy wynosi poniżej aktualnej kwoty należności dla klienta. Limit kredytowy musi być conajmniej {0},
-New task,Nowe zadanie,
-New {0} pricing rules are created,Utworzono nowe {0} reguły cenowe,
-Newsletters,Biuletyny,
-Newspaper Publishers,Wydawcy gazet,
-Next,Dalej,
-Next Contact By cannot be same as the Lead Email Address,Następnie Kontakt By nie może być taki sam jak adres e-mail Wiodącego,
-Next Contact Date cannot be in the past,Następnie Kontakt Data nie może być w przeszłości,
-Next Steps,Następne kroki,
-No Action,Bez akcji,
-No Customers yet!,Brak klientów!,
-No Data,Brak danych,
-No Delivery Note selected for Customer {},Nie wybrano uwagi dostawy dla klienta {},
-No Employee Found,Nie znaleziono pracownika,
-No Item with Barcode {0},Nie istnieje Przedmiot o kodzie kreskowym {0},
-No Item with Serial No {0},Brak przedmiotu o podanym numerze seryjnym {0},
-No Items available for transfer,Brak przedmiotów do przeniesienia,
-No Items selected for transfer,Nie wybrano pozycji do przeniesienia,
-No Items to pack,Brak Przedmiotów do pakowania,
-No Items with Bill of Materials to Manufacture,Brak przedmioty z Bill of Materials do produkcji,
-No Items with Bill of Materials.,Brak przedmiotów z zestawieniem materiałów.,
-No Permission,Brak uprawnień,
-No Remarks,Brak uwag,
-No Result to submit,Brak wyniku,
-No Salary Structure assigned for Employee {0} on given date {1},Brak struktury wynagrodzenia dla pracownika {0} w danym dniu {1},
-No Staffing Plans found for this Designation,Nie znaleziono planów zatrudnienia dla tego oznaczenia,
-No Student Groups created.,Brak grup studenckich utworzony.,
-No Students in,Brak uczniów w Poznaniu,
-No Tax Withholding data found for the current Fiscal Year.,Nie znaleziono danych potrącenia podatku dla bieżącego roku obrotowego.,
-No Work Orders created,Nie utworzono zleceń pracy,
-No accounting entries for the following warehouses,Brak zapisów księgowych dla następujących magazynów,
-No active or default Salary Structure found for employee {0} for the given dates,Brak aktywnego czy ustawiona Wynagrodzenie Struktura znalezionych dla pracownika {0} dla podanych dat,
-No contacts with email IDs found.,Nie znaleziono kontaktów z identyfikatorami e-mail.,
-No data for this period,Brak danych dla tego okresu,
-No description given,Brak opisu,
-No employees for the mentioned criteria,Brak pracowników dla wymienionych kryteriów,
-No gain or loss in the exchange rate,Brak zysków lub strat w kursie wymiany,
-No items listed,Brak elementów na liście,
-No items to be received are overdue,Żadne przedmioty do odbioru nie są spóźnione,
-No material request created,Nie utworzono żadnego żadnego materialnego wniosku,
-No more updates,Brak więcej aktualizacji,
-No of Interactions,Liczba interakcji,
-No of Shares,Liczba akcji,
-No pending Material Requests found to link for the given items.,Nie znaleziono oczekujĘ ... cych żĘ ... danych żĘ ... danych w celu połĘ ... czenia dla podanych elementów.,
-No products found,Nie znaleziono produktów,
-No products found.,Nie znaleziono produktów.,
-No record found,Nie znaleziono wyników,
-No records found in the Invoice table,Nie znaleziono w tabeli faktury rekordy,
-No records found in the Payment table,Nie znaleziono rekordów w tabeli płatności,
-No replies from,Brak odpowiedzi ze strony,
-No salary slip found to submit for the above selected criteria OR salary slip already submitted,Nie znaleziono pokwitowania wypłaty za wyżej wymienione kryteria LUB wniosek o wypłatę wynagrodzenia już przesłano,
-No tasks,Brak zadań,
-No time sheets,Brak karty czasu,
-No values,Brak wartości,
-No {0} found for Inter Company Transactions.,"Nie znaleziono rekordów ""{0}"" dla transakcji między spółkami.",
-Non GST Inward Supplies,Non GST Inward Supplies,
-Non Profit,Brak Zysków,
-Non Profit (beta),Non Profit (beta),
-Non-GST outward supplies,Dostawy zewnętrzne spoza GST,
-Non-Group to Group,Dla grupy do grupy,
-None,Żaden,
-None of the items have any change in quantity or value.,Żaden z elementów ma żadnych zmian w ilości lub wartości.,
-Nos,Numery,
-Not Available,Niedostępny,
-Not Marked,nieoznaczone,
-Not Paid and Not Delivered,Nie Płatny i nie Dostarczany,
-Not Permitted,Niedozwolone,
-Not Started,Nie Rozpoczęte,
-Not active,Nieaktywny,
-Not allow to set alternative item for the item {0},Nie zezwalaj na ustawienie pozycji alternatywnej dla pozycji {0},
-Not allowed to update stock transactions older than {0},Niedozwolona jest modyfikacja transakcji zapasów starszych niż {0},
-Not authorized to edit frozen Account {0},Brak autoryzacji do edycji zamrożonego Konta {0},
-Not authroized since {0} exceeds limits,Brak autoryzacji od {0} przekroczono granice,
-Not permitted for {0},Nie dopuszczony do {0},
-"Not permitted, configure Lab Test Template as required","Niedozwolone, w razie potrzeby skonfiguruj szablon testu laboratorium",
-Not permitted. Please disable the Service Unit Type,Nie dozwolone. Wyłącz opcję Service Unit Type,
-Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Uwaga: Ze względu / Data odniesienia przekracza dozwolony dzień kredytowej klienta przez {0} dni (s),
-Note: Item {0} entered multiple times,Uwaga: Element {0} wpisano kilka razy,
-Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Uwaga: Płatność nie zostanie utworzona, gdyż nie określono konta 'Gotówka lub Bank'",
-Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Uwaga: System nie sprawdza nad-dostawy oraz nadmiernej rezerwacji dla pozycji {0} jej wartość lub kwota wynosi 0,
-Note: There is not enough leave balance for Leave Type {0},Uwaga: Nie ma wystarczającej ilości urlopu aby ustalić typ zwolnienia {0},
-Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Informacja: To Centrum Kosztów jest grupą. Nie mogę wykonać operacji rachunkowych na grupach.,
-Note: {0},Uwaga: {0},
-Notes,Notatki,
-Nothing is included in gross,Nic nie jest wliczone w brutto,
-Nothing more to show.,Nic więcej do pokazania.,
-Nothing to change,Nic do zmiany,
-Notice Period,Okres wypowiedzenia,
-Notify Customers via Email,Powiadom klientów przez e-mail,
-Number,Numer,
-Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Ilość amortyzacją Zarezerwowane nie może być większa od ogólnej liczby amortyzacją,
-Number of Interaction,Liczba interakcji,
-Number of Order,Numer zlecenia,
-"Number of new Account, it will be included in the account name as a prefix","Numer nowego Konta, zostanie dodany do nazwy konta jako prefiks",
-"Number of new Cost Center, it will be included in the cost center name as a prefix","Numer nowego miejsca powstawania kosztów, zostanie wprowadzony do nazwy miejsca powstawania kosztów jako prefiks",
-Number of root accounts cannot be less than 4,Liczba kont root nie może być mniejsza niż 4,
-Odometer,Drogomierz,
-Office Equipments,Urządzenie Biura,
-Office Maintenance Expenses,Wydatki na obsługę biura,
-Office Rent,Wydatki na wynajem,
-On Hold,W oczekiwaniu,
-On Net Total,Na podstawie Kwoty Netto,
-One customer can be part of only single Loyalty Program.,Jeden klient może być częścią tylko jednego Programu lojalnościowego.,
-Online Auctions,Aukcje online,
-Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Pozostawić tylko Aplikacje ze statusem „Approved” i „Odrzucone” mogą być składane,
-"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",W poniższej tabeli zostanie wybrana tylko osoba ubiegająca się o przyjęcie ze statusem &quot;Zatwierdzona&quot;.,
-Only users with {0} role can register on Marketplace,Tylko użytkownicy z rolą {0} mogą rejestrować się w usłudze Marketplace,
-Open BOM {0},Otwarte BOM {0},
-Open Item {0},Pozycja otwarta {0},
-Open Notifications,Otwarte Powiadomienia,
-Open Orders,Otwarte zlecenia,
-Open a new ticket,Otwórz nowy bilet,
-Opening,Otwarcie,
-Opening (Cr),Otwarcie (Cr),
-Opening (Dr),Otwarcie (Dr),
-Opening Accounting Balance,Stan z bilansu otwarcia,
-Opening Accumulated Depreciation,Otwarcie Skumulowana amortyzacja,
-Opening Accumulated Depreciation must be less than equal to {0},Otwarcie Skumulowana amortyzacja powinna być mniejsza niż równa {0},
-Opening Balance,Bilans otwarcia,
-Opening Balance Equity,Bilans otwarcia Kapitału własnego,
-Opening Date and Closing Date should be within same Fiscal Year,Otwarcie Data i termin powinien być w obrębie samego roku podatkowego,
-Opening Date should be before Closing Date,Data otwarcia powinien być przed Dniem Zamknięcia,
-Opening Entry Journal,Otwarcie dziennika wejścia,
-Opening Invoice Creation Tool,Otwieranie narzędzia tworzenia faktury,
-Opening Invoice Item,Otwieranie faktury,
-Opening Invoices,Otwieranie faktur,
-Opening Invoices Summary,Otwieranie podsumowań faktur,
-Opening Qty,Ilość otwarcia,
-Opening Stock,Otwarcie Zdjęcie,
-Opening Stock Balance,Saldo otwierające zapasy,
-Opening Value,Wartość otwarcia,
-Opening {0} Invoice created,Otworzono fakturę {0},
-Operation,Operacja,
-Operation Time must be greater than 0 for Operation {0},Czas działania musi być większy niż 0 do operacji {0},
-"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operacja {0} dłużej niż wszelkie dostępne w godzinach pracy stacji roboczej {1}, rozbić na kilka operacji operacji",
-Operations,Działania,
-Operations cannot be left blank,Operacje nie może być puste,
-Opp Count,Opp Count,
-Opp/Lead %,Opp / ołów%,
-Opportunities,Możliwości,
-Opportunities by lead source,Możliwości według źródła ołowiu,
-Opportunity,Oferta,
-Opportunity Amount,Kwota możliwości,
-Optional Holiday List not set for leave period {0},Opcjonalna lista dni świątecznych nie jest ustawiona dla okresu urlopu {0},
-"Optional. Sets company's default currency, if not specified.","Opcjonalny. Ustawia domyślną walutę firmy, jeśli nie podano.",
-Optional. This setting will be used to filter in various transactions.,Opcjonalne. Te Ustawienie będzie użyte w filtrze dla różnych transacji.,
-Options,Opcje,
-Order Count,Liczba zamówień,
-Order Entry,Wprowadzanie zamówień,
-Order Value,Wartość zamówienia,
-Order rescheduled for sync,Zamów zmianę terminu do synchronizacji,
-Order/Quot %,Zamówienie / kwota%,
-Ordered,Zamówione,
-Ordered Qty,Ilość Zamówiona,
-Orders,Zamówienia,
-Orders released for production.,Zamówienia puszczone do produkcji.,
-Organization,Organizacja,
-Organization Name,Nazwa organizacji,
-Other,Inne,
-Other Reports,Inne raporty,
-"Other outward supplies(Nil rated,Exempted)","Inne dostawy zewnętrzne (bez oceny, zwolnione)",
-Others,Inni,
-Out Qty,Brak Ilości,
-Out Value,Brak Wartości,
-Out of Order,Nieczynny,
-Outgoing,Wychodzący,
-Outstanding,Wybitny,
-Outstanding Amount,Zaległa Ilość,
-Outstanding Amt,Zaległa wartość,
-Outstanding Cheques and Deposits to clear,"Wybitni Czeki i depozytów, aby usunąć",
-Outstanding for {0} cannot be less than zero ({1}),Zaległość za {0} nie może być mniejsza niż ({1}),
-Outward taxable supplies(zero rated),Dostaw podlegających opodatkowaniu zewnętrznemu (zero punktów),
-Overdue,Zaległy,
-Overlap in scoring between {0} and {1},Pokrywaj się w punktacji pomiędzy {0} a {1},
-Overlapping conditions found between:,Nakładające warunki pomiędzy:,
-Owner,Właściciel,
-PAN,Stały numer konta (PAN),
-POS,POS,
-POS Profile,POS profilu,
-POS Profile is required to use Point-of-Sale,Profil POS jest wymagany do korzystania z Point-of-Sale,
-POS Profile required to make POS Entry,Profil POS wymagany do tworzenia wpisu z POS,
-POS Settings,Ustawienia POS,
-Packed quantity must equal quantity for Item {0} in row {1},Wartość spakowana musi równać się ilości dla przedmiotu {0} w rzędzie {1},
-Packing Slip,List przewozowy,
-Packing Slip(s) cancelled,List(y) przewozowe anulowane,
-Paid,Zapłacono,
-Paid Amount,Zapłacona kwota,
-Paid Amount cannot be greater than total negative outstanding amount {0},Wpłaconej kwoty nie może być większa od całkowitej ujemnej kwoty należności {0},
-Paid amount + Write Off Amount can not be greater than Grand Total,Wartość zapłaty + Wartość odliczenia nie może być większa niż Cała Kwota,
-Paid and Not Delivered,Płatny i niedostarczone,
-Parameter,Parametr,
-Parent Item {0} must not be a Stock Item,Dominująca pozycja {0} nie może być pozycja Zdjęcie,
-Parents Teacher Meeting Attendance,Spotkanie wychowawców rodziców,
-Part-time,Niepełnoetatowy,
-Partially Depreciated,częściowo Zamortyzowany,
-Partially Received,Częściowo odebrane,
-Party,Grupa,
-Party Name,Nazwa Party,
-Party Type,Typ grupy,
-Party Type and Party is mandatory for {0} account,Typ strony i strona są obowiązkowe dla konta {0},
-Party Type is mandatory,Rodzaj Partia jest obowiązkowe,
-Party is mandatory,Partia jest obowiązkowe,
-Password,Hasło,
-Password policy for Salary Slips is not set,Polityka haseł dla poświadczeń wynagrodzenia nie jest ustawiona,
-Past Due Date,Minione terminy,
-Patient,Cierpliwy,
-Patient Appointment,Powtarzanie Pacjenta,
-Patient Encounter,Spotkanie z pacjentem,
-Patient not found,Nie znaleziono pacjenta,
-Pay Remaining,Zapłać pozostałe,
-Pay {0} {1},Zapłać {0} {1},
-Payable,Płatność,
-Payable Account,Konto płatności,
-Payable Amount,Kwota do zapłaty,
-Payment,Płatność,
-Payment Cancelled. Please check your GoCardless Account for more details,"Płatność anulowana. Sprawdź swoje konto bez karty, aby uzyskać więcej informacji",
-Payment Confirmation,Potwierdzenie płatności,
-Payment Date,Data płatności,
-Payment Days,Dni płatności,
-Payment Document,Płatność Dokument,
-Payment Due Date,Termin płatności,
-Payment Entries {0} are un-linked,Wpisy płatności {0} są un-linked,
-Payment Entry,Płatność,
-Payment Entry already exists,Zapis takiej Płatności już istnieje,
-Payment Entry has been modified after you pulled it. Please pull it again.,Wpis płatności został zmodyfikowany po ściągnięciu. Proszę ściągnąć ponownie.,
-Payment Entry is already created,Zapis takiej Płatności już został utworzony,
-Payment Failed. Please check your GoCardless Account for more details,"Płatność nie powiodła się. Sprawdź swoje konto bez karty, aby uzyskać więcej informacji",
-Payment Gateway,Bramki płatności,
-"Payment Gateway Account not created, please create one manually.","Payment Gateway konta nie jest tworzony, należy utworzyć ręcznie.",
-Payment Gateway Name,Nazwa bramki płatności,
-Payment Mode,Tryb Płatności,
-Payment Receipt Note,Otrzymanie płatności Uwaga,
-Payment Request,Żądanie zapłaty,
-Payment Request for {0},Prośba o płatność za {0},
-Payment Tems,Tematyka płatności,
-Payment Term,Termin płatności,
-Payment Terms,Zasady płatności,
-Payment Terms Template,Szablon warunków płatności,
-Payment Terms based on conditions,Warunki płatności oparte na warunkach,
-Payment Type,Typ płatności,
-"Payment Type must be one of Receive, Pay and Internal Transfer",Typ płatności musi być jednym z Odbierz Pay and przelew wewnętrzny,
-Payment against {0} {1} cannot be greater than Outstanding Amount {2},Płatność przed {0} {1} nie może być większa niż kwota kredytu pozostała {2},
-Payment of {0} from {1} to {2},Płatność {0} od {1} do {2},
-Payment request {0} created,Żądanie zapłaty {0} zostało utworzone,
-Payments,Płatności,
-Payroll,Lista płac,
-Payroll Number,Numer listy płac,
-Payroll Payable,Płace Płatne,
-Payslip,Odcinek wypłaty,
-Pending Activities,Oczekujące Inne,
-Pending Amount,Kwota Oczekiwana,
-Pending Leaves,Oczekujące Nieobecności,
-Pending Qty,Oczekuje szt,
-Pending Quantity,Ilość oczekująca,
-Pending Review,Czekający na rewizję,
-Pending activities for today,Działania oczekujące na dziś,
-Pension Funds,Fundusze emerytalne,
-Percentage Allocation should be equal to 100%,Przydział Procentowy powinien wynosić 100%,
-Perception Analysis,Analiza percepcji,
-Period,Okres,
-Period Closing Entry,Wpis Kończący Okres,
-Period Closing Voucher,Zamknięcie roku,
-Periodicity,Okresowość,
-Personal Details,Dane osobowe,
-Pharmaceutical,Farmaceutyczny,
-Pharmaceuticals,Farmaceutyczne,
-Physician,Lekarz,
-Piecework,Praca akordowa,
-Pincode,Kod PIN,
-Place Of Supply (State/UT),Miejsce zaopatrzenia (stan / UT),
-Place Order,Złóż zamówienie,
-Plan Name,Nazwa planu,
-Plan for maintenance visits.,Plan wizyt serwisowych.,
-Planned Qty,Planowana ilość,
-"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Planowana ilość: ilość, dla której zlecenie pracy zostało podniesione, ale oczekuje na wyprodukowanie.",
-Planning,Planowanie,
-Plants and Machineries,Rośliny i maszyn,
-Please Set Supplier Group in Buying Settings.,Ustaw grupę dostawców w ustawieniach zakupów.,
-Please add a Temporary Opening account in Chart of Accounts,Dodaj konto tymczasowego otwarcia w planie kont,
-Please add the account to root level Company - ,Dodaj konto do poziomu głównego firmy -,
-Please add the remaining benefits {0} to any of the existing component,Dodaj pozostałe korzyści {0} do dowolnego z istniejących komponentów,
-Please check Multi Currency option to allow accounts with other currency,"Proszę sprawdzić multi opcji walutowych, aby umożliwić rachunki w innych walutach",
-Please click on 'Generate Schedule',"Proszę kliknąć na ""Wygeneruj Harmonogram""",
-Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Proszę kliknąć na ""Generowanie Harmonogramu"", aby sprowadzić nr seryjny dodany do pozycji {0}",
-Please click on 'Generate Schedule' to get schedule,"Kliknij na ""Generuj Harmonogram"" aby otrzymać harmonogram",
-Please confirm once you have completed your training,Potwierdź po zakończeniu szkolenia,
-Please create purchase receipt or purchase invoice for the item {0},Utwórz paragon zakupu lub fakturę zakupu elementu {0},
-Please define grade for Threshold 0%,Proszę określić stopień dla progu 0%,
-Please enable Applicable on Booking Actual Expenses,Włącz opcję Rzeczywiste wydatki za rezerwację,
-Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Włącz Włączone do zamówienia i obowiązujące przy rzeczywistych kosztach rezerwacji,
-Please enable default incoming account before creating Daily Work Summary Group,Włącz domyślne konto przychodzące przed utworzeniem Daily Summary Summary Group,
-Please enable pop-ups,Proszę włączyć pop-upy,
-Please enter 'Is Subcontracted' as Yes or No,"Proszę wprowadź ""Zlecona"" jako Tak lub Nie",
-Please enter API Consumer Key,Wprowadź klucz klienta API,
-Please enter API Consumer Secret,Wprowadź klucz tajny API,
-Please enter Account for Change Amount,Proszę wpisać uwagę do zmiany kwoty,
-Please enter Approving Role or Approving User,Proszę wprowadzić Rolę osoby zatwierdzającej dla użytkownika zatwierdzającego,
-Please enter Cost Center,Wprowadź Centrum kosztów,
-Please enter Delivery Date,Proszę podać datę doręczenia,
-Please enter Employee Id of this sales person,Proszę podać ID pracownika tej osoby ze sprzedaży,
-Please enter Expense Account,Wprowadź konto Wydatków,
-Please enter Item Code to get Batch Number,"Proszę wpisać kod produkt, aby uzyskać numer partii",
-Please enter Item Code to get batch no,Proszę wprowadzić Kod Produktu w celu przyporządkowania serii,
-Please enter Item first,Proszę najpierw wprowadzić Przedmiot,
-Please enter Maintaince Details first,Proszę wprowadzić szczegóły dotyczące konserwacji,
-Please enter Planned Qty for Item {0} at row {1},Proszę podać Planowane Ilości dla pozycji {0} w wierszu {1},
-Please enter Preferred Contact Email,Proszę wpisać Preferowany Kontakt Email,
-Please enter Production Item first,Wprowadź jako pierwszą Produkowaną Rzecz,
-Please enter Purchase Receipt first,Proszę wpierw wprowadzić dokument zakupu,
-Please enter Receipt Document,Proszę podać Otrzymanie dokumentu,
-Please enter Repayment Periods,Proszę wprowadzić okresy spłaty,
-Please enter Reqd by Date,Wprowadź datę realizacji,
-Please enter Woocommerce Server URL,Wprowadź adres URL serwera Woocommerce,
-Please enter Write Off Account,Proszę zdefiniować konto odpisów,
-Please enter atleast 1 invoice in the table,Wprowadź co najmniej jedną fakturę do tabelki,
-Please enter company first,Proszę najpierw wpisać Firmę,
-Please enter company name first,Proszę najpierw wpisać nazwę Firmy,
-Please enter default currency in Company Master,Proszę dodać domyślną walutę w Głównych Ustawieniach Firmy,
-Please enter message before sending,Proszę wpisać wiadomość przed wysłaniem,
-Please enter parent cost center,Proszę podać nadrzędne centrum kosztów,
-Please enter quantity for Item {0},Wprowadź ilość dla przedmiotu {0},
-Please enter repayment Amount,Wpisz Kwota spłaty,
-Please enter valid Financial Year Start and End Dates,Proszę wpisać poprawny rok obrotowy od daty rozpoczęcia i zakończenia,
-Please enter valid email address,Proszę wprowadzić poprawny adres email,
-Please enter {0} first,Podaj {0} pierwszy,
-Please fill in all the details to generate Assessment Result.,"Proszę wypełnić wszystkie szczegóły, aby wygenerować wynik oceny.",
-Please identify/create Account (Group) for type - {0},Określ / utwórz konto (grupę) dla typu - {0},
-Please identify/create Account (Ledger) for type - {0},Zidentyfikuj / utwórz konto (księga) dla typu - {0},
-Please login as another user to register on Marketplace,"Zaloguj się jako inny użytkownik, aby zarejestrować się na rynku",
-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.,"Upewnij się, że na pewno chcesz usunąć wszystkie transakcje dla tej firmy. Twoje dane podstawowe pozostanie tak jak jest. Ta akcja nie można cofnąć.",
-Please mention Basic and HRA component in Company,Proszę wspomnieć o komponencie Basic i HRA w firmie,
-Please mention Round Off Account in Company,Proszę określić konto do zaokrągleń kwot w firmie,
-Please mention Round Off Cost Center in Company,Powołaj zaokrąglić centrum kosztów w Spółce,
-Please mention the Lead Name in Lead {0},Zapoznaj się z nazwą wiodącego wiodącego {0},
-Please pull items from Delivery Note,Wyciągnij elementy z dowodu dostawy,
-Please register the SIREN number in the company information file,Zarejestruj numer SIREN w pliku z informacjami o firmie,
-Please remove this Invoice {0} from C-Form {1},Proszę usunąć tę fakturę {0} z C-Form {1},
-Please save the patient first,Najpierw zapisz pacjenta,
-Please save the report again to rebuild or update,"Zapisz raport ponownie, aby go odbudować lub zaktualizować",
-"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Proszę wybrać Przyznana kwota, faktury i faktury Rodzaj numer w conajmniej jednym rzędzie",
-Please select Apply Discount On,Proszę wybrać Zastosuj RABAT,
-Please select BOM against item {0},Wybierz zestawienie materiałów w odniesieniu do pozycji {0},
-Please select BOM for Item in Row {0},Proszę wybrać LM dla pozycji w wierszu {0},
-Please select BOM in BOM field for Item {0},Proszę wybrać LM w dziedzinie BOM dla pozycji {0},
-Please select Category first,Proszę najpierw wybrać kategorię,
-Please select Charge Type first,Najpierw wybierz typ opłaty,
-Please select Company,Proszę wybrać firmę,
-Please select Company and Designation,Wybierz firmę i oznaczenie,
-Please select Company and Posting Date to getting entries,"Wybierz Firmę i Data księgowania, aby uzyskać wpisy",
-Please select Company first,Najpierw wybierz firmę,
-Please select Completion Date for Completed Asset Maintenance Log,Proszę wybrać opcję Data zakończenia dla ukończonego dziennika konserwacji zasobów,
-Please select Completion Date for Completed Repair,Proszę wybrać datę zakończenia naprawy zakończonej,
-Please select Course,Proszę wybrać Kurs,
-Please select Drug,Proszę wybrać lek,
-Please select Employee,Wybierz pracownika,
-Please select Existing Company for creating Chart of Accounts,Wybierz istniejący podmiot do tworzenia planu kont,
-Please select Healthcare Service,Wybierz Healthcare Service,
-"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Proszę wybrać produkt, gdzie &quot;Czy Pozycja Zdjęcie&quot; brzmi &quot;Nie&quot; i &quot;Czy Sales Item&quot; brzmi &quot;Tak&quot;, a nie ma innego Bundle wyrobów",
-Please select Maintenance Status as Completed or remove Completion Date,Wybierz Stan konserwacji jako Zakończony lub usuń datę ukończenia,
-Please select Party Type first,Wybierz typ pierwszy Party,
-Please select Patient,Proszę wybrać Pacjenta,
-Please select Patient to get Lab Tests,"Wybierz pacjenta, aby uzyskać testy laboratoryjne",
-Please select Posting Date before selecting Party,Proszę wybrać Data księgowania przed wybraniem Stronę,
-Please select Posting Date first,Najpierw wybierz zamieszczenia Data,
-Please select Price List,Wybierz Cennik,
-Please select Program,Proszę wybrać Program,
-Please select Qty against item {0},Wybierz Qty przeciwko pozycji {0},
-Please select Sample Retention Warehouse in Stock Settings first,Najpierw wybierz Sample Retention Warehouse w ustawieniach magazynowych,
-Please select Start Date and End Date for Item {0},Wybierz Datę Startu i Zakończenia dla elementu {0},
-Please select Student Admission which is mandatory for the paid student applicant,"Wybierz Wstęp studenta, który jest obowiązkowy dla płatnego studenta",
-Please select a BOM,Wybierz zestawienie materiałów,
-Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,"Wybierz partię dla elementu {0}. Nie można znaleźć pojedynczej partii, która spełnia ten wymóg",
-Please select a Company,Wybierz firmę,
-Please select a batch,Wybierz partię,
-Please select a csv file,Proszę wybrać plik .csv,
-Please select a field to edit from numpad,Proszę wybrać pole do edycji z numpadu,
-Please select a table,Proszę wybrać tabelę,
-Please select a valid Date,Proszę wybrać prawidłową datę,
-Please select a value for {0} quotation_to {1},Proszę wprowadzić wartość dla wyceny {0} {1},
-Please select a warehouse,Proszę wybrać magazyn,
-Please select at least one domain.,Wybierz co najmniej jedną domenę.,
-Please select correct account,Proszę wybrać prawidłową konto,
-Please select date,Proszę wybrać datę,
-Please select item code,Wybierz kod produktu,
-Please select month and year,Wybierz miesiąc i rok,
-Please select prefix first,Wybierz prefiks,
-Please select the Company,Wybierz firmę,
-Please select the Multiple Tier Program type for more than one collection rules.,Wybierz typ programu dla wielu poziomów dla więcej niż jednej reguły zbierania.,
-Please select the assessment group other than 'All Assessment Groups',Proszę wybrać grupę oceniającą inną niż &quot;Wszystkie grupy oceny&quot;,
-Please select the document type first,Najpierw wybierz typ dokumentu,
-Please select weekly off day,Wybierz tygodniowe dni wolne,
-Please select {0},Proszę wybrać {0},
-Please select {0} first,Proszę najpierw wybrać {0},
-Please set 'Apply Additional Discount On',Proszę ustawić &quot;Zastosuj dodatkowe zniżki na &#39;,
-Please set 'Asset Depreciation Cost Center' in Company {0},Proszę ustawić &quot;aktywa Amortyzacja Cost Center&quot; w towarzystwie {0},
-Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Proszę ustaw &#39;wpływ konto / strata na aktywach Spółki w unieszkodliwianie &quot;{0},
-Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Ustaw konto w magazynie {0} lub domyślne konto zapasów w firmie {1},
-Please set B2C Limit in GST Settings.,Ustaw Limit B2C w Ustawieniach GST.,
-Please set Company,Proszę ustawić firmę,
-Please set Company filter blank if Group By is 'Company',"Proszę wyłączyć filtr firmy, jeśli Group By jest &quot;Company&quot;",
-Please set Default Payroll Payable Account in Company {0},Proszę ustawić domyślny Payroll konto płatne w Spółce {0},
-Please set Depreciation related Accounts in Asset Category {0} or Company {1},Proszę ustawić amortyzacyjny dotyczący Konta aktywów z kategorii {0} lub {1} Spółki,
-Please set Email Address,Proszę ustawić adres e-mail,
-Please set GST Accounts in GST Settings,Ustaw Konta GST w Ustawieniach GST,
-Please set Hotel Room Rate on {},Ustaw stawkę hotelową na {},
-Please set Number of Depreciations Booked,Proszę ustawić ilość amortyzacji zarezerwowano,
-Please set Unrealized Exchange Gain/Loss Account in Company {0},Ustaw niezrealizowane konto zysku / straty w firmie {0},
-Please set User ID field in an Employee record to set Employee Role,Proszę ustawić pole ID użytkownika w rekordzie pracownika do roli pracownika zestawu,
-Please set a default Holiday List for Employee {0} or Company {1},Proszę ustawić domyślnej listy wypoczynkowe dla pracowników {0} lub {1} firmy,
-Please set account in Warehouse {0},Ustaw konto w magazynie {0},
-Please set an active menu for Restaurant {0},Ustaw aktywne menu restauracji {0},
-Please set associated account in Tax Withholding Category {0} against Company {1},Ustaw powiązane konto w kategorii U źródła poboru podatku {0} względem firmy {1},
-Please set at least one row in the Taxes and Charges Table,Ustaw co najmniej jeden wiersz w tabeli Podatki i opłaty,
-Please set default Cash or Bank account in Mode of Payment {0},Proszę ustawić domyślne konto Gotówka lub Bank dla płatności typu {0},
-Please set default account in Salary Component {0},Proszę ustawić domyślne konto wynagrodzenia komponentu {0},
-Please set default customer in Restaurant Settings,Ustaw domyślnego klienta w Ustawieniach restauracji,
-Please set default template for Leave Approval Notification in HR Settings.,Ustaw domyślny szablon powiadomienia o pozostawieniu zatwierdzania w Ustawieniach HR.,
-Please set default template for Leave Status Notification in HR Settings.,Ustaw domyślny szablon dla Opuszczania powiadomienia o statusie w Ustawieniach HR.,
-Please set default {0} in Company {1},Proszę ustawić domyślny {0} w towarzystwie {1},
-Please set filter based on Item or Warehouse,Proszę ustawić filtr na podstawie pkt lub magazynie,
-Please set leave policy for employee {0} in Employee / Grade record,Ustaw zasadę urlopu dla pracownika {0} w rekordzie Pracownicy / stanowisko,
-Please set recurring after saving,Proszę ustawić cykliczne po zapisaniu,
-Please set the Company,Proszę ustawić firmę,
-Please set the Customer Address,Ustaw adres klienta,
-Please set the Date Of Joining for employee {0},Proszę ustawić datę dołączenia do pracownika {0},
-Please set the Default Cost Center in {0} company.,Ustaw domyślne miejsce powstawania kosztów w firmie {0}.,
-Please set the Email ID for the Student to send the Payment Request,"Proszę podać identyfikator e-mailowy studenta, aby wysłać żądanie płatności",
-Please set the Item Code first,Proszę najpierw ustawić kod pozycji,
-Please set the Payment Schedule,Ustaw harmonogram płatności,
-Please set the series to be used.,"Ustaw serię, która ma być używana.",
-Please set {0} for address {1},Ustaw {0} na adres {1},
-Please setup Students under Student Groups,Proszę ustawić Studentów w grupach studenckich,
-Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',"Podziel się swoją opinią na szkolenie, klikając link &quot;Szkolenia zwrotne&quot;, a następnie &quot;Nowy&quot;",
-Please specify Company,Sprecyzuj Firmę,
-Please specify Company to proceed,Sprecyzuj firmę aby przejść dalej,
-Please specify a valid Row ID for row {0} in table {1},Proszę podać poprawny identyfikator wiersz dla rzędu {0} w tabeli {1},
-Please specify at least one attribute in the Attributes table,Proszę zaznaczyć co najmniej jeden atrybut w tabeli atrybutów,
-Please specify currency in Company,Proszę określić walutę w Spółce,
-Please specify either Quantity or Valuation Rate or both,Podaj dokładnie Ilość lub Stawkę lub obie,
-Please specify from/to range,Proszę określić zakres od/do,
-Please supply the specified items at the best possible rates,Proszę dostarczyć określone przedmioty w najlepszych możliwych cenach,
-Please update your status for this training event,Proszę zaktualizować swój status w tym szkoleniu,
-Please wait 3 days before resending the reminder.,Poczekaj 3 dni przed ponownym wysłaniem przypomnienia.,
-Point of Sale,Punkt Sprzedaży (POS),
-Point-of-Sale,Punkt sprzedaży,
-Point-of-Sale Profile,Point-of-Sale profil,
-Portal,Portal,
-Portal Settings,Ustawienia,
-Possible Supplier,Dostawca możliwe,
-Postal Expenses,Wydatki pocztowe,
-Posting Date,Data publikacji,
-Posting Date cannot be future date,Data publikacji nie może być datą przyszłą,
-Posting Time,Czas publikacji,
-Posting date and posting time is mandatory,Delegowanie datę i czas delegowania jest obowiązkowe,
-Posting timestamp must be after {0},Datownik musi byś ustawiony przed {0},
-Potential opportunities for selling.,Potencjalne szanse na sprzedaż.,
-Practitioner Schedule,Harmonogram praktyk,
-Pre Sales,Przedsprzedaż,
-Preference,Pierwszeństwo,
-Prescribed Procedures,Zalecane procedury,
-Prescription,Recepta,
-Prescription Dosage,Dawka leku na receptę,
-Prescription Duration,Czas trwania recepty,
-Prescriptions,Recepty,
-Present,Obecny,
-Prev,Poprzedni,
-Preview,Podgląd,
-Preview Salary Slip,Podgląd Zarobki Slip,
-Previous Financial Year is not closed,Poprzedni rok finansowy nie jest zamknięta,
-Price,Cena,
-Price List,Cennik,
-Price List Currency not selected,Nie wybrano Cennika w Walucie,
-Price List Rate,Wartość w cenniku,
-Price List master.,Ustawienia Cennika.,
-Price List must be applicable for Buying or Selling,Cennik musi być przyporządkowany do kupna albo sprzedaży,
-Price List {0} is disabled or does not exist,Cennik {0} jest wyłączona lub nie istnieje,
-Price or product discount slabs are required,Wymagane są płyty cenowe lub rabatowe na produkty,
-Pricing,Ustalanie cen,
-Pricing Rule,Zasada ustalania cen,
-"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Wycena Zasada jest najpierw wybiera się na podstawie ""Zastosuj Na"" polu, które może być pozycja, poz Grupa lub Marka.",
-"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Wycena Zasada jest nadpisanie cennik / określenie procentowego rabatu, w oparciu o pewne kryteria.",
-Pricing Rule {0} is updated,Zaktualizowano regułę cenową {0},
-Pricing Rules are further filtered based on quantity.,Zasady ustalania cen są dalej filtrowane na podstawie ilości.,
-Primary Address Details,Podstawowe dane adresowe,
-Primary Contact Details,Podstawowe dane kontaktowe,
-Principal Amount,Główna kwota,
-Print Format,Format Druku,
-Print IRS 1099 Forms,Drukuj formularze IRS 1099,
-Print Report Card,Wydrukuj kartę raportu,
-Print Settings,Ustawienia drukowania,
-Print and Stationery,Druk i Materiały Biurowe,
-Print settings updated in respective print format,Ustawienia drukowania zaktualizowane w odpowiednim formacie druku,
-Print taxes with zero amount,Drukowanie podatków z zerową kwotą,
-Printing and Branding,Drukowanie i firmowanie,
-Private Equity,Kapitał prywatny,
-Privilege Leave,Nieobecność z przywileju,
-Probation,Wyrok lub staż,
-Probationary Period,Okres próbny,
-Procedure,Procedura,
-Process Day Book Data,Dane książki dnia procesu,
-Process Master Data,Przetwarzaj dane podstawowe,
-Processing Chart of Accounts and Parties,Przetwarzanie planu kont i stron,
-Processing Items and UOMs,Przetwarzanie elementów i UOM,
-Processing Party Addresses,Adresy stron przetwarzających,
-Processing Vouchers,Bony przetwarzające,
-Procurement,Zaopatrzenie,
-Produced Qty,Wytworzona ilość,
-Product,Produkt,
-Product Bundle,Pakiet produktów,
-Product Search,Wyszukiwarka produktów,
-Production,Produkcja,
-Production Item,Pozycja Produkcja,
-Products,Produkty,
-Profit and Loss,Zyski i Straty,
-Profit for the year,Zysk za rok,
-Program,Program,
-Program in the Fee Structure and Student Group {0} are different.,Program w strukturze opłat i grupa studencka {0} są różne.,
-Program {0} does not exist.,Program {0} nie istnieje.,
-Program: ,Program:,
-Progress % for a task cannot be more than 100.,Postęp% dla zadania nie może zawierać więcej niż 100.,
-Project Collaboration Invitation,Projekt zaproszenie Współpraca,
-Project Id,Projekt Id,
-Project Manager,Menadżer projektu,
-Project Name,Nazwa Projektu,
-Project Start Date,Data startu projektu,
-Project Status,Status projektu,
-Project Summary for {0},Podsumowanie projektu dla {0},
-Project Update.,Aktualizacja projektu.,
-Project Value,Wartość projektu,
-Project activity / task.,Czynność / zadanie projektu,
-Project master.,Dyrektor projektu,
-Projected,Prognozowany,
-Projected Qty,Przewidywana ilość,
-Projected Quantity Formula,Formuła przewidywanej ilości,
-Projects,Projekty,
-Property,Właściwość,
-Property already added,Właściwość została już dodana,
-Proposal Writing,Pisanie wniosku,
-Proposal/Price Quote,Propozycja/Oferta cenowa,
-Prospecting,Poszukiwania,
-Provisional Profit / Loss (Credit),Rezerwowy Zysk / Strata (Credit),
-Publications,Publikacje,
-Publish Items on Website,Publikowanie przedmioty na stronie internetowej,
-Published,Opublikowany,
-Publishing,Działalność wydawnicza,
-Purchase,Zakup,
-Purchase Amount,Kwota zakupu,
-Purchase Date,Data zakupu,
-Purchase Invoice,Faktura zakupu,
-Purchase Invoice {0} is already submitted,Faktura zakupu {0} została już wysłana,
-Purchase Manager,Menadżer Zakupów,
-Purchase Master Manager,Główny Menadżer Zakupów,
-Purchase Order,Zamówienie,
-Purchase Order Amount,Kwota zamówienia zakupu,
-Purchase Order Amount(Company Currency),Kwota zamówienia zakupu (waluta firmy),
-Purchase Order Date,Data zamówienia zakupu,
-Purchase Order Items not received on time,Elementy zamówienia zakupu nie zostały dostarczone na czas,
-Purchase Order number required for Item {0},Numer Zamówienia Kupna wymagany do {0},
-Purchase Order to Payment,Zamówienie zakupu do płatności,
-Purchase Order {0} is not submitted,Zamówienia Kupna {0} nie zostało wysłane,
-Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Zlecenia zakupu nie są dozwolone w {0} z powodu karty wyników {1}.,
-Purchase Orders given to Suppliers.,Zamówienia Kupna dane Dostawcom,
-Purchase Price List,Cennik zakupowy,
-Purchase Receipt,Potwierdzenie zakupu,
-Purchase Receipt {0} is not submitted,Potwierdzenie zakupu {0} nie zostało wysłane,
-Purchase Tax Template,Szablon podatkowy zakupów,
-Purchase User,Zakup użytkownika,
-Purchase orders help you plan and follow up on your purchases,Zamówienia pomoże Ci zaplanować i śledzić na zakupy,
-Purchasing,Dostawy,
-Purpose must be one of {0},Cel musi być jednym z {0},
-Qty,Ilość,
-Qty To Manufacture,Ilość do wyprodukowania,
-Qty Total,Ilość całkowita,
-Qty for {0},Ilość dla {0},
-Qualification,Kwalifikacja,
-Quality,Jakość,
-Quality Action,Akcja jakości,
-Quality Goal.,Cel jakości.,
-Quality Inspection,Kontrola jakości,
-Quality Inspection: {0} is not submitted for the item: {1} in row {2},Kontrola jakości: {0} nie jest przesyłany dla przedmiotu: {1} w wierszu {2},
-Quality Management,Zarządzanie jakością,
-Quality Meeting,Spotkanie jakościowe,
-Quality Procedure,Procedura jakości,
-Quality Procedure.,Procedura jakości.,
-Quality Review,Przegląd jakości,
-Quantity,Ilość,
-Quantity for Item {0} must be less than {1},Ilość dla przedmiotu {0} musi być mniejsza niż {1},
-Quantity in row {0} ({1}) must be same as manufactured quantity {2},Ilość w rzędzie  {0} ({1}) musi być taka sama jak wyprodukowana ilość {2},
-Quantity must be less than or equal to {0},Ilość musi być mniejsze niż lub równe {0},
-Quantity must not be more than {0},Ilość nie może być większa niż {0},
-Quantity required for Item {0} in row {1},Ilość wymagana dla Przedmiotu {0} w rzędzie {1},
-Quantity should be greater than 0,Ilość powinna być większa niż 0,
-Quantity to Make,Ilość do zrobienia,
-Quantity to Manufacture must be greater than 0.,Ilość do produkcji musi być większy niż 0 ° C.,
-Quantity to Produce,Ilość do wyprodukowania,
-Quantity to Produce can not be less than Zero,Ilość do wyprodukowania nie może być mniejsza niż zero,
-Query Options,Opcje Zapytania,
-Queued for replacing the BOM. It may take a few minutes.,W kolejce do zastąpienia BOM. Może to potrwać kilka minut.,
-Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Usługa kolejkowania aktualizacji najnowszej ceny we wszystkich materiałach. Może potrwać kilka minut.,
-Quick Journal Entry,Szybkie Księgowanie,
-Quot Count,Quot Count,
-Quot/Lead %,Kwota / kwota procentowa,
-Quotation,Wycena,
-Quotation {0} is cancelled,Oferta {0} jest anulowana,
-Quotation {0} not of type {1},Oferta {0} nie jest typem {1},
-Quotations,Notowania,
-"Quotations are proposals, bids you have sent to your customers","Notowania są propozycje, oferty Wysłane do klientów",
-Quotations received from Suppliers.,Wyceny otrzymane od dostawców,
-Quotations: ,Cytaty:,
-Quotes to Leads or Customers.,Wycena dla Tropów albo Klientów,
-RFQs are not allowed for {0} due to a scorecard standing of {1},Zlecenia RFQ nie są dozwolone w {0} z powodu karty wyników {1},
-Range,Przedział,
-Rate,Stawka,
-Rate:,Oceniać:,
-Rating,Ocena,
-Raw Material,Surowiec,
-Raw Materials,Surowy materiał,
-Raw Materials cannot be blank.,Surowce nie może być puste.,
-Re-open,Otwórz ponownie,
-Read blog,Czytaj blog,
-Read the ERPNext Manual,Przeczytać instrukcję ERPNext,
-Reading Uploaded File,Odczyt przesłanego pliku,
-Real Estate,Nieruchomości,
-Reason For Putting On Hold,Powód do zawieszenia,
-Reason for Hold,Powód wstrzymania,
-Reason for hold: ,Powód wstrzymania:,
-Receipt,Paragon,
-Receipt document must be submitted,Otrzymanie dokumentu należy składać,
-Receivable,Należności,
-Receivable Account,Konto Należności,
-Received,Otrzymano,
-Received On,Otrzymana w dniu,
-Received Quantity,Otrzymana ilość,
-Received Stock Entries,Otrzymane wpisy giełdowe,
-Receiver List is empty. Please create Receiver List,Lista odbiorców jest pusta. Proszę stworzyć Listę Odbiorców,
-Recipients,Adresaci,
-Reconcile,Uzgodnij,
-"Record of all communications of type email, phone, chat, visit, etc.","Zapis wszystkich komunikatów typu e-mail, telefon, czat, wizyty, itd",
-Records,Dokumentacja,
-Redirect URL,przekierowanie,
-Ref,Ref,
-Ref Date,Ref Data,
-Reference,Referencja,
-Reference #{0} dated {1},Odnośnik #{0} z datą {1},
-Reference Date,Data Odniesienia,
-Reference Doctype must be one of {0},Doctype referencyjny musi być jednym z {0},
-Reference Document,Dokument referencyjny,
-Reference Document Type,Oznaczenie typu dokumentu,
-Reference No & Reference Date is required for {0},Nr Odniesienia & Data Odniesienia jest wymagana do {0},
-Reference No and Reference Date is mandatory for Bank transaction,Numer referencyjny i data jest obowiązkowe dla transakcji Banku,
-Reference No is mandatory if you entered Reference Date,Nr Odniesienia jest obowiązkowy jest wprowadzono Datę Odniesienia,
-Reference No.,Nr referencyjny.,
-Reference Number,Numer Odniesienia,
-Reference Owner,Odniesienie Właściciel,
-Reference Type,Typ Odniesienia,
-"Reference: {0}, Item Code: {1} and Customer: {2}","Odniesienie: {0}, Kod pozycji: {1} i klient: {2}",
-References,Referencje,
-Refresh Token,Odśwież Reklamowe,
-Region,Region,
-Register,Zarejestrować,
-Reject,Odrzucać,
-Rejected,Odrzucono,
-Related,Związane z,
-Relation with Guardian1,Relacja z Guardian1,
-Relation with Guardian2,Relacja z Guardian2,
-Release Date,Data wydania,
-Reload Linked Analysis,Przeładuj połączoną analizę,
-Remaining,Pozostały,
-Remaining Balance,Pozostałe saldo,
-Remarks,Uwagi,
-Reminder to update GSTIN Sent,Przypomnienie o aktualizacji GSTIN wysłanych,
-Remove item if charges is not applicable to that item,"Usuń element, jeśli opłata nie ma zastosowania do tej pozycji",
-Removed items with no change in quantity or value.,Usunięte pozycje bez zmian w ilości lub wartości.,
-Reopen,Otworzyć na nowo,
-Reorder Level,Poziom Uporządkowania,
-Reorder Qty,Ilość do ponownego zamówienia,
-Repeat Customer Revenue,Powtórz Przychody klienta,
-Repeat Customers,Powtarzający się klient,
-Replace BOM and update latest price in all BOMs,Zastąp BOM i zaktualizuj ostatnią cenę we wszystkich materiałach,
-Replied,Odpowiedziane,
-Replies,Odpowiedzi,
-Report,Raport,
-Report Builder,Kreator raportów,
-Report Type,Typ raportu,
-Report Type is mandatory,Typ raportu jest wymagany,
-Reports,Raporty,
-Reqd By Date,Data realizacji,
-Reqd Qty,Wymagana ilość,
-Request for Quotation,Zapytanie ofertowe,
-Request for Quotations,Zapytanie o cenę,
-Request for Raw Materials,Zapytanie o surowce,
-Request for purchase.,Prośba o zakup,
-Request for quotation.,Zapytanie ofertowe.,
-Requesting Site,Strona żądająca,
-Requesting payment against {0} {1} for amount {2},Żądanie zapłatę przed {0} {1} w ilości {2},
-Requestor,Żądający,
-Required On,Wymagane na,
-Required Qty,Wymagana ilość,
-Required Quantity,Wymagana ilość,
-Reschedule,Zmień harmonogram,
-Research,Badania,
-Research & Development,Badania i Rozwój,
-Researcher,Researcher,
-Resend Payment Email,Wyślij ponownie płatności E-mail,
-Reserve Warehouse,Reserve Warehouse,
-Reserved Qty,Zarezerwowana ilość,
-Reserved Qty for Production,Reserved Ilość Produkcji,
-Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Zarezerwowane Ilość na produkcję: Ilość surowców do produkcji artykułów.,
-Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Magazyn Reserved jest obowiązkowy dla Produktu {0} w dostarczonych Surowcach,
-Reserved for manufacturing,Zarezerwowana dla produkcji,
-Reserved for sale,Zarezerwowane na sprzedaż,
-Reserved for sub contracting,Zarezerwowany dla podwykonawców,
-Resistant,Odporny,
-Resolve error and upload again.,Rozwiąż błąd i prześlij ponownie.,
-Responsibilities,Obowiązki,
-Rest Of The World,Reszta świata,
-Restart Subscription,Ponownie uruchom subskrypcję,
-Restaurant,Restauracja,
-Result Date,Data wyniku,
-Result already Submitted,Wynik już przesłany,
-Resume,Wznawianie,
-Retail,Detal,
-Retail & Wholesale,Hurt i Detal,
-Retail Operations,Operacje detaliczne,
-Retained Earnings,Zysk z lat ubiegłych,
-Retention Stock Entry,Wpis do magazynu retencyjnego,
-Retention Stock Entry already created or Sample Quantity not provided,Wpis zapasu retencji już utworzony lub nie podano próbki próbki,
-Return,Powrót,
-Return / Credit Note,Powrót / Credit Note,
-Return / Debit Note,Powrót / noty obciążeniowej,
-Returns,zwroty,
-Reverse Journal Entry,Reverse Journal Entry,
-Review Invitation Sent,Wysłane zaproszenie do recenzji,
-Review and Action,Recenzja i działanie,
-Role,Rola,
-Rooms Booked,Pokoje zarezerwowane,
-Root Company,Firma główna,
-Root Type,Typ Root,
-Root Type is mandatory,Typ Root jest obowiązkowy,
-Root cannot be edited.,Root nie może być edytowany,
-Root cannot have a parent cost center,Root nie może mieć rodzica w centrum kosztów,
-Round Off,Zaokrąglenia,
-Rounded Total,Końcowa zaokrąglona kwota,
-Route,Trasa,
-Row # {0}: ,Wiersz # {0}:,
-Row # {0}: Batch No must be same as {1} {2},"Wiersz # {0}: Batch Nie musi być taki sam, jak {1} {2}",
-Row # {0}: Cannot return more than {1} for Item {2},Wiersz # {0}: Nie można wrócić więcej niż {1} dla pozycji {2},
-Row # {0}: Rate cannot be greater than the rate used in {1} {2},Wiersz {0}: stawka nie może być większa niż stawka stosowana w {1} {2},
-Row # {0}: Serial No is mandatory,Wiersz # {0}: Numer seryjny jest obowiązkowe,
-Row # {0}: Serial No {1} does not match with {2} {3},Wiersz # {0}: Numer seryjny: {1} nie jest zgodny z {2} {3},
-Row #{0} (Payment Table): Amount must be negative,Wiersz nr {0} (tabela płatności): kwota musi być ujemna,
-Row #{0} (Payment Table): Amount must be positive,Wiersz nr {0} (tabela płatności): kwota musi być dodatnia,
-Row #{0}: Account {1} does not belong to company {2},Wiersz nr {0}: konto {1} nie należy do firmy {2},
-Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Wiersz {0}: alokowana kwota nie może być większa niż kwota pozostająca do spłaty.,
-"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Wiersz # {0}: {1} aktywami nie mogą być składane, jest już {2}",
-Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,"Wiersz nr {0}: nie można ustawić wartości Rate, jeśli kwota jest większa niż kwota rozliczona dla elementu {1}.",
-Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Wiersz # {0}: Data Rozliczenie {1} nie może być wcześniejsza niż data Czek {2},
-Row #{0}: Duplicate entry in References {1} {2},Wiersz # {0}: Duplikuj wpis w odsyłaczach {1} {2},
-Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Wiersz # {0}: oczekiwana data dostarczenia nie może być poprzedzona datą zamówienia zakupu,
-Row #{0}: Item added,Wiersz # {0}: element dodany,
-Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Wiersz # {0}: Journal Entry {1} nie masz konta {2} lub już porównywana z innym kuponie,
-Row #{0}: Not allowed to change Supplier as Purchase Order already exists,"Wiersz # {0}: Nie wolno zmienić dostawcę, jak już istnieje Zamówienie",
-Row #{0}: Please set reorder quantity,Wiersz # {0}: Proszę ustawić ilość zmienić kolejność,
-Row #{0}: Please specify Serial No for Item {1},Wiersz # {0}: Proszę podać nr seryjny dla pozycji {1},
-Row #{0}: Qty increased by 1,Wiersz # {0}: Ilość zwiększona o 1,
-Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,"Wiersz # {0}: Cena musi być taki sam, jak {1}: {2} ({3} / {4})",
-Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Wiersz # {0}: Typ dokumentu referencyjnego musi być jednym z wydatków roszczenia lub wpisu do dziennika,
-"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Wiersz # {0}: Reference Document Type musi być jednym z Zamówieniem, faktura zakupu lub Journal Entry",
-Row #{0}: Rejected Qty can not be entered in Purchase Return,Wiersz # {0}: Odrzucone Ilość nie może być wprowadzone w Purchase Powrót,
-Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Wiersz # {0}: Odrzucone Magazyn jest obowiązkowe przed odrzucony poz {1},
-Row #{0}: Reqd by Date cannot be before Transaction Date,Wiersz nr {0}: Data realizacji nie może być wcześniejsza od daty transakcji,
-Row #{0}: Set Supplier for item {1},Wiersz # {0}: Ustaw Dostawca dla pozycji {1},
-Row #{0}: Status must be {1} for Invoice Discounting {2},Wiersz # {0}: status musi być {1} dla rabatu na faktury {2},
-"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","Wiersz # {0}: partia {1} ma tylko {2} qty. Wybierz inną partię, która ma {3} qty dostępną lub podzielisz wiersz na wiele wierszy, aby dostarczyć / wydać z wielu partii",
-Row #{0}: Timings conflicts with row {1},Wiersz # {0}: taktowania konflikty z rzędu {1},
-Row #{0}: {1} can not be negative for item {2},Wiersz # {0}: {1} nie może być negatywne dla pozycji {2},
-Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Wiersz nr {0}: Kwota nie może być większa niż oczekiwaniu Kwota wobec Kosztów zastrzeżenia {1}. W oczekiwaniu Kwota jest {2},
-Row {0} : Operation is required against the raw material item {1},Wiersz {0}: operacja jest wymagana względem elementu surowcowego {1},
-Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Wiersz {0} # Przydzielona kwota {1} nie może być większa od kwoty nieodebranej {2},
-Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Wiersz {0} # Element {1} nie może zostać przeniesiony więcej niż {2} na zamówienie {3},
-Row {0}# Paid Amount cannot be greater than requested advance amount,Wiersz {0} # Płatna kwota nie może być większa niż żądana kwota zaliczki,
-Row {0}: Activity Type is mandatory.,Wiersz {0}: Typ aktywny jest obowiązkowe.,
-Row {0}: Advance against Customer must be credit,Wiersz {0}: Zaliczka  Klienta jest po stronie kredytowej,
-Row {0}: Advance against Supplier must be debit,Wiersz {0}: Zaliczka Dostawcy jest po stronie debetowej,
-Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Wiersz {0}: Przyznana kwota {1} musi być mniejsza lub równa kwocie Entry Płatność {2},
-Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Wiersz {0}: Przyznana kwota {1} musi być mniejsza lub równa pozostałej kwoty faktury {2},
-Row {0}: An Reorder entry already exists for this warehouse {1},"Wiersz {0}: Zapis ponownego zamawiania dla tego magazynu, {1}",
-Row {0}: Bill of Materials not found for the Item {1},Wiersz {0}: Bill of Materials nie znaleziono Item {1},
-Row {0}: Conversion Factor is mandatory,Wiersz {0}: Współczynnik konwersji jest obowiązkowe,
-Row {0}: Cost center is required for an item {1},Wiersz {0}: wymagany jest koszt centrum dla elementu {1},
-Row {0}: Credit entry can not be linked with a {1},Wiersz {0}: wejście kredytowe nie mogą być powiązane z {1},
-Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Wiersz {0}: Waluta BOM # {1} powinna być równa wybranej walucie {2},
-Row {0}: Debit entry can not be linked with a {1},Wiersz {0}: Debit wpis nie może być związana z {1},
-Row {0}: Depreciation Start Date is required,Wiersz {0}: Wymagana data rozpoczęcia amortyzacji,
-Row {0}: Enter location for the asset item {1},Wiersz {0}: wpisz lokalizację dla elementu zasobu {1},
-Row {0}: Exchange Rate is mandatory,Wiersz {0}: Kurs wymiany jest obowiązkowe,
-Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Wiersz {0}: oczekiwana wartość po przydatności musi być mniejsza niż kwota zakupu brutto,
-Row {0}: From Time and To Time is mandatory.,Wiersz {0}: od czasu do czasu i jest obowiązkowe.,
-Row {0}: From Time and To Time of {1} is overlapping with {2},Wiersz {0}: od czasu do czasu i od {1} pokrywa się z {2},
-Row {0}: From time must be less than to time,Wiersz {0}: Od czasu musi być mniej niż do czasu,
-Row {0}: Hours value must be greater than zero.,Wiersz {0}: Godziny wartość musi być większa od zera.,
-Row {0}: Invalid reference {1},Wiersz {0}: Nieprawidłowy odniesienia {1},
-Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Wiersz {0}: Party / konto nie jest zgodny z {1} / {2} w {3} {4},
-Row {0}: Party Type and Party is required for Receivable / Payable account {1},Wiersz {0}: Typ i Partia Partia jest wymagane w przypadku otrzymania / rachunku Płatne {1},
-Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Wiersz {0}: Płatność przeciwko sprzedaży / Zamówienia powinny być zawsze oznaczone jako góry,
-Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Wiersz {0}: Proszę sprawdzić ""Czy Advance"" przeciw konta {1}, jeśli jest to zaliczka wpis.",
-Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Wiersz {0}: należy ustawić w Powodzie zwolnienia z podatku w podatkach od sprzedaży i opłatach,
-Row {0}: Please set the Mode of Payment in Payment Schedule,Wiersz {0}: ustaw tryb płatności w harmonogramie płatności,
-Row {0}: Please set the correct code on Mode of Payment {1},Wiersz {0}: ustaw prawidłowy kod w trybie płatności {1},
-Row {0}: Qty is mandatory,Wiersz {0}: Ilość jest obowiązkowe,
-Row {0}: Quality Inspection rejected for item {1},Wiersz {0}: Kontrola jakości odrzucona dla elementu {1},
-Row {0}: UOM Conversion Factor is mandatory,Wiersz {0}: JM Współczynnik konwersji jest obowiązkowe,
-Row {0}: select the workstation against the operation {1},Wiersz {0}: wybierz stację roboczą w stosunku do operacji {1},
-Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Wiersz {0}: {1} wymagane numery seryjne dla elementu {2}. Podałeś {3}.,
-Row {0}: {1} must be greater than 0,Wiersz {0}: {1} musi być większy niż 0,
-Row {0}: {1} {2} does not match with {3},Wiersz {0}: {1} {2} nie zgadza się z {3},
-Row {0}:Start Date must be before End Date,Wiersz {0}: Data Początku musi być przed Datą Końca,
-Rows with duplicate due dates in other rows were found: {0},Znaleziono wiersze z powtarzającymi się datami w innych wierszach: {0},
-Rules for adding shipping costs.,Zasady naliczania kosztów transportu.,
-Rules for applying pricing and discount.,Zasady określania cen i zniżek,
-SGST Amount,Kwota SGST,
-Safety Stock,Bezpieczeństwo Zdjęcie,
-Salary,Wynagrodzenia,
-Salary Slip ID,Wynagrodzenie Slip ID,
-Salary Slip of employee {0} already created for this period,Wynagrodzenie Slip pracownika {0} już stworzony dla tego okresu,
-Salary Slip of employee {0} already created for time sheet {1},Slip Wynagrodzenie pracownika {0} już stworzony dla arkusza czasu {1},
-Salary Slip submitted for period from {0} to {1},Przesłane wynagrodzenie za okres od {0} do {1},
-Salary Structure Assignment for Employee already exists,Przydział struktury wynagrodzeń dla pracownika już istnieje,
-Salary Structure Missing,Struktura Wynagrodzenie Brakujący,
-Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktura wynagrodzeń musi zostać złożona przed złożeniem deklaracji zwolnienia podatkowego,
-Salary Structure not found for employee {0} and date {1},Nie znaleziono struktury wynagrodzenia dla pracownika {0} i daty {1},
-Salary Structure should have flexible benefit component(s) to dispense benefit amount,Struktura wynagrodzeń powinna mieć elastyczny składnik (-y) świadczeń w celu przyznania kwoty świadczenia,
-"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.",Wynagrodzenie już przetwarzane w okresie od {0} i {1} Zostaw okresu stosowania nie może być pomiędzy tym zakresie dat.,
-Sales,Sprzedaż,
-Sales Account,Konto sprzedaży,
-Sales Expenses,Koszty sprzedaży,
-Sales Funnel,Lejek sprzedaży,
-Sales Invoice,Faktura sprzedaży,
-Sales Invoice {0} has already been submitted,Faktura Sprzedaży {0} została już wprowadzona,
-Sales Invoice {0} must be cancelled before cancelling this Sales Order,Faktura Sprzedaży {0} powinna być anulowana przed anulowaniem samego Zlecenia Sprzedaży,
-Sales Manager,Menadżer Sprzedaży,
-Sales Master Manager,Główny Menadżer Sprzedaży,
-Sales Order,Zlecenie sprzedaży,
-Sales Order Item,Pozycja Zlecenia Sprzedaży,
-Sales Order required for Item {0},Zlecenie Sprzedaży jest wymagane dla Elementu {0},
-Sales Order to Payment,Płatności do zamówienia sprzedaży,
-Sales Order {0} is not submitted,Zlecenie Sprzedaży {0} nie jest jeszcze złożone,
-Sales Order {0} is not valid,Zlecenie Sprzedaży {0} jest niepoprawne,
-Sales Order {0} is {1},Zamówienie sprzedaży jest {0} {1},
-Sales Orders,Zlecenia sprzedaży,
-Sales Partner,Partner Sprzedaży,
-Sales Pipeline,Pipeline sprzedaży,
-Sales Price List,Lista cena sprzedaży,
-Sales Return,Zwrot sprzedaży,
-Sales Summary,Podsumowanie sprzedaży,
-Sales Tax Template,Szablon Podatek od sprzedaży,
-Sales Team,Team Sprzedażowy,
-Sales User,Sprzedaż użytkownika,
-Sales and Returns,Sprzedaż i zwroty,
-Sales campaigns.,Kampanie sprzedażowe,
-Sales orders are not available for production,Zamówienia sprzedaży nie są dostępne do produkcji,
-Salutation,Forma grzecznościowa,
-Same Company is entered more than once,Ta sama Spółka wpisana jest więcej niż jeden raz,
-Same item cannot be entered multiple times.,Sama pozycja nie może być wprowadzone wiele razy.,
-Same supplier has been entered multiple times,"Tego samego dostawcy, który został wpisany wielokrotnie",
-Sample,Próba,
-Sample Collection,Kolekcja próbek,
-Sample quantity {0} cannot be more than received quantity {1},Ilość próbki {0} nie może być większa niż ilość odebranej {1},
-Sanctioned,usankcjonowane,
-Sanctioned Amount,Zatwierdzona Kwota,
-Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Usankcjonowane Kwota nie może być większa niż ilość roszczenia w wierszu {0}.,
-Sand,Piasek,
-Saturday,Sobota,
-Saved,Zapisane,
-Saving {0},Zapisywanie {0},
-Scan Barcode,Skanuj kod kreskowy,
-Schedule,Harmonogram,
-Schedule Admission,Zaplanuj wstęp,
-Schedule Course,Plan zajęć,
-Schedule Date,Planowana Data,
-Schedule Discharge,Zaplanuj rozładowanie,
-Scheduled,Zaplanowane,
-Scheduled Upto,Zaplanowane Upto,
-"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Harmonogramy nakładek {0}, czy chcesz kontynuować po przejściu przez zakładki?",
-Score cannot be greater than Maximum Score,Wynik nie może być większa niż maksymalna liczba punktów,
-Score must be less than or equal to 5,Wynik musi być niższy lub równy 5,
-Scorecards,Karty wyników,
-Scrapped,Złomowany,
-Search,Szukaj,
-Search Results,Wyniki wyszukiwania,
-Search Sub Assemblies,Zespoły Szukaj Sub,
-"Search by item code, serial number, batch no or barcode","Wyszukaj według kodu produktu, numeru seryjnego, numeru partii lub kodu kreskowego",
-"Seasonality for setting budgets, targets etc.","Sezonowość ustalania budżetów, cele itd.",
-Secret Key,Sekretny klucz,
-Secretary,Sekretarka,
-Section Code,Kod sekcji,
-Secured Loans,Kredyty Hipoteczne,
-Securities & Commodity Exchanges,Papiery i Notowania Giełdowe,
-Securities and Deposits,Papiery wartościowe i depozyty,
-See All Articles,Zobacz wszystkie artykuły,
-See all open tickets,Zobacz wszystkie otwarte bilety,
-See past orders,Zobacz poprzednie zamówienia,
-See past quotations,Zobacz poprzednie cytaty,
-Select,Wybierz,
-Select Alternate Item,Wybierz opcję Alternatywny przedmiot,
-Select Attribute Values,Wybierz wartości atrybutów,
-Select BOM,Wybierz BOM,
-Select BOM and Qty for Production,Wybierz BOM i ilosc Produkcji,
-"Select BOM, Qty and For Warehouse","Wybierz LM, ilość i magazyn",
-Select Batch,Wybierz opcję Batch,
-Select Batch Numbers,Wybierz numery partii,
-Select Brand...,Wybierz markę ...,
-Select Company,Wybierz firmę,
-Select Company...,Wybierz firmą ...,
-Select Customer,Wybierz klienta,
-Select Days,Wybierz dni,
-Select Default Supplier,Wybierz Domyślne Dostawca,
-Select DocType,Wybierz DocType,
-Select Fiscal Year...,Wybierz rok finansowy ...,
-Select Item (optional),Wybierz pozycję (opcjonalnie),
-Select Items based on Delivery Date,Wybierz pozycje w oparciu o datę dostarczenia,
-Select Items to Manufacture,Wybierz produkty do Manufacture,
-Select Loyalty Program,Wybierz program lojalnościowy,
-Select Patient,Wybierz pacjenta,
-Select Possible Supplier,Wybierz Możliwa Dostawca,
-Select Property,Wybierz właściwość,
-Select Quantity,Wybierz ilość,
-Select Serial Numbers,Wybierz numery seryjne,
-Select Target Warehouse,Wybierz Magazyn docelowy,
-Select Warehouse...,Wybierz magazyn ...,
-Select an account to print in account currency,Wybierz konto do wydrukowania w walucie konta,
-Select an employee to get the employee advance.,"Wybierz pracownika, aby uzyskać awans pracownika.",
-Select at least one value from each of the attributes.,Wybierz co najmniej jedną wartość z każdego z atrybutów.,
-Select change amount account,Wybierz opcję Zmień konto kwotę,
-Select company first,Najpierw wybierz firmę,
-Select students manually for the Activity based Group,Wybierz uczniów ręcznie dla grupy działań,
-Select the customer or supplier.,Wybierz klienta lub dostawcę.,
-Select the nature of your business.,Wybierz charakteru swojej działalności.,
-Select the program first,Najpierw wybierz program,
-Select to add Serial Number.,"Wybierz, aby dodać numer seryjny.",
-Select your Domains,Wybierz swoje domeny,
-Selected Price List should have buying and selling fields checked.,Wybrany cennik powinien mieć sprawdzone pola kupna i sprzedaży.,
-Sell,Sprzedać,
-Selling,Sprzedaż,
-Selling Amount,Kwota sprzedaży,
-Selling Price List,Cennik sprzedaży,
-Selling Rate,Kurs sprzedaży,
-"Selling must be checked, if Applicable For is selected as {0}","Sprzedaż musi być sprawdzona, jeśli dotyczy wybrano jako {0}",
-Send Grant Review Email,Wyślij wiadomość e-mail dotyczącą oceny grantu,
-Send Now,Wyślij teraz,
-Send SMS,Wyślij SMS,
-Send mass SMS to your contacts,Wyślij zbiorczo sms do swoich kontaktów,
-Sensitivity,Wrażliwość,
-Sent,Wysłano,
-Serial No and Batch,Numer seryjny oraz Batch,
-Serial No is mandatory for Item {0},Nr seryjny jest obowiązkowy dla pozycji {0},
-Serial No {0} does not belong to Batch {1},Numer seryjny {0} nie należy do partii {1},
-Serial No {0} does not belong to Delivery Note {1},Nr seryjny {0} nie należy do żadnego potwierdzenia dostawy {1},
-Serial No {0} does not belong to Item {1},Nr seryjny {0} nie należy do żadnej rzeczy {1},
-Serial No {0} does not belong to Warehouse {1},Nr seryjny {0} nie należy do magazynu {1},
-Serial No {0} does not belong to any Warehouse,Nr seryjny: {0} nie należy do żadnego Magazynu,
-Serial No {0} does not exist,Nr seryjny {0} nie istnieje,
-Serial No {0} has already been received,Nr seryjny {0} otrzymano,
-Serial No {0} is under maintenance contract upto {1},Nr seryjny {0} w ramach umowy serwisowej do {1},
-Serial No {0} is under warranty upto {1},Nr seryjny {0} w ramach gwarancji do {1},
-Serial No {0} not found,Nr seryjny {0} nie znaleziono,
-Serial No {0} quantity {1} cannot be a fraction,Nr seryjny {0} dla ilości {1} nie może być ułamkiem,
-Serial Nos Required for Serialized Item {0},Nr-y seryjne Wymagane do szeregowania pozycji {0},
-Serial Number: {0} is already referenced in Sales Invoice: {1},Numer seryjny: {0} znajduje się już w fakturze sprzedaży: {1},
-Serial Numbers,Numer seryjny,
-Serial Numbers in row {0} does not match with Delivery Note,Numery seryjne w wierszu {0} nie pasują do opisu dostawy,
-Serial no {0} has been already returned,Numer seryjny {0} został już zwrócony,
-Serial number {0} entered more than once,Nr seryjny {0} wprowadzony jest więcej niż jeden raz,
-Serialized Inventory,Inwentaryzacja w odcinkach,
-Series Updated,Aktualizacja serii,
-Series Updated Successfully,Seria zaktualizowana,
-Series is mandatory,Serie jest obowiązkowa,
-Series {0} already used in {1},Seria {0} już zostały użyte w {1},
-Service,Usługa,
-Service Expense,Koszty usługi,
-Service Level Agreement,Umowa o poziomie usług,
-Service Level Agreement.,Umowa o poziomie usług.,
-Service Level.,Poziom usług.,
-Service Stop Date cannot be after Service End Date,Data zatrzymania usługi nie może być późniejsza niż data zakończenia usługi,
-Service Stop Date cannot be before Service Start Date,Data zatrzymania usługi nie może być wcześniejsza niż data rozpoczęcia usługi,
-Services,Usługi,
-"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Ustaw wartości domyślne jak firma, waluta, bieżący rok rozliczeniowy, itd.",
-Set Details,Ustaw szczegóły,
-Set New Release Date,Ustaw nową datę wydania,
-Set Project and all Tasks to status {0}?,Ustaw projekt i wszystkie zadania na status {0}?,
-Set Status,Ustaw status,
-Set Tax Rule for shopping cart,Ustaw regułę podatkowa do koszyka,
-Set as Closed,Ustaw jako Zamknięty,
-Set as Completed,Ustaw jako ukończone,
-Set as Default,Ustaw jako domyślne,
-Set as Lost,Ustaw jako utracony,
-Set as Open,Ustaw jako otwarty,
-Set default inventory account for perpetual inventory,Ustaw domyślne konto zapasów dla zasobów reklamowych wieczystych,
-Set this if the customer is a Public Administration company.,"Ustaw to, jeśli klient jest firmą administracji publicznej.",
-Set {0} in asset category {1} or company {2},Ustaw {0} w kategorii aktywów {1} lub firmie {2},
-"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Ustawianie zdarzenia do {0}, ponieważ urzędnik dołączone do sprzedaży poniżej osób nie posiada identyfikator użytkownika {1}",
-Setting defaults,Ustawianie wartości domyślnych,
-Setting up Email,Konfiguracja e-mail,
-Setting up Email Account,Konfigurowanie konta e-mail,
-Setting up Employees,Ustawienia pracowników,
-Setting up Taxes,Konfigurowanie podatki,
-Setting up company,Zakładanie firmy,
-Settings,Ustawienia,
-"Settings for online shopping cart such as shipping rules, price list etc.","Ustawienia dla internetowego koszyka, takie jak zasady żeglugi, cennika itp",
-Settings for website homepage,Ustawienia strony głównej,
-Settings for website product listing,Ustawienia listy produktów w witrynie,
-Settled,Osiadły,
-Setup Gateway accounts.,Rachunki konfiguracji bramy.,
-Setup SMS gateway settings,Konfiguracja ustawień bramki SMS,
-Setup cheque dimensions for printing,Wymiary Sprawdź konfigurację do druku,
-Setup default values for POS Invoices,Ustaw wartości domyślne dla faktur POS,
-Setup mode of POS (Online / Offline),Tryb konfiguracji POS (Online / Offline),
-Setup your Institute in ERPNext,Skonfiguruj swój instytut w ERPNext,
-Share Balance,Udostępnij saldo,
-Share Ledger,Udostępnij Księgę,
-Share Management,Zarządzanie udziałami,
-Share Transfer,Udostępnij przelew,
-Share Type,Rodzaj udziału,
-Shareholder,Akcjonariusz,
-Ship To State,Ship To State,
-Shipments,Przesyłki,
-Shipping,Wysyłka,
-Shipping Address,Adres dostawy,
-"Shipping Address does not have country, which is required for this Shipping Rule","Adres wysyłki nie ma kraju, który jest wymagany dla tej reguły wysyłki",
-Shipping rule only applicable for Buying,Zasada wysyłki ma zastosowanie tylko do zakupów,
-Shipping rule only applicable for Selling,Reguła wysyłki dotyczy tylko sprzedaży,
-Shopify Supplier,Shopify dostawca,
-Shopping Cart,Koszyk,
-Shopping Cart Settings,Ustawienia koszyka,
-Short Name,Skrócona nazwa,
-Shortage Qty,Niedobór szt,
-Show Completed,Pokaż ukończone,
-Show Cumulative Amount,Pokaż łączną kwotę,
-Show Employee,Pokaż pracownika,
-Show Open,Pokaż otwarta,
-Show Opening Entries,Pokaż otwierające wpisy,
-Show Payment Details,Pokaż szczegóły płatności,
-Show Return Entries,Pokaż wpisy zwrotne,
-Show Salary Slip,Slip Pokaż Wynagrodzenie,
-Show Variant Attributes,Pokaż atrybuty wariantu,
-Show Variants,Pokaż warianty,
-Show closed,Pokaż closed,
-Show exploded view,Pokaż widok rozstrzelony,
-Show only POS,Pokaż tylko POS,
-Show unclosed fiscal year's P&L balances,Pokaż niezamkniętych rok obrotowy za P &amp; L sald,
-Show zero values,Pokaż wartości zerowe,
-Sick Leave,Urlop Chorobowy,
-Silt,Muł,
-Single Variant,Pojedynczy wariant,
-Single unit of an Item.,Jednostka produktu.,
-"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Pomijanie Zostaw alokację dla następujących pracowników, ponieważ rekordy Urlop alokacji już istnieją przeciwko nim. {0}",
-"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Pomijanie przydziału struktury wynagrodzeń dla następujących pracowników, ponieważ rekordy przypisania struktury wynagrodzeń już istnieją przeciwko nim. {0}",
-Slideshow,Pokaz slajdów,
-Slots for {0} are not added to the schedule,Gniazda dla {0} nie są dodawane do harmonogramu,
-Small,Mały,
-Soap & Detergent,Środki czystości i Detergenty,
-Software,Oprogramowanie,
-Software Developer,Programista,
-Softwares,Oprogramowania,
-Soil compositions do not add up to 100,Składy gleby nie sumują się do 100,
-Sold,Sprzedany,
-Some emails are invalid,Niektóre e-maile są nieprawidłowe,
-Some information is missing,Niektóre informacje brakuje,
-Something went wrong!,Coś poszło nie tak!,
-"Sorry, Serial Nos cannot be merged","Niestety, numery seryjne nie mogą zostać połączone",
-Source,Źródło,
-Source Name,Źródło Nazwa,
-Source Warehouse,Magazyn źródłowy,
-Source and Target Location cannot be same,Lokalizacja źródłowa i docelowa nie może być taka sama,
-Source and target warehouse cannot be same for row {0},Źródło i magazyn docelowy nie mogą być takie sama dla wiersza {0},
-Source and target warehouse must be different,Źródło i magazyn docelowy musi być inna,
-Source of Funds (Liabilities),Zobowiązania,
-Source warehouse is mandatory for row {0},Magazyn źródłowy jest obowiązkowy dla wiersza {0},
-Specified BOM {0} does not exist for Item {1},Określone BOM {0} nie istnieje dla pozycji {1},
-Split,Rozdzielać,
-Split Batch,Podział partii,
-Split Issue,Podziel problem,
-Sports,Sporty,
-Staffing Plan {0} already exist for designation {1},Plan zatrudnienia {0} już istnieje dla wyznaczenia {1},
-Standard,Standard,
-Standard Buying,Standardowe zakupy,
-Standard Selling,Standard sprzedaży,
-Standard contract terms for Sales or Purchase.,Standardowe warunki umowy sprzedaży lub kupna.,
-Start Date,Data startu,
-Start Date of Agreement can't be greater than or equal to End Date.,Data rozpoczęcia umowy nie może być większa lub równa dacie zakończenia.,
-Start Year,Rok rozpoczęcia,
-"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Daty rozpoczęcia i zakończenia nie w ważnym okresie płacowym, nie można obliczyć {0}",
-"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Daty rozpoczęcia i zakończenia nie są w ważnym okresie rozliczeniowym, nie można obliczyć {0}.",
-Start date should be less than end date for Item {0},Data startu powinna być niższa od daty końca dla {0},
-Start date should be less than end date for task {0},Data rozpoczęcia powinna być mniejsza niż data zakończenia dla zadania {0},
-Start day is greater than end day in task '{0}',Dzień rozpoczęcia jest większy niż dzień zakończenia w zadaniu &quot;{0}&quot;,
-Start on,Zaczynaj na,
-State,Stan,
-State/UT Tax,Podatek stanowy / UT,
-Statement of Account,Wyciąg z rachunku,
-Status must be one of {0},Status musi być jednym z {0},
-Stock,Magazyn,
-Stock Adjustment,Korekta,
-Stock Analytics,Analityka magazynu,
-Stock Assets,Zapasy,
-Stock Available,Dostępność towaru,
-Stock Balance,Bilans zapasów,
-Stock Entries already created for Work Order ,Wpisy magazynowe już utworzone dla zlecenia pracy,
-Stock Entry,Zapis magazynowy,
-Stock Entry {0} created,Wpis {0} w Magazynie został utworzony,
-Stock Entry {0} is not submitted,Zdjęcie Wejście {0} nie jest składany,
-Stock Expenses,Wydatki magazynowe,
-Stock In Hand,Na stanie magazynu,
-Stock Items,produkty seryjne,
-Stock Ledger,Księga zapasów,
-Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Zapisy księgi zapasów oraz księgi głównej są odświeżone dla wybranego dokumentu zakupu,
-Stock Levels,Poziom zapasów,
-Stock Liabilities,Zadłużenie zapasów,
-Stock Options,Opcje magazynu,
-Stock Qty,Ilość zapasów,
-Stock Received But Not Billed,"Przyjęte na stan, nie zapłacone (zobowiązanie)",
-Stock Reports,Raporty seryjne,
-Stock Summary,Podsumowanie Zdjęcie,
-Stock Transactions,Operacje magazynowe,
-Stock UOM,Jednostka,
-Stock Value,Wartość zapasów,
-Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Saldo Zdjęcie w serii {0} będzie negatywna {1} dla pozycji {2} w hurtowni {3},
-Stock cannot be updated against Purchase Receipt {0},Zdjęcie nie może zostać zaktualizowany przed ZAKUPU {0},
-Stock cannot exist for Item {0} since has variants,"Zdjęcie nie może istnieć dla pozycji {0}, ponieważ ma warianty",
-Stock transactions before {0} are frozen,Operacje magazynowe przed {0} są zamrożone,
-Stop,Zatrzymaj,
-Stopped,Zatrzymany,
-"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Zatwierdzone zlecenie pracy nie może zostać anulowane, należy je najpierw anulować, aby anulować",
-Stores,Sklepy,
-Structures have been assigned successfully,Struktury zostały pomyślnie przypisane,
-Student,Student,
-Student Activity,Działalność uczniowska,
-Student Address,Adres studenta,
-Student Admissions,Rekrutacja dla studentów,
-Student Attendance,Obecność Studenta,
-"Student Batches help you track attendance, assessments and fees for students","Partie studenckich pomóc śledzenie obecności, oceny i opłat dla studentów",
-Student Email Address,Student adres email,
-Student Email ID,Student ID email,
-Student Group,Grupa Student,
-Student Group Strength,Siła grupy studentów,
-Student Group is already updated.,Grupa studentów jest już aktualizowana.,
-Student Group: ,Grupa studencka:,
-Student ID,legitymacja studencka,
-Student ID: ,Legitymacja studencka:,
-Student LMS Activity,Aktywność LMS studenta,
-Student Mobile No.,Nie Student Komórka,
-Student Name,Nazwa Student,
-Student Name: ,Imię ucznia:,
-Student Report Card,Karta zgłoszenia ucznia,
-Student is already enrolled.,Student jest już zarejestrowany.,
-Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} pojawia się wielokrotnie w wierszu {2} i {3},
-Student {0} does not belong to group {1},Student {0} nie należy do grupy {1},
-Student {0} exist against student applicant {1},Student {0} istnieć przed studenta wnioskodawcy {1},
-"Students are at the heart of the system, add all your students","Studenci są w samym sercu systemu, dodanie wszystkich swoich uczniów",
-Sub Assemblies,Komponenty,
-Sub Type,Podtyp,
-Sub-contracting,Podwykonawstwo,
-Subcontract,Zlecenie,
-Subject,Temat,
-Submit,Zatwierdź,
-Submit Proof,Prześlij dowód,
-Submit Salary Slip,Zatwierdź potrącenie z pensji,
-Submit this Work Order for further processing.,Prześlij to zlecenie pracy do dalszego przetwarzania.,
-Submit this to create the Employee record,"Prześlij to, aby utworzyć rekord pracownika",
-Submitting Salary Slips...,Przesyłanie wynagrodzeń ...,
-Subscription,Subskrypcja,
-Subscription Management,Zarządzanie subskrypcjami,
-Subscriptions,Subskrypcje,
-Subtotal,Razem,
-Successful,Udany,
-Successfully Reconciled,Pomyślnie uzgodnione,
-Successfully Set Supplier,Pomyślnie ustaw dostawcę,
-Successfully created payment entries,Pomyślnie utworzono wpisy płatności,
-Successfully deleted all transactions related to this company!,Pomyślnie usunięte wszystkie transakcje związane z tą firmą!,
-Sum of Scores of Assessment Criteria needs to be {0}.,Suma punktów kryteriów oceny musi być {0}.,
-Sum of points for all goals should be 100. It is {0},Suma punktów dla wszystkich celów powinno być 100. {0},
-Summary,Podsumowanie,
-Summary for this month and pending activities,Podsumowanie dla tego miesiąca i działań toczących,
-Summary for this week and pending activities,Podsumowanie na ten tydzień i działań toczących,
-Sunday,Niedziela,
-Suplier,Suplier,
-Supplier,Dostawca,
-Supplier Group,Grupa dostawców,
-Supplier Group master.,Mistrz grupy dostawców.,
-Supplier Id,ID Dostawcy,
-Supplier Invoice Date cannot be greater than Posting Date,Faktura dostawca Data nie może być większe niż Data publikacji,
-Supplier Invoice No,Nr faktury dostawcy,
-Supplier Invoice No exists in Purchase Invoice {0},Dostawca Faktura Nie istnieje faktura zakupu {0},
-Supplier Name,Nazwa dostawcy,
-Supplier Part No,Dostawca Część nr,
-Supplier Quotation,Oferta dostawcy,
-Supplier Scorecard,Karta wyników dostawcy,
-Supplier database.,Baza dostawców,
-Supplier {0} not found in {1},Dostawca {0} nie został znaleziony w {1},
-Supplier(s),Dostawca(y),
-Supplies made to UIN holders,Materiały dla posiadaczy UIN,
-Supplies made to Unregistered Persons,Dostawy dla niezarejestrowanych osób,
-Suppliies made to Composition Taxable Persons,Dodatki do osób podlegających opodatkowaniu,
-Supply Type,Rodzaj dostawy,
-Support,Wsparcie,
-Support Settings,Ustawienia wsparcia,
-Support Tickets,Bilety na wsparcie,
-Support queries from customers.,Zapytania klientów o wsparcie techniczne,
-Susceptible,Podatny,
-Sync has been temporarily disabled because maximum retries have been exceeded,"Synchronizacja została tymczasowo wyłączona, ponieważ przekroczono maksymalną liczbę ponownych prób",
-Syntax error in condition: {0},Błąd składni w warunku: {0},
-Syntax error in formula or condition: {0},Błąd składni we wzorze lub stanu: {0},
-System Manager,System Manager,
-TDS Rate %,Współczynnik TDS%,
-Tap items to add them here,"Dotknij elementów, aby je dodać tutaj",
-Target,Cel,
-Target ({}),Cel ({}),
-Target Warehouse,Magazyn docelowy,
-Target warehouse is mandatory for row {0},Magazyn docelowy jest obowiązkowy dla wiersza {0},
-Task,Zadanie,
-Tasks,Zadania,
-Tasks have been created for managing the {0} disease (on row {1}),Utworzono zadania do zarządzania chorobą {0} (w wierszu {1}),
-Tax,Podatek,
-Tax Assets,Podatek należny (zwrot),
-Tax Category,Kategoria podatku,
-Tax Category for overriding tax rates.,Kategoria podatkowa za nadrzędne stawki podatkowe.,
-"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Kategoria podatkowa została zmieniona na &quot;Razem&quot;, ponieważ wszystkie elementy są towarami nieruchoma",
-Tax ID,Numer identyfikacji podatkowej (NIP),
-Tax Id: ,Identyfikator podatkowy:,
-Tax Rate,Stawka podatku,
-Tax Rule Conflicts with {0},Konflikty przepisu podatkowego z {0},
-Tax Rule for transactions.,Reguła podatkowa dla transakcji.,
-Tax Template is mandatory.,Szablon podatków jest obowiązkowy.,
-Tax Withholding rates to be applied on transactions.,Stawki podatku u źródła stosowane do transakcji.,
-Tax template for buying transactions.,Szablon podatków dla transakcji zakupu.,
-Tax template for item tax rates.,Szablon podatku dla stawek podatku od towarów.,
-Tax template for selling transactions.,Szablon podatków dla transakcji sprzedaży.,
-Taxable Amount,Kwota podlegająca opodatkowaniu,
-Taxes,Podatki,
-Team Updates,Aktualizacje zespół,
-Technology,Technologia,
-Telecommunications,Telekomunikacja,
-Telephone Expenses,Wydatki telefoniczne,
-Television,Telewizja,
-Template Name,Nazwa szablonu,
-Template of terms or contract.,Szablon z warunkami lub umową.,
-Templates of supplier scorecard criteria.,Szablony kryteriów oceny dostawców.,
-Templates of supplier scorecard variables.,Szablony dostawców zmiennych.,
-Templates of supplier standings.,Szablony standings dostawców.,
-Temporarily on Hold,Chwilowo zawieszone,
-Temporary,Tymczasowy,
-Temporary Accounts,Rachunki tymczasowe,
-Temporary Opening,Tymczasowe otwarcia,
-Terms and Conditions,Regulamin,
-Terms and Conditions Template,Szablony warunków i regulaminów,
-Territory,Region,
-Test,Test,
-Thank you,Dziękuję,
-Thank you for your business!,Dziękuję dla Twojej firmy!,
-The 'From Package No.' field must neither be empty nor it's value less than 1.,The &#39;From Package No.&#39; pole nie może być puste ani jego wartość mniejsza niż 1.,
-The Brand,Marka,
-The Item {0} cannot have Batch,Element {0} nie może mieć Batch,
-The Loyalty Program isn't valid for the selected company,Program lojalnościowy nie jest ważny dla wybranej firmy,
-The Payment Term at row {0} is possibly a duplicate.,Termin płatności w wierszu {0} jest prawdopodobnie duplikatem.,
-The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Termin Data zakończenia nie może być wcześniejsza niż data początkowa Term. Popraw daty i spróbuj ponownie.,
-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.,"Termin Data zakończenia nie może być późniejsza niż data zakończenia roku na rok akademicki, którego termin jest związany (Academic Year {}). Popraw daty i spróbuj ponownie.",
-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.,"Termin Data rozpoczęcia nie może być krótszy niż rok od daty rozpoczęcia roku akademickiego, w jakim termin ten jest powiązany (Academic Year {}). Popraw daty i spróbuj ponownie.",
-The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Rok Data zakończenia nie może być wcześniejsza niż data początkowa rok. Popraw daty i spróbuj ponownie.,
-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.,"Kwota {0} ustawiona w tym żądaniu płatności różni się od obliczonej kwoty wszystkich planów płatności: {1}. Upewnij się, że jest to poprawne przed wysłaniem dokumentu.",
-The day(s) on which you are applying for leave are holidays. You need not apply for leave.,"Dzień (s), w którym starasz się o urlop jest święta. Nie musisz ubiegać się o urlop.",
-The field From Shareholder cannot be blank,Pole Od Akcjonariusza nie może być puste,
-The field To Shareholder cannot be blank,Pole Do akcjonariusza nie może być puste,
-The fields From Shareholder and To Shareholder cannot be blank,Pola Od Akcjonariusza i Do Akcjonariusza nie mogą być puste,
-The folio numbers are not matching,Numery folio nie pasują do siebie,
-The holiday on {0} is not between From Date and To Date,Święto w dniu {0} nie jest pomiędzy Od Data i do tej pory,
-The name of the institute for which you are setting up this system.,"Nazwa instytutu, dla którego jest utworzenie tego systemu.",
-The name of your company for which you are setting up this system.,Nazwa firmy / organizacji dla której uruchamiasz niniejszy system.,
-The number of shares and the share numbers are inconsistent,Liczba akcji i liczby akcji są niespójne,
-The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Rachunek bramy płatniczej w planie {0} różni się od konta bramy płatności w tym żądaniu płatności,
-The selected BOMs are not for the same item,Wybrane LM nie są na tej samej pozycji,
-The selected item cannot have Batch,Wybrany element nie może mieć Batch,
-The seller and the buyer cannot be the same,Sprzedawca i kupujący nie mogą być tacy sami,
-The shareholder does not belong to this company,Akcjonariusz nie należy do tej spółki,
-The shares already exist,Akcje już istnieją,
-The shares don't exist with the {0},Akcje nie istnieją z {0},
-"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","Zadanie zostało zakolejkowane jako zadanie w tle. W przypadku jakichkolwiek problemów z przetwarzaniem w tle, system doda komentarz dotyczący błędu w tym uzgadnianiu i powróci do etapu wersji roboczej",
-"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Następnie wycena Zasady są filtrowane na podstawie Klienta, grupy klientów, Terytorium, dostawcy, dostawca, typu kampanii, Partner Sales itp",
-"There are inconsistencies between the rate, no of shares and the amount calculated","Występują niespójności między stopą, liczbą akcji i obliczoną kwotą",
-There are more holidays than working days this month.,Jest więcej świąt niż dni pracujących,
-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.,Może istnieć wiele warstwowych współczynników zbierania w oparciu o całkowitą ilość wydanych pieniędzy. Jednak współczynnik konwersji dla umorzenia będzie zawsze taki sam dla wszystkich poziomów.,
-There can only be 1 Account per Company in {0} {1},Nie może być tylko jedno konto na Spółkę w {0} {1},
-"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Może być tylko jedna Zasada dostawy z wartością 0 lub pustą wartością w polu ""Wartość""",
-There is no leave period in between {0} and {1},Nie ma okresu próbnego między {0} a {1},
-There is nothing to edit.,Nie ma nic do edycji,
-There isn't any item variant for the selected item,Nie ma żadnego wariantu przedmiotu dla wybranego przedmiotu,
-"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.","Wygląda na to, że problem dotyczy konfiguracji serwera GoCardless. Nie martw się, w przypadku niepowodzenia kwota zostanie zwrócona na Twoje konto.",
-There were errors creating Course Schedule,Podczas tworzenia harmonogramu kursów wystąpiły błędy,
-There were errors.,Wystąpiły błędy,
-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,"Pozycja ta jest szablon i nie mogą być wykorzystywane w transakcjach. Atrybuty pozycji zostaną skopiowane nad do wariantów chyba ""Nie Kopiuj"" jest ustawiony",
-This Item is a Variant of {0} (Template).,Ta pozycja jest wariantem {0} (szablon).,
-This Month's Summary,Podsumowanie tego miesiąca,
-This Week's Summary,Podsumowanie W tym tygodniu,
-This action will stop future billing. Are you sure you want to cancel this subscription?,Ta czynność zatrzyma przyszłe płatności. Czy na pewno chcesz anulować subskrypcję?,
-This covers all scorecards tied to this Setup,Obejmuje to wszystkie karty wyników powiązane z niniejszą kartą,
-This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Niniejszy dokument ma na granicy przez {0} {1} dla pozycji {4}. Robisz kolejny {3} przeciwko samo {2}?,
-This is a root account and cannot be edited.,To jest konto root i nie może być edytowane.,
-This is a root customer group and cannot be edited.,To jest grupa klientów root i nie mogą być edytowane.,
-This is a root department and cannot be edited.,To jest dział główny i nie można go edytować.,
-This is a root healthcare service unit and cannot be edited.,To jest podstawowa jednostka opieki zdrowotnej i nie można jej edytować.,
-This is a root item group and cannot be edited.,To jest grupa przedmiotów root i nie mogą być edytowane.,
-This is a root sales person and cannot be edited.,To jest sprzedawca root i nie może być edytowany.,
-This is a root supplier group and cannot be edited.,To jest główna grupa dostawców i nie można jej edytować.,
-This is a root territory and cannot be edited.,To jest obszar root i nie może być edytowany.,
-This is an example website auto-generated from ERPNext,Ta przykładowa strona została automatycznie wygenerowana przez ERPNext,
-This is based on logs against this Vehicle. See timeline below for details,Opiera się to na dzienniki przeciwko tego pojazdu. Zobacz harmonogram poniżej w szczegółach,
-This is based on stock movement. See {0} for details,Jest to oparte na ruchu zapasów. Zobacz {0} o szczegóły,
-This is based on the Time Sheets created against this project,Jest to oparte na kartach czasu pracy stworzonych wobec tego projektu,
-This is based on the attendance of this Employee,Jest to oparte na obecności pracownika,
-This is based on the attendance of this Student,Jest to oparte na obecności tego Studenta,
-This is based on transactions against this Customer. See timeline below for details,"Wykres oparty na operacjach związanych z klientem. Sprawdź poniżej oś czasu, aby uzyskać więcej szczegółów.",
-This is based on transactions against this Healthcare Practitioner.,Jest to oparte na transakcjach przeciwko temu pracownikowi opieki zdrowotnej.,
-This is based on transactions against this Patient. See timeline below for details,"Opiera się to na transakcjach przeciwko temu pacjentowi. Zobacz poniżej linię czasu, aby uzyskać szczegółowe informacje",
-This is based on transactions against this Sales Person. See timeline below for details,"Jest to oparte na transakcjach z tą osobą handlową. Zobacz oś czasu poniżej, aby uzyskać szczegółowe informacje",
-This is based on transactions against this Supplier. See timeline below for details,"Wykres oparty na operacjach związanych z dostawcą. Sprawdź poniżej oś czasu, aby uzyskać więcej szczegółów.",
-This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Spowoduje to wysłanie Salary Slips i utworzenie wpisu księgowego. Czy chcesz kontynuować?,
-This {0} conflicts with {1} for {2} {3},Ten {0} konflikty z {1} do {2} {3},
-Time Sheet for manufacturing.,Arkusz Czas produkcji.,
-Time Tracking,time Tracking,
-"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Przesunięcie przedziału czasowego, przedział od {0} do {1} pokrywa się z istniejącym bokiem {2} do {3}",
-Time slots added,Dodano gniazda czasowe,
-Time(in mins),Czas (w minutach),
-Timer,Regulator czasowy,
-Timer exceeded the given hours.,Minutnik przekroczył podane godziny.,
-Timesheet,Lista obecności,
-Timesheet for tasks.,Grafiku zadań.,
-Timesheet {0} is already completed or cancelled,Grafiku {0} jest już zakończone lub anulowane,
-Timesheets,Ewidencja czasu pracy,
-"Timesheets help keep track of time, cost and billing for activites done by your team","Ewidencja czasu pomaga śledzić czasu, kosztów i rozliczeń dla aktywnosci przeprowadzonych przez zespół",
-Titles for print templates e.g. Proforma Invoice.,Tytuł szablonu wydruku np.: Faktura Proforma,
-To,Do,
-To Address 1,Aby Adres 1,
-To Address 2,Do adresu 2,
-To Bill,Wystaw rachunek,
-To Date,Do daty,
-To Date cannot be before From Date,"""Do daty"" nie może być terminem przed ""od daty""",
-To Date cannot be less than From Date,Data nie może być mniejsza niż Od daty,
-To Date must be greater than From Date,To Date musi być większe niż From Date,
-To Date should be within the Fiscal Year. Assuming To Date = {0},Aby Data powinna być w tym roku podatkowym. Zakładając To Date = {0},
-To Datetime,Aby DateTime,
-To Deliver,Dostarczyć,
-To Deliver and Bill,Do dostarczenia i Bill,
-To Fiscal Year,Do roku podatkowego,
-To GSTIN,Do GSTIN,
-To Party Name,Nazwa drużyny,
-To Pin Code,Aby przypiąć kod,
-To Place,Do miejsca,
-To Receive,Otrzymać,
-To Receive and Bill,Do odbierania i Bill,
-To State,Określić,
-To Warehouse,Do magazynu,
-To create a Payment Request reference document is required,"Aby utworzyć dokument referencyjny żądania zapłaty, wymagane jest",
-To date can not be equal or less than from date,Do tej pory nie może być równa lub mniejsza niż od daty,
-To date can not be less than from date,Do tej pory nie może być mniejsza niż od daty,
-To date can not greater than employee's relieving date,Do tej pory nie może przekroczyć daty zwolnienia pracownika,
-"To filter based on Party, select Party Type first","Aby filtrować na podstawie partii, wybierz Party Wpisz pierwsze",
-"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Aby uzyskać najlepsze z ERPNext, zalecamy, aby poświęcić trochę czasu i oglądać te filmy pomoc.",
-To make Customer based incentive schemes.,Aby tworzyć systemy motywacyjne oparte na Kliencie.,
-"To merge, following properties must be same for both items","Aby scalić, poniższe właściwości muszą być takie same dla obu przedmiotów",
-"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Cennik nie stosuje regułę w danej transakcji, wszystkie obowiązujące przepisy dotyczące cen powinny być wyłączone.",
-"To set this Fiscal Year as Default, click on 'Set as Default'","Aby ustawić ten rok finansowy jako domyślny, kliknij przycisk ""Ustaw jako domyślne""",
-To view logs of Loyalty Points assigned to a Customer.,Aby wyświetlić logi punktów lojalnościowych przypisanych do klienta.,
-To {0},Do {0},
-To {0} | {1} {2},Do {0} | {1} {2},
-Toggle Filters,Przełącz filtry,
-Too many columns. Export the report and print it using a spreadsheet application.,Zbyt wiele kolumn. Wyeksportować raport i wydrukować go za pomocą arkusza kalkulacyjnego.,
-Tools,Narzędzia,
-Total (Credit),Razem (Credit),
-Total (Without Tax),Razem (bez podatku),
-Total Absent,Razem Nieobecny,
-Total Achieved,Razem Osiągnięte,
-Total Actual,Razem Rzeczywisty,
-Total Allocated Leaves,Całkowicie Przydzielone Nieobecności,
-Total Amount,Wartość całkowita,
-Total Amount Credited,Całkowita kwota kredytu,
-Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Wszystkich obowiązujących opłat w ZAKUPU Elementy tabeli muszą być takie same jak Wszystkich podatkach i opłatach,
-Total Budget,Cały budżet,
-Total Collected: {0},Łącznie zbierane: {0},
-Total Commission,Całkowita kwota prowizji,
-Total Contribution Amount: {0},Łączna kwota dotacji: {0},
-Total Credit/ Debit Amount should be same as linked Journal Entry,"Całkowita kwota kredytu / debetu powinna być taka sama, jak połączona pozycja księgowa",
-Total Debit must be equal to Total Credit. The difference is {0},Całkowita kwota po stronie debetowej powinna być równa całkowitej kwocie po stronie kretytowej. Różnica wynosi {0},
-Total Deduction,Całkowita kwota odliczenia,
-Total Invoiced Amount,Całkowita zafakturowana kwota,
-Total Leaves,Wszystkich Nieobecności,
-Total Order Considered,Zamówienie razem Uważany,
-Total Order Value,Łączna wartość zamówienia,
-Total Outgoing,Razem Wychodzące,
-Total Outstanding,Total Outstanding,
-Total Outstanding Amount,Łączna kwota,
-Total Outstanding: {0},Całkowity stan: {0},
-Total Paid Amount,Kwota całkowita Płatny,
-Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Całkowita kwota płatności w harmonogramie płatności musi być równa sumie całkowitej / zaokrąglonej,
-Total Payments,Płatności ogółem,
-Total Present,Razem Present,
-Total Qty,Razem szt,
-Total Quantity,Całkowita ilość,
-Total Revenue,Całkowita wartość dochodu,
-Total Student,Total Student,
-Total Target,Łączna docelowa,
-Total Tax,Razem podatkowa,
-Total Taxable Amount,Całkowita kwota podlegająca opodatkowaniu,
-Total Taxable Value,Całkowita wartość podlegająca opodatkowaniu,
-Total Unpaid: {0},Razem Niepłatny: {0},
-Total Variance,Całkowitej wariancji,
-Total Weightage of all Assessment Criteria must be 100%,Razem weightage wszystkich kryteriów oceny muszą być w 100%,
-Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Suma zaliczki ({0}) przed zamówieniem {1} nie może być większa od ogólnej sumy ({2}),
-Total advance amount cannot be greater than total claimed amount,Całkowita kwota zaliczki nie może być większa niż całkowita kwota roszczenia,
-Total advance amount cannot be greater than total sanctioned amount,Całkowita kwota zaliczki nie może być większa niż całkowita kwota sankcjonowana,
-Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Całkowita liczba przydzielonych urlopów to więcej dni niż maksymalny przydział {0} typu urlopu dla pracownika {1} w danym okresie,
-Total allocated leaves are more than days in the period,Liczba przyznanych zwolnień od pracy jest większa niż dni w okresie,
-Total allocated percentage for sales team should be 100,Łącznie przydzielony procent sprzedaży dla zespołu powinien wynosić 100,
-Total cannot be zero,Razem nie może być wartością zero,
-Total contribution percentage should be equal to 100,Całkowity procent wkładu powinien być równy 100,
-Total flexible benefit component amount {0} should not be less than max benefits {1},Całkowita kwota elastycznego składnika świadczeń {0} nie powinna być mniejsza niż maksymalna korzyść {1},
-Total hours: {0},Całkowita liczba godzin: {0},
-Total leaves allocated is mandatory for Leave Type {0},Całkowita liczba przydzielonych Nieobecności jest obowiązkowa dla Typu Urlopu {0},
-Total working hours should not be greater than max working hours {0},Całkowita liczba godzin pracy nie powinna być większa niż max godzinach pracy {0},
-Total {0} ({1}),Razem {0} ({1}),
-"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Razem {0} dla wszystkich elementów wynosi zero, może trzeba zmienić „Dystrybucja opłat na podstawie”",
-Total(Amt),Razem (Amt),
-Total(Qty),Razem (szt),
-Traceability,Śledzenie,
-Traceback,Traceback,
-Track Leads by Lead Source.,Śledzenie potencjalnych klientów przez źródło potencjalnych klientów.,
-Training,Trening,
-Training Event,Training Event,
-Training Events,Wydarzenia szkoleniowe,
-Training Feedback,Szkolenie Zgłoszenie,
-Training Result,Wynik treningowe,
-Transaction,Transakcja,
-Transaction Date,Data transakcji,
-Transaction Type,typ transakcji,
-Transaction currency must be same as Payment Gateway currency,"Waluta transakcji musi być taka sama, jak waluta wybranej płatności",
-Transaction not allowed against stopped Work Order {0},Transakcja nie jest dozwolona w przypadku zatrzymanego zlecenia pracy {0},
-Transaction reference no {0} dated {1},Transakcja ma odniesienia {0} z {1},
-Transactions,Transakcje,
-Transactions can only be deleted by the creator of the Company,Transakcje mogą być usunięte tylko przez twórcę Spółki,
-Transfer,Transfer,
-Transfer Material,Transfer materiału,
-Transfer Type,Rodzaj transferu,
-Transfer an asset from one warehouse to another,Przeniesienie aktywów z jednego magazynu do drugiego,
-Transfered,Przeniesione,
-Transferred Quantity,Przeniesiona ilość,
-Transport Receipt Date,Transport Data odbioru,
-Transport Receipt No,Nr odbioru transportu,
-Transportation,Transport,
-Transporter ID,Identyfikator transportera,
-Transporter Name,Nazwa przewoźnika,
-Travel,Podróż,
-Travel Expenses,Wydatki na podróże,
-Tree Type,Typ drzewa,
-Tree of Bill of Materials,Drzewo Zestawienia materiałów,
-Tree of Item Groups.,Drzewo grupy produktów,
-Tree of Procedures,Drzewo procedur,
-Tree of Quality Procedures.,Drzewo procedur jakości.,
-Tree of financial Cost Centers.,Drzewo MPK finansowych.,
-Tree of financial accounts.,Drzewo kont finansowych.,
-Treshold {0}% appears more than once,Próg {0}% występuje więcej niż jeden raz,
-Trial Period End Date Cannot be before Trial Period Start Date,Termin zakończenia okresu próbnego Nie może być przed datą rozpoczęcia okresu próbnego,
-Trialling,Trialling,
-Type of Business,Rodzaj biznesu,
-Types of activities for Time Logs,Rodzaje działalności za czas Logi,
-UOM,Jednostka miary,
-UOM Conversion factor is required in row {0},Współczynnik konwersji jednostki miary jest wymagany w rzędzie {0},
-UOM coversion factor required for UOM: {0} in Item: {1},Współczynnik konwersji jednostki miary jest wymagany dla jednostki miary: {0} w Przedmiocie: {1},
-URL,URL,
-Unable to find DocType {0},Nie można znaleźć DocType {0},
-Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Nie można znaleźć kursu wymiany dla {0} do {1} dla daty klucza {2}. Proszę utworzyć ręcznie rekord wymiany walut,
-Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,"Nie można znaleźć wyników, począwszy od {0}. Musisz mieć stały wynik od 0 do 100",
-Unable to find variable: ,Nie można znaleźć zmiennej:,
-Unblock Invoice,Odblokuj fakturę,
-Uncheck all,Odznacz wszystkie,
-Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiskalna Lata Zysk / Strata (Credit),
-Unit,szt.,
-Unit of Measure,Jednostka miary,
-Unit of Measure {0} has been entered more than once in Conversion Factor Table,Jednostka miary {0} została wprowadzona więcej niż raz w Tabelce Współczynnika Konwersji,
-Unknown,Nieznany,
-Unpaid,Niezapłacone,
-Unsecured Loans,Pożyczki bez pokrycia,
-Unsubscribe from this Email Digest,Wypisać się z tej Email Digest,
-Unsubscribed,Nie zarejestrowany,
-Until,Do,
-Unverified Webhook Data,Niezweryfikowane dane z Webhook,
-Update Account Name / Number,Zaktualizuj nazwę / numer konta,
-Update Account Number / Name,Zaktualizuj numer / nazwę konta,
-Update Cost,Zaktualizuj koszt,
-Update Items,Aktualizuj elementy,
-Update Print Format,Aktualizacja Format wydruku,
-Update Response,Zaktualizuj odpowiedź,
-Update bank payment dates with journals.,Aktualizacja terminów płatności banowych,
-Update in progress. It might take a while.,Aktualizacja w toku. To może trochę potrwać.,
-Update rate as per last purchase,Zaktualizuj stawkę za ostatni zakup,
-Update stock must be enable for the purchase invoice {0},Aktualizuj zapasy musi być włączone dla faktury zakupu {0},
-Updating Variants...,Aktualizowanie wariantów ...,
-Upload your letter head and logo. (you can edit them later).,Prześlij nagłówek firmowy i logo. (Można je edytować później).,
-Upper Income,Wzrost Wpływów,
-Use Sandbox,Korzystanie Sandbox,
-Used Leaves,Wykorzystane Nieobecności,
-User,Użytkownik,
-User ID,ID Użytkownika,
-User ID not set for Employee {0},ID Użytkownika nie ustawiony dla Pracownika {0},
-User Remark,Nota Użytkownika,
-User has not applied rule on the invoice {0},Użytkownik nie zastosował reguły na fakturze {0},
-User {0} already exists,Użytkownik {0} już istnieje,
-User {0} created,Utworzono użytkownika {0},
-User {0} does not exist,Użytkownik {0} nie istnieje,
-User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Użytkownik {0} nie ma żadnego domyślnego profilu POS. Sprawdź domyślne w wierszu {1} dla tego użytkownika.,
-User {0} is already assigned to Employee {1},Użytkownik {0} jest już przyporządkowany do Pracownika {1},
-User {0} is already assigned to Healthcare Practitioner {1},Użytkownik {0} jest już przypisany do pracownika służby zdrowia {1},
-Users,Użytkownicy,
-Utility Expenses,Wydatki na usługi komunalne,
-Valid From Date must be lesser than Valid Upto Date.,Ważny od daty musi być mniejszy niż ważna data w górę.,
-Valid Till,Obowiązuje do dnia,
-Valid from and valid upto fields are mandatory for the cumulative,Obowiązujące od i prawidłowe pola upto są obowiązkowe dla skumulowanego,
-Valid from date must be less than valid upto date,Ważny od daty musi być krótszy niż data ważności,
-Valid till date cannot be before transaction date,Data ważności nie może być poprzedzona datą transakcji,
-Validity,Ważność,
-Validity period of this quotation has ended.,Okres ważności tej oferty zakończył się.,
-Valuation Rate,Wskaźnik wyceny,
-Valuation Rate is mandatory if Opening Stock entered,"Wycena Cena jest obowiązkowe, jeżeli wprowadzone Otwarcie Zdjęcie",
-Valuation type charges can not marked as Inclusive,Opłaty typu Wycena nie oznaczone jako Inclusive,
-Value Or Qty,Wartość albo Ilość,
-Value Proposition,Propozycja wartości,
-Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Wartość atrybutu {0} musi mieścić się w przedziale {1} z {2} w przyrostach {3} {4} Przedmiot,
-Value missing,Wartość brakująca,
-Value must be between {0} and {1},Wartość musi zawierać się między {0} a {1},
-"Values of exempt, nil rated and non-GST inward supplies","Wartości zwolnionych, zerowych i niezawierających GST dostaw wewnętrznych",
-Variable,Zmienna,
-Variance,Zmienność,
-Variance ({}),Wariancja ({}),
-Variant,Wariant,
-Variant Attributes,Variant Atrybuty,
-Variant Based On cannot be changed,Variant Based On nie może zostać zmieniony,
-Variant Details Report,Szczegółowy raport dotyczący wariantu,
-Variant creation has been queued.,Tworzenie wariantu zostało umieszczone w kolejce.,
-Vehicle Expenses,Wydatki Samochodowe,
-Vehicle No,Nr pojazdu,
-Vehicle Type,Typ pojazdu,
-Vehicle/Bus Number,Numer pojazdu / autobusu,
-Venture Capital,Kapitał wysokiego ryzyka,
-View Chart of Accounts,Zobacz plan kont,
-View Fees Records,Zobacz rekord opłat,
-View Form,Wyświetl formularz,
-View Lab Tests,Wyświetl testy laboratoryjne,
-View Leads,Zobacz Tropy,
-View Ledger,Podgląd księgi,
-View Now,Zobacz teraz,
-View a list of all the help videos,Zobacz listę wszystkich filmów pomocy,
-View in Cart,Zobacz Koszyk,
-Visit report for maintenance call.,Raport wizyty dla wezwania konserwacji.,
-Visit the forums,Odwiedź fora,
-Vital Signs,Oznaki życia,
-Volunteer,Wolontariusz,
-Volunteer Type information.,Informacje o typie wolontariusza.,
-Volunteer information.,Informacje o wolontariuszu.,
-Voucher #,Bon #,
-Voucher No,Nr Podstawy księgowania,
-Voucher Type,Typ Podstawy,
-WIP Warehouse,WIP Magazyn,
-Walk In,Wejście,
-Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazyn nie może być skasowany tak długo jak długo istnieją zapisy w księdze stanu dla tego magazynu.,
-Warehouse cannot be changed for Serial No.,Magazyn nie może być zmieniony dla Nr Seryjnego,
-Warehouse is mandatory,Magazyn jest obowiązkowe,
-Warehouse is mandatory for stock Item {0} in row {1},Magazyn jest obowiązkowy dla Przedmiotu {0} w rzędzie {1},
-Warehouse not found in the system,Magazyn nie został znaleziony w systemie,
-"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Wymagany magazyn w Wiersz nr {0}, ustaw domyślny magazyn dla pozycji {1} dla firmy {2}",
-Warehouse required for stock Item {0},Magazyn wymagany dla przedmiotu {0},
-Warehouse {0} can not be deleted as quantity exists for Item {1},Magazyn {0} nie może zostać usunięty ponieważ istnieje wartość dla przedmiotu {1},
-Warehouse {0} does not belong to company {1},Magazyn {0} nie należy do firmy {1},
-Warehouse {0} does not exist,Magazyn {0} nie istnieje,
-"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Magazyn {0} nie jest powiązany z jakimikolwiek kontem, wspomnij o tym w raporcie magazynu lub ustaw domyślnego konta zapasowego w firmie {1}.",
-Warehouses with child nodes cannot be converted to ledger,Magazyny z węzłów potomnych nie mogą być zamieniane na Ledger,
-Warehouses with existing transaction can not be converted to group.,Magazyny z istniejącymi transakcji nie mogą być zamieniane na grupy.,
-Warehouses with existing transaction can not be converted to ledger.,Magazyny z istniejącymi transakcji nie mogą być konwertowane do księgi głównej.,
-Warning,Ostrzeżenie,
-Warning: Another {0} # {1} exists against stock entry {2},Ostrzeżenie: Inny {0} # {1} istnieje we wpisie asortymentu {2},
-Warning: Invalid SSL certificate on attachment {0},Ostrzeżenie: Nieprawidłowy certyfikat SSL w załączniku {0},
-Warning: Invalid attachment {0},Warning: Invalid Załącznik {0},
-Warning: Leave application contains following block dates,Ostrzeżenie: Aplikacja o urlop zawiera następujące zablokowane daty,
-Warning: Material Requested Qty is less than Minimum Order Qty,Ostrzeżenie: Ilość Zapotrzebowanego Materiału jest mniejsza niż minimalna ilość na zamówieniu,
-Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Ostrzeżenie: Zamówienie sprzedaży {0} już istnieje wobec Klienta Zamówienia {1},
-Warranty,Gwarancja,
-Warranty Claim,Roszczenie gwarancyjne,
-Warranty Claim against Serial No.,Roszczenie gwarancyjne z numerem seryjnym,
-Website,Strona WWW,
-Website Image should be a public file or website URL,Strona Obraz powinien być plik publiczny lub adres witryny,
-Website Image {0} attached to Item {1} cannot be found,Strona Obraz {0} dołączone do pozycji {1} nie można znaleźć,
-Website Listing,Listing Witryny,
-Website Manager,Manager strony WWW,
-Website Settings,Ustawienia witryny,
-Wednesday,Środa,
-Week,Tydzień,
-Weekdays,Dni robocze,
-Weekly,Tygodniowo,
-"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Waga jest określona, \n Ustaw także ""Wagę jednostkową""",
-Welcome email sent,E-mail z powitaniem został wysłany,
-Welcome to ERPNext,Zapraszamy do ERPNext,
-What do you need help with?,Z czym potrzebujesz pomocy?,
-What does it do?,Czym się zajmuje?,
-Where manufacturing operations are carried.,"W przypadku, gdy czynności wytwórcze są prowadzone.",
-White,Biały,
-Wire Transfer,Przelew,
-WooCommerce Products,Produkty WooCommerce,
-Work In Progress,Produkty w toku,
-Work Order,Porządek pracy,
-Work Order already created for all items with BOM,Zamówienie pracy zostało już utworzone dla wszystkich produktów z zestawieniem komponentów,
-Work Order cannot be raised against a Item Template,Zlecenie pracy nie może zostać podniesione na podstawie szablonu przedmiotu,
-Work Order has been {0},Zamówienie pracy zostało {0},
-Work Order not created,Zamówienie pracy nie zostało utworzone,
-Work Order {0} must be cancelled before cancelling this Sales Order,Zamówienie pracy {0} musi zostać anulowane przed anulowaniem tego zamówienia sprzedaży,
-Work Order {0} must be submitted,Zamówienie pracy {0} musi zostać przesłane,
-Work Orders Created: {0},Utworzono zlecenia pracy: {0},
-Work Summary for {0},Podsumowanie pracy dla {0},
-Work-in-Progress Warehouse is required before Submit,Magazyn z produkcją w toku jest wymagany przed wysłaniem,
-Workflow,Przepływ pracy (Workflow),
-Working,Pracuje,
-Working Hours,Godziny pracy,
-Workstation,Stacja robocza,
-Workstation is closed on the following dates as per Holiday List: {0},Stacja robocza jest zamknięta w następujących terminach wg listy wakacje: {0},
-Wrapping up,Zawijanie,
-Wrong Password,Niepoprawne hasło,
-Year start date or end date is overlapping with {0}. To avoid please set company,data rozpoczęcia roku lub data końca pokrywa się z {0}. Aby uniknąć należy ustawić firmę,
-You are not authorized to add or update entries before {0},Nie masz uprawnień aby zmieniać lub dodawać elementy przed {0},
-You are not authorized to approve leaves on Block Dates,Nie masz uprawnień do zatwierdzania tych urlopów,
-You are not authorized to set Frozen value,Nie masz uprawnień do ustawienia zamrożenej wartości,
-You are not present all day(s) between compensatory leave request days,Nie jesteś obecny przez cały dzień (dni) między dniami prośby o urlop wyrównawczy,
-You can not change rate if BOM mentioned agianst any item,Nie możesz zmienić danych jeśli BOM jest przeciw jakiejkolwiek rzeczy,
-You can not enter current voucher in 'Against Journal Entry' column,You can not enter current voucher in 'Against Journal Entry' column,
-You can only have Plans with the same billing cycle in a Subscription,Możesz mieć tylko Plany z tym samym cyklem rozliczeniowym w Subskrypcji,
-You can only redeem max {0} points in this order.,Możesz maksymalnie wykorzystać maksymalnie {0} punktów w tej kolejności.,
-You can only renew if your membership expires within 30 days,Przedłużenie członkostwa można odnowić w ciągu 30 dni,
-You can only select a maximum of one option from the list of check boxes.,Możesz wybrać maksymalnie jedną opcję z listy pól wyboru.,
-You can only submit Leave Encashment for a valid encashment amount,Możesz przesłać tylko opcję Leave Encashment dla prawidłowej kwoty depozytu,
-You can't redeem Loyalty Points having more value than the Grand Total.,Nie możesz wymienić punktów lojalnościowych o większej wartości niż suma ogólna.,
-You cannot credit and debit same account at the same time,Nie można wykonywać zapisów po stronie debetowej oraz kredytowej tego samego konta w jednym czasie,
-You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Nie można usunąć Fiscal Year {0}. Rok fiskalny {0} jest ustawiona jako domyślna w Ustawienia globalne,
-You cannot delete Project Type 'External',Nie można usunąć typu projektu &quot;zewnętrzny&quot;,
-You cannot edit root node.,Nie można edytować węzła głównego.,
-You cannot restart a Subscription that is not cancelled.,"Nie można ponownie uruchomić subskrypcji, która nie zostanie anulowana.",
-You don't have enought Loyalty Points to redeem,"Nie masz wystarczającej liczby Punktów Lojalnościowych, aby je wykorzystać",
-You have already assessed for the assessment criteria {}.,Oceniałeś już kryteria oceny {}.,
-You have already selected items from {0} {1},Już wybrane pozycje z {0} {1},
-You have been invited to collaborate on the project: {0},Zostałeś zaproszony do współpracy przy projekcie: {0},
-You have entered duplicate items. Please rectify and try again.,Wprowadziłeś duplikat istniejących rzeczy. Sprawdź i spróbuj ponownie,
-You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,"Aby zarejestrować się w Marketplace, musisz być użytkownikiem innym niż Administrator z rolami System Manager i Item Manager.",
-You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,"Musisz być użytkownikiem z rolami System Manager i Menedżera elementów, aby dodawać użytkowników do Marketplace.",
-You need to be a user with System Manager and Item Manager roles to register on Marketplace.,"Aby zarejestrować się w Marketplace, musisz być użytkownikiem z rolami System Manager i Item Manager.",
-You need to be logged in to access this page,Musisz być zalogowany aby uzyskać dostęp do tej strony,
-You need to enable Shopping Cart,Musisz włączyć Koszyk,
-You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Utracisz zapis wcześniej wygenerowanych faktur. Czy na pewno chcesz zrestartować tę subskrypcję?,
-Your Organization,Twoja organizacja,
-Your cart is Empty,Twój koszyk jest pusty,
-Your email address...,Twój adres email...,
-Your order is out for delivery!,Twoje zamówienie jest na dostawę!,
-Your tickets,Twoje bilety,
-ZIP Code,Kod pocztowy,
-[Error],[Błąd],
-[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Postać / poz / {0}) jest niedostępne,
-`Freeze Stocks Older Than` should be smaller than %d days.,Zapasy starsze niż' powinny być starczyć na %d dni,
-based_on,oparte na,
-cannot be greater than 100,nie może być większa niż 100,
-disabled user,Wyłączony użytkownik,
-"e.g. ""Build tools for builders""","np. ""Buduj narzędzia dla budowniczych""",
-"e.g. ""Primary School"" or ""University""",np &quot;Szkoła Podstawowa&quot; lub &quot;Uniwersytet&quot;,
-"e.g. Bank, Cash, Credit Card","np. bank, gotówka, karta kredytowa",
-hidden,ukryty,
-modified,Zmodyfikowano,
-old_parent,old_parent,
-on,włączony,
-{0} '{1}' is disabled,{0} '{1}' jest wyłączony,
-{0} '{1}' not in Fiscal Year {2},{0} '{1}' nie w roku podatkowym {2},
-{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) nie może być większe niż planowana ilość ({2}) w zleceniu pracy {3},
-{0} - {1} is inactive student,{0} - {1} to nieaktywny student,
-{0} - {1} is not enrolled in the Batch {2},{0} - {1} nie jest powiązana z transakcją {2},
-{0} - {1} is not enrolled in the Course {2},{0} - {1} nie jest zapisany do kursu {2},
-{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Budżet dla rachunku {1} w stosunku do {2} {3} wynosi {4}. Będzie przekraczać o {5},
-{0} Digest,{0} Streszczenie,
-{0} Request for {1},{0} Wniosek o {1},
-{0} Result submittted,{0} Wynik wysłano,
-{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} Numery seryjne wymagane dla pozycji {1}. Podałeś {2}.,
-{0} Student Groups created.,{0} Utworzono grupy studentów.,
-{0} Students have been enrolled,{0} Studenci zostali zapisani,
-{0} against Bill {1} dated {2},{0} przed rachunkiem {1} z dnia {2},
-{0} against Purchase Order {1},{0} przed Zamówieniem Zakupu  {1},
-{0} against Sales Invoice {1},{0} na fakturę sprzedaży {1},
-{0} against Sales Order {1},{0} przed Zleceniem Sprzedaży {1},
-{0} already allocated for Employee {1} for period {2} to {3},{0} już przydzielone Pracodawcy {1} dla okresu {2} do {3},
-{0} applicable after {1} working days,{0} obowiązuje po {1} dniach roboczych,
-{0} asset cannot be transferred,{0} zasób nie może zostać przetransferowany,
-{0} can not be negative,{0} nie może być ujemna,
-{0} created,{0} utworzone,
-"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} aktualnie posiada pozycję {1} Karty wyników dostawcy, a zlecenia kupna dostawcy powinny być wydawane z ostrożnością.",
-"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} aktualnie posiada {1} tabelę wyników karty wyników, a zlecenia RFQ dla tego dostawcy powinny być wydawane z ostrożnością.",
-{0} does not belong to Company {1},{0} nie należy do firmy {1},
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} nie ma harmonogramu służby zdrowia. Dodaj go do mistrza Healthcare Practitioner,
-{0} entered twice in Item Tax,{0} dwa razy wprowadzone w podatku produktu,
-{0} for {1},{0} do {1},
-{0} has been submitted successfully,{0} zostało pomyślnie przesłane,
-{0} has fee validity till {1},{0} ważność opłaty do {1},
-{0} hours,{0} godzin,
-{0} in row {1},{0} wiersze {1},
-{0} is blocked so this transaction cannot proceed,"Opcja {0} jest zablokowana, więc ta transakcja nie może być kontynuowana",
-{0} is mandatory,{0} jest obowiązkowe,
-{0} is mandatory for Item {1},{0} jest obowiązkowe dla elementu {1},
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,"{0} jest obowiązkowe. Możliwe, że rekord Wymiana walut nie jest utworzony dla {1} do {2}.",
-{0} is not a stock Item,{0} nie jest przechowywany na magazynie,
-{0} is not added in the table,{0} nie zostało dodane do tabeli,
-{0} is not in Optional Holiday List,{0} nie znajduje się na Opcjonalnej Liście Świątecznej,
-{0} is not in a valid Payroll Period,{0} nie jest w ważnym Okresie Rozliczeniowym,
-{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} jest teraz domyślnym rokiem finansowym. Odśwież swoją przeglądarkę aby zmiana weszła w życie,
-{0} is on hold till {1},{0} jest wstrzymane do {1},
-{0} item found.,Znaleziono {0} element.,
-{0} items found.,Znaleziono {0} przedmiotów.,
-{0} items in progress,{0} pozycji w przygotowaniu,
-{0} items produced,{0} pozycji wyprodukowanych,
-{0} must appear only once,{0} musi pojawić się tylko raz,
-{0} must be negative in return document,{0} musi być ujemna w dokumencie zwrotnym,
-{0} must be submitted,{0} musi zostać wysłany,
-{0} not allowed to transact with {1}. Please change the Company.,{0} nie może przeprowadzać transakcji z {1}. Zmień firmę.,
-{0} not found for item {1},{0} nie został znaleziony dla elementu {1},
-{0} parameter is invalid,Parametr {0} jest nieprawidłowy,
-{0} payment entries can not be filtered by {1},{0} wpisy płatności nie mogą być filtrowane przez {1},
-{0} should be a value between 0 and 100,{0} powinno być wartością z zakresu od 0 do 100,
-{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} jednostki [{1}] (# Kształt / szt / {1}) znajduje się w [{2}] (# Kształt / Warehouse / {2}),
-{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} jednostki {1} potrzebne w {2} na {3} {4} {5} w celu zrealizowania tej transakcji.,
-{0} units of {1} needed in {2} to complete this transaction.,"{0} jednostki {1} potrzebne w {2}, aby zakończyć tę transakcję.",
-{0} valid serial nos for Item {1},{0} prawidłowe numery seryjne dla Pozycji {1},
-{0} variants created.,Utworzono wariantów {0}.,
-{0} {1} created,{0} {1} utworzone,
-{0} {1} does not exist,{0} {1} nie istnieje,
-{0} {1} has been modified. Please refresh.,{0} {1} został zmodyfikowany. Proszę odświeżyć.,
-{0} {1} has not been submitted so the action cannot be completed,"{0} {1} nie został złożony, więc działanie nie może zostać zakończone",
-"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} jest powiązane z {2}, ale rachunek strony jest {3}",
-{0} {1} is cancelled or closed,{0} {1} zostanie anulowane lub zamknięte,
-{0} {1} is cancelled or stopped,{0} {1} jest anulowane lub wstrzymane,
-{0} {1} is cancelled so the action cannot be completed,"{0} {1} jest anulowany, więc działanie nie może zostać zakończone",
-{0} {1} is closed,{0} {1} jest zamknięty,
-{0} {1} is disabled,{0} {1} jest wyłączony,
-{0} {1} is frozen,{0} {1} jest zamrożone,
-{0} {1} is fully billed,{0} {1} jest w pełni rozliczone,
-{0} {1} is not active,{0} {1} jest nieaktywny,
-{0} {1} is not associated with {2} {3},{0} {1} nie jest powiązane z {2} {3},
-{0} {1} is not present in the parent company,{0} {1} nie występuje w firmie macierzystej,
-{0} {1} is not submitted,{0} {1} nie zostało dodane,
-{0} {1} is {2},{0} {1} to {2},
-{0} {1} must be submitted,{0} {1} musi zostać wysłane,
-{0} {1} not in any active Fiscal Year.,{0} {1} nie w każdej aktywnej roku obrotowego.,
-{0} {1} status is {2},{0} {1} jest ustawiony w stanie {2},
-{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,"{0} {1}: konto ""zysków i strat"" {2} jest niedozwolone w otwierającym wejściu",
-{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Rachunek {2} nie należy do firmy {3},
-{0} {1}: Account {2} is inactive,{0} {1}: Rachunek {2} jest nieaktywny,
-{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Wejście księgowe dla {2} mogą być dokonywane wyłącznie w walucie: {3},
-{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: MPK jest obowiązkowe dla pozycji {2},
-{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,"{0} {1}: Centrum kosztów jest wymagane dla rachunku ""Zyski i straty"" {2}. Proszę ustawić domyślne centrum kosztów dla firmy.",
-{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Centrum kosztów {2} nie należy do firmy {3},
-{0} {1}: Customer is required against Receivable account {2},{0} {1}: Klient zobowiązany jest przed należność {2},
-{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Debet lub wielkość kredytu jest wymagana dla {2},
-{0} {1}: Supplier is required against Payable account {2},{0} {1}: Dostawca jest wymagany w odniesieniu do konta z możliwością opłacenia {2},
-{0}% Billed,{0}% rozliczono,
-{0}% Delivered,{0}% Dostarczono,
-"{0}: Employee email not found, hence email not sent","{0}: Email pracownika nie został znaleziony, dlatego wiadomość nie będzie wysłana",
-{0}: From {0} of type {1},{0}: Od {0} typu {1},
-{0}: From {1},{0}: {1} od,
-{0}: {1} does not exists,{0}: {1} nie istnieje,
-{0}: {1} not found in Invoice Details table,{0}: {1} Nie znaleziono tabeli w Szczegóły faktury,
-{} of {},{} z {},
-Assigned To,Przypisano do,
-Chat,Czat,
-Completed By,Ukończony przez,
-Conditions,Warunki,
-County,Powiat,
-Day of Week,Dzień tygodnia,
-"Dear System Manager,",Szanowny Dyrektorze ds. Systemu,
-Default Value,Domyślna wartość,
-Email Group,Grupa email,
-Email Settings,Ustawienia wiadomości e-mail,
-Email not sent to {0} (unsubscribed / disabled),E-mail nie wysłany do {0} (wypisany / wyłączony),
-Error Message,Komunikat o błędzie,
-Fieldtype,Typ pola,
-Help Articles,Artykuły pomocy,
-ID,ID,
-Images,Obrazy,
-Import,Import,
-Language,Język,
-Likes,Lubi,
-Merge with existing,Połączy się z istniejącą,
-Office,Biuro,
-Orientation,Orientacja,
-Parent,Nadrzędny,
-Passive,Nieaktywny,
-Payment Failed,Płatność nie powiodła się,
-Percent,Procent,
-Permanent,Stały,
-Personal,Osobiste,
-Plant,Zakład,
-Post,Stanowisko,
-Postal,Pocztowy,
-Postal Code,Kod pocztowy,
-Previous,Wstecz,
-Provider,Dostawca,
-Read Only,Tylko do odczytu,
-Recipient,Adresat,
-Reviews,Recenzje,
-Sender,Nadawca,
-Shop,Sklep,
-Subsidiary,Pomocniczy,
-There is some problem with the file url: {0},Jest jakiś problem z adresem URL pliku: {0},
-There were errors while sending email. Please try again.,Wystąpiły błędy podczas wysyłki e-mail. Proszę spróbuj ponownie.,
-Values Changed,Zmienione wartości,
-or,albo,
-Ageing Range 4,Zakres starzenia się 4,
-Allocated amount cannot be greater than unadjusted amount,Kwota przydzielona nie może być większa niż kwota nieskorygowana,
-Allocated amount cannot be negative,Przydzielona kwota nie może być ujemna,
-"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Konto różnicowe musi być kontem typu Asset / Liability, ponieważ ten wpis na giełdę jest wpisem otwierającym",
-Error in some rows,Błąd w niektórych wierszach,
-Import Successful,Import zakończony sukcesem,
-Please save first,Zapisz najpierw,
-Price not found for item {0} in price list {1},Nie znaleziono ceny dla przedmiotu {0} w cenniku {1},
-Warehouse Type,Typ magazynu,
-'Date' is required,„Data” jest wymagana,
-Benefit,Zasiłek,
-Budgets,Budżety,
-Bundle Qty,Ilość paczek,
-Company GSTIN,Firma GSTIN,
-Company field is required,Wymagane jest pole firmowe,
-Creating Dimensions...,Tworzenie wymiarów ...,
-Duplicate entry against the item code {0} and manufacturer {1},Zduplikowany wpis względem kodu produktu {0} i producenta {1},
-Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,Nieprawidłowy GSTIN! Wprowadzone dane nie odpowiadają formatowi GSTIN dla posiadaczy UIN lub nierezydentów dostawców usług OIDAR,
-Invoice Grand Total,Faktura Grand Total,
-Last carbon check date cannot be a future date,Data ostatniej kontroli emisji nie może być datą przyszłą,
-Make Stock Entry,Zrób wejście na giełdę,
-Quality Feedback,Opinie dotyczące jakości,
-Quality Feedback Template,Szablon opinii o jakości,
-Rules for applying different promotional schemes.,Zasady stosowania różnych programów promocyjnych.,
-Shift,Przesunięcie,
-Show {0},Pokaż {0},
-"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Znaki specjalne z wyjątkiem &quot;-&quot;, &quot;#&quot;, &quot;।&quot;, &quot;/&quot;, &quot;{{&quot; I &quot;}}&quot; niedozwolone w serii nazw {0}",
-Target Details,Szczegóły celu,
-{0} already has a Parent Procedure {1}.,{0} ma już procedurę nadrzędną {1}.,
-API,API,
-Annual,Roczny,
-Approved,Zatwierdzono,
-Change,Reszta,
-Contact Email,E-mail kontaktu,
-Export Type,Typ eksportu,
-From Date,Od daty,
-Group By,Grupuj według,
-Importing {0} of {1},Importowanie {0} z {1},
-Invalid URL,nieprawidłowy URL,
-Landscape,Krajobraz,
-Last Sync On,Ostatnia synchronizacja,
-Naming Series,Seria nazw,
-No data to export,Brak danych do eksportu,
-Portrait,Portret,
-Print Heading,Nagłówek do druku,
-Scheduler Inactive,Harmonogram nieaktywny,
-Scheduler is inactive. Cannot import data.,Program planujący jest nieaktywny. Nie można zaimportować danych.,
-Show Document,Pokaż dokument,
-Show Traceback,Pokaż śledzenie,
-Video,Wideo,
-Webhook Secret,Secret Webhook,
-% Of Grand Total,% Ogólnej sumy,
-'employee_field_value' and 'timestamp' are required.,Wymagane są „wartość_pola pracownika” i „znacznik czasu”.,
-<b>Company</b> is a mandatory filter.,<b>Firma</b> jest obowiązkowym filtrem.,
-<b>From Date</b> is a mandatory filter.,<b>Od daty</b> jest obowiązkowym filtrem.,
-<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>Od godziny</b> nie może być późniejsza niż <b>do godziny</b> dla {0},
-<b>To Date</b> is a mandatory filter.,<b>To Data</b> jest obowiązkowym filtrem.,
-A new appointment has been created for you with {0},Utworzono dla ciebie nowe spotkanie z {0},
-Account Value,Wartość konta,
-Account is mandatory to get payment entries,"Konto jest obowiązkowe, aby uzyskać wpisy płatności",
-Account is not set for the dashboard chart {0},Konto nie jest ustawione dla wykresu deski rozdzielczej {0},
-Account {0} does not belong to company {1},Konto {0} nie jest przypisane do Firmy {1},
-Account {0} does not exists in the dashboard chart {1},Konto {0} nie istnieje na schemacie deski rozdzielczej {1},
-Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Konto: <b>{0}</b> to kapitał Trwają prace i nie można go zaktualizować za pomocą zapisu księgowego,
-Account: {0} is not permitted under Payment Entry,Konto: {0} jest niedozwolone w ramach wprowadzania płatności,
-Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Wymiar księgowy <b>{0}</b> jest wymagany dla konta „Bilans” {1}.,
-Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Wymiar księgowy <b>{0}</b> jest wymagany dla konta „Zysk i strata” {1}.,
-Accounting Masters,Mistrzowie rachunkowości,
-Accounting Period overlaps with {0},Okres rozliczeniowy pokrywa się z {0},
-Activity,Aktywność,
-Add / Manage Email Accounts.,Dodaj / Zarządzaj kontami poczty e-mail.,
-Add Child,Dodaj pod-element,
-Add Loan Security,Dodaj zabezpieczenia pożyczki,
-Add Multiple,Dodaj wiele,
-Add Participants,Dodaj uczestników,
-Add to Featured Item,Dodaj do polecanego elementu,
-Add your review,Dodaj swoją opinię,
-Add/Edit Coupon Conditions,Dodaj / edytuj warunki kuponu,
-Added to Featured Items,Dodano do polecanych przedmiotów,
-Added {0} ({1}),Dodano {0} ({1}),
-Address Line 1,Pierwszy wiersz adresu,
-Addresses,Adresy,
-Admission End Date should be greater than Admission Start Date.,Data zakończenia przyjęcia powinna być większa niż data rozpoczęcia przyjęcia.,
-Against Loan,Przeciw pożyczce,
-Against Loan:,Przeciw pożyczce:,
-All,Wszystko,
-All bank transactions have been created,Wszystkie transakcje bankowe zostały utworzone,
-All the depreciations has been booked,Wszystkie amortyzacje zostały zarezerwowane,
-Allocation Expired!,Przydział wygasł!,
-Allow Resetting Service Level Agreement from Support Settings.,Zezwalaj na resetowanie umowy o poziomie usług z ustawień wsparcia.,
-Amount of {0} is required for Loan closure,Kwota {0} jest wymagana do zamknięcia pożyczki,
-Amount paid cannot be zero,Kwota wypłacona nie może wynosić zero,
-Applied Coupon Code,Zastosowany kod kuponu,
-Apply Coupon Code,Wprowadź Kod Kuponu,
-Appointment Booking,Rezerwacja terminu,
-"As there are existing transactions against item {0}, you can not change the value of {1}","Ponieważ istnieje istniejące transakcje przeciwko elementu {0}, nie można zmienić wartość {1}",
-Asset Id,Identyfikator zasobu,
-Asset Value,Wartość aktywów,
-Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Korekta wartości aktywów nie może zostać zaksięgowana przed datą zakupu aktywów <b>{0}</b> .,
-Asset {0} does not belongs to the custodian {1},Zasób {0} nie należy do depozytariusza {1},
-Asset {0} does not belongs to the location {1},Zasób {0} nie należy do lokalizacji {1},
-At least one of the Applicable Modules should be selected,Należy wybrać co najmniej jeden z odpowiednich modułów,
-Atleast one asset has to be selected.,Należy wybrać co najmniej jeden zasób.,
-Attendance Marked,Obecność oznaczona,
-Attendance has been marked as per employee check-ins,Frekwencja została oznaczona na podstawie odprawy pracownika,
-Authentication Failed,Uwierzytelnianie nie powiodło się,
-Automatic Reconciliation,Automatyczne uzgadnianie,
-Available For Use Date,Data użycia,
-Available Stock,Dostępne zapasy,
-"Available quantity is {0}, you need {1}","Dostępna ilość to {0}, potrzebujesz {1}",
-BOM 1,LM 1,
-BOM 2,BOM 2,
-BOM Comparison Tool,Narzędzie do porównywania LM,
-BOM recursion: {0} cannot be child of {1},Rekurs BOM: {0} nie może być dzieckiem {1},
-BOM recursion: {0} cannot be parent or child of {1},Rekursja BOM: {0} nie może być rodzicem ani dzieckiem {1},
-Back to Home,Wrócić do domu,
-Back to Messages,Powrót do wiadomości,
-Bank Data mapper doesn't exist,Maper danych banku nie istnieje,
-Bank Details,Dane bankowe,
-Bank account '{0}' has been synchronized,Konto bankowe „{0}” zostało zsynchronizowane,
-Bank account {0} already exists and could not be created again,Konto bankowe {0} już istnieje i nie można go utworzyć ponownie,
-Bank accounts added,Dodano konta bankowe,
-Batch no is required for batched item {0},Nr partii jest wymagany dla pozycji wsadowej {0},
-Billing Date,Termin spłaty,
-Billing Interval Count cannot be less than 1,Liczba interwałów rozliczeniowych nie może być mniejsza niż 1,
-Blue,Niebieski,
-Book,Książka,
-Book Appointment,Umów wizytę,
-Brand,Marka,
-Browse,Przeglądaj,
-Call Connected,Połącz Połączony,
-Call Disconnected,Zadzwoń Rozłączony,
-Call Missed,Nieodebrane połączenie,
-Call Summary,Podsumowanie połączenia,
-Call Summary Saved,Podsumowanie połączeń zapisane,
-Cancelled,Anulowany,
-Cannot Calculate Arrival Time as Driver Address is Missing.,"Nie można obliczyć czasu przybycia, ponieważ brakuje adresu sterownika.",
-Cannot Optimize Route as Driver Address is Missing.,"Nie można zoptymalizować trasy, ponieważ brakuje adresu sterownika.",
-Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,"Nie można ukończyć zadania {0}, ponieważ jego zależne zadanie {1} nie zostało zakończone / anulowane.",
-Cannot create loan until application is approved,"Nie można utworzyć pożyczki, dopóki wniosek nie zostanie zatwierdzony",
-Cannot find a matching Item. Please select some other value for {0}.,Nie możesz znaleźć pasujący element. Proszę wybrać jakąś inną wartość dla {0}.,
-"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Nie można przepłacić za element {0} w wierszu {1} więcej niż {2}. Aby zezwolić na nadmierne fakturowanie, ustaw limit w Ustawieniach kont",
-"Capacity Planning Error, planned start time can not be same as end time","Błąd planowania wydajności, planowany czas rozpoczęcia nie może być taki sam jak czas zakończenia",
-Categories,Kategorie,
-Changes in {0},Zmiany w {0},
-Chart,Wykres,
-Choose a corresponding payment,Wybierz odpowiednią płatność,
-Click on the link below to verify your email and confirm the appointment,"Kliknij poniższy link, aby zweryfikować swój adres e-mail i potwierdzić spotkanie",
-Close,Zamknij,
-Communication,Komunikacja,
-Compact Item Print,Compact Element Drukuj,
-Company,Firma,
-Company of asset {0} and purchase document {1} doesn't matches.,Firma zasobu {0} i dokument zakupu {1} nie pasują.,
-Compare BOMs for changes in Raw Materials and Operations,Porównaj LM dla zmian w surowcach i operacjach,
-Compare List function takes on list arguments,Funkcja listy porównawczej przyjmuje argumenty listy,
-Complete,Kompletny,
-Completed,Zakończono,
-Completed Quantity,Ukończona ilość,
-Connect your Exotel Account to ERPNext and track call logs,Połącz swoje konto Exotel z ERPNext i śledź dzienniki połączeń,
-Connect your bank accounts to ERPNext,Połącz swoje konta bankowe z ERPNext,
-Contact Seller,Skontaktuj się ze sprzedawcą,
-Continue,Kontynuuj,
-Cost Center: {0} does not exist,Centrum kosztów: {0} nie istnieje,
-Couldn't Set Service Level Agreement {0}.,Nie można ustawić umowy o poziomie usług {0}.,
-Country,Kraj,
-Country Code in File does not match with country code set up in the system,Kod kraju w pliku nie zgadza się z kodem kraju skonfigurowanym w systemie,
-Create New Contact,Utwórz nowy kontakt,
-Create New Lead,Utwórz nowego potencjalnego klienta,
-Create Pick List,Utwórz listę wyboru,
-Create Quality Inspection for Item {0},Utwórz kontrolę jakości dla przedmiotu {0},
-Creating Accounts...,Tworzenie kont ...,
-Creating bank entries...,Tworzenie wpisów bankowych ...,
-Credit limit is already defined for the Company {0},Limit kredytowy jest już zdefiniowany dla firmy {0},
-Ctrl + Enter to submit,"Ctrl + Enter, aby przesłać",
-Ctrl+Enter to submit,"Ctrl + Enter, aby przesłać",
-Currency,Waluta,
-Current Status,Bieżący status,
-Customer PO,Klient PO,
-Customize,Dostosuj,
-Daily,Codziennie,
-Date,Data,
-Date Range,Zakres dat,
-Date of Birth cannot be greater than Joining Date.,Data urodzenia nie może być większa niż data przystąpienia.,
-Dear,Drogi,
-Default,Domyślny,
-Define coupon codes.,Zdefiniuj kody kuponów.,
-Delayed Days,Opóźnione dni,
-Delete,Usuń,
-Delivered Quantity,Dostarczona ilość,
-Delivery Notes,Dokumenty dostawy,
-Depreciated Amount,Amortyzowana kwota,
-Description,Opis,
-Designation,Nominacja,
-Difference Value,Różnica wartości,
-Dimension Filter,Filtr wymiarów,
-Disabled,Nieaktywny,
-Disbursement and Repayment,Wypłata i spłata,
-Distance cannot be greater than 4000 kms,Odległość nie może być większa niż 4000 km,
-Do you want to submit the material request,Czy chcesz przesłać żądanie materiałowe,
-Doctype,Doctype,
-Document {0} successfully uncleared,Dokument {0} został pomyślnie usunięty,
-Download Template,Ściągnij Szablon,
-Dr,Dr,
-Due Date,Termin,
-Duplicate,Powiel,
-Duplicate Project with Tasks,Duplikuj projekt z zadaniami,
-Duplicate project has been created,Utworzono zduplikowany projekt,
-E-Way Bill JSON can only be generated from a submitted document,e-Way Bill JSON można wygenerować tylko z przesłanego dokumentu,
-E-Way Bill JSON can only be generated from submitted document,e-Way Bill JSON można wygenerować tylko z przesłanego dokumentu,
-E-Way Bill JSON cannot be generated for Sales Return as of now,e-Way Bill JSON nie może być teraz generowany dla zwrotu sprzedaży,
-ERPNext could not find any matching payment entry,ERPNext nie mógł znaleźć żadnego pasującego wpisu płatności,
-Earliest Age,Najwcześniejszy wiek,
-Edit Details,Edytuj szczegóły,
-Edit Profile,Edytuj profil,
-Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Wymagany jest identyfikator transportera GST lub nr pojazdu, jeśli tryb transportu to Droga",
-Email,E-mail,
-Email Campaigns,Kampanie e-mail,
-Employee ID is linked with another instructor,Identyfikator pracownika jest powiązany z innym instruktorem,
-Employee Tax and Benefits,Podatek i świadczenia pracownicze,
-Employee is required while issuing Asset {0},Wymagany jest pracownik przy wydawaniu środka trwałego {0},
-Employee {0} does not belongs to the company {1},Pracownik {0} nie należy do firmy {1},
-Enable Auto Re-Order,Włącz automatyczne ponowne zamówienie,
-End Date of Agreement can't be less than today.,Data zakończenia umowy nie może być mniejsza niż dzisiaj.,
-End Time,Czas zakończenia,
-Energy Point Leaderboard,Tabela punktów energetycznych,
-Enter API key in Google Settings.,Wprowadź klucz API w Ustawieniach Google.,
-Enter Supplier,Wpisz dostawcę,
-Enter Value,Wpisz Wartość,
-Entity Type,Typ encji,
-Error,Błąd,
-Error in Exotel incoming call,Błąd połączenia przychodzącego Exotel,
-Error: {0} is mandatory field,Błąd: {0} to pole obowiązkowe,
-Event Link,Link do wydarzenia,
-Exception occurred while reconciling {0},Wystąpił wyjątek podczas uzgadniania {0},
-Expected and Discharge dates cannot be less than Admission Schedule date,Oczekiwana data i data zwolnienia nie mogą być krótsze niż data harmonogramu przyjęć,
-Expire Allocation,Wygaś przydział,
-Expired,Upłynął,
-Export,Eksport,
-Export not allowed. You need {0} role to export.,eksport nie jest dozwolony. Potrzebujesz {0} modeli żeby eksportować,
-Failed to add Domain,Nie udało się dodać domeny,
-Fetch Items from Warehouse,Pobierz przedmioty z magazynu,
-Fetching...,Ujmujący...,
-Field,Pole,
-File Manager,Menedżer plików,
-Filters,Filtry,
-Finding linked payments,Znajdowanie powiązanych płatności,
-Fleet Management,Fleet Management,
-Following fields are mandatory to create address:,"Aby utworzyć adres, należy podać następujące pola:",
-For Month,Na miesiąc,
-"For item {0} at row {1}, count of serial numbers does not match with the picked quantity",Dla pozycji {0} w wierszu {1} liczba numerów seryjnych nie zgadza się z pobraną ilością,
-For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Dla operacji {0}: Ilość ({1}) nie może być greter wyższa niż ilość oczekująca ({2}),
-For quantity {0} should not be greater than work order quantity {1},Dla ilości {0} nie powinna być większa niż ilość zlecenia pracy {1},
-Free item not set in the pricing rule {0},Darmowy element nie jest ustawiony w regule cenowej {0},
-From Date and To Date are Mandatory,Od daty i daty są obowiązkowe,
-From employee is required while receiving Asset {0} to a target location,Od pracownika jest wymagany przy odbiorze Zasoby {0} do docelowej lokalizacji,
-Fuel Expense,Koszt paliwa,
-Future Payment Amount,Kwota przyszłej płatności,
-Future Payment Ref,Przyszła płatność Nr ref,
-Future Payments,Przyszłe płatności,
-GST HSN Code does not exist for one or more items,Kod GST HSN nie istnieje dla jednego lub więcej przedmiotów,
-Generate E-Way Bill JSON,Generuj e-Way Bill JSON,
-Get Items,Pobierz,
-Get Outstanding Documents,Uzyskaj znakomite dokumenty,
-Goal,Cel,
-Greater Than Amount,Większa niż kwota,
-Green,Zielony,
-Group,Grupa,
-Group By Customer,Grupuj według klienta,
-Group By Supplier,Grupuj według dostawcy,
-Group Node,Węzeł Grupy,
-Group Warehouses cannot be used in transactions. Please change the value of {0},Magazyny grupowe nie mogą być używane w transakcjach. Zmień wartość {0},
-Help,Pomoc,
-Help Article,Artykuł pomocy,
-"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Pomaga śledzić kontrakty na podstawie dostawcy, klienta i pracownika",
-Helps you manage appointments with your leads,Pomaga zarządzać spotkaniami z potencjalnymi klientami,
-Home,Start,
-IBAN is not valid,IBAN jest nieprawidłowy,
-Import Data from CSV / Excel files.,Importuj dane z plików CSV / Excel.,
-In Progress,W trakcie,
-Incoming call from {0},Połączenie przychodzące od {0},
-Incorrect Warehouse,Niepoprawny magazyn,
-Intermediate,Pośredni,
-Invalid Barcode. There is no Item attached to this barcode.,Nieprawidłowy kod kreskowy. Brak kodu dołączonego do tego kodu kreskowego.,
-Invalid credentials,Nieprawidłowe poświadczenia,
-Invite as User,Zaproś jako Użytkownik,
-Issue Priority.,Priorytet wydania.,
-Issue Type.,Typ problemu.,
-"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.","Wygląda na to, że istnieje problem z konfiguracją pasków serwera. W przypadku niepowodzenia kwota zostanie zwrócona na Twoje konto.",
-Item Reported,Zgłoszony element,
-Item listing removed,Usunięto listę produktów,
-Item quantity can not be zero,Ilość towaru nie może wynosić zero,
-Item taxes updated,Zaktualizowano podatki od towarów,
-Item {0}: {1} qty produced. ,Produkt {0}: wyprodukowano {1} sztuk.,
-Joining Date can not be greater than Leaving Date,Data dołączenia nie może być większa niż Data opuszczenia,
-Lab Test Item {0} already exist,Element testu laboratoryjnego {0} już istnieje,
-Last Issue,Ostatnie wydanie,
-Latest Age,Późne stadium,
-Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Wniosek o urlop jest powiązany z przydziałem urlopu {0}. Wniosek o urlop nie może być ustawiony jako urlop bez wynagrodzenia,
-Leaves Taken,Zrobione liście,
-Less Than Amount,Mniej niż kwota,
-Liabilities,Zadłużenie,
-Loading...,Wczytuję...,
-Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Kwota pożyczki przekracza maksymalną kwotę pożyczki w wysokości {0} zgodnie z proponowanymi papierami wartościowymi,
-Loan Applications from customers and employees.,Wnioski o pożyczkę od klientów i pracowników.,
-Loan Disbursement,Wypłata pożyczki,
-Loan Processes,Procesy pożyczkowe,
-Loan Security,Zabezpieczenie pożyczki,
-Loan Security Pledge,Zobowiązanie do zabezpieczenia pożyczki,
-Loan Security Pledge Created : {0},Utworzono zastaw na zabezpieczeniu pożyczki: {0},
-Loan Security Price,Cena zabezpieczenia pożyczki,
-Loan Security Price overlapping with {0},Cena zabezpieczenia kredytu pokrywająca się z {0},
-Loan Security Unpledge,Zabezpieczenie pożyczki Unpledge,
-Loan Security Value,Wartość zabezpieczenia pożyczki,
-Loan Type for interest and penalty rates,Rodzaj pożyczki na odsetki i kary pieniężne,
-Loan amount cannot be greater than {0},Kwota pożyczki nie może być większa niż {0},
-Loan is mandatory,Pożyczka jest obowiązkowa,
-Loans,Pożyczki,
-Loans provided to customers and employees.,Pożyczki udzielone klientom i pracownikom.,
-Location,Lokacja,
-Log Type is required for check-ins falling in the shift: {0}.,Typ dziennika jest wymagany w przypadku zameldowań przypadających na zmianę: {0}.,
-Looks like someone sent you to an incomplete URL. Please ask them to look into it.,"Wygląda jak ktoś wysłał do niekompletnego adresu URL. Proszę poprosić ich, aby na nią patrzeć.",
-Make Journal Entry,Dodaj wpis do dziennika,
-Make Purchase Invoice,Nowa faktura zakupu,
-Manufactured,Zrobiony fabrycznie,
-Mark Work From Home,Oznacz pracę z domu,
-Master,Magister,
-Max strength cannot be less than zero.,Maksymalna siła nie może być mniejsza niż zero.,
-Maximum attempts for this quiz reached!,Osiągnięto maksymalną liczbę prób tego quizu!,
-Message,Wiadomość,
-Missing Values Required,Uzupełnij Brakujące Wartości,
-Mobile No,Nr tel. Komórkowego,
-Mobile Number,Numer telefonu komórkowego,
-Month,Miesiąc,
-Name,Nazwa,
-Near you,Blisko Ciebie,
-Net Profit/Loss,Zysk / strata netto,
-New Expense,Nowy wydatek,
-New Invoice,Nowa faktura,
-New Payment,Nowa płatność,
-New release date should be in the future,Nowa data wydania powinna być w przyszłości,
-Newsletter,Newsletter,
-No Account matched these filters: {},Brak kont pasujących do tych filtrów: {},
-No Employee found for the given employee field value. '{}': {},Nie znaleziono pracownika dla danej wartości pola pracownika. &#39;{}&#39;: {},
-No Leaves Allocated to Employee: {0} for Leave Type: {1},Brak urlopów przydzielonych pracownikowi: {0} dla typu urlopu: {1},
-No communication found.,Nie znaleziono komunikacji.,
-No correct answer is set for {0},Brak poprawnej odpowiedzi dla {0},
-No description,Bez opisu,
-No issue has been raised by the caller.,Dzwoniący nie podniósł żadnego problemu.,
-No items to publish,Brak elementów do opublikowania,
-No outstanding invoices found,Nie znaleziono żadnych zaległych faktur,
-No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,"Nie znaleziono zaległych faktur za {0} {1}, które kwalifikują określone filtry.",
-No outstanding invoices require exchange rate revaluation,Żadne zaległe faktury nie wymagają aktualizacji kursu walutowego,
-No reviews yet,Brak recenzji,
-No views yet,Brak jeszcze wyświetleń,
-Non stock items,Pozycje niedostępne,
-Not Allowed,Nie dozwolone,
-Not allowed to create accounting dimension for {0},Nie wolno tworzyć wymiaru księgowego dla {0},
-Not permitted. Please disable the Lab Test Template,Nie dozwolone. Wyłącz szablon testu laboratoryjnego,
-Note,Notatka,
-Notes: ,Notatki:,
-On Converting Opportunity,O możliwościach konwersji,
-On Purchase Order Submission,Po złożeniu zamówienia,
-On Sales Order Submission,Przy składaniu zamówienia sprzedaży,
-On Task Completion,Po zakończeniu zadania,
-On {0} Creation,W dniu {0} Creation,
-Only .csv and .xlsx files are supported currently,Aktualnie obsługiwane są tylko pliki .csv i .xlsx,
-Only expired allocation can be cancelled,Tylko wygasły przydział można anulować,
-Only users with the {0} role can create backdated leave applications,Tylko użytkownicy z rolą {0} mogą tworzyć aplikacje urlopowe z datą wsteczną,
-Open,otwarty,
-Open Contact,Otwarty kontakt,
-Open Lead,Ołów otwarty,
-Opening and Closing,Otwieranie i zamykanie,
-Operating Cost as per Work Order / BOM,Koszt operacyjny według zlecenia pracy / BOM,
-Order Amount,Kwota zamówienia,
-Page {0} of {1},Strona {0} z {1},
-Paid amount cannot be less than {0},Kwota wpłaty nie może być mniejsza niż {0},
-Parent Company must be a group company,Firma macierzysta musi być spółką grupy,
-Passing Score value should be between 0 and 100,Wartość Passing Score powinna wynosić od 0 do 100,
-Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Polityka haseł nie może zawierać spacji ani jednoczesnych myślników. Format zostanie automatycznie zrestrukturyzowany,
-Patient History,Historia pacjenta,
-Pause,Pauza,
-Pay,Zapłacone,
-Payment Document Type,Typ dokumentu płatności,
-Payment Name,Nazwa płatności,
-Penalty Amount,Kwota kary,
-Pending,W toku,
-Performance,Występ,
-Period based On,Okres oparty na,
-Perpetual inventory required for the company {0} to view this report.,"Aby przeglądać ten raport, firma musi mieć ciągłe zapasy.",
-Phone,Telefon,
-Pick List,Lista wyboru,
-Plaid authentication error,Błąd uwierzytelniania w kratkę,
-Plaid public token error,Błąd publicznego znacznika w kratkę,
-Plaid transactions sync error,Błąd synchronizacji transakcji Plaid,
-Please check the error log for details about the import errors,"Sprawdź dziennik błędów, aby uzyskać szczegółowe informacje na temat błędów importu",
-Please create <b>DATEV Settings</b> for Company <b>{}</b>.,<b>Utwórz ustawienia DATEV</b> dla firmy <b>{}</b> .,
-Please create adjustment Journal Entry for amount {0} ,Utwórz korektę Zapis księgowy dla kwoty {0},
-Please do not create more than 500 items at a time,Nie twórz więcej niż 500 pozycji naraz,
-Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Wprowadź <b>konto różnicowe</b> lub ustaw domyślne <b>konto korekty zapasów</b> dla firmy {0},
-Please enter GSTIN and state for the Company Address {0},Wprowadź GSTIN i podaj adres firmy {0},
-Please enter Item Code to get item taxes,"Wprowadź kod produktu, aby otrzymać podatki od przedmiotu",
-Please enter Warehouse and Date,Proszę podać Magazyn i datę,
-Please enter the designation,Proszę podać oznaczenie,
-Please login as a Marketplace User to edit this item.,"Zaloguj się jako użytkownik Marketplace, aby edytować ten element.",
-Please login as a Marketplace User to report this item.,"Zaloguj się jako użytkownik Marketplace, aby zgłosić ten element.",
-Please select <b>Template Type</b> to download template,"Wybierz <b>Typ szablonu,</b> aby pobrać szablon",
-Please select Applicant Type first,Najpierw wybierz typ wnioskodawcy,
-Please select Customer first,Najpierw wybierz klienta,
-Please select Item Code first,Najpierw wybierz Kod produktu,
-Please select Loan Type for company {0},Wybierz typ pożyczki dla firmy {0},
-Please select a Delivery Note,Wybierz dowód dostawy,
-Please select a Sales Person for item: {0},Wybierz sprzedawcę dla produktu: {0},
-Please select another payment method. Stripe does not support transactions in currency '{0}',Wybierz inną metodę płatności. Stripe nie obsługuje transakcji w walucie &#39;{0}&#39;,
-Please select the customer.,Wybierz klienta.,
-Please set a Supplier against the Items to be considered in the Purchase Order.,"Proszę ustawić Dostawcę na tle Przedmiotów, które należy uwzględnić w Zamówieniu.",
-Please set account heads in GST Settings for Compnay {0},Ustaw głowice kont w Ustawieniach GST dla Compnay {0},
-Please set an email id for the Lead {0},Ustaw identyfikator e-mail dla potencjalnego klienta {0},
-Please set default UOM in Stock Settings,Proszę ustawić domyślną JM w Ustawieniach magazynowych,
-Please set filter based on Item or Warehouse due to a large amount of entries.,Ustaw filtr na podstawie pozycji lub magazynu ze względu na dużą liczbę wpisów.,
-Please set up the Campaign Schedule in the Campaign {0},Ustaw harmonogram kampanii w kampanii {0},
-Please set valid GSTIN No. in Company Address for company {0},Ustaw prawidłowy numer GSTIN w adresie firmy dla firmy {0},
-Please set {0},Ustaw {0},customer
-Please setup a default bank account for company {0},Ustaw domyślne konto bankowe dla firmy {0},
-Please specify,Sprecyzuj,
-Please specify a {0},Proszę podać {0},lead
-Pledge Status,Status zobowiązania,
-Pledge Time,Czas przyrzeczenia,
-Printing,Druk,
-Priority,Priorytet,
-Priority has been changed to {0}.,Priorytet został zmieniony na {0}.,
-Priority {0} has been repeated.,Priorytet {0} został powtórzony.,
-Processing XML Files,Przetwarzanie plików XML,
-Profitability,Rentowność,
-Project,Projekt,
-Proposed Pledges are mandatory for secured Loans,Proponowane zastawy są obowiązkowe dla zabezpieczonych pożyczek,
-Provide the academic year and set the starting and ending date.,Podaj rok akademicki i ustaw datę początkową i końcową.,
-Public token is missing for this bank,Brakuje publicznego tokena dla tego banku,
-Publish,Publikować,
-Publish 1 Item,Opublikuj 1 przedmiot,
-Publish Items,Publikuj przedmioty,
-Publish More Items,Opublikuj więcej przedmiotów,
-Publish Your First Items,Opublikuj swoje pierwsze przedmioty,
-Publish {0} Items,Opublikuj {0} przedmiotów,
-Published Items,Opublikowane przedmioty,
-Purchase Invoice cannot be made against an existing asset {0},Nie można wystawić faktury zakupu na istniejący zasób {0},
-Purchase Invoices,Faktury zakupu,
-Purchase Orders,Zlecenia kupna,
-Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,"W potwierdzeniu zakupu nie ma żadnego elementu, dla którego włączona jest opcja Zachowaj próbkę.",
-Purchase Return,Zwrot zakupu,
-Qty of Finished Goods Item,Ilość produktu gotowego,
-Qty or Amount is mandatroy for loan security,Ilość lub Kwota jest mandatroy dla zabezpieczenia kredytu,
-Quality Inspection required for Item {0} to submit,Kontrola jakości wymagana do przesłania pozycji {0},
-Quantity to Manufacture,Ilość do wyprodukowania,
-Quantity to Manufacture can not be zero for the operation {0},Ilość do wyprodukowania nie może wynosić zero dla operacji {0},
-Quarterly,Kwartalnie,
-Queued,W kolejce,
-Quick Entry,Szybkie wejścia,
-Quiz {0} does not exist,Quiz {0} nie istnieje,
-Quotation Amount,Kwota oferty,
-Rate or Discount is required for the price discount.,Do obniżki ceny wymagana jest stawka lub zniżka.,
-Reason,Powód,
-Reconcile Entries,Uzgodnij wpisy,
-Reconcile this account,Uzgodnij to konto,
-Reconciled,Uzgodnione,
-Recruitment,Rekrutacja,
-Red,Czerwony,
-Refreshing,Odświeżam,
-Release date must be in the future,Data wydania musi być w przyszłości,
-Relieving Date must be greater than or equal to Date of Joining,Data zwolnienia musi być większa lub równa dacie przystąpienia,
-Rename,Zmień nazwę,
-Rename Not Allowed,Zmień nazwę na Niedozwolone,
-Repayment Method is mandatory for term loans,Metoda spłaty jest obowiązkowa w przypadku pożyczek terminowych,
-Repayment Start Date is mandatory for term loans,Data rozpoczęcia spłaty jest obowiązkowa w przypadku pożyczek terminowych,
-Report Item,Zgłoś przedmiot,
-Report this Item,Zgłoś ten przedmiot,
-Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Zarezerwowana ilość dla umowy podwykonawczej: ilość surowców do wytworzenia elementów podwykonawczych.,
-Reset,Nastawić,
-Reset Service Level Agreement,Zresetuj umowę o poziomie usług,
-Resetting Service Level Agreement.,Resetowanie umowy o poziomie usług.,
-Return amount cannot be greater unclaimed amount,Kwota zwrotu nie może być większa niż kwota nieodebrana,
-Review,Przejrzeć,
-Room,Pokój,
-Room Type,Rodzaj pokoju,
-Row # ,Wiersz #,
-Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Wiersz # {0}: Magazyn zaakceptowany i magazyn dostawcy nie mogą być takie same,
-Row #{0}: Cannot delete item {1} which has already been billed.,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już rozliczony.",
-Row #{0}: Cannot delete item {1} which has already been delivered,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już dostarczony",
-Row #{0}: Cannot delete item {1} which has already been received,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już odebrany",
-Row #{0}: Cannot delete item {1} which has work order assigned to it.,"Wiersz # {0}: Nie można usunąć elementu {1}, któremu przypisano zlecenie pracy.",
-Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,"Wiersz # {0}: Nie można usunąć elementu {1}, który jest przypisany do zamówienia zakupu klienta.",
-Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Wiersz # {0}: nie można wybrać magazynu dostawcy podczas dostarczania surowców do podwykonawcy,
-Row #{0}: Cost Center {1} does not belong to company {2},Wiersz # {0}: Centrum kosztów {1} nie należy do firmy {2},
-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}.,Wiersz # {0}: operacja {1} nie została zakończona dla {2} ilości gotowych produktów w zleceniu pracy {3}. Zaktualizuj status operacji za pomocą karty pracy {4}.,
-Row #{0}: Payment document is required to complete the transaction,Wiersz # {0}: dokument płatności jest wymagany do zakończenia transakcji,
-Row #{0}: Serial No {1} does not belong to Batch {2},Wiersz # {0}: numer seryjny {1} nie należy do partii {2},
-Row #{0}: Service End Date cannot be before Invoice Posting Date,Wiersz # {0}: data zakończenia usługi nie może być wcześniejsza niż data księgowania faktury,
-Row #{0}: Service Start Date cannot be greater than Service End Date,Wiersz # {0}: data rozpoczęcia usługi nie może być większa niż data zakończenia usługi,
-Row #{0}: Service Start and End Date is required for deferred accounting,Wiersz # {0}: data rozpoczęcia i zakończenia usługi jest wymagana dla odroczonej księgowości,
-Row {0}: Invalid Item Tax Template for item {1},Wiersz {0}: nieprawidłowy szablon podatku od towarów dla towaru {1},
-Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Wiersz {0}: ilość niedostępna dla {4} w magazynie {1} w czasie księgowania wpisu ({2} {3}),
-Row {0}: user has not applied the rule {1} on the item {2},Wiersz {0}: użytkownik nie zastosował reguły {1} do pozycji {2},
-Row {0}:Sibling Date of Birth cannot be greater than today.,Wiersz {0}: data urodzenia rodzeństwa nie może być większa niż dzisiaj.,
-Row({0}): {1} is already discounted in {2},Wiersz ({0}): {1} jest już zdyskontowany w {2},
-Rows Added in {0},Rzędy dodane w {0},
-Rows Removed in {0},Rzędy usunięte w {0},
-Sanctioned Amount limit crossed for {0} {1},Przekroczono limit kwoty usankcjonowanej dla {0} {1},
-Sanctioned Loan Amount already exists for {0} against company {1},Kwota sankcjonowanej pożyczki już istnieje dla {0} wobec firmy {1},
-Save,Zapisz,
-Save Item,Zapisz przedmiot,
-Saved Items,Zapisane przedmioty,
-Search Items ...,Szukaj przedmiotów ...,
-Search for a payment,Wyszukaj płatność,
-Search for anything ...,Wyszukaj cokolwiek ...,
-Search results for,Wyniki wyszukiwania dla,
-Select All,Wybierz wszystko,
-Select Difference Account,Wybierz konto różnicy,
-Select a Default Priority.,Wybierz domyślny priorytet.,
-Select a company,Wybierz firmę,
-Select finance book for the item {0} at row {1},Wybierz księgę finansową dla pozycji {0} w wierszu {1},
-Select only one Priority as Default.,Wybierz tylko jeden priorytet jako domyślny.,
-Seller Information,Informacje o sprzedawcy,
-Send,Wyślij,
-Send a message,Wysłać wiadomość,
-Sending,Wysyłanie,
-Sends Mails to lead or contact based on a Campaign schedule,Wysyła wiadomości e-mail do potencjalnego klienta lub kontaktu na podstawie harmonogramu kampanii,
-Serial Number Created,Utworzono numer seryjny,
-Serial Numbers Created,Utworzono numery seryjne,
-Serial no(s) required for serialized item {0},Nie są wymagane numery seryjne dla pozycji zserializowanej {0},
-Series,Seria,
-Server Error,błąd serwera,
-Service Level Agreement has been changed to {0}.,Umowa o poziomie usług została zmieniona na {0}.,
-Service Level Agreement was reset.,Umowa o poziomie usług została zresetowana.,
-Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Umowa o poziomie usług z typem podmiotu {0} i podmiotem {1} już istnieje.,
-Set,Zbiór,
-Set Meta Tags,Ustaw meta tagi,
-Set {0} in company {1},Ustaw {0} w firmie {1},
-Setup,Ustawienia,
-Setup Wizard,Ustawienia Wizard,
-Shift Management,Zarządzanie zmianą,
-Show Future Payments,Pokaż przyszłe płatności,
-Show Linked Delivery Notes,Pokaż połączone dowody dostawy,
-Show Sales Person,Pokaż sprzedawcę,
-Show Stock Ageing Data,Pokaż dane dotyczące starzenia się zapasów,
-Show Warehouse-wise Stock,Pokaż magazyn w magazynie,
-Size,Rozmiar,
-Something went wrong while evaluating the quiz.,Coś poszło nie tak podczas oceny quizu.,
-Sr,sr,
-Start,Start,
-Start Date cannot be before the current date,Data rozpoczęcia nie może być wcześniejsza niż bieżąca data,
-Start Time,Czas rozpoczęcia,
-Status,Status,
-Status must be Cancelled or Completed,Status musi zostać anulowany lub ukończony,
-Stock Balance Report,Raport stanu zapasów,
-Stock Entry has been already created against this Pick List,Zapis zapasów został już utworzony dla tej listy pobrania,
-Stock Ledger ID,Identyfikator księgi głównej,
-Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Wartość zapasów ({0}) i saldo konta ({1}) nie są zsynchronizowane dla konta {2} i powiązanych magazynów.,
-Stores - {0},Sklepy - {0},
-Student with email {0} does not exist,Student z e-mailem {0} nie istnieje,
-Submit Review,Dodaj recenzję,
-Submitted,Zgłoszny,
-Supplier Addresses And Contacts,Adresy i kontakty dostawcy,
-Synchronize this account,Zsynchronizuj to konto,
-Tag,Etykietka,
-Target Location is required while receiving Asset {0} from an employee,Lokalizacja docelowa jest wymagana podczas otrzymywania środka {0} od pracownika,
-Target Location is required while transferring Asset {0},Lokalizacja docelowa jest wymagana podczas przenoszenia aktywów {0},
-Target Location or To Employee is required while receiving Asset {0},Lokalizacja docelowa lub Do pracownika jest wymagana podczas otrzymywania Zasobu {0},
-Task's {0} End Date cannot be after Project's End Date.,Data zakończenia zadania {0} nie może być późniejsza niż data zakończenia projektu.,
-Task's {0} Start Date cannot be after Project's End Date.,Data rozpoczęcia zadania {0} nie może być późniejsza niż data zakończenia projektu.,
-Tax Account not specified for Shopify Tax {0},Nie określono konta podatkowego dla Shopify Tax {0},
-Tax Total,Podatek ogółem,
-Template,Szablon,
-The Campaign '{0}' already exists for the {1} '{2}',Kampania „{0}” już istnieje dla {1} ”{2}”,
-The difference between from time and To Time must be a multiple of Appointment,Różnica między czasem a czasem musi być wielokrotnością terminu,
-The field Asset Account cannot be blank,Pole Konto aktywów nie może być puste,
-The field Equity/Liability Account cannot be blank,Pole Rachunek kapitału własnego / pasywnego nie może być puste,
-The following serial numbers were created: <br><br> {0},Utworzono następujące numery seryjne: <br><br> {0},
-The parent account {0} does not exists in the uploaded template,Konto nadrzędne {0} nie istnieje w przesłanym szablonie,
-The question cannot be duplicate,Pytanie nie może być duplikowane,
-The selected payment entry should be linked with a creditor bank transaction,Wybrany zapis płatności powinien być powiązany z transakcją banku wierzyciela,
-The selected payment entry should be linked with a debtor bank transaction,Wybrany zapis płatności powinien być powiązany z transakcją bankową dłużnika,
-The total allocated amount ({0}) is greated than the paid amount ({1}).,Łączna przydzielona kwota ({0}) jest przywitana niż wypłacona kwota ({1}).,
-There are no vacancies under staffing plan {0},W planie zatrudnienia nie ma wolnych miejsc pracy {0},
-This Service Level Agreement is specific to Customer {0},Niniejsza umowa dotycząca poziomu usług dotyczy wyłącznie klienta {0},
-This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Ta czynność spowoduje odłączenie tego konta od dowolnej usługi zewnętrznej integrującej ERPNext z kontami bankowymi. Nie można tego cofnąć. Czy jesteś pewien ?,
-This bank account is already synchronized,To konto bankowe jest już zsynchronizowane,
-This bank transaction is already fully reconciled,Ta transakcja bankowa została już w pełni uzgodniona,
-This employee already has a log with the same timestamp.{0},Ten pracownik ma już dziennik z tym samym znacznikiem czasu. {0},
-This page keeps track of items you want to buy from sellers.,"Ta strona śledzi przedmioty, które chcesz kupić od sprzedawców.",
-This page keeps track of your items in which buyers have showed some interest.,"Ta strona śledzi Twoje produkty, którymi kupujący wykazali pewne zainteresowanie.",
-Thursday,Czwartek,
-Timing,wyczucie czasu,
-Title,Tytuł,
-"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Aby zezwolić na rozliczenia, zaktualizuj „Over Billing Allowance” w ustawieniach kont lub pozycji.",
-"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Aby zezwolić na odbiór / dostawę, zaktualizuj „Przekazywanie / dostawę” w Ustawieniach magazynowych lub pozycji.",
-To date needs to be before from date,Do tej pory musi być wcześniejsza niż data,
-Total,Razem,
-Total Early Exits,Łącznie wczesne wyjścia,
-Total Late Entries,Późne wpisy ogółem,
-Total Payment Request amount cannot be greater than {0} amount,Łączna kwota żądania zapłaty nie może być większa niż kwota {0},
-Total payments amount can't be greater than {},Łączna kwota płatności nie może być większa niż {},
-Totals,Sumy całkowite,
-Training Event:,Wydarzenie szkoleniowe:,
-Transactions already retreived from the statement,Transakcje już wycofane z wyciągu,
-Transfer Material to Supplier,Przenieść materiał do dostawcy,
-Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Nr potwierdzenia odbioru i data są obowiązkowe w wybranym trybie transportu,
-Tuesday,Wtorek,
-Type,Typ,
-Unable to find Salary Component {0},Nie można znaleźć składnika wynagrodzenia {0},
-Unable to find the time slot in the next {0} days for the operation {1}.,Nie można znaleźć przedziału czasu w ciągu najbliższych {0} dni dla operacji {1}.,
-Unable to update remote activity,Nie można zaktualizować aktywności zdalnej,
-Unknown Caller,Nieznany rozmówca,
-Unlink external integrations,Rozłącz integracje zewnętrzne,
-Unmarked Attendance for days,Nieoznakowana obecność na kilka dni,
-Unpublish Item,Cofnij publikację przedmiotu,
-Unreconciled,Nieuzgodnione,
-Unsupported GST Category for E-Way Bill JSON generation,Nieobsługiwana kategoria GST dla generacji e-Way Bill JSON,
-Update,Aktualizacja,
-Update Details,Zaktualizuj szczegóły,
-Update Taxes for Items,Zaktualizuj podatki od przedmiotów,
-"Upload a bank statement, link or reconcile a bank account","Prześlij wyciąg z konta bankowego, połącz lub rozlicz konto bankowe",
-Upload a statement,Prześlij oświadczenie,
-Use a name that is different from previous project name,Użyj nazwy innej niż nazwa poprzedniego projektu,
-User {0} is disabled,Użytkownik {0} jest wyłączony,
-Users and Permissions,Użytkownicy i uprawnienia,
-Vacancies cannot be lower than the current openings,Wolne miejsca nie mogą być niższe niż obecne otwarcia,
-Valid From Time must be lesser than Valid Upto Time.,Ważny od czasu musi być mniejszy niż Ważny do godziny.,
-Valuation Rate required for Item {0} at row {1},Kurs wyceny wymagany dla pozycji {0} w wierszu {1},
-Values Out Of Sync,Wartości niezsynchronizowane,
-Vehicle Type is required if Mode of Transport is Road,"Typ pojazdu jest wymagany, jeśli tryb transportu to Droga",
-Vendor Name,Nazwa dostawcy,
-Verify Email,zweryfikuj adres e-mail,
-View,Widok,
-View all issues from {0},Wyświetl wszystkie problemy z {0},
-View call log,Wyświetl dziennik połączeń,
-Warehouse,Magazyn,
-Warehouse not found against the account {0},Nie znaleziono magazynu dla konta {0},
-Welcome to {0},Zapraszamy do {0},
-Why do think this Item should be removed?,Dlaczego według mnie ten przedmiot powinien zostać usunięty?,
-Work Order {0}: Job Card not found for the operation {1},Zlecenie pracy {0}: Nie znaleziono karty pracy dla operacji {1},
-Workday {0} has been repeated.,Dzień roboczy {0} został powtórzony.,
-XML Files Processed,Przetwarzane pliki XML,
-Year,Rok,
-Yearly,Rocznie,
-You,Ty,
-You are not allowed to enroll for this course,Nie możesz zapisać się na ten kurs,
-You are not enrolled in program {0},Nie jesteś zarejestrowany w programie {0},
-You can Feature upto 8 items.,Możesz polecić do 8 przedmiotów.,
-You can also copy-paste this link in your browser,Można również skopiować i wkleić ten link w przeglądarce,
-You can publish upto 200 items.,Możesz opublikować do 200 pozycji.,
-You have to enable auto re-order in Stock Settings to maintain re-order levels.,"Aby utrzymać poziomy ponownego zamówienia, musisz włączyć automatyczne ponowne zamówienie w Ustawieniach zapasów.",
-You must be a registered supplier to generate e-Way Bill,"Musisz być zarejestrowanym dostawcą, aby wygenerować e-Way Bill",
-You need to login as a Marketplace User before you can add any reviews.,"Musisz się zalogować jako użytkownik portalu, aby móc dodawać recenzje.",
-Your Featured Items,Twoje polecane przedmioty,
-Your Items,Twoje przedmioty,
-Your Profile,Twój profil,
-Your rating:,Twoja ocena:,
-and,i,
-e-Way Bill already exists for this document,e-Way Bill już istnieje dla tego dokumentu,
-woocommerce - {0},woocommerce - {0},
-{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Wykorzystany kupon to {1}. Dozwolona ilość jest wyczerpana,
-{0} Name,Imię {0},
-{0} Operations: {1},{0} Operacje: {1},
-{0} bank transaction(s) created,{0} utworzono transakcje bankowe,
-{0} bank transaction(s) created and {1} errors,{0} utworzono transakcje bankowe i błędy {1},
-{0} can not be greater than {1},{0} nie może być większy niż {1},
-{0} conversations,{0} rozmów,
-{0} is not a company bank account,{0} nie jest firmowym kontem bankowym,
-{0} is not a group node. Please select a group node as parent cost center,{0} nie jest węzłem grupy. Wybierz węzeł grupy jako macierzyste centrum kosztów,
-{0} is not the default supplier for any items.,{0} nie jest domyślnym dostawcą dla żadnych przedmiotów.,
-{0} is required,{0} is wymagany,
-{0}: {1} must be less than {2},{0}: {1} musi być mniejsze niż {2},
-{} is an invalid Attendance Status.,{} to nieprawidłowy status frekwencji.,
-{} is required to generate E-Way Bill JSON,{} jest wymagane do wygenerowania E-Way Bill JSON,
-"Invalid lost reason {0}, please create a new lost reason","Nieprawidłowy utracony powód {0}, utwórz nowy utracony powód",
-Profit This Year,Zysk w tym roku,
-Total Expense,Łączny koszt,
-Total Expense This Year,Całkowity koszt w tym roku,
-Total Income,Całkowity przychód,
-Total Income This Year,Dochód ogółem w tym roku,
-Barcode,kod kreskowy,
-Bold,Pogrubienie,
-Center,Środek,
-Clear,Jasny,
-Comment,Komentarz,
-Comments,Komentarze,
-DocType,DocType,
-Download,Pobieranie,
-Left,Opuścił,
-Link,Połączyć,
-New,Nowy,
-Not Found,Nie znaleziono,
-Print,Wydrukować,
-Reference Name,Nazwa referencyjna,
-Refresh,Odśwież,
-Success,Sukces,
-Time,Czas,
-Value,Wartość,
-Actual,Rzeczywisty,
-Add to Cart,Dodaj do koszyka,
-Days Since Last Order,Dni od ostatniego zamówienia,
-In Stock,W magazynie,
-Loan Amount is mandatory,Kwota pożyczki jest obowiązkowa,
-Mode Of Payment,Rodzaj płatności,
-No students Found,Nie znaleziono studentów,
-Not in Stock,Brak na stanie,
-Please select a Customer,Proszę wybrać klienta,
-Printed On,wydrukowane na,
-Received From,Otrzymane od,
-Sales Person,Sprzedawca,
-To date cannot be before From date,"""Do daty"" nie może być terminem przed ""od daty""",
-Write Off,Odpis,
-{0} Created,{0} utworzone,
-Email Id,Identyfikator E-mail,
-No,Nie,
-Reference Doctype,DocType Odniesienia,
-User Id,Identyfikator użytkownika,
-Yes,tak,
-Actual ,Właściwy,
-Add to cart,Dodaj do koszyka,
-Budget,Budżet,
-Chart of Accounts,Plan kont,
-Customer database.,Baza danych klientów.,
-Days Since Last order,Dni od ostatniego zamówienia,
-Download as JSON,Pobierz jako JSON,
-End date can not be less than start date,"Data zakończenia nie może być wcześniejsza, niż data rozpoczęcia",
-For Default Supplier (Optional),Dla dostawcy domyślnego (opcjonalnie),
-From date cannot be greater than To date,Data od - nie może być późniejsza niż Data do,
-Group by,Grupuj według,
-In stock,W magazynie,
-Item name,Nazwa pozycji,
-Loan amount is mandatory,Kwota pożyczki jest obowiązkowa,
-Minimum Qty,Minimalna ilość,
-More details,Więcej szczegółów,
-Nature of Supplies,Natura dostaw,
-No Items found.,Nie znaleziono żadnych przedmiotów.,
-No employee found,Nie znaleziono pracowników,
-No students found,Nie znaleziono studentów,
-Not in stock,Brak na stanie,
-Not permitted,Nie dozwolone,
-Open Issues ,Otwarte kwestie,
-Open Projects ,Otwarte projekty,
-Open To Do ,Otwarty na uwagi,
-Operation Id,Operacja ID,
-Partially ordered,częściowo Zamówione,
-Please select company first,Najpierw wybierz firmę,
-Please select patient,Wybierz pacjenta,
-Printed On ,Nadrukowany na,
-Projected qty,Prognozowana ilość,
-Sales person,Sprzedawca,
-Serial No {0} Created,Stworzono nr seryjny {0},
-Source Location is required for the Asset {0},Lokalizacja źródła jest wymagana dla zasobu {0},
-Tax Id,Identyfikator podatkowy,
-To Time,Do czasu,
-To date cannot be before from date,To Date nie może być wcześniejsza niż From Date,
-Total Taxable value,Całkowita wartość podlegająca opodatkowaniu,
-Upcoming Calendar Events ,Nadchodzące wydarzenia kalendarzowe,
-Value or Qty,Wartość albo Ilość,
-Variance ,Zmienność,
-Variant of,Wariant,
-Write off,Odpis,
-hours,godziny,
-received from,otrzymane od,
-to,do,
-Cards,Karty,
-Percentage,Odsetek,
-Failed to setup defaults for country {0}. Please contact support@erpnext.com,Nie udało się skonfigurować wartości domyślnych dla kraju {0}. Skontaktuj się z support@erpnext.com,
-Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Wiersz # {0}: pozycja {1} nie jest przedmiotem serializowanym / partiami. Nie może mieć numeru seryjnego / numeru partii.,
-Please set {0},Ustaw {0},
-Please set {0},Ustaw {0},supplier
-Draft,Wersja robocza,"docstatus,=,0"
-Cancelled,Anulowany,"docstatus,=,2"
-Please setup Instructor Naming System in Education > Education Settings,Skonfiguruj system nazewnictwa instruktorów w sekcji Edukacja&gt; Ustawienia edukacji,
-Please set Naming Series for {0} via Setup > Settings > Naming Series,Ustaw Serie nazw dla {0} poprzez Ustawienia&gt; Ustawienia&gt; Serie nazw,
-UOM Conversion factor ({0} -> {1}) not found for item: {2},Nie znaleziono współczynnika konwersji UOM ({0} -&gt; {1}) dla elementu: {2},
-Item Code > Item Group > Brand,Kod pozycji&gt; Grupa produktów&gt; Marka,
-Customer > Customer Group > Territory,Klient&gt; Grupa klientów&gt; Terytorium,
-Supplier > Supplier Type,Dostawca&gt; Rodzaj dostawcy,
-Please setup Employee Naming System in Human Resource > HR Settings,Skonfiguruj system nazewnictwa pracowników w dziale Zasoby ludzkie&gt; Ustawienia HR,
-Please setup numbering series for Attendance via Setup > Numbering Series,Skonfiguruj serie numeracji dla frekwencji poprzez Ustawienia&gt; Serie numeracji,
-The value of {0} differs between Items {1} and {2},Wartość {0} różni się między elementami {1} i {2},
-Auto Fetch,Automatyczne pobieranie,
-Fetch Serial Numbers based on FIFO,Pobierz numery seryjne na podstawie FIFO,
-"Outward taxable supplies(other than zero rated, nil rated and exempted)","Dostawy podlegające opodatkowaniu zewnętrznemu (inne niż zerowe, zerowe i zwolnione)",
-"To allow different rates, disable the {0} checkbox in {1}.","Aby zezwolić na różne stawki, wyłącz {0} pole wyboru w {1}.",
-Current Odometer Value should be greater than Last Odometer Value {0},Bieżąca wartość drogomierza powinna być większa niż ostatnia wartość drogomierza {0},
-No additional expenses has been added,Nie dodano żadnych dodatkowych kosztów,
-Asset{} {assets_link} created for {},Zasób {} {asset_link} utworzony dla {},
-Row {}: Asset Naming Series is mandatory for the auto creation for item {},Wiersz {}: Seria nazewnictwa zasobów jest wymagana w przypadku automatycznego tworzenia elementu {},
-Assets not created for {0}. You will have to create asset manually.,Zasoby nie zostały utworzone dla {0}. Będziesz musiał utworzyć zasób ręcznie.,
-{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} ma zapisy księgowe w walucie {2} firmy {3}. Wybierz konto należności lub zobowiązania w walucie {2}.,
-Invalid Account,Nieważne konto,
-Purchase Order Required,Wymagane zamówienia kupna,
-Purchase Receipt Required,Wymagane potwierdzenie zakupu,
-Account Missing,Brak konta,
-Requested,Zamówiony,
-Partially Paid,Częściowo wypłacone,
-Invalid Account Currency,Nieprawidłowa waluta konta,
-"Row {0}: The item {1}, quantity must be positive number","Wiersz {0}: pozycja {1}, ilość musi być liczbą dodatnią",
-"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Ustaw {0} dla pozycji wsadowej {1}, która jest używana do ustawiania {2} podczas przesyłania.",
-Expiry Date Mandatory,Data wygaśnięcia jest obowiązkowa,
-Variant Item,Wariant pozycji,
-BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} i BOM 2 {1} nie powinny być takie same,
-Note: Item {0} added multiple times,Uwaga: element {0} został dodany wiele razy,
-YouTube,Youtube,
-Vimeo,Vimeo,
-Publish Date,Data publikacji,
-Duration,Trwanie,
-Advanced Settings,Zaawansowane ustawienia,
-Path,Ścieżka,
-Components,składniki,
-Verified By,Zweryfikowane przez,
-Invalid naming series (. missing) for {0},Nieprawidłowa seria nazw (brak.) Dla {0},
-Filter Based On,Filtruj na podstawie,
-Reqd by date,Wymagane według daty,
-Manufacturer Part Number <b>{0}</b> is invalid,Numer części producenta <b>{0}</b> jest nieprawidłowy,
-Invalid Part Number,Nieprawidłowy numer części,
-Select atleast one Social Media from Share on.,Wybierz co najmniej jeden serwis społecznościowy z Udostępnij na.,
-Invalid Scheduled Time,Nieprawidłowy zaplanowany czas,
-Length Must be less than 280.,Długość musi być mniejsza niż 280.,
-Error while POSTING {0},Błąd podczas WPISYWANIA {0},
-"Session not valid, Do you want to login?","Sesja nieważna, czy chcesz się zalogować?",
-Session Active,Sesja aktywna,
-Session Not Active. Save doc to login.,"Sesja nieaktywna. Zapisz dokument, aby się zalogować.",
-Error! Failed to get request token.,Błąd! Nie udało się uzyskać tokena żądania.,
-Invalid {0} or {1},Nieprawidłowy {0} lub {1},
-Error! Failed to get access token.,Błąd! Nie udało się uzyskać tokena dostępu.,
-Invalid Consumer Key or Consumer Secret Key,Nieprawidłowy klucz klienta lub tajny klucz klienta,
-Your Session will be expire in ,Twoja sesja wygaśnie za,
- days.,dni.,
-Session is expired. Save doc to login.,"Sesja wygasła. Zapisz dokument, aby się zalogować.",
-Error While Uploading Image,Błąd podczas przesyłania obrazu,
-You Didn't have permission to access this API,Nie masz uprawnień dostępu do tego interfejsu API,
-Valid Upto date cannot be before Valid From date,Data Valid Upto nie może być wcześniejsza niż data Valid From,
-Valid From date not in Fiscal Year {0},Data ważności od nie w roku podatkowym {0},
-Valid Upto date not in Fiscal Year {0},Ważna data ważności nie w roku podatkowym {0},
-Group Roll No,Group Roll No,
-Maintain Same Rate Throughout Sales Cycle,Utrzymanie tej samej stawki przez cały cykl sprzedaży,
-"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Wiersz {1}: ilość ({0}) nie może być ułamkiem. Aby to umożliwić, wyłącz &#39;{2}&#39; w UOM {3}.",
-Must be Whole Number,Musi być liczbą całkowitą,
-Please setup Razorpay Plan ID,Skonfiguruj identyfikator planu Razorpay,
-Contact Creation Failed,Utworzenie kontaktu nie powiodło się,
-{0} already exists for employee {1} and period {2},{0} już istnieje dla pracownika {1} i okresu {2},
-Leaves Allocated,Liście przydzielone,
-Leaves Expired,Liście wygasły,
-Leave Without Pay does not match with approved {} records,Urlop bez wynagrodzenia nie zgadza się z zatwierdzonymi rekordami {},
-Income Tax Slab not set in Salary Structure Assignment: {0},Podatek dochodowy nie jest ustawiony w przypisaniu struktury wynagrodzenia: {0},
-Income Tax Slab: {0} is disabled,Płyta podatku dochodowego: {0} jest wyłączona,
-Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Płyta podatku dochodowego musi obowiązywać w dniu rozpoczęcia okresu wypłaty wynagrodzenia lub wcześniej: {0},
-No leave record found for employee {0} on {1},Nie znaleziono rekordu urlopu dla pracownika {0} w dniu {1},
-Row {0}: {1} is required in the expenses table to book an expense claim.,"Wiersz {0}: {1} jest wymagany w tabeli wydatków, aby zarezerwować wniosek o zwrot wydatków.",
-Set the default account for the {0} {1},Ustaw domyślne konto dla {0} {1},
-(Half Day),(Połowa dnia),
-Income Tax Slab,Płyta podatku dochodowego,
-Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Wiersz nr {0}: nie można ustawić kwoty lub formuły dla składnika wynagrodzenia {1} ze zmienną opartą na wynagrodzeniu podlegającym opodatkowaniu,
-Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Wiersz nr {}: {} z {} powinien być {}. Zmodyfikuj konto lub wybierz inne konto.,
-Row #{}: Please asign task to a member.,Wiersz nr {}: Przydziel zadanie członkowi.,
-Process Failed,Proces nie powiódł się,
-Tally Migration Error,Błąd migracji Tally,
-Please set Warehouse in Woocommerce Settings,Ustaw Magazyn w Ustawieniach Woocommerce,
-Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Wiersz {0}: Magazyn dostaw ({1}) i Magazyn klienta ({2}) nie mogą być takie same,
-Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Wiersz {0}: Termin płatności w tabeli Warunki płatności nie może być wcześniejszy niż data księgowania,
-Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Nie można znaleźć {} dla elementu {}. Proszę ustawić to samo w pozycji Główny lub Ustawienia zapasów.,
-Row #{0}: The batch {1} has already expired.,Wiersz nr {0}: partia {1} już wygasła.,
-Start Year and End Year are mandatory,Rok rozpoczęcia i rok zakończenia są obowiązkowe,
-GL Entry,Wejście GL,
-Cannot allocate more than {0} against payment term {1},Nie można przydzielić więcej niż {0} na okres płatności {1},
-The root account {0} must be a group,Konto root {0} musi być grupą,
-Shipping rule not applicable for country {0} in Shipping Address,Reguła dostawy nie dotyczy kraju {0} w adresie dostawy,
-Get Payments from,Otrzymuj płatności od,
-Set Shipping Address or Billing Address,Ustaw adres wysyłki lub adres rozliczeniowy,
-Consultation Setup,Konfiguracja konsultacji,
-Fee Validity,Ważność opłaty,
-Laboratory Setup,Przygotowanie laboratorium,
-Dosage Form,Forma dawkowania,
-Records and History,Zapisy i historia,
-Patient Medical Record,Medyczny dokument medyczny pacjenta,
-Rehabilitation,Rehabilitacja,
-Exercise Type,Typ ćwiczenia,
-Exercise Difficulty Level,Poziom trudności ćwiczeń,
-Therapy Type,Rodzaj terapii,
-Therapy Plan,Plan terapii,
-Therapy Session,Sesja terapeutyczna,
-Motor Assessment Scale,Skala Oceny Motorycznej,
-[Important] [ERPNext] Auto Reorder Errors,[Ważne] [ERPNext] Błędy automatycznego ponownego zamawiania,
-"Regards,","Pozdrowienia,",
-The following {0} were created: {1},Utworzono następujące {0}: {1},
-Work Orders,Zlecenia pracy,
-The {0} {1} created sucessfully,{0} {1} został pomyślnie utworzony,
-Work Order cannot be created for following reason: <br> {0},Nie można utworzyć zlecenia pracy z następującego powodu:<br> {0},
-Add items in the Item Locations table,Dodaj pozycje w tabeli Lokalizacje pozycji,
-Update Current Stock,Zaktualizuj aktualne zapasy,
-"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Zachowaj próbkę na podstawie partii. Zaznacz opcję Ma nr partii, aby zachować próbkę elementu",
-Empty,Pusty,
-Currently no stock available in any warehouse,Obecnie nie ma zapasów w żadnym magazynie,
-BOM Qty,BOM Qty,
-Time logs are required for {0} {1},Dzienniki czasu są wymagane dla {0} {1},
-Total Completed Qty,Całkowita ukończona ilość,
-Qty to Manufacture,Ilość do wyprodukowania,
-Repay From Salary can be selected only for term loans,Spłata z wynagrodzenia może być wybrana tylko dla pożyczek terminowych,
-No valid Loan Security Price found for {0},Nie znaleziono prawidłowej ceny zabezpieczenia pożyczki dla {0},
-Loan Account and Payment Account cannot be same,Rachunek pożyczki i rachunek płatniczy nie mogą być takie same,
-Loan Security Pledge can only be created for secured loans,Zabezpieczenie pożyczki można ustanowić tylko w przypadku pożyczek zabezpieczonych,
-Social Media Campaigns,Kampanie w mediach społecznościowych,
-From Date can not be greater than To Date,Data początkowa nie może być większa niż data początkowa,
-Please set a Customer linked to the Patient,Ustaw klienta powiązanego z pacjentem,
-Customer Not Found,Nie znaleziono klienta,
-Please Configure Clinical Procedure Consumable Item in ,Skonfiguruj materiał eksploatacyjny do procedury klinicznej w,
-Missing Configuration,Brak konfiguracji,
-Out Patient Consulting Charge Item,Out Patient Consulting Charge Item,
-Inpatient Visit Charge Item,Opłata za wizyta stacjonarna,
-OP Consulting Charge,OP Consulting Charge,
-Inpatient Visit Charge,Opłata za wizytę stacjonarną,
-Appointment Status,Status spotkania,
-Test: ,Test:,
-Collection Details: ,Szczegóły kolekcji:,
-{0} out of {1},{0} z {1},
-Select Therapy Type,Wybierz typ terapii,
-{0} sessions completed,Ukończono {0} sesje,
-{0} session completed,Sesja {0} zakończona,
- out of {0},z {0},
-Therapy Sessions,Sesje terapeutyczne,
-Add Exercise Step,Dodaj krok ćwiczenia,
-Edit Exercise Step,Edytuj krok ćwiczenia,
-Patient Appointments,Spotkania pacjentów,
-Item with Item Code {0} already exists,Przedmiot o kodzie pozycji {0} już istnieje,
-Registration Fee cannot be negative or zero,Opłata rejestracyjna nie może być ujemna ani zerowa,
-Configure a service Item for {0},Skonfiguruj usługę dla {0},
-Temperature: ,Temperatura:,
-Pulse: ,Puls:,
-Respiratory Rate: ,Częstość oddechów:,
-BP: ,BP:,
-BMI: ,BMI:,
-Note: ,Uwaga:,
-Check Availability,Sprawdź dostępność,
-Please select Patient first,Najpierw wybierz pacjenta,
-Please select a Mode of Payment first,Najpierw wybierz sposób płatności,
-Please set the Paid Amount first,Najpierw ustaw Kwotę do zapłaty,
-Not Therapies Prescribed,Nie przepisane terapie,
-There are no Therapies prescribed for Patient {0},Nie ma przepisanych terapii dla pacjenta {0},
-Appointment date and Healthcare Practitioner are Mandatory,Data wizyty i lekarz są obowiązkowe,
-No Prescribed Procedures found for the selected Patient,Nie znaleziono przepisanych procedur dla wybranego pacjenta,
-Please select a Patient first,Najpierw wybierz pacjenta,
-There are no procedure prescribed for ,Nie ma określonej procedury,
-Prescribed Therapies,Terapie przepisane,
-Appointment overlaps with ,Termin pokrywa się z,
-{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} ma zaplanowane spotkanie z {1} na {2} trwające {3} minut (y).,
-Appointments Overlapping,Nakładające się terminy,
-Consulting Charges: {0},Opłaty za konsultacje: {0},
-Appointment Cancelled. Please review and cancel the invoice {0},Spotkanie odwołane. Sprawdź i anuluj fakturę {0},
-Appointment Cancelled.,Spotkanie odwołane.,
-Fee Validity {0} updated.,Zaktualizowano ważność opłaty {0}.,
-Practitioner Schedule Not Found,Nie znaleziono harmonogramu lekarza,
-{0} is on a Half day Leave on {1},{0} korzysta z urlopu półdniowego dnia {1},
-{0} is on Leave on {1},{0} jest na urlopie na {1},
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} nie ma harmonogramu lekarzy. Dodaj go do lekarza,
-Healthcare Service Units,Jednostki opieki zdrowotnej,
-Complete and Consume,Uzupełnij i zużyj,
-Complete {0} and Consume Stock?,Uzupełnić {0} i zużyć zapasy?,
-Complete {0}?,Ukończono {0}?,
-Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Ilość zapasów potrzebna do rozpoczęcia procedury nie jest dostępna w magazynie {0}. Czy chcesz zarejestrować wejście na giełdę?,
-{0} as on {1},{0} jak w dniu {1},
-Clinical Procedure ({0}):,Procedura kliniczna ({0}):,
-Please set Customer in Patient {0},Ustaw klienta jako pacjenta {0},
-Item {0} is not active,Przedmiot {0} nie jest aktywny,
-Therapy Plan {0} created successfully.,Plan terapii {0} został utworzony pomyślnie.,
-Symptoms: ,Objawy:,
-No Symptoms,Brak objawów,
-Diagnosis: ,Diagnoza:,
-No Diagnosis,Brak diagnozy,
-Drug(s) Prescribed.,Leki przepisane.,
-Test(s) Prescribed.,Test (y) przepisane.,
-Procedure(s) Prescribed.,Procedura (-y) zalecana (-e).,
-Counts Completed: {0},Liczenie zakończone: {0},
-Patient Assessment,Ocena stanu pacjenta,
-Assessments,Oceny,
-Heads (or groups) against which Accounting Entries are made and balances are maintained.,"Heads (lub grupy), przeciwko którym zapisy księgowe są i sald są utrzymywane.",
-Account Name,Nazwa konta,
-Inter Company Account,Konto firmowe Inter,
-Parent Account,Nadrzędne konto,
-Setting Account Type helps in selecting this Account in transactions.,Ustawienie Typu Konta pomaga w wyborze tego konta w transakcji.,
-Chargeable,Odpowedni do pobierania opłaty.,
-Rate at which this tax is applied,Stawka przy użyciu której ten podatek jest aplikowany,
-Frozen,Zamrożony,
-"If the account is frozen, entries are allowed to restricted users.","Jeśli konto jest zamrożone, zapisy mogą wykonywać tylko wyznaczone osoby.",
-Balance must be,Bilans powinien wynosić,
-Lft,Lft,
-Rgt,Rgt,
-Old Parent,Stary obiekt nadrzędny,
-Include in gross,Uwzględnij w brutto,
-Auditor,Audytor,
-Accounting Dimension,Wymiar księgowy,
-Dimension Name,Nazwa wymiaru,
-Dimension Defaults,Domyślne wymiary,
-Accounting Dimension Detail,Szczegóły wymiaru księgowości,
-Default Dimension,Domyślny wymiar,
-Mandatory For Balance Sheet,Obowiązkowe dla bilansu,
-Mandatory For Profit and Loss Account,Obowiązkowe dla rachunku zysków i strat,
-Accounting Period,Okres Księgowy,
-Period Name,Nazwa okresu,
-Closed Documents,Zamknięte dokumenty,
-Accounts Settings,Ustawienia Kont,
-Settings for Accounts,Ustawienia Konta,
-Make Accounting Entry For Every Stock Movement,Tworzenie Zapisów Księgowych dla każdej zmiany stanu Magazynu,
-Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Użytkownicy z tą rolą mogą ustawiać zamrożone konta i tworzyć / modyfikować wpisy księgowe dla zamrożonych kont,
-Determine Address Tax Category From,Określ kategorię podatku adresowego od,
-Over Billing Allowance (%),Over Billing Allowance (%),
-Check Supplier Invoice Number Uniqueness,"Sprawdź, czy numer faktury dostawcy jest unikalny",
-Make Payment via Journal Entry,Wykonywanie płatności za pośrednictwem Zapisów Księgowych dziennika,
-Unlink Payment on Cancellation of Invoice,Odłączanie Przedpłata na Anulowanie faktury,
-Book Asset Depreciation Entry Automatically,Automatycznie wprowadź wartość księgowania depozytu księgowego aktywów,
-Automatically Add Taxes and Charges from Item Tax Template,Automatycznie dodawaj podatki i opłaty z szablonu podatku od towarów,
-Automatically Fetch Payment Terms,Automatycznie pobierz warunki płatności,
-Show Payment Schedule in Print,Pokaż harmonogram płatności w druku,
-Currency Exchange Settings,Ustawienia wymiany walut,
-Allow Stale Exchange Rates,Zezwalaj na Stałe Kursy walut,
-Stale Days,Stale Dni,
-Report Settings,Ustawienia raportu,
-Use Custom Cash Flow Format,Użyj niestandardowego formatu przepływu środków pieniężnych,
-Allowed To Transact With,Zezwolono na zawieranie transakcji przy użyciu,
-SWIFT number,Numer swift,
-Branch Code,Kod oddziału,
-Address and Contact,Adres i Kontakt,
-Address HTML,Adres HTML,
-Contact HTML,HTML kontaktu,
-Data Import Configuration,Konfiguracja importu danych,
-Bank Transaction Mapping,Mapowanie transakcji bankowych,
-Plaid Access Token,Token dostępu do kratki,
-Company Account,Konto firmowe,
-Account Subtype,Podtyp konta,
-Is Default Account,Jest kontem domyślnym,
-Is Company Account,Jest kontem firmowym,
-Party Details,Strona Szczegóły,
-Account Details,Szczegóły konta,
-IBAN,IBAN,
-Bank Account No,Nr konta bankowego,
-Integration Details,Szczegóły integracji,
-Integration ID,Identyfikator integracji,
-Last Integration Date,Ostatnia data integracji,
-Change this date manually to setup the next synchronization start date,"Zmień tę datę ręcznie, aby ustawić następną datę rozpoczęcia synchronizacji",
-Mask,Maska,
-Bank Account Subtype,Podtyp konta bankowego,
-Bank Account Type,Typ konta bankowego,
-Bank Guarantee,Gwarancja bankowa,
-Bank Guarantee Type,Rodzaj gwarancji bankowej,
-Receiving,Odbieranie,
-Providing,Że,
-Reference Document Name,Nazwa dokumentu referencyjnego,
-Validity in Days,Ważność w dniach,
-Bank Account Info,Informacje o koncie bankowym,
-Clauses and Conditions,Klauzule i warunki,
-Other Details,Inne szczegóły,
-Bank Guarantee Number,Numer Gwarancji Bankowej,
-Name of Beneficiary,Imię beneficjenta,
-Margin Money,Marża pieniężna,
-Charges Incurred,Naliczone opłaty,
-Fixed Deposit Number,Naprawiono numer depozytu,
-Account Currency,Waluta konta,
-Select the Bank Account to reconcile.,Wybierz konto bankowe do uzgodnienia.,
-Include Reconciled Entries,Dołącz uzgodnione wpisy,
-Get Payment Entries,Uzyskaj Wpisy płatności,
-Payment Entries,Wpisy płatności,
-Update Clearance Date,Aktualizacja daty rozliczenia,
-Bank Reconciliation Detail,Uzgodnienia z wyciągiem bankowym - szczegóły,
-Cheque Number,Numer czeku,
-Cheque Date,Data czeku,
-Statement Header Mapping,Mapowanie nagłówków instrukcji,
-Statement Headers,Nagłówki instrukcji,
-Transaction Data Mapping,Mapowanie danych transakcji,
-Mapped Items,Zmapowane elementy,
-Bank Statement Settings Item,Ustawienia wyciągu bankowego Pozycja,
-Mapped Header,Mapowany nagłówek,
-Bank Header,Nagłówek banku,
-Bank Statement Transaction Entry,Wpis transakcji z wyciągu bankowego,
-Bank Transaction Entries,Wpisy transakcji bankowych,
-New Transactions,Nowe transakcje,
-Match Transaction to Invoices,Dopasuj transakcję do faktur,
-Create New Payment/Journal Entry,Utwórz nową pozycję płatności / księgowania,
-Submit/Reconcile Payments,Wpisz/Uzgodnij płatności,
-Matching Invoices,Dopasowanie faktur,
-Payment Invoice Items,Faktury z płatności,
-Reconciled Transactions,Uzgodnione transakcje,
-Bank Statement Transaction Invoice Item,Wyciąg z rachunku bankowego,
-Payment Description,Opis płatności,
-Invoice Date,Data faktury,
-invoice,faktura,
-Bank Statement Transaction Payment Item,Wyciąg z transakcji bankowych,
-outstanding_amount,pozostająca kwota,
-Payment Reference,Referencje płatności,
-Bank Statement Transaction Settings Item,Ustawienia transakcji bankowych Pozycja,
-Bank Data,Dane bankowe,
-Mapped Data Type,Zmapowany typ danych,
-Mapped Data,Zmapowane dane,
-Bank Transaction,Transakcja bankowa,
-ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
-Transaction ID,Identyfikator transakcji,
-Unallocated Amount,Kwota nieprzydzielone,
-Field in Bank Transaction,Pole w transakcji bankowej,
-Column in Bank File,Kolumna w pliku banku,
-Bank Transaction Payments,Płatności transakcji bankowych,
-Control Action,Działanie kontrolne,
-Applicable on Material Request,Obowiązuje na wniosek materiałowy,
-Action if Annual Budget Exceeded on MR,"Działanie, jeśli budżet roczny przekroczy MR",
-Warn,Ostrzeż,
-Ignore,Ignoruj,
-Action if Accumulated Monthly Budget Exceeded on MR,"Działanie, jeżeli skumulowany budżet miesięczny przekroczył MR",
-Applicable on Purchase Order,Obowiązuje w przypadku zamówienia zakupu,
-Action if Annual Budget Exceeded on PO,"Działanie, jeśli budżet roczny został przekroczony dla zamówienia",
-Action if Accumulated Monthly Budget Exceeded on PO,"Działanie, jeśli skumulowany miesięczny budżet został przekroczony dla zamówienia",
-Applicable on booking actual expenses,Obowiązuje przy rezerwacji rzeczywistych wydatków,
-Action if Annual Budget Exceeded on Actual,"Działanie, jeśli budżet roczny przekroczyłby rzeczywisty",
-Action if Accumulated Monthly Budget Exceeded on Actual,"Działanie, jeżeli skumulowany budżet miesięczny przekroczył rzeczywisty",
-Budget Accounts,Rachunki ekonomiczne,
-Budget Account,Budżet Konta,
-Budget Amount,budżet Kwota,
-ACC-CF-.YYYY.-,ACC-CF-.RRRR.-,
-Received Date,Data Otrzymania,
-Quarter,Kwartał,
-I,ja,
-II,II,
-III,III,
-IV,IV,
-Invoice No,Nr faktury,
-Cash Flow Mapper,Mapper przepływu gotówki,
-Section Name,Nazwa sekcji,
-Section Header,Nagłówek sekcji,
-Section Leader,Kierownik sekcji,
-e.g Adjustments for:,np. korekty dla:,
-Section Subtotal,Podsuma sekcji,
-Section Footer,Sekcja stopki,
-Position,Pozycja,
-Cash Flow Mapping,Mapowanie przepływów pieniężnych,
-Select Maximum Of 1,Wybierz Maksimum 1,
-Is Finance Cost,Koszt finansowy,
-Is Working Capital,Jest kapitałem obrotowym,
-Is Finance Cost Adjustment,Czy korekta kosztów finansowych,
-Is Income Tax Liability,Jest odpowiedzialnością z tytułu podatku dochodowego,
-Is Income Tax Expense,Jest kosztem podatku dochodowego,
-Cash Flow Mapping Accounts,Konta mapowania przepływów pieniężnych,
-account,Konto,
-Cash Flow Mapping Template,Szablon mapowania przepływów pieniężnych,
-Cash Flow Mapping Template Details,Szczegóły szablonu mapowania przepływu gotówki,
-POS-CLO-,POS-CLO-,
-Custody,Opieka,
-Net Amount,Kwota netto,
-Cashier Closing Payments,Kasjer Zamykanie płatności,
-Chart of Accounts Importer,Importer planu kont,
-Import Chart of Accounts from a csv file,Importuj plan kont z pliku csv,
-Attach custom Chart of Accounts file,Dołącz niestandardowy plik planu kont,
-Chart Preview,Podgląd wykresu,
-Chart Tree,Drzewo wykresów,
-Cheque Print Template,Sprawdź Szablon druku,
-Has Print Format,Ma format wydruku,
-Primary Settings,Ustawienia podstawowe,
-Cheque Size,Czek Rozmiar,
-Regular,Regularny,
-Starting position from top edge,stanowisko od górnej krawędzi Zaczynając,
-Cheque Width,Czek Szerokość,
-Cheque Height,Czek Wysokość,
-Scanned Cheque,zeskanowanych Czek,
-Is Account Payable,Czy Account Payable,
-Distance from top edge,Odległość od górnej krawędzi,
-Distance from left edge,Odległość od lewej krawędzi,
-Message to show,Wiadomość pokazać,
-Date Settings,Data Ustawienia,
-Starting location from left edge,Zaczynając od lewej krawędzi lokalizację,
-Payer Settings,Ustawienia płatnik,
-Width of amount in word,Szerokość kwoty w słowie,
-Line spacing for amount in words,Odstępy między wierszami dla kwoty w słowach,
-Amount In Figure,Kwota Na rysunku,
-Signatory Position,Sygnatariusz Pozycja,
-Closed Document,Zamknięty dokument,
-Track separate Income and Expense for product verticals or divisions.,Śledź oddzielnie przychody i koszty dla branż produktowych lub oddziałów.,
-Cost Center Name,Nazwa Centrum Kosztów,
-Parent Cost Center,Nadrzędny dział kalkulacji kosztów,
-lft,lft,
-rgt,rgt,
-Coupon Code,Kod kuponu,
-Coupon Name,Nazwa kuponu,
-"e.g. ""Summer Holiday 2019 Offer 20""",np. „Oferta na wakacje 2019 r. 20”,
-Coupon Type,Rodzaj kuponu,
-Promotional,Promocyjny,
-Gift Card,Karta podarunkowa,
-unique e.g. SAVE20  To be used to get discount,unikatowy np. SAVE20 Do wykorzystania w celu uzyskania rabatu,
-Validity and Usage,Ważność i użycie,
-Valid From,Ważne od,
-Valid Upto,Valid Upto,
-Maximum Use,Maksymalne wykorzystanie,
-Used,Używany,
-Coupon Description,Opis kuponu,
-Discounted Invoice,Zniżka na fakturze,
-Debit to,Obciąż do,
-Exchange Rate Revaluation,Przeszacowanie kursu wymiany,
-Get Entries,Uzyskaj wpisy,
-Exchange Rate Revaluation Account,Rachunek przeszacowania kursu wymiany,
-Total Gain/Loss,Całkowity wzrost / strata,
-Balance In Account Currency,Waluta konta w walucie,
-Current Exchange Rate,Aktualny kurs wymiany,
-Balance In Base Currency,Saldo w walucie podstawowej,
-New Exchange Rate,Nowy kurs wymiany,
-New Balance In Base Currency,Nowe saldo w walucie podstawowej,
-Gain/Loss,Zysk / strata,
-**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Rok finansowy** reprezentuje rok finansowy. Wszystkie zapisy księgowe oraz inne znaczące transakcje są śledzone przed ** roku podatkowego **.,
-Year Name,Nazwa roku,
-"For e.g. 2012, 2012-13","np. 2012, 2012-13",
-Year Start Date,Data początku roku,
-Year End Date,Data końca roku,
-Companies,Firmy,
-Auto Created,Automatycznie utworzone,
-Stock User,Użytkownik magazynu,
-Fiscal Year Company,Rok podatkowy firmy,
-Debit Amount,Kwota Debit,
-Credit Amount,Kwota kredytu,
-Debit Amount in Account Currency,Kwota debetową w walucie rachunku,
-Credit Amount in Account Currency,Kwota kredytu w walucie rachunku,
-Voucher Detail No,Nr Szczegółu Bonu,
-Is Opening,Otwiera się,
-Is Advance,Zaawansowany proces,
-To Rename,Aby zmienić nazwę,
-GST Account,Konto GST,
-CGST Account,Konto CGST,
-SGST Account,Konto SGST,
-IGST Account,Konto IGST,
-CESS Account,Konto CESS,
-Loan Start Date,Data rozpoczęcia pożyczki,
-Loan Period (Days),Okres pożyczki (dni),
-Loan End Date,Data zakończenia pożyczki,
-Bank Charges,Opłaty bankowe,
-Short Term Loan Account,Konto pożyczki krótkoterminowej,
-Bank Charges Account,Rachunek opłat bankowych,
-Accounts Receivable Credit Account,Rachunek kredytowy należności,
-Accounts Receivable Discounted Account,Konto z rabatem należności,
-Accounts Receivable Unpaid Account,Niezapłacone konto należności,
-Item Tax Template,Szablon podatku od towarów,
-Tax Rates,Wysokość podatków,
-Item Tax Template Detail,Szczegóły szablonu podatku od towarów,
-Entry Type,Rodzaj wpisu,
-Inter Company Journal Entry,Dziennik firmy Inter Company,
-Bank Entry,Operacja bankowa,
-Cash Entry,Wpis gotówkowy,
-Credit Card Entry,Karta kredytowa,
-Contra Entry,Odpis aktualizujący,
-Excise Entry,Akcyza Wejścia,
-Write Off Entry,Odpis,
-Opening Entry,Wpis początkowy,
-ACC-JV-.YYYY.-,ACC-JV-.RRRR.-,
-Accounting Entries,Zapisy księgowe,
-Total Debit,Całkowita kwota debetu,
-Total Credit,Całkowita kwota kredytu,
-Difference (Dr - Cr),Różnica (Dr - Cr),
-Make Difference Entry,Wprowadź różnicę,
-Total Amount Currency,Suma Waluta Kwota,
-Total Amount in Words,Wartość całkowita słownie,
-Remark,Uwaga,
-Paid Loan,Płatna pożyczka,
-Inter Company Journal Entry Reference,Wpis w dzienniku firmy Inter Company,
-Write Off Based On,Odpis bazowano na,
-Get Outstanding Invoices,Uzyskaj zaległą fakturę,
-Write Off Amount,Kwota odpisu,
-Printing Settings,Ustawienia drukowania,
-Pay To / Recd From,Zapłać / Rachunek od,
-Payment Order,Zlecenie płatnicze,
-Subscription Section,Sekcja subskrypcji,
-Journal Entry Account,Konto zapisu,
-Account Balance,Bilans konta,
-Party Balance,Bilans Grupy,
-Accounting Dimensions,Wymiary księgowe,
-If Income or Expense,Jeśli przychód lub koszt,
-Exchange Rate,Kurs wymiany,
-Debit in Company Currency,Debet w firmie Waluta,
-Credit in Company Currency,Kredyt w walucie Spółki,
-Payroll Entry,Wpis o płace,
-Employee Advance,Advance pracownika,
-Reference Due Date,Referencyjny termin płatności,
-Loyalty Program Tier,Poziom programu lojalnościowego,
-Redeem Against,Zrealizuj przeciw,
-Expiry Date,Data ważności,
-Loyalty Point Entry Redemption,Punkt wejścia do punktu lojalnościowego,
-Redemption Date,Data wykupu,
-Redeemed Points,Wykorzystane punkty,
-Loyalty Program Name,Nazwa programu lojalnościowego,
-Loyalty Program Type,Typ programu lojalnościowego,
-Single Tier Program,Program dla jednego poziomu,
-Multiple Tier Program,Program wielopoziomowy,
-Customer Territory,Terytorium klienta,
-Auto Opt In (For all customers),Automatyczne optowanie (dla wszystkich klientów),
-Collection Tier,Poziom kolekcji,
-Collection Rules,Zasady zbierania,
-Redemption,Odkupienie,
-Conversion Factor,Współczynnik konwersji,
-1 Loyalty Points = How much base currency?,1 punkty lojalnościowe = ile waluty bazowej?,
-Expiry Duration (in days),Okres ważności (w dniach),
-Help Section,Sekcja pomocy,
-Loyalty Program Help,Pomoc programu lojalnościowego,
-Loyalty Program Collection,Kolekcja programu lojalnościowego,
-Tier Name,Nazwa warstwy,
-Minimum Total Spent,Minimalna łączna kwota wydana,
-Collection Factor (=1 LP),Współczynnik zbierania (= 1 LP),
-For how much spent = 1 Loyalty Point,Za ile zużytego = 1 punkt lojalnościowy,
-Mode of Payment Account,Konto księgowe dla tego rodzaju płatności,
-Default Account,Domyślne konto,
-Default account will be automatically updated in POS Invoice when this mode is selected.,Domyślne konto zostanie automatycznie zaktualizowane na fakturze POS po wybraniu tego trybu.,
-**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,"** Miesięczna Dystrybucja ** pomaga rozłożyć budżet/cel w miesiącach, jeśli masz okresowość w firmie.",
-Distribution Name,Nazwa Dystrybucji,
-Name of the Monthly Distribution,Nazwa dystrybucji miesięcznej,
-Monthly Distribution Percentages,Miesięczne Procenty Dystrybucja,
-Monthly Distribution Percentage,Miesięczny rozkład procentowy,
-Percentage Allocation,Przydział Procentowy,
-Create Missing Party,Utwórz brakującą imprezę,
-Create missing customer or supplier.,Utwórz brakującego klienta lub dostawcę.,
-Opening Invoice Creation Tool Item,Otwieranie narzędzia tworzenia faktury,
-Temporary Opening Account,Tymczasowe konto otwarcia,
-Party Account,Konto Grupy,
-Type of Payment,Rodzaj płatności,
-ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
-Receive,Odbierać,
-Internal Transfer,Transfer wewnętrzny,
-Payment Order Status,Status zlecenia płatniczego,
-Payment Ordered,Płatność zamówiona,
-Payment From / To,Płatność Od / Do,
-Company Bank Account,Konto bankowe firmy,
-Party Bank Account,Party Bank Account,
-Account Paid From,Konto do płatności,
-Account Paid To,Konto do zapłaty,
-Paid Amount (Company Currency),Zapłacona kwota (waluta firmy),
-Received Amount,Kwota otrzymana,
-Received Amount (Company Currency),Otrzymaną kwotą (Spółka waluty),
-Get Outstanding Invoice,Uzyskaj wyjątkową fakturę,
-Payment References,Odniesienia płatności,
-Writeoff,Writeoff,
-Total Allocated Amount,Łączna kwota przyznanego wsparcia,
-Total Allocated Amount (Company Currency),Łączna kwota przyznanego wsparcia (Spółka waluty),
-Set Exchange Gain / Loss,Ustaw Exchange Zysk / strata,
-Difference Amount (Company Currency),Różnica Kwota (waluta firmy),
-Write Off Difference Amount,Różnica Kwota odpisuje,
-Deductions or Loss,Odliczenia lub strata,
-Payment Deductions or Loss,Odliczenia płatności lub strata,
-Cheque/Reference Date,Czek / Reference Data,
-Payment Entry Deduction,Płatność Wejście Odliczenie,
-Payment Entry Reference,Wejście Płatność referencyjny,
-Allocated,Przydzielone,
-Payment Gateway Account,Płatność konto Brama,
-Payment Account,Konto Płatność,
-Default Payment Request Message,Domyślnie Płatność Zapytanie Wiadomość,
-PMO-,PMO-,
-Payment Order Type,Typ zlecenia płatniczego,
-Payment Order Reference,Referencje dotyczące płatności,
-Bank Account Details,Szczegóły konta bankowego,
-Payment Reconciliation,Uzgodnienie płatności,
-Receivable / Payable Account,Konto Należności / Zobowiązań,
-Bank / Cash Account,Rachunek Bankowy/Kasowy,
-From Invoice Date,Od daty faktury,
-To Invoice Date,Aby Data faktury,
-Minimum Invoice Amount,Minimalna kwota faktury,
-Maximum Invoice Amount,Maksymalna kwota faktury,
-System will fetch all the entries if limit value is zero.,"System pobierze wszystkie wpisy, jeśli wartość graniczna wynosi zero.",
-Get Unreconciled Entries,Pobierz Wpisy nieuzgodnione,
-Unreconciled Payment Details,Szczegóły płatności nieuzgodnione,
-Invoice/Journal Entry Details,Szczegóły Faktury / Wpisu dziennika,
-Payment Reconciliation Invoice,Płatność Wyrównawcza Faktury,
-Invoice Number,Numer faktury,
-Payment Reconciliation Payment,Płatność Wyrównawcza Płatności,
-Reference Row,Odniesienie Row,
-Allocated amount,Przyznana kwota,
-Payment Request Type,Typ żądania płatności,
-Outward,Zewnętrzny,
-Inward,Wewnętrzny,
-ACC-PRQ-.YYYY.-,ACC-PRQ-.RRRR.-,
-Transaction Details,szczegóły transakcji,
-Amount in customer's currency,Kwota w walucie klienta,
-Is a Subscription,Jest subskrypcją,
-Transaction Currency,walucie transakcji,
-Subscription Plans,Plany subskrypcji,
-SWIFT Number,Numer SWIFT,
-Recipient Message And Payment Details,Odbiorca wiadomości i szczegóły płatności,
-Make Sales Invoice,Nowa faktura sprzedaży,
-Mute Email,Wyciszenie email,
-payment_url,payment_url,
-Payment Gateway Details,Payment Gateway Szczegóły,
-Payment Schedule,Harmonogram płatności,
-Invoice Portion,Fragment faktury,
-Payment Amount,Kwota płatności,
-Payment Term Name,Nazwa terminu płatności,
-Due Date Based On,Termin wykonania oparty na,
-Day(s) after invoice date,Dzień (dni) po dacie faktury,
-Day(s) after the end of the invoice month,Dzień (dni) po zakończeniu miesiąca faktury,
-Month(s) after the end of the invoice month,Miesiąc (y) po zakończeniu miesiąca faktury,
-Credit Months,Miesiące kredytowe,
-Allocate Payment Based On Payment Terms,Przydziel płatność na podstawie warunków płatności,
-"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Jeśli to pole wyboru jest zaznaczone, zapłacona kwota zostanie podzielona i przydzielona zgodnie z kwotami w harmonogramie płatności dla każdego terminu płatności",
-Payment Terms Template Detail,Warunki płatności Szczegóły szablonu,
-Closing Fiscal Year,Zamknięcie roku fiskalnego,
-"The account head under Liability or Equity, in which Profit/Loss will be booked","Głowica konto ramach odpowiedzialności lub kapitałowe, w których zysk / strata będzie zarezerwowane",
-POS Customer Group,POS Grupa klientów,
-POS Field,Pole POS,
-POS Item Group,POS Pozycja Grupy,
-Company Address,adres spółki,
-Update Stock,Aktualizuj Stan,
-Ignore Pricing Rule,Ignoruj zasadę ustalania cen,
-Applicable for Users,Dotyczy użytkowników,
-Sales Invoice Payment,Faktura sprzedaży Płatność,
-Item Groups,Pozycja Grupy,
-Only show Items from these Item Groups,Pokazuj tylko przedmioty z tych grup przedmiotów,
-Customer Groups,Grupy klientów,
-Only show Customer of these Customer Groups,Pokazuj tylko klientów tych grup klientów,
-Write Off Account,Konto Odpisu,
-Write Off Cost Center,Centrum Kosztów Odpisu,
-Account for Change Amount,Konto dla zmiany kwoty,
-Taxes and Charges,Podatki i opłaty,
-Apply Discount On,Zastosuj RABAT,
-POS Profile User,Użytkownik profilu POS,
-Apply On,Zastosuj Na,
-Price or Product Discount,Rabat na cenę lub produkt,
-Apply Rule On Item Code,Zastosuj regułę do kodu towaru,
-Apply Rule On Item Group,Zastosuj regułę dla grupy pozycji,
-Apply Rule On Brand,Zastosuj regułę do marki,
-Mixed Conditions,Warunki mieszane,
-Conditions will be applied on all the selected items combined. ,Warunki zostaną zastosowane do wszystkich wybranych elementów łącznie.,
-Is Cumulative,Jest kumulatywny,
-Coupon Code Based,Na podstawie kodu kuponu,
-Discount on Other Item,Rabat na inny przedmiot,
-Apply Rule On Other,Zastosuj regułę do innych,
-Party Information,Informacje o imprezie,
-Quantity and Amount,Ilość i kwota,
-Min Qty,Min. ilość,
-Max Qty,Maks. Ilość,
-Min Amt,Min Amt,
-Max Amt,Max Amt,
-Period Settings,Ustawienia okresu,
-Margin Type,margines Rodzaj,
-Margin Rate or Amount,Margines szybkości lub wielkości,
-Price Discount Scheme,System rabatów cenowych,
-Rate or Discount,Stawka lub zniżka,
-Discount Percentage,Procent zniżki,
-Discount Amount,Wartość zniżki,
-For Price List,Dla Listy Cen,
-Product Discount Scheme,Program rabatów na produkty,
-Same Item,Ten sam przedmiot,
-Free Item,Bezpłatny przedmiot,
-Threshold for Suggestion,Próg dla sugestii,
-System will notify to increase or decrease quantity or amount ,System powiadomi o zwiększeniu lub zmniejszeniu ilości lub ilości,
-"Higher the number, higher the priority","Im wyższa liczba, wyższy priorytet",
-Apply Multiple Pricing Rules,Zastosuj wiele zasad ustalania cen,
-Apply Discount on Rate,Zastosuj zniżkę na stawkę,
-Validate Applied Rule,Sprawdź poprawność zastosowanej reguły,
-Rule Description,Opis reguły,
-Pricing Rule Help,Pomoc dotycząca ustalania cen,
-Promotional Scheme Id,Program promocyjny Id,
-Promotional Scheme,Program promocyjny,
-Pricing Rule Brand,Zasady ustalania ceny marki,
-Pricing Rule Detail,Szczegóły reguły cenowej,
-Child Docname,Nazwa dziecka,
-Rule Applied,Stosowana reguła,
-Pricing Rule Item Code,Kod pozycji reguły cenowej,
-Pricing Rule Item Group,Grupa pozycji Reguły cenowe,
-Price Discount Slabs,Płyty z rabatem cenowym,
-Promotional Scheme Price Discount,Zniżka cenowa programu promocyjnego,
-Product Discount Slabs,Płyty z rabatem na produkty,
-Promotional Scheme Product Discount,Rabat na program promocyjny,
-Min Amount,Min. Kwota,
-Max Amount,Maksymalna kwota,
-Discount Type,Typ rabatu,
-ACC-PINV-.YYYY.-,ACC-PINV-.RRRR.-,
-Tax Withholding Category,Kategoria odwrotnego obciążenia,
-Edit Posting Date and Time,Zmodyfikuj datę i czas dokumentu,
-Is Paid,Zapłacone,
-Is Return (Debit Note),Jest zwrotem (nota debetowa),
-Apply Tax Withholding Amount,Zastosuj kwotę podatku u źródła,
-Accounting Dimensions ,Wymiary księgowe,
-Supplier Invoice Details,Dostawca Szczegóły faktury,
-Supplier Invoice Date,Data faktury dostawcy,
-Return Against Purchase Invoice,Powrót Against dowodu zakupu,
-Select Supplier Address,Wybierz adres dostawcy,
-Contact Person,Osoba kontaktowa,
-Select Shipping Address,Wybierz adres dostawy,
-Currency and Price List,Waluta i cennik,
-Price List Currency,Waluta cennika,
-Price List Exchange Rate,Cennik Kursowy,
-Set Accepted Warehouse,Ustaw przyjęty magazyn,
-Rejected Warehouse,Odrzucony Magazyn,
-Warehouse where you are maintaining stock of rejected items,Magazyn w którym zarządzasz odrzuconymi przedmiotami,
-Raw Materials Supplied,Dostarczone surowce,
-Supplier Warehouse,Magazyn dostawcy,
-Pricing Rules,Zasady ustalania cen,
-Supplied Items,Dostarczone przedmioty,
-Total (Company Currency),Razem (Spółka Waluta),
-Net Total (Company Currency),Łączna wartość netto (waluta firmy),
-Total Net Weight,Całkowita waga netto,
-Shipping Rule,Zasada dostawy,
-Purchase Taxes and Charges Template,Szablon podatków i opłat związanych z zakupami,
-Purchase Taxes and Charges,Podatki i opłaty kupna,
-Tax Breakup,Podział podatków,
-Taxes and Charges Calculation,Obliczanie podatków i opłat,
-Taxes and Charges Added (Company Currency),Dodano podatki i opłaty (Firmowe),
-Taxes and Charges Deducted (Company Currency),Podatki i opłaty potrącone (Firmowe),
-Total Taxes and Charges (Company Currency),Łączna kwota podatków i opłat (wg Firmy),
-Taxes and Charges Added,Dodano podatki i opłaty,
-Taxes and Charges Deducted,Podatki i opłaty potrącenia,
-Total Taxes and Charges,Łączna kwota podatków i opłat,
-Additional Discount,Dodatkowe Zniżki,
-Apply Additional Discount On,Zastosuj dodatkowe zniżki na,
-Additional Discount Amount (Company Currency),Dodatkowa kwota rabatu (waluta firmy),
-Additional Discount Percentage,Dodatkowy procent rabatu,
-Additional Discount Amount,Dodatkowa kwota rabatu,
-Grand Total (Company Currency),Całkowita suma (w walucie firmy),
-Rounding Adjustment (Company Currency),Korekta zaokrąglenia (waluta firmy),
-Rounded Total (Company Currency),Końcowa zaokrąglona kwota (waluta firmy),
-In Words (Company Currency),Słownie,
-Rounding Adjustment,Dopasowanie zaokrąglania,
-In Words,Słownie,
-Total Advance,Całość zaliczka,
-Disable Rounded Total,Wyłącz Zaokrąglanie Sumy,
-Cash/Bank Account,Konto Gotówka / Bank,
-Write Off Amount (Company Currency),Kwota Odpisu (Waluta Firmy),
-Set Advances and Allocate (FIFO),Ustaw Advances and Allocate (FIFO),
-Get Advances Paid,Uzyskaj opłacone zaliczki,
-Advances,Zaliczki,
-Terms,Warunki,
-Terms and Conditions1,Warunki1,
-Group same items,Grupa same pozycje,
-Print Language,Język drukowania,
-"Once set, this invoice will be on hold till the set date",Po ustawieniu faktura ta będzie zawieszona do wyznaczonej daty,
-Credit To,Kredytowane konto (Ma),
-Party Account Currency,Partia konto Waluta,
-Against Expense Account,Konto wydatków,
-Inter Company Invoice Reference,Numer referencyjny faktury firmy,
-Is Internal Supplier,Dostawca wewnętrzny,
-Start date of current invoice's period,Początek okresu rozliczeniowego dla faktury,
-End date of current invoice's period,Data zakończenia okresu bieżącej faktury,
-Update Auto Repeat Reference,Zaktualizuj Auto Repeat Reference,
-Purchase Invoice Advance,Wyślij Fakturę Zaliczkową / Proformę,
-Purchase Invoice Item,Przedmiot Faktury Zakupu,
-Quantity and Rate,Ilość i Wskaźnik,
-Received Qty,Otrzymana ilość,
-Accepted Qty,Akceptowana ilość,
-Rejected Qty,odrzucony szt,
-UOM Conversion Factor,Współczynnik konwersji jednostki miary,
-Discount on Price List Rate (%),Zniżka Cennik Oceń (%),
-Price List Rate (Company Currency),Wartość w cenniku (waluta firmy),
-Rate ,Stawka,
-Rate (Company Currency),Stawka (waluta firmy),
-Amount (Company Currency),Kwota (Waluta firmy),
-Is Free Item,Jest darmowym przedmiotem,
-Net Rate,Cena netto,
-Net Rate (Company Currency),Cena netto (Spółka Waluta),
-Net Amount (Company Currency),Kwota netto (Waluta Spółki),
-Item Tax Amount Included in Value,Pozycja Kwota podatku zawarta w wartości,
-Landed Cost Voucher Amount,Kwota Kosztu Voucheru,
-Raw Materials Supplied Cost,Koszt dostarczonych surowców,
-Accepted Warehouse,Przyjęty magazyn,
-Serial No,Nr seryjny,
-Rejected Serial No,Odrzucony Nr Seryjny,
-Expense Head,Szef Wydatków,
-Is Fixed Asset,Czy trwałego,
-Asset Location,Lokalizacja zasobów,
-Deferred Expense,Odroczony koszt,
-Deferred Expense Account,Rachunek odroczonego obciążenia,
-Service Stop Date,Data zatrzymania usługi,
-Enable Deferred Expense,Włącz odroczony koszt,
-Service Start Date,Data rozpoczęcia usługi,
-Service End Date,Data zakończenia usługi,
-Allow Zero Valuation Rate,Zezwalaj na zerową wartość wyceny,
-Item Tax Rate,Stawka podatku dla tej pozycji,
-Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Podatki pobierane z tabeli szczegółów mistrza poz jako ciąg znaków i przechowywane w tej dziedzinie.\n Służy do podatkach i opłatach,
-Purchase Order Item,Przedmiot Zamówienia Kupna,
-Purchase Receipt Detail,Szczegóły zakupu paragonu,
-Item Weight Details,Szczegóły dotyczące wagi przedmiotu,
-Weight Per Unit,Waga na jednostkę,
-Total Weight,Waga całkowita,
-Weight UOM,Waga jednostkowa,
-Page Break,Znak końca strony,
-Consider Tax or Charge for,Rozwać Podatek albo Opłatę za,
-Valuation and Total,Wycena i kwota całkowita,
-Valuation,Wycena,
-Add or Deduct,Dodatki lub Potrącenia,
-Deduct,Odlicz,
-On Item Quantity,Na ilość przedmiotu,
-Reference Row #,Rząd Odniesienia #,
-Is this Tax included in Basic Rate?,Czy podatek wliczony jest w opłaty?,
-"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Jeśli zaznaczone, kwota podatku zostanie wliczona w cenie Drukuj Cenę / Drukuj Podsumowanie",
-Account Head,Konto główne,
-Tax Amount After Discount Amount,Kwota podatku po odliczeniu wysokości rabatu,
-Item Wise Tax Detail ,Mądre informacje podatkowe dotyczące przedmiotu,
-"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.","Standardowy szablon podatek, który może być stosowany do wszystkich transakcji kupna. Ten szablon może zawierać listę szefów podatkowych, a także innych głów wydatków jak ""Żegluga"", ""Ubezpieczenia"", ""Obsługa"" itp \n\n #### Uwaga \n\n stawki podatku zdefiniować tutaj będzie standardowa stawka podatku w odniesieniu do wszystkich pozycji ** **. Jeśli istnieją ** Pozycje **, które mają różne ceny, muszą być dodane w podatku od towaru ** ** tabeli w poz ** ** mistrza.\n\n #### Opis Kolumny \n\n 1. Obliczenie Typ: \n i - może to być na całkowita ** ** (to jest suma ilości wyjściowej).\n - ** Na Poprzedni Row Całkowita / Kwota ** (dla skumulowanych podatków lub opłat). Jeśli wybierzesz tę opcję, podatek będzie stosowana jako procent poprzedniego rzędu (w tabeli podatkowej) kwoty lub łącznie.\n - ** Rzeczywista ** (jak wspomniano).\n 2. Szef konta: księga konto, na którym podatek ten zostanie zaksięgowany \n 3. Centrum koszt: Jeżeli podatek / opłata jest dochód (jak wysyłką) lub kosztów musi zostać zaliczony na centrum kosztów.\n 4. Opis: Opis podatków (które będą drukowane w faktur / cudzysłowów).\n 5. Cena: Stawka podatku.\n 6. Kwota: Kwota podatku.\n 7. Razem: Zbiorcza sumie do tego punktu.\n 8. Wprowadź Row: Jeśli na podstawie ""Razem poprzedniego wiersza"" można wybrać numer wiersza, które będą brane jako baza do tego obliczenia (domyślnie jest to poprzednia wiersz).\n 9. Zastanów podatek lub opłatę za: W tej sekcji można określić, czy podatek / opłata jest tylko dla wyceny (nie jest częścią całości) lub tylko dla całości (nie dodaje wartości do elementu) lub oba.\n 10. Dodać lub odjąć: Czy chcesz dodać lub odjąć podatek.",
-Salary Component Account,Konto Wynagrodzenie Komponent,
-Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Domyślne konto bank / bankomat zostanie automatycznie zaktualizowana wynagrodzenia Journal Entry po wybraniu tego trybu.,
-ACC-SINV-.YYYY.-,ACC-SINV-.RRRR.-,
-Include Payment (POS),Obejmują płatności (POS),
-Offline POS Name,Offline POS Nazwa,
-Is Return (Credit Note),Jest zwrot (nota kredytowa),
-Return Against Sales Invoice,Powrót Against faktury sprzedaży,
-Update Billed Amount in Sales Order,Zaktualizuj kwotę rozliczenia w zleceniu sprzedaży,
-Customer PO Details,Szczegóły zamówienia klienta,
-Customer's Purchase Order,Klienta Zamówienia,
-Customer's Purchase Order Date,Data Zamówienia Zakupu Klienta,
-Customer Address,Adres klienta,
-Shipping Address Name,Adres do wysyłki Nazwa,
-Company Address Name,Nazwa firmy,
-Rate at which Customer Currency is converted to customer's base currency,Stawka przy użyciu której Waluta Klienta jest konwertowana do podstawowej waluty klienta,
-Rate at which Price list currency is converted to customer's base currency,Stawka przy użyciu której waluta Listy Cen jest konwertowana do podstawowej waluty klienta,
-Set Source Warehouse,Ustaw magazyn źródłowy,
-Packing List,Lista przedmiotów do spakowania,
-Packed Items,Przedmioty pakowane,
-Product Bundle Help,Produkt Bundle Pomoc,
-Time Sheet List,Czas Lista Sheet,
-Time Sheets,arkusze czasu,
-Total Billing Amount,Łączna kwota płatności,
-Sales Taxes and Charges Template,Podatki od sprzedaży i opłaty Szablon,
-Sales Taxes and Charges,Podatki i Opłaty od Sprzedaży,
-Loyalty Points Redemption,Odkupienie punktów lojalnościowych,
-Redeem Loyalty Points,Wykorzystaj punkty lojalnościowe,
-Redemption Account,Rachunek wykupu,
-Redemption Cost Center,Centrum kosztów odkupienia,
-In Words will be visible once you save the Sales Invoice.,"Słownie, będzie widoczne w fakturze sprzedaży, po zapisaniu",
-Allocate Advances Automatically (FIFO),Automatycznie przydzielaj zaliczki (FIFO),
-Get Advances Received,Uzyskaj otrzymane zaliczki,
-Base Change Amount (Company Currency),Kwota bazowa Change (Spółka waluty),
-Write Off Outstanding Amount,Nieuregulowana Wartość Odpisu,
-Terms and Conditions Details,Szczegóły regulaminu,
-Is Internal Customer,Jest klientem wewnętrznym,
-Is Discounted,Jest dyskontowany,
-Unpaid and Discounted,Nieopłacone i zniżki,
-Overdue and Discounted,Zaległe i zdyskontowane,
-Accounting Details,Dane księgowe,
-Debit To,Debetowane Konto (Winien),
-Commission Rate (%),Wartość prowizji (%),
-Sales Team1,Team Sprzedażowy1,
-Against Income Account,Konto przychodów,
-Sales Invoice Advance,Faktura Zaliczkowa,
-Advance amount,Kwota Zaliczki,
-Sales Invoice Item,Przedmiot Faktury Sprzedaży,
-Customer's Item Code,Kod Przedmiotu Klienta,
-Brand Name,Nazwa Marki,
-Qty as per Stock UOM,Ilość wg. Jednostki Miary,
-Discount and Margin,Rabat i marży,
-Rate With Margin,Rate With Margin,
-Discount (%) on Price List Rate with Margin,Zniżka (%) w Tabeli Cen Ceny z Marginesem,
-Rate With Margin (Company Currency),Stawka z depozytem zabezpieczającym (waluta spółki),
-Delivered By Supplier,Dostarczane przez Dostawcę,
-Deferred Revenue,Odroczone przychody,
-Deferred Revenue Account,Konto odroczonego przychodu,
-Enable Deferred Revenue,Włącz odroczone przychody,
-Stock Details,Zdjęcie Szczegóły,
-Customer Warehouse (Optional),Magazyn klienta (opcjonalnie),
-Available Batch Qty at Warehouse,Dostępne w Warehouse partii Ilość,
-Available Qty at Warehouse,Ilość dostępna w magazynie,
-Delivery Note Item,Przedmiot z dowodu dostawy,
-Base Amount (Company Currency),Kwota bazowa (Waluta firmy),
-Sales Invoice Timesheet,Faktura sprzedaży grafiku,
-Time Sheet,Czas Sheet,
-Billing Hours,Godziny billingowe,
-Timesheet Detail,Szczegółowy grafik,
-Tax Amount After Discount Amount (Company Currency),Kwota podatku po uwzględnieniu rabatu (waluta firmy),
-Parenttype,Typ Nadrzędności,
-"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.","Standardowy szablon podatek, który może być stosowany do wszystkich transakcji sprzedaży. Ten szablon może zawierać listę szefów podatkowych, a także innych głów koszty / dochodów jak ""Żegluga"", ""Ubezpieczenia"", ""Obsługa"" itp \n\n #### Uwaga \n\n Stopa Ciebie podatku definiujemy tu będzie standardowa stawka podatku w odniesieniu do wszystkich pozycji ** **. Jeśli istnieją ** Pozycje **, które mają różne ceny, muszą być dodane w podatku od towaru ** ** tabeli w poz ** ** mistrza.\n\n #### Opis Kolumny \n\n 1. Obliczenie Typ: \n i - może to być na całkowita ** ** (to jest suma ilości wyjściowej).\n - ** Na Poprzedni Row Całkowita / Kwota ** (dla skumulowanych podatków lub opłat). Jeśli wybierzesz tę opcję, podatek będzie stosowana jako procent poprzedniego rzędu (w tabeli podatkowej) kwoty lub łącznie.\n - ** Rzeczywista ** (jak wspomniano).\n 2. Szef konta: księga konto, na którym podatek ten zostanie zaksięgowany \n 3. Centrum koszt: Jeżeli podatek / opłata jest dochód (jak wysyłką) lub kosztów musi zostać zaliczony na centrum kosztów.\n 4. Opis: Opis podatków (które będą drukowane w faktur / cudzysłowów).\n 5. Cena: Stawka podatku.\n 6. Kwota: Kwota podatku.\n 7. Razem: Zbiorcza sumie do tego punktu.\n 8. Wprowadź Row: Jeśli na podstawie ""Razem poprzedniego wiersza"" można wybrać numer wiersza, które będą brane jako baza do tego obliczenia (domyślnie jest to poprzednia wiersz).\n 9. Czy to podatki zawarte w podstawowej stawki ?: Jeśli to sprawdzić, oznacza to, że podatek ten nie będzie wyświetlany pod tabelą pozycji, ale będą włączone do stawki podstawowej w głównej tabeli poz. Jest to przydatne, gdy chcesz dać cenę mieszkania (z uwzględnieniem wszystkich podatków) cenę do klientów.",
-* Will be calculated in the transaction.,* Zostanie policzony dla transakcji.,
-From No,Od Nie,
-To No,Do Nie,
-Is Company,Czy firma,
-Current State,Stan aktulany,
-Purchased,Zakupione,
-From Shareholder,Od Akcjonariusza,
-From Folio No,Z Folio nr,
-To Shareholder,Do Akcjonariusza,
-To Folio No,Do Folio Nie,
-Equity/Liability Account,Rachunek akcyjny / zobowiązanie,
-Asset Account,Konto aktywów,
-(including),(włącznie z),
-ACC-SH-.YYYY.-,ACC-SH-.RRRR.-,
-Folio no.,Numer folio,
-Address and Contacts,Adres i kontakty,
-Contact List,Lista kontaktów,
-Hidden list maintaining the list of contacts linked to Shareholder,Ukryta lista z listą kontaktów powiązanych z Akcjonariuszem,
-Specify conditions to calculate shipping amount,Określ warunki do obliczenia kwoty wysyłki,
-Shipping Rule Label,Etykieta z zasadami wysyłki i transportu,
-example: Next Day Shipping,przykład: Wysyłka następnego dnia,
-Shipping Rule Type,Typ reguły wysyłki,
-Shipping Account,Konto dostawy,
-Calculate Based On,Obliczone na podstawie,
-Fixed,Naprawiony,
-Net Weight,Waga netto,
-Shipping Amount,Ilość dostawy,
-Shipping Rule Conditions,Warunki zasady dostawy,
-Restrict to Countries,Ogranicz do krajów,
-Valid for Countries,Ważny dla krajów,
-Shipping Rule Condition,Warunek zasady dostawy,
-A condition for a Shipping Rule,Warunki wysyłki,
-From Value,Od wartości,
-To Value,Określ wartość,
-Shipping Rule Country,Zasada Wysyłka Kraj,
-Subscription Period,Okres subskrypcji,
-Subscription Start Date,Data rozpoczęcia subskrypcji,
-Cancelation Date,Data Anulowania,
-Trial Period Start Date,Data rozpoczęcia okresu próbnego,
-Trial Period End Date,Termin zakończenia okresu próbnego,
-Current Invoice Start Date,Aktualna data rozpoczęcia faktury,
-Current Invoice End Date,Aktualna data zakończenia faktury,
-Days Until Due,Dni do końca,
-Number of days that the subscriber has to pay invoices generated by this subscription,"Liczba dni, w których subskrybent musi płacić faktury wygenerowane w ramach tej subskrypcji",
-Cancel At End Of Period,Anuluj na koniec okresu,
-Generate Invoice At Beginning Of Period,Wygeneruj fakturę na początku okresu,
-Plans,Plany,
-Discounts,Rabaty,
-Additional DIscount Percentage,Dodatkowy rabat procentowy,
-Additional DIscount Amount,Kwota dodatkowego rabatu,
-Subscription Invoice,Faktura subskrypcyjna,
-Subscription Plan,Abonament abonamentowy,
-Cost,Koszt,
-Billing Interval,Okres rozliczeniowy,
-Billing Interval Count,Liczba interwałów rozliczeń,
-"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","Liczba interwałów dla pola interwałowego, np. Jeśli Interwał to &quot;Dni&quot;, a liczba interwałów rozliczeń to 3, faktury będą generowane co 3 dni",
-Payment Plan,Plan płatności,
-Subscription Plan Detail,Szczegóły abonamentu,
-Plan,Plan,
-Subscription Settings,Ustawienia subskrypcji,
-Grace Period,Okres łaski,
-Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Liczba dni po dacie faktury upłynęła przed anulowaniem subskrypcji lub oznaczenia subskrypcji jako niepłatne,
-Prorate,Prorate,
-Tax Rule,Reguła podatkowa,
-Tax Type,Rodzaj podatku,
-Use for Shopping Cart,Służy do koszyka,
-Billing City,Rozliczenia Miasto,
-Billing County,Powiat,
-Billing State,Stan Billing,
-Billing Zipcode,Kod pocztowy do rozliczeń,
-Billing Country,Kraj fakturowania,
-Shipping City,Wysyłka Miasto,
-Shipping County,Dostawa County,
-Shipping State,Stan zakupu,
-Shipping Zipcode,Kod pocztowy wysyłki,
-Shipping Country,Wysyłka Kraj,
-Tax Withholding Account,Rachunek potrącenia podatku u źródła,
-Tax Withholding Rates,Podatki potrącane u źródła,
-Rates,Stawki,
-Tax Withholding Rate,Podatek u źródła,
-Single Transaction Threshold,Próg pojedynczej transakcji,
-Cumulative Transaction Threshold,Skumulowany próg transakcji,
-Agriculture Analysis Criteria,Kryteria analizy rolnictwa,
-Linked Doctype,Połączony Doctype,
-Water Analysis,Analiza wody,
-Soil Analysis,Analiza gleby,
-Plant Analysis,Analiza roślin,
-Fertilizer,Nawóz,
-Soil Texture,Tekstura gleby,
-Weather,Pogoda,
-Agriculture Manager,Dyrektor ds. Rolnictwa,
-Agriculture User,Użytkownik rolnictwa,
-Agriculture Task,Zadanie rolnicze,
-Task Name,Nazwa zadania,
-Start Day,Rozpocząć dzień,
-End Day,Koniec dnia,
-Holiday Management,Zarządzanie wakacjami,
-Ignore holidays,Ignoruj święta,
-Previous Business Day,Poprzedni dzień roboczy,
-Next Business Day,Następny dzień roboczy,
-Urgent,Pilne,
-Crop,Przyciąć,
-Crop Name,Nazwa uprawy,
-Scientific Name,Nazwa naukowa,
-"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.. ","Możesz tu zdefiniować wszystkie zadania, które należy wykonać dla tego zbioru. Pole dnia jest używane do wskazania dnia, w którym należy wykonać zadanie, 1 oznacza pierwszy dzień itd.",
-Crop Spacing,Odstępy między plamami,
-Crop Spacing UOM,Odstępy między plamami UOM,
-Row Spacing,Rozstaw wierszy,
-Row Spacing UOM,Rozstaw rzędów UOM,
-Perennial,Bylina,
-Biennial,Dwuletni,
-Planting UOM,Sadzenie MOM,
-Planting Area,Obszar sadzenia,
-Yield UOM,Wydajność UOM,
-Materials Required,Wymagane materiały,
-Produced Items,Produkowane przedmioty,
-Produce,Produkować,
-Byproducts,Przez produkty,
-Linked Location,Powiązana lokalizacja,
-A link to all the Locations in which the Crop is growing,"Łącze do wszystkich lokalizacji, w których rośnie uprawa",
-This will be day 1 of the crop cycle,To będzie pierwszy dzień cyklu zbiorów,
-ISO 8601 standard,Norma ISO 8601,
-Cycle Type,Typ cyklu,
-Less than a year,Mniej niż rok,
-The minimum length between each plant in the field for optimum growth,Minimalna długość między każdą rośliną w polu dla optymalnego wzrostu,
-The minimum distance between rows of plants for optimum growth,Minimalna odległość między rzędami roślin dla optymalnego wzrostu,
-Detected Diseases,Wykryto choroby,
-List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,Lista chorób wykrytych na polu. Po wybraniu automatycznie doda listę zadań do radzenia sobie z chorobą,
-Detected Disease,Wykryto chorobę,
-LInked Analysis,Analiza LInked,
-Disease,Choroba,
-Tasks Created,Zadania utworzone,
-Common Name,Nazwa zwyczajowa,
-Treatment Task,Zadanie leczenia,
-Treatment Period,Okres leczenia,
-Fertilizer Name,Nazwa nawozu,
-Density (if liquid),Gęstość (jeśli ciecz),
-Fertilizer Contents,Zawartość nawozu,
-Fertilizer Content,Zawartość nawozu,
-Linked Plant Analysis,Połączona analiza roślin,
-Linked Soil Analysis,Powiązana analiza gleby,
-Linked Soil Texture,Połączona tekstura gleby,
-Collection Datetime,Kolekcja Datetime,
-Laboratory Testing Datetime,Testowanie laboratoryjne Datetime,
-Result Datetime,Wynik Datetime,
-Plant Analysis Criterias,Kryteria analizy roślin,
-Plant Analysis Criteria,Kryteria analizy roślin,
-Minimum Permissible Value,Minimalna dopuszczalna wartość,
-Maximum Permissible Value,Maksymalna dopuszczalna wartość,
-Ca/K,Ca / K,
-Ca/Mg,Ca / Mg,
-Mg/K,Mg / K,
-(Ca+Mg)/K,(Ca + Mg) / K,
-Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
-Soil Analysis Criterias,Kryteria analizy gleby,
-Soil Analysis Criteria,Kryteria analizy gleby,
-Soil Type,Typ gleby,
-Loamy Sand,Piasek gliniasty,
-Sandy Loam,Sandy Loam,
-Loam,Ił,
-Silt Loam,Silt Loam,
-Sandy Clay Loam,Sandy Clay Loam,
-Clay Loam,Clay Loam,
-Silty Clay Loam,Silty Clay Loam,
-Sandy Clay,Sandy Clay,
-Silty Clay,Silty Clay,
-Clay Composition (%),Skład gliny (%),
-Sand Composition (%),Skład piasku (%),
-Silt Composition (%),Skład mułu (%),
-Ternary Plot,Ternary Plot,
-Soil Texture Criteria,Kryteria tekstury gleby,
-Type of Sample,Rodzaj próbki,
-Container,Pojemnik,
-Origin,Pochodzenie,
-Collection Temperature ,Temperatura zbierania,
-Storage Temperature,Temperatura przechowywania,
-Appearance,Wygląd,
-Person Responsible,Osoba odpowiedzialna,
-Water Analysis Criteria,Kryteria analizy wody,
-Weather Parameter,Parametr pogody,
-ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
-Asset Owner,Właściciel zasobu,
-Asset Owner Company,Asset Owner Company,
-Custodian,Kustosz,
-Disposal Date,Utylizacja Data,
-Journal Entry for Scrap,Księgowanie na złom,
-Available-for-use Date,Data przydatności do użycia,
-Calculate Depreciation,Oblicz amortyzację,
-Allow Monthly Depreciation,Zezwalaj na miesięczną amortyzację,
-Number of Depreciations Booked,Ilość amortyzacją zarezerwowano,
-Finance Books,Finanse Książki,
-Straight Line,Linia prosta,
-Double Declining Balance,Podwójne Bilans Spadek,
-Manual,podręcznik,
-Value After Depreciation,Wartość po amortyzacji,
-Total Number of Depreciations,Całkowita liczba amortyzacją,
-Frequency of Depreciation (Months),Częstotliwość Amortyzacja (miesiące),
-Next Depreciation Date,Następny Amortyzacja Data,
-Depreciation Schedule,amortyzacja Harmonogram,
-Depreciation Schedules,Rozkłady amortyzacyjne,
-Insurance details,Szczegóły ubezpieczenia,
-Policy number,Numer polisy,
-Insurer,Ubezpieczający,
-Insured value,Wartość ubezpieczenia,
-Insurance Start Date,Data rozpoczęcia ubezpieczenia,
-Insurance End Date,Data zakończenia ubezpieczenia,
-Comprehensive Insurance,Kompleksowe ubezpieczenie,
-Maintenance Required,Wymagane czynności konserwacyjne,
-Check if Asset requires Preventive Maintenance or Calibration,"Sprawdź, czy Zasób wymaga konserwacji profilaktycznej lub kalibracji",
-Booked Fixed Asset,Zarezerwowany środek trwały,
-Purchase Receipt Amount,Kup kwotę odbioru,
-Default Finance Book,Domyślna księga finansowa,
-Quality Manager,Manager Jakości,
-Asset Category Name,Zaleta Nazwa kategorii,
-Depreciation Options,Opcje amortyzacji,
-Enable Capital Work in Progress Accounting,Włącz rachunkowość kapitału w toku,
-Finance Book Detail,Finanse Książka szczegółów,
-Asset Category Account,Konto Aktywów Kategoria,
-Fixed Asset Account,Konto trwałego,
-Accumulated Depreciation Account,Skumulowana Amortyzacja konta,
-Depreciation Expense Account,Konto amortyzacji wydatków,
-Capital Work In Progress Account,Kapitałowe konto w toku,
-Asset Finance Book,Książka o finansach aktywów,
-Written Down Value,Zapisana wartość,
-Expected Value After Useful Life,Przewidywany okres użytkowania wartości po,
-Rate of Depreciation,Stopa amortyzacji,
-In Percentage,W procentach,
-Maintenance Team,Zespół serwisowy,
-Maintenance Manager Name,Nazwa menedżera konserwacji,
-Maintenance Tasks,Zadania konserwacji,
-Manufacturing User,Produkcja użytkownika,
-Asset Maintenance Log,Dziennik konserwacji zasobów,
-ACC-AML-.YYYY.-,ACC-AML-.RRRR.-,
-Maintenance Type,Typ Konserwacji,
-Maintenance Status,Status Konserwacji,
-Planned,Zaplanowany,
-Has Certificate ,Posiada certyfikat,
-Certificate,Certyfikat,
-Actions performed,Wykonane akcje,
-Asset Maintenance Task,Zadanie utrzymania aktywów,
-Maintenance Task,Zadanie konserwacji,
-Preventive Maintenance,Konserwacja zapobiegawcza,
-Calibration,Kalibrowanie,
-2 Yearly,2 Rocznie,
-Certificate Required,Wymagany certyfikat,
-Assign to Name,Przypisz do nazwy,
-Next Due Date,Następna data płatności,
-Last Completion Date,Ostatnia data ukończenia,
-Asset Maintenance Team,Zespół ds. Utrzymania aktywów,
-Maintenance Team Name,Nazwa zespołu obsługi technicznej,
-Maintenance Team Members,Członkowie zespołu ds. Konserwacji,
-Purpose,Cel,
-Stock Manager,Kierownik magazynu,
-Asset Movement Item,Element ruchu zasobu,
-Source Location,Lokalizacja źródła,
-From Employee,Od pracownika,
-Target Location,Docelowa lokalizacja,
-To Employee,Do pracownika,
-Asset Repair,Naprawa aktywów,
-ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
-Failure Date,Data awarii,
-Assign To Name,Przypisywanie do nazwy,
-Repair Status,Status naprawy,
-Error Description,Opis błędu,
-Downtime,Przestój,
-Repair Cost,koszty naprawy,
-Manufacturing Manager,Kierownik Produkcji,
-Current Asset Value,Aktualna wartość aktywów,
-New Asset Value,Nowa wartość aktywów,
-Make Depreciation Entry,Bądź Amortyzacja Entry,
-Finance Book Id,Identyfikator książki finansowej,
-Location Name,Nazwa lokalizacji,
-Parent Location,Lokalizacja rodzica,
-Is Container,To kontener,
-Check if it is a hydroponic unit,"Sprawdź, czy to jednostka hydroponiczna",
-Location Details,Szczegóły lokalizacji,
-Latitude,Szerokość,
-Longitude,Długość geograficzna,
-Area,Powierzchnia,
-Area UOM,Obszar UOM,
-Tree Details,drzewo Szczegóły,
-Maintenance Team Member,Członek zespołu ds. Konserwacji,
-Team Member,Członek zespołu,
-Maintenance Role,Rola konserwacji,
-Buying Settings,Ustawienia zakupów,
-Settings for Buying Module,Ustawienia Zakup modułu,
-Supplier Naming By,Po nazwie dostawcy,
-Default Supplier Group,Domyślna grupa dostawców,
-Default Buying Price List,Domyślny cennik dla zakupów,
-Backflush Raw Materials of Subcontract Based On,Rozliczenie wsteczne materiałów podwykonawstwa,
-Material Transferred for Subcontract,Materiał przekazany do podwykonawstwa,
-Over Transfer Allowance (%),Nadwyżka limitu transferu (%),
-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.,"Procent, który możesz przekazać więcej w stosunku do zamówionej ilości. Na przykład: jeśli zamówiłeś 100 jednostek. a Twój zasiłek wynosi 10%, możesz przenieść 110 jednostek.",
-PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
-Get Items from Open Material Requests,Elementy z żądań Otwórz Materiał,
-Fetch items based on Default Supplier.,Pobierz elementy na podstawie domyślnego dostawcy.,
-Required By,Wymagane przez,
-Order Confirmation No,Potwierdzenie nr,
-Order Confirmation Date,Zamów datę potwierdzenia,
-Customer Mobile No,Komórka klienta Nie,
-Customer Contact Email,Kontakt z klientem e-mail,
-Set Target Warehouse,Ustaw magazyn docelowy,
-Sets 'Warehouse' in each row of the Items table.,Ustawia „Magazyn” w każdym wierszu tabeli Towary.,
-Supply Raw Materials,Zaopatrzenia w surowce,
-Purchase Order Pricing Rule,Reguła cenowa zamówienia zakupu,
-Set Reserve Warehouse,Ustaw Rezerwuj magazyn,
-In Words will be visible once you save the Purchase Order.,Słownie będzie widoczna w Zamówieniu po zapisaniu,
-Advance Paid,Zaliczka,
-Tracking,Śledzenie,
-% Billed,% rozliczonych,
-% Received,% Otrzymanych,
-Ref SQ,Ref SQ,
-Inter Company Order Reference,Informacje o zamówieniach między firmami,
-Supplier Part Number,Numer katalogowy dostawcy,
-Billed Amt,Rozliczona Ilość,
-Warehouse and Reference,Magazyn i punkt odniesienia,
-To be delivered to customer,Być dostarczone do klienta,
-Against Blanket Order,Przeciw Kocowi,
-Blanket Order,Formularz zamówienia,
-Blanket Order Rate,Ogólny koszt zamówienia,
-Returned Qty,Wrócił szt,
-Purchase Order Item Supplied,Dostarczony przedmiot zamówienia,
-BOM Detail No,BOM Numer,
-Stock Uom,Jednostka,
-Raw Material Item Code,Kod surowca,
-Supplied Qty,Dostarczane szt,
-Purchase Receipt Item Supplied,Rachunek Kupna Zaopatrzenia,
-Current Stock,Bieżący asortyment,
-PUR-RFQ-.YYYY.-,PUR-RFQ-.RRRR.-,
-For individual supplier,Dla indywidualnego dostawcy,
-Link to Material Requests,Link do żądań materiałów,
-Message for Supplier,Wiadomość dla dostawcy,
-Request for Quotation Item,Przedmiot zapytania ofertowego,
-Required Date,Data wymagana,
-Request for Quotation Supplier,Zapytanie ofertowe do dostawcy,
-Send Email,Wyślij E-mail,
-Quote Status,Status statusu,
-Download PDF,Pobierz PDF,
-Supplier of Goods or Services.,Dostawca towarów lub usług.,
-Name and Type,Nazwa i typ,
-SUP-.YYYY.-,SUP-.RRRR.-,
-Default Bank Account,Domyślne konto bankowe,
-Is Transporter,Dostarcza we własnym zakresie,
-Represents Company,Reprezentuje firmę,
-Supplier Type,Typ dostawcy,
-Allow Purchase Invoice Creation Without Purchase Order,Zezwalaj na tworzenie faktur zakupu bez zamówienia zakupu,
-Allow Purchase Invoice Creation Without Purchase Receipt,Zezwalaj na tworzenie faktur zakupu bez pokwitowania zakupu,
-Warn RFQs,Informuj o złożonych zapytaniach ofertowych,
-Warn POs,Informuj o złożonych zamówieniach,
-Prevent RFQs,Zapobiegaj złożeniu zapytania ofertowego,
-Prevent POs,Zapobiegaj złożeniu zamówienia,
-Billing Currency,Waluta rozliczenia,
-Default Payment Terms Template,Domyślny szablon warunków płatności,
-Block Supplier,Blokuj dostawcę,
-Hold Type,Hold Type,
-Leave blank if the Supplier is blocked indefinitely,"Pozostaw puste, jeśli dostawca jest blokowany na czas nieokreślony",
-Default Payable Accounts,Domyślne konta Rozrachunki z dostawcami,
-Mention if non-standard payable account,"Wspomnij, jeśli nietypowe konto płatne",
-Default Tax Withholding Config,Domyślna konfiguracja podatku u źródła,
-Supplier Details,Szczegóły dostawcy,
-Statutory info and other general information about your Supplier,Informacje prawne na temat dostawcy,
-PUR-SQTN-.YYYY.-,PUR-SQTN-.RRRR.-,
-Supplier Address,Adres dostawcy,
-Link to material requests,Link do żądań materialnych,
-Rounding Adjustment (Company Currency,Korekta zaokrągleń (waluta firmy,
-Auto Repeat Section,Sekcja automatycznego powtarzania,
-Is Subcontracted,Czy zlecony,
-Lead Time in days,Czas oczekiwania w dniach,
-Supplier Score,Ocena Dostawcy,
-Indicator Color,Kolor wskaźnika,
-Evaluation Period,Okres próbny,
-Per Week,Na tydzień,
-Per Month,Na miesiąc,
-Per Year,Na rok,
-Scoring Setup,Konfiguracja punktów,
-Weighting Function,Funkcja ważenia,
-"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","Mogą być stosowane zmienne kartoteki, a także: {total_score} (całkowity wynik z tego okresu), {period_number} (liczba okresów na dzień dzisiejszy)",
-Scoring Standings,Zaplanuj miejsca,
-Criteria Setup,Konfiguracja kryteriów,
-Load All Criteria,Załaduj wszystkie kryteria,
-Scoring Criteria,Kryteria oceny,
-Scorecard Actions,Działania kartoteki,
-Warn for new Request for Quotations,Ostrzegaj przed nowym żądaniem ofert,
-Warn for new Purchase Orders,Ostrzegaj o nowych zamówieniach zakupu,
-Notify Supplier,Powiadom o Dostawcy,
-Notify Employee,Powiadom o pracowniku,
-Supplier Scorecard Criteria,Kryteria oceny dostawcy Dostawcy,
-Criteria Name,Kryteria Nazwa,
-Max Score,Maksymalny wynik,
-Criteria Formula,Wzór Kryterium,
-Criteria Weight,Kryteria Waga,
-Supplier Scorecard Period,Okres kartoteki dostawcy,
-PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
-Period Score,Wynik okresu,
-Calculations,Obliczenia,
-Criteria,Kryteria,
-Variables,Zmienne,
-Supplier Scorecard Setup,Ustawienia karty wyników dostawcy,
-Supplier Scorecard Scoring Criteria,Kryteria oceny scoringowej dostawcy,
-Score,Wynik,
-Supplier Scorecard Scoring Standing,Dostawca Scorecard Stanowisko,
-Standing Name,Reputacja,
-Purple,Fioletowy,
-Yellow,Żółty,
-Orange,Pomarańczowy,
-Min Grade,Min. wynik,
-Max Grade,Maks. wynik,
-Warn Purchase Orders,Ostrzegaj Zamówienia Zakupu,
-Prevent Purchase Orders,Zapobiegaj zamówieniom zakupu,
-Employee ,Pracownik,
-Supplier Scorecard Scoring Variable,Dostawca Scorecard Zmienna scoringowa,
-Variable Name,Nazwa zmiennej,
-Parameter Name,Nazwa parametru,
-Supplier Scorecard Standing,Dostawca Scorecard Standing,
-Notify Other,Powiadamiaj inne,
-Supplier Scorecard Variable,Zmienną Scorecard dostawcy,
-Call Log,Rejestr połączeń,
-Received By,Otrzymane przez,
-Caller Information,Informacje o dzwoniącym,
-Contact Name,Nazwa kontaktu,
-Lead ,Prowadzić,
-Lead Name,Nazwa Tropu,
-Ringing,Dzwonienie,
-Missed,Nieodebrane,
-Call Duration in seconds,Czas trwania połączenia w sekundach,
-Recording URL,Adres URL nagrywania,
-Communication Medium,Środki komunikacji,
-Communication Medium Type,Typ medium komunikacyjnego,
-Voice,Głos,
-Catch All,Złap wszystkie,
-"If there is no assigned timeslot, then communication will be handled by this group","Jeśli nie ma przypisanej szczeliny czasowej, komunikacja będzie obsługiwana przez tę grupę",
-Timeslots,Szczeliny czasowe,
-Communication Medium Timeslot,Średni czas komunikacji,
-Employee Group,Grupa pracowników,
-Appointment,Spotkanie,
-Scheduled Time,Zaplanowany czas,
-Unverified,Niesprawdzony,
-Customer Details,Dane Klienta,
-Phone Number,Numer telefonu,
-Skype ID,Nazwa Skype,
-Linked Documents,Powiązane dokumenty,
-Appointment With,Spotkanie z,
-Calendar Event,Wydarzenie z kalendarza,
-Appointment Booking Settings,Ustawienia rezerwacji terminu,
-Enable Appointment Scheduling,Włącz harmonogram spotkań,
-Agent Details,Dane agenta,
-Availability Of Slots,Dostępność automatów,
-Number of Concurrent Appointments,Liczba jednoczesnych spotkań,
-Agents,Agenci,
-Appointment Details,Szczegóły terminu,
-Appointment Duration (In Minutes),Czas trwania spotkania (w minutach),
-Notify Via Email,Powiadom przez e-mail,
-Notify customer and agent via email on the day of the appointment.,Powiadom klienta i agenta za pośrednictwem poczty elektronicznej w dniu spotkania.,
-Number of days appointments can be booked in advance,Liczbę dni można umawiać z wyprzedzeniem,
-Success Settings,Ustawienia sukcesu,
-Success Redirect URL,Sukces Przekierowanie URL,
-"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Pozostaw puste w domu. Jest to względne w stosunku do adresu URL witryny, na przykład „about” przekieruje na „https://yoursitename.com/about”",
-Appointment Booking Slots,Terminy rezerwacji spotkań,
-Day Of Week,Dzień tygodnia,
-From Time ,Od czasu,
-Campaign Email Schedule,Harmonogram e-mailu kampanii,
-Send After (days),Wyślij po (dni),
-Signed,Podpisano,
-Party User,Użytkownik strony,
-Unsigned,Bez podpisu,
-Fulfilment Status,Status realizacji,
-N/A,Nie dotyczy,
-Unfulfilled,Niespełnione,
-Partially Fulfilled,Częściowo zrealizowane,
-Fulfilled,Spełniony,
-Lapsed,Nieaktualne,
-Contract Period,Okres umowy,
-Signee Details,Szczegóły dotyczące Signee,
-Signee,Signee,
-Signed On,Podpisano,
-Contract Details,Szczegóły umowy,
-Contract Template,Szablon umowy,
-Contract Terms,Warunki kontraktu,
-Fulfilment Details,Szczegóły realizacji,
-Requires Fulfilment,Wymaga spełnienia,
-Fulfilment Deadline,Termin realizacji,
-Fulfilment Terms,Warunki realizacji,
-Contract Fulfilment Checklist,Lista kontrolna realizacji kontraktu,
-Requirement,Wymaganie,
-Contract Terms and Conditions,Warunki umowy,
-Fulfilment Terms and Conditions,Spełnienie warunków,
-Contract Template Fulfilment Terms,Warunki realizacji szablonu umowy,
-Email Campaign,Kampania e-mailowa,
-Email Campaign For ,Kampania e-mailowa dla,
-Lead is an Organization,Ołów to organizacja,
-CRM-LEAD-.YYYY.-,CRM-LEAD-.RRRR.-,
-Person Name,Imię i nazwisko osoby,
-Lost Quotation,Przegrana notowań,
-Interested,Jestem zainteresowany,
-Converted,Przekształcono,
-Do Not Contact,Nie Kontaktuj,
-From Customer,Od klienta,
-Campaign Name,Nazwa kampanii,
-Follow Up,Zagryźć,
-Next Contact By,Następny Kontakt Po,
-Next Contact Date,Data Następnego Kontaktu,
-Ends On,Koniec w dniu,
-Address & Contact,Adres i kontakt,
-Mobile No.,Nr tel. Komórkowego,
-Lead Type,Typ Tropu,
-Consultant,Konsultant,
-Market Segment,Segment rynku,
-Industry,Przedsiębiorstwo,
-Request Type,Typ zapytania,
-Product Enquiry,Zapytanie o produkt,
-Request for Information,Prośba o informację,
-Suggestions,Sugestie,
-Blog Subscriber,Subskrybent Bloga,
-LinkedIn Settings,Ustawienia LinkedIn,
-Company ID,identyfikator firmy,
-OAuth Credentials,Poświadczenia OAuth,
-Consumer Key,Klucz klienta,
-Consumer Secret,Sekret konsumenta,
-User Details,Dane użytkownika,
-Person URN,Osoba URN,
-Session Status,Stan sesji,
-Lost Reason Detail,Szczegóły utraconego powodu,
-Opportunity Lost Reason,Możliwość utracona z powodu,
-Potential Sales Deal,Szczegóły potencjalnych sprzedaży,
-CRM-OPP-.YYYY.-,CRM-OPP-.RRRR.-,
-Opportunity From,Szansa od,
-Customer / Lead Name,Nazwa Klienta / Tropu,
-Opportunity Type,Typ szansy,
-Converted By,Przekształcony przez,
-Sales Stage,Etap sprzedaży,
-Lost Reason,Powód straty,
-Expected Closing Date,Oczekiwana data zamknięcia,
-To Discuss,Do omówienia,
-With Items,Z przedmiotami,
-Probability (%),Prawdopodobieństwo (%),
-Contact Info,Dane kontaktowe,
-Customer / Lead Address,Adres Klienta / Tropu,
-Contact Mobile No,Numer komórkowy kontaktu,
-Enter name of campaign if source of enquiry is campaign,Wpisz nazwę przeprowadzanej kampanii jeżeli źródło pytania jest kampanią,
-Opportunity Date,Data szansy,
-Opportunity Item,Przedmiot Szansy,
-Basic Rate,Podstawowy wskaźnik,
-Stage Name,Pseudonim artystyczny,
-Social Media Post,Post w mediach społecznościowych,
-Post Status,Stan publikacji,
-Posted,Wysłano,
-Share On,Podziel się na,
-Twitter,Świergot,
-LinkedIn,LinkedIn,
-Twitter Post Id,Identyfikator posta na Twitterze,
-LinkedIn Post Id,Identyfikator posta na LinkedIn,
-Tweet,Ćwierkać,
-Twitter Settings,Ustawienia Twittera,
-API Secret Key,Tajny klucz API,
-Term Name,Nazwa Term,
-Term Start Date,Termin Data rozpoczęcia,
-Term End Date,Term Data zakończenia,
-Academics User,Studenci,
-Academic Year Name,Nazwa Roku Akademickiego,
-Article,Artykuł,
-LMS User,Użytkownik LMS,
-Assessment Criteria Group,Kryteria oceny grupowej,
-Assessment Group Name,Nazwa grupy Assessment,
-Parent Assessment Group,Rodzic Assesment Group,
-Assessment Name,Nazwa ocena,
-Grading Scale,Skala ocen,
-Examiner,Egzaminator,
-Examiner Name,Nazwa Examiner,
-Supervisor,Kierownik,
-Supervisor Name,Nazwa Supervisor,
-Evaluate,Oceniać,
-Maximum Assessment Score,Maksymalny wynik oceny,
-Assessment Plan Criteria,Kryteria oceny planu,
-Maximum Score,Maksymalna liczba punktów,
-Result,Wynik,
-Total Score,Całkowity wynik,
-Grade,Stopień,
-Assessment Result Detail,Wynik oceny Szczegóły,
-Assessment Result Tool,Wynik oceny Narzędzie,
-Result HTML,wynik HTML,
-Content Activity,Aktywność treści,
-Last Activity ,Ostatnia aktywność,
-Content Question,Pytanie dotyczące treści,
-Question Link,Link do pytania,
-Course Name,Nazwa przedmiotu,
-Topics,Tematy,
-Hero Image,Obraz bohatera,
-Default Grading Scale,Domyślna skala ocen,
-Education Manager,Menedżer edukacji,
-Course Activity,Aktywność na kursie,
-Course Enrollment,Rejestracja kursu,
-Activity Date,Data aktywności,
-Course Assessment Criteria,Kryteria oceny kursu,
-Weightage,Waga/wiek,
-Course Content,Zawartość kursu,
-Quiz,Kartkówka,
-Program Enrollment,Rejestracja w programie,
-Enrollment Date,Data rejestracji,
-Instructor Name,Instruktor Nazwa,
-EDU-CSH-.YYYY.-,EDU-CSH-.RRRR.-,
-Course Scheduling Tool,Oczywiście Narzędzie Scheduling,
-Course Start Date,Data rozpoczęcia kursu,
-To TIme,Do czasu,
-Course End Date,Data zakończenia kursu,
-Course Topic,Temat kursu,
-Topic,Temat,
-Topic Name,Nazwa tematu,
-Education Settings,Ustawienia edukacji,
-Current Academic Year,Obecny Rok Akademicki,
-Current Academic Term,Obecny termin akademicki,
-Attendance Freeze Date,Data zamrożenia obecności,
-Validate Batch for Students in Student Group,Sprawdź partię dla studentów w grupie studentów,
-"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Dla grupy studentów opartej na partiach, partia ucznia zostanie zatwierdzona dla każdego ucznia z wpisu do programu.",
-Validate Enrolled Course for Students in Student Group,Zatwierdzić zapisany kurs dla studentów w grupie studentów,
-"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.",Dla Grupy Studenckiej na Kursie kurs zostanie sprawdzony dla każdego Uczestnika z zapisanych kursów w ramach Rejestracji Programu.,
-Make Academic Term Mandatory,Uczyń okres akademicki obowiązkowym,
-"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Jeśli opcja jest włączona, pole Akademickie oznaczenie będzie obowiązkowe w narzędziu rejestrowania programu.",
-Skip User creation for new Student,Pomiń tworzenie użytkownika dla nowego Studenta,
-"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.","Domyślnie dla każdego nowego Studenta tworzony jest nowy Użytkownik. Jeśli ta opcja jest włączona, żaden nowy Użytkownik nie zostanie utworzony po utworzeniu nowego Studenta.",
-Instructor Records to be created by,"Rekord instruktorski, który zostanie utworzony przez",
-Employee Number,Numer pracownika,
-Fee Category,opłata Kategoria,
-Fee Component,opłata Komponent,
-Fees Category,Opłaty Kategoria,
-Fee Schedule,Harmonogram opłat,
-Fee Structure,Struktura opłat,
-EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
-Fee Creation Status,Status tworzenia licencji,
-In Process,W trakcie,
-Send Payment Request Email,Wyślij e-mail z zapytaniem o płatność,
-Student Category,Student Kategoria,
-Fee Breakup for each student,Podział wynagrodzenia dla każdego ucznia,
-Total Amount per Student,Łączna kwota na jednego studenta,
-Institution,Instytucja,
-Fee Schedule Program,Program planu opłat,
-Student Batch,Batch Student,
-Total Students,Wszystkich studentów,
-Fee Schedule Student Group,Plan zajęć grupy studentów,
-EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
-EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
-Include Payment,Dołącz płatności,
-Send Payment Request,Wyślij żądanie płatności,
-Student Details,Szczegóły Uczniów,
-Student Email,E-mail dla studentów,
-Grading Scale Name,Skala ocen Nazwa,
-Grading Scale Intervals,Odstępy Skala ocen,
-Intervals,przedziały,
-Grading Scale Interval,Skala ocen Interval,
-Grade Code,Kod klasy,
-Threshold,Próg,
-Grade Description,Stopień Opis,
-Guardian,Opiekun,
-Guardian Name,Nazwa Stróża,
-Alternate Number,Alternatywny numer,
-Occupation,Zawód,
-Work Address,Adres miejsca pracy,
-Guardian Of ,Strażnik,
-Students,studenci,
-Guardian Interests,opiekun Zainteresowania,
-Guardian Interest,Strażnik Odsetki,
-Interest,Zainteresowanie,
-Guardian Student,opiekun studenta,
-EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
-Instructor Log,Dziennik instruktora,
-Other details,Pozostałe szczegóły,
-Option,Opcja,
-Is Correct,Jest poprawne,
-Program Name,Nazwa programu,
-Program Abbreviation,Skrót programu,
-Courses,Pola,
-Is Published,Jest opublikowany,
-Allow Self Enroll,Zezwalaj na samodzielne zapisywanie się,
-Is Featured,Jest zawarty,
-Intro Video,Intro Video,
-Program Course,Program kursu,
-School House,school House,
-Boarding Student,Student Wyżywienia,
-Check this if the Student is residing at the Institute's Hostel.,"Sprawdź, czy Student mieszka w Hostelu Instytutu.",
-Walking,Pieszy,
-Institute's Bus,Autobus Instytutu,
-Public Transport,Transport publiczny,
-Self-Driving Vehicle,Samochód osobowy,
-Pick/Drop by Guardian,Pick / Drop przez Guardian,
-Enrolled courses,Zaplanowane kursy,
-Program Enrollment Course,Kurs rekrutacji,
-Program Enrollment Fee,Program Rejestracji Opłata,
-Program Enrollment Tool,Rejestracja w programie Narzędzie,
-Get Students From,Uzyskaj studentów z,
-Student Applicant,Student Wnioskodawca,
-Get Students,Uzyskaj Studentów,
-Enrollment Details,Szczegóły rejestracji,
-New Program,Nowy program,
-New Student Batch,Nowa partia studencka,
-Enroll Students,zapisać studentów,
-New Academic Year,Nowy rok akademicki,
-New Academic Term,Nowy okres akademicki,
-Program Enrollment Tool Student,Rejestracja w programie Narzędzie Student,
-Student Batch Name,Student Batch Nazwa,
-Program Fee,Opłata Program,
-Question,Pytanie,
-Single Correct Answer,Pojedyncza poprawna odpowiedź,
-Multiple Correct Answer,Wielokrotna poprawna odpowiedź,
-Quiz Configuration,Konfiguracja quizu,
-Passing Score,Wynik pozytywny,
-Score out of 100,Wynik na 100,
-Max Attempts,Max Próby,
-Enter 0 to waive limit,"Wprowadź 0, aby zrezygnować z limitu",
-Grading Basis,Podstawa klasyfikacji,
-Latest Highest Score,Najnowszy najwyższy wynik,
-Latest Attempt,Ostatnia próba,
-Quiz Activity,Aktywność Quiz,
-Enrollment,Rekrutacja,
-Pass,Przechodzić,
-Quiz Question,Pytanie do quizu,
-Quiz Result,Wynik testu,
-Selected Option,Wybrana opcja,
-Correct,Poprawny,
-Wrong,Źle,
-Room Name,Nazwa pokoju,
-Room Number,Numer pokoju,
-Seating Capacity,Liczba miejsc,
-House Name,Nazwa domu,
-EDU-STU-.YYYY.-,EDU-STU-.RRRR.-,
-Student Mobile Number,Student Mobile Number,
-Joining Date,Data Dołączenia,
-Blood Group,Grupa Krwi,
-A+,A+,
-A-,A-,
-B+,B +,
-B-,B-,
-O+,O +,
-O-,O-,
-AB+,AB +,
-AB-,AB-,
-Nationality,Narodowość,
-Home Address,Adres domowy,
-Guardian Details,Szczegóły Stróża,
-Guardians,Strażnicy,
-Sibling Details,rodzeństwo Szczegóły,
-Siblings,Rodzeństwo,
-Exit,Wyjście,
-Date of Leaving,Data Pozostawiając,
-Leaving Certificate Number,Pozostawiając numer certyfikatu,
-Reason For Leaving,Powód odejścia,
-Student Admission,Wstęp Student,
-Admission Start Date,Wstęp Data rozpoczęcia,
-Admission End Date,Wstęp Data zakończenia,
-Publish on website,Opublikuj na stronie internetowej,
-Eligibility and Details,Kwalifikowalność i szczegóły,
-Student Admission Program,Studencki program przyjęć,
-Minimum Age,Minimalny wiek,
-Maximum Age,Maksymalny wiek,
-Application Fee,Opłata za zgłoszenie,
-Naming Series (for Student Applicant),Naming Series (dla Studenta Wnioskodawcy),
-LMS Only,Tylko LMS,
-EDU-APP-.YYYY.-,EDU-APP-.RRRR.-,
-Application Status,Status aplikacji,
-Application Date,Data złożenia wniosku,
-Student Attendance Tool,Obecność Student Narzędzie,
-Group Based On,Grupa oparta na,
-Students HTML,studenci HTML,
-Group Based on,Grupa oparta na,
-Student Group Name,Nazwa grupy studentów,
-Max Strength,Maksymalna siła,
-Set 0 for no limit,Ustaw 0 oznacza brak limitu,
-Instructors,instruktorzy,
-Student Group Creation Tool,Narzędzie tworzenia grupy studenta,
-Leave blank if you make students groups per year,"Zostaw puste, jeśli uczysz grupy studentów rocznie",
-Get Courses,Uzyskaj kursy,
-Separate course based Group for every Batch,Oddzielna grupa kursów dla każdej partii,
-Leave unchecked if you don't want to consider batch while making course based groups. ,"Opuść zaznaczenie, jeśli nie chcesz rozważyć partii przy jednoczesnym tworzeniu grup kursów.",
-Student Group Creation Tool Course,Kurs grupy studentów Stworzenie narzędzia,
-Course Code,Kod kursu,
-Student Group Instructor,Instruktor grupy studentów,
-Student Group Student,Student Grupa Student,
-Group Roll Number,Numer grupy,
-Student Guardian,Student Stróża,
-Relation,Relacja,
-Mother,Mama,
-Father,Ojciec,
-Student Language,Student Język,
-Student Leave Application,Student Application Leave,
-Mark as Present,Oznacz jako Present,
-Student Log,Dziennik studenta,
-Academic,Akademicki,
-Achievement,Osiągnięcie,
-Student Report Generation Tool,Narzędzie do generowania raportów uczniów,
-Include All Assessment Group,Uwzględnij całą grupę oceny,
-Show Marks,Pokaż znaczniki,
-Add letterhead,Dodaj papier firmowy,
-Print Section,Sekcja drukowania,
-Total Parents Teacher Meeting,Spotkanie nauczycieli wszystkich rodziców,
-Attended by Parents,Uczestniczyli w nim rodzice,
-Assessment Terms,Warunki oceny,
-Student Sibling,Student Rodzeństwo,
-Studying in Same Institute,Studia w sam instytut,
-NO,NIE,
-YES,Tak,
-Student Siblings,Rodzeństwo studenckie,
-Topic Content,Treść tematu,
-Amazon MWS Settings,Ustawienia Amazon MWS,
-ERPNext Integrations,Integracje ERPNext,
-Enable Amazon,Włącz Amazon,
-MWS Credentials,Poświadczenia MWS,
-Seller ID,ID sprzedawcy,
-AWS Access Key ID,AWS Access Key ID,
-MWS Auth Token,MWh Auth Token,
-Market Place ID,Identyfikator rynku,
-AE,AE,
-AU,AU,
-BR,BR,
-CA,CA,
-CN,CN,
-DE,DE,
-ES,ES,
-FR,FR,
-IN,W,
-JP,JP,
-IT,TO,
-MX,MX,
-UK,Wielka Brytania,
-US,NAS,
-Customer Type,typ klienta,
-Market Place Account Group,Grupa konta rynkowego,
-After Date,Po dacie,
-Amazon will synch data updated after this date,Amazon zsynchronizuje dane zaktualizowane po tej dacie,
-Sync Taxes and Charges,Synchronizuj podatki i opłaty,
-Get financial breakup of Taxes and charges data by Amazon ,Uzyskaj rozpad finansowy danych podatkowych i obciążeń przez Amazon,
-Sync Products,Synchronizuj produkty,
-Always sync your products from Amazon MWS before synching the Orders details,Zawsze synchronizuj swoje produkty z Amazon MWS przed zsynchronizowaniem szczegółów Zamówienia,
-Sync Orders,Synchronizuj zamówienia,
-Click this button to pull your Sales Order data from Amazon MWS.,"Kliknij ten przycisk, aby pobrać dane zamówienia sprzedaży z Amazon MWS.",
-Enable Scheduled Sync,Włącz zaplanowaną synchronizację,
-Check this to enable a scheduled Daily synchronization routine via scheduler,"Zaznacz to ustawienie, aby włączyć zaplanowaną codzienną procedurę synchronizacji za pośrednictwem programu planującego",
-Max Retry Limit,Maksymalny limit ponownych prób,
-Exotel Settings,Ustawienia Exotel,
-Account SID,SID konta,
-API Token,Token API,
-GoCardless Mandate,Upoważnienie GoCardless,
-Mandate,Mandat,
-GoCardless Customer,Klient bez karty,
-GoCardless Settings,Ustawienia bez karty,
-Webhooks Secret,Sekret Webhooks,
-Plaid Settings,Ustawienia Plaid,
-Synchronize all accounts every hour,Synchronizuj wszystkie konta co godzinę,
-Plaid Client ID,Identyfikator klienta w kratkę,
-Plaid Secret,Plaid Secret,
-Plaid Environment,Plaid Environment,
-sandbox,piaskownica,
-development,rozwój,
-production,produkcja,
-QuickBooks Migrator,QuickBooks Migrator,
-Application Settings,Ustawienia aplikacji,
-Token Endpoint,Token Endpoint,
-Scope,Zakres,
-Authorization Settings,Ustawienia autoryzacji,
-Authorization Endpoint,Punkt końcowy autoryzacji,
-Authorization URL,Adres URL autoryzacji,
-Quickbooks Company ID,Quickbooks Identyfikator firmy,
-Company Settings,Ustawienia firmy,
-Default Shipping Account,Domyślne konto wysyłkowe,
-Default Warehouse,Domyślny magazyn,
-Default Cost Center,Domyślne Centrum Kosztów,
-Undeposited Funds Account,Rachunek nierozliczonych funduszy,
-Shopify Log,Shopify Log,
-Request Data,Żądaj danych,
-Shopify Settings,Zmień ustawienia,
-status html,status html,
-Enable Shopify,Włącz Shopify,
-App Type,Typ aplikacji,
-Last Sync Datetime,Ostatnia synchronizacja Datetime,
-Shop URL,URL sklepu,
-eg: frappe.myshopify.com,np .: frappe.myshopify.com,
-Shared secret,Wspólny sekret,
-Webhooks Details,Szczegóły Webhooks,
-Webhooks,Webhooks,
-Customer Settings,Ustawienia klienta,
-Default Customer,Domyślny klient,
-Customer Group will set to selected group while syncing customers from Shopify,Grupa klientów ustawi wybraną grupę podczas synchronizowania klientów z Shopify,
-For Company,Dla firmy,
-Cash Account will used for Sales Invoice creation,Konto gotówkowe zostanie użyte do utworzenia faktury sprzedaży,
-Update Price from Shopify To ERPNext Price List,Zaktualizuj cenę z Shopify To ERPNext Price List,
-Default Warehouse to to create Sales Order and Delivery Note,"Domyślny magazyn, aby utworzyć zamówienie sprzedaży i dostawę",
-Sales Order Series,Seria zamówień sprzedaży,
-Import Delivery Notes from Shopify on Shipment,Importuj notatki dostawy z Shopify w przesyłce,
-Delivery Note Series,Seria notatek dostawy,
-Import Sales Invoice from Shopify if Payment is marked,"Importuj fakturę sprzedaży z Shopify, jeśli płatność została zaznaczona",
-Sales Invoice Series,Seria faktur sprzedaży,
-Shopify Tax Account,Shopify Tax Account,
-Shopify Tax/Shipping Title,Kupuj podatek / tytuł dostawy,
-ERPNext Account,ERPNext Konto,
-Shopify Webhook Detail,Szczegółowe informacje o Shophook,
-Webhook ID,Identyfikator Webhooka,
-Tally Migration,Tally Migration,
-Master Data,Dane podstawowe,
-"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Dane wyeksportowane z Tally, które obejmują plan kont, klientów, dostawców, adresy, towary i jednostki miary",
-Is Master Data Processed,Czy przetwarzane są dane podstawowe,
-Is Master Data Imported,Czy importowane są dane podstawowe,
-Tally Creditors Account,Tally Credit Accounts,
-Creditors Account set in Tally,Konto wierzycieli ustawione w Tally,
-Tally Debtors Account,Rachunek Dłużników Tally,
-Debtors Account set in Tally,Konto dłużników ustawione w Tally,
-Tally Company,Firma Tally,
-Company Name as per Imported Tally Data,Nazwa firmy zgodnie z zaimportowanymi danymi Tally,
-Default UOM,Domyślna jednostka miary,
-UOM in case unspecified in imported data,JM w przypadku nieokreślonego w importowanych danych,
-ERPNext Company,ERPNext Company,
-Your Company set in ERPNext,Twoja firma ustawiona w ERPNext,
-Processed Files,Przetworzone pliki,
-Parties,Strony,
-UOMs,Jednostki miary,
-Vouchers,Kupony,
-Round Off Account,Konto kwot zaokrągleń,
-Day Book Data,Dane książki dziennej,
-Day Book Data exported from Tally that consists of all historic transactions,"Dane księgi dziennej wyeksportowane z Tally, które zawierają wszystkie historyczne transakcje",
-Is Day Book Data Processed,Czy przetwarzane są dane dzienników,
-Is Day Book Data Imported,Importowane są dane dzienników,
-Woocommerce Settings,Ustawienia Woocommerce,
-Enable Sync,Włącz synchronizację,
-Woocommerce Server URL,URL serwera Woocommerce,
-Secret,Sekret,
-API consumer key,Klucz konsumenta API,
-API consumer secret,Tajny klucz klienta API,
-Tax Account,Konto podatkowe,
-Freight and Forwarding Account,Konto spedycyjne i spedycyjne,
-Creation User,Użytkownik tworzenia,
-"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Użytkownik, który będzie używany do tworzenia klientów, towarów i zleceń sprzedaży. Ten użytkownik powinien mieć odpowiednie uprawnienia.",
-"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Ten magazyn będzie używany do tworzenia zamówień sprzedaży. Magazyn zapasowy to „Sklepy”.,
-"The fallback series is ""SO-WOO-"".",Seria awaryjna to „SO-WOO-”.,
-This company will be used to create Sales Orders.,Ta firma będzie używana do tworzenia zamówień sprzedaży.,
-Delivery After (Days),Dostawa po (dni),
-This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Jest to domyślne przesunięcie (dni) dla daty dostawy w zamówieniach sprzedaży. Przesunięcie awaryjne wynosi 7 dni od daty złożenia zamówienia.,
-"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Jest to domyślna jednostka miary używana dla elementów i zamówień sprzedaży. Rezerwowym UOM jest „Nos”.,
-Endpoints,Punkty końcowe,
-Endpoint,Punkt końcowy,
-Antibiotic Name,Nazwa antybiotyku,
-Healthcare Administrator,Administrator Ochrony Zdrowia,
-Laboratory User,Użytkownik Laboratorium,
-Is Inpatient,Jest hospitalizowany,
-Default Duration (In Minutes),Domyślny czas trwania (w minutach),
-Body Part,Część ciała,
-Body Part Link,Link do części ciała,
-HLC-CPR-.YYYY.-,HLC-CPR-.RRRR.-,
-Procedure Template,Szablon procedury,
-Procedure Prescription,Procedura Recepta,
-Service Unit,Jednostka serwisowa,
-Consumables,Materiały eksploatacyjne,
-Consume Stock,Zużyj zapasy,
-Invoice Consumables Separately,Fakturuj oddzielnie materiały eksploatacyjne,
-Consumption Invoiced,Zużycie fakturowane,
-Consumable Total Amount,Łączna ilość materiałów eksploatacyjnych,
-Consumption Details,Szczegóły zużycia,
-Nursing User,Pielęgniarka,
-Clinical Procedure Item,Procedura postępowania klinicznego,
-Invoice Separately as Consumables,Faktura oddzielnie jako materiał eksploatacyjny,
-Transfer Qty,Przenieś ilość,
-Actual Qty (at source/target),Rzeczywista Ilość (u źródła/celu),
-Is Billable,Jest rozliczalny,
-Allow Stock Consumption,Zezwalaj na zużycie zapasów,
-Sample UOM,Przykładowa jednostka miary,
-Collection Details,Szczegóły kolekcji,
-Change In Item,Zmiana w pozycji,
-Codification Table,Tabela kodyfikacji,
-Complaints,Uskarżanie się,
-Dosage Strength,Siła dawkowania,
-Strength,Wytrzymałość,
-Drug Prescription,Na receptę,
-Drug Name / Description,Nazwa / opis leku,
-Dosage,Dawkowanie,
-Dosage by Time Interval,Dawkowanie według przedziału czasu,
-Interval,Interwał,
-Interval UOM,Interwał UOM,
-Hour,Godzina,
-Update Schedule,Zaktualizuj harmonogram,
-Exercise,Ćwiczenie,
-Difficulty Level,Poziom trudności,
-Counts Target,Liczy cel,
-Counts Completed,Liczenie zakończone,
-Assistance Level,Poziom pomocy,
-Active Assist,Aktywna pomoc,
-Exercise Name,Nazwa ćwiczenia,
-Body Parts,Części ciała,
-Exercise Instructions,Instrukcje do ćwiczeń,
-Exercise Video,Ćwiczenia wideo,
-Exercise Steps,Kroki ćwiczeń,
-Steps,Kroki,
-Steps Table,Tabela kroków,
-Exercise Type Step,Krok typu ćwiczenia,
-Max number of visit,Maksymalna liczba wizyt,
-Visited yet,Jeszcze odwiedziłem,
-Reference Appointments,Spotkania referencyjne,
-Valid till,Obowiązuje do,
-Fee Validity Reference,Odniesienie do ważności opłat,
-Basic Details,Podstawowe szczegóły,
-HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
-Mobile,mobilny,
-Phone (R),Telefon (R),
-Phone (Office),Telefon (Biuro),
-Employee and User Details,Dane pracownika i użytkownika,
-Hospital,Szpital,
-Appointments,Terminy,
-Practitioner Schedules,Harmonogramy praktyków,
-Charges,Opłaty,
-Out Patient Consulting Charge,Opłata za konsultacje z pacjentem zewnętrznym,
-Default Currency,Domyślna waluta,
-Healthcare Schedule Time Slot,Schemat czasu opieki zdrowotnej,
-Parent Service Unit,Jednostka usług dla rodziców,
-Service Unit Type,Rodzaj jednostki usługi,
-Allow Appointments,Zezwalaj na spotkania,
-Allow Overlap,Zezwalaj na Nakładanie,
-Inpatient Occupancy,Zajęcia stacjonarne,
-Occupancy Status,Status obłożenia,
-Vacant,Pusty,
-Occupied,Zajęty,
-Item Details,Szczegóły produktu,
-UOM Conversion in Hours,Konwersja UOM w godzinach,
-Rate / UOM,Rate / UOM,
-Change in Item,Zmień pozycję,
-Out Patient Settings,Out Ustawienia pacjenta,
-Patient Name By,Nazwisko pacjenta,
-Patient Name,Imię pacjenta,
-Link Customer to Patient,Połącz klienta z pacjentem,
-"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.","Jeśli zostanie zaznaczone, zostanie utworzony klient, który będzie mapowany na pacjenta. Dla tego klienta powstanie faktury pacjenta. Można również wybrać istniejącego klienta podczas tworzenia pacjenta.",
-Default Medical Code Standard,Domyślny standard kodu medycznego,
-Collect Fee for Patient Registration,Zbierz opłatę za rejestrację pacjenta,
-Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Zaznaczenie tej opcji spowoduje utworzenie nowych pacjentów ze statusem Wyłączony domyślnie i będzie włączone dopiero po zafakturowaniu Opłaty rejestracyjnej.,
-Registration Fee,Opłata za rejestrację,
-Automate Appointment Invoicing,Zautomatyzuj fakturowanie spotkań,
-Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Zarządzaj fakturą Powołania automatycznie przesyłaj i anuluj spotkanie z pacjentem,
-Enable Free Follow-ups,Włącz bezpłatne obserwacje,
-Number of Patient Encounters in Valid Days,Liczba spotkań pacjentów w ważne dni,
-The number of free follow ups (Patient Encounters in valid days) allowed,Dozwolona liczba bezpłatnych obserwacji (spotkań pacjentów w ważnych dniach),
-Valid Number of Days,Ważna liczba dni,
-Time period (Valid number of days) for free consultations,Okres (ważna liczba dni) na bezpłatne konsultacje,
-Default Healthcare Service Items,Domyślne pozycje usług opieki zdrowotnej,
-"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Można skonfigurować pozycje domyślne w celu rozliczenia opłat za konsultacje, pozycji dotyczących zużycia procedur i wizyt szpitalnych",
-Clinical Procedure Consumable Item,Procedura kliniczna Materiały eksploatacyjne,
-Default Accounts,Konta domyślne,
-Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,"Konta z domyślnymi dochodami, które mają być używane, jeśli nie są ustawione w Healthcare Practitioner, aby zarezerwować opłaty za spotkanie.",
-Default receivable accounts to be used to book Appointment charges.,"Domyślne konta należności, które mają być używane do księgowania opłat za spotkanie.",
-Out Patient SMS Alerts,Wypisuj alerty SMS dla pacjentów,
-Patient Registration,Rejestracja pacjenta,
-Registration Message,Wiadomość rejestracyjna,
-Confirmation Message,Wiadomość potwierdzająca,
-Avoid Confirmation,Unikaj Potwierdzenia,
-Do not confirm if appointment is created for the same day,"Nie potwierdzaj, czy spotkanie zostanie utworzone na ten sam dzień",
-Appointment Reminder,Przypomnienie o spotkaniu,
-Reminder Message,Komunikat Przypomnienia,
-Remind Before,Przypomnij wcześniej,
-Laboratory Settings,Ustawienia laboratoryjne,
-Create Lab Test(s) on Sales Invoice Submission,Utwórz testy laboratoryjne podczas przesyłania faktur sprzedaży,
-Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Zaznaczenie tego spowoduje utworzenie testów laboratoryjnych określonych na fakturze sprzedaży podczas przesyłania.,
-Create Sample Collection document for Lab Test,Utwórz dokument pobierania próbek do testu laboratoryjnego,
-Checking this will create a Sample Collection document  every time you create a Lab Test,"Zaznaczenie tego spowoduje utworzenie dokumentu pobierania próbek za każdym razem, gdy utworzysz test laboratoryjny",
-Employee name and designation in print,Nazwisko pracownika i oznaczenie w druku,
-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.,"Zaznacz tę opcję, jeśli chcesz, aby nazwa i oznaczenie pracownika skojarzone z użytkownikiem przesyłającym dokument zostały wydrukowane w raporcie z testu laboratoryjnego.",
-Do not print or email Lab Tests without Approval,Nie drukuj ani nie wysyłaj e-mailem testów laboratoryjnych bez zgody,
-Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Zaznaczenie tego ograniczy drukowanie i wysyłanie pocztą elektroniczną dokumentów testów laboratoryjnych, chyba że mają one status Zatwierdzone.",
-Custom Signature in Print,Podpis niestandardowy w druku,
-Laboratory SMS Alerts,Laboratorium SMS Alerts,
-Result Printed Message,Wynik wydrukowany komunikat,
-Result Emailed Message,Wiadomość e-mail z wynikami,
-Check In,Zameldować się,
-Check Out,Sprawdzić,
-HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
-A Positive,Pozytywny,
-A Negative,Negatywny,
-AB Positive,AB Pozytywne,
-AB Negative,AB Negatywne,
-B Positive,B dodatni,
-B Negative,B Negatywne,
-O Positive,O pozytywne,
-O Negative,O negatywne,
-Date of birth,Data urodzenia,
-Admission Scheduled,Wstęp Zaplanowany,
-Discharge Scheduled,Rozładowanie Zaplanowane,
-Discharged,Rozładowany,
-Admission Schedule Date,Harmonogram przyjęcia,
-Admitted Datetime,Przyjęto Datetime,
-Expected Discharge,Oczekiwany zrzut,
-Discharge Date,Data rozładowania,
-Lab Prescription,Lekarz na receptę,
-Lab Test Name,Nazwa testu laboratoryjnego,
-Test Created,Utworzono test,
-Submitted Date,Zaakceptowana Data,
-Approved Date,Zatwierdzona data,
-Sample ID,Identyfikator wzorcowy,
-Lab Technician,Technik laboratoryjny,
-Report Preference,Preferencje raportu,
-Test Name,Nazwa testu,
-Test Template,Szablon testu,
-Test Group,Grupa testowa,
-Custom Result,Wynik niestandardowy,
-LabTest Approver,Przybliżenie LabTest,
-Add Test,Dodaj test,
-Normal Range,Normalny zakres,
-Result Format,Format wyników,
-Single,Pojedynczy,
-Compound,Złożony,
-Descriptive,Opisowy,
-Grouped,Zgrupowane,
-No Result,Brak wyników,
-This value is updated in the Default Sales Price List.,Ta wartość jest aktualizowana w Domyślnym Cenniku Sprzedaży.,
-Lab Routine,Lab Rutyna,
-Result Value,Wartość wyniku,
-Require Result Value,Wymagaj wartości,
-Normal Test Template,Normalny szablon testu,
-Patient Demographics,Dane demograficzne pacjenta,
-HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
-Middle Name (optional),Drugie imię (opcjonalnie),
-Inpatient Status,Status stacjonarny,
-"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.","Jeśli w Ustawieniach opieki zdrowotnej zaznaczono opcję „Połącz klienta z pacjentem”, a istniejący klient nie zostanie wybrany, zostanie utworzony klient dla tego pacjenta w celu rejestrowania transakcji w module kont.",
-Personal and Social History,Historia osobista i społeczna,
-Marital Status,Stan cywilny,
-Married,Żonaty / Zamężna,
-Divorced,Rozwiedziony,
-Widow,Wdowa,
-Patient Relation,Relacja pacjenta,
-"Allergies, Medical and Surgical History","Alergie, historia medyczna i chirurgiczna",
-Allergies,Alergie,
-Medication,Lek,
-Medical History,Historia medyczna,
-Surgical History,Historia chirurgiczna,
-Risk Factors,Czynniki ryzyka,
-Occupational Hazards and Environmental Factors,Zagrożenia zawodowe i czynniki środowiskowe,
-Other Risk Factors,Inne czynniki ryzyka,
-Patient Details,Szczegóły pacjenta,
-Additional information regarding the patient,Dodatkowe informacje dotyczące pacjenta,
-HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
-Patient Age,Wiek pacjenta,
-Get Prescribed Clinical Procedures,Uzyskaj przepisane procedury kliniczne,
-Therapy,Terapia,
-Get Prescribed Therapies,Uzyskaj przepisane terapie,
-Appointment Datetime,Data spotkania,
-Duration (In Minutes),Czas trwania (w minutach),
-Reference Sales Invoice,Referencyjna faktura sprzedaży,
-More Info,Więcej informacji,
-Referring Practitioner,Polecający praktykujący,
-Reminded,Przypomnij,
-HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
-Assessment Template,Szablon oceny,
-Assessment Datetime,Czas oceny,
-Assessment Description,Opis oceny,
-Assessment Sheet,Arkusz oceny,
-Total Score Obtained,Całkowity wynik uzyskany,
-Scale Min,Skala min,
-Scale Max,Skala Max,
-Patient Assessment Detail,Szczegóły oceny pacjenta,
-Assessment Parameter,Parametr oceny,
-Patient Assessment Parameter,Parametr oceny pacjenta,
-Patient Assessment Sheet,Arkusz oceny pacjenta,
-Patient Assessment Template,Szablon oceny pacjenta,
-Assessment Parameters,Parametry oceny,
-Parameters,Parametry,
-Assessment Scale,Skala oceny,
-Scale Minimum,Minimalna skala,
-Scale Maximum,Skala maksymalna,
-HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
-Encounter Date,Data spotkania,
-Encounter Time,Czas spotkania,
-Encounter Impression,Encounter Impression,
-Symptoms,Objawy,
-In print,W druku,
-Medical Coding,Kodowanie medyczne,
-Procedures,Procedury,
-Therapies,Terapie,
-Review Details,Szczegóły oceny,
-Patient Encounter Diagnosis,Diagnoza spotkania pacjenta,
-Patient Encounter Symptom,Objaw spotkania pacjenta,
-HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
-Attach Medical Record,Dołącz dokumentację medyczną,
-Reference DocType,Odniesienie do DocType,
-Spouse,Małżonka,
-Family,Rodzina,
-Schedule Details,Szczegóły harmonogramu,
-Schedule Name,Nazwa harmonogramu,
-Time Slots,Szczeliny czasowe,
-Practitioner Service Unit Schedule,Harmonogram jednostki służby zdrowia,
-Procedure Name,Nazwa procedury,
-Appointment Booked,Spotkanie zarezerwowane,
-Procedure Created,Procedura Utworzono,
-HLC-SC-.YYYY.-,HLC-SC-.RRRR.-,
-Collected By,Zbierane przez,
-Particulars,Szczegóły,
-Result Component,Komponent wyników,
-HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
-Therapy Plan Details,Szczegóły planu terapii,
-Total Sessions,Całkowita liczba sesji,
-Total Sessions Completed,Całkowita liczba ukończonych sesji,
-Therapy Plan Detail,Szczegóły planu terapii,
-No of Sessions,Liczba sesji,
-Sessions Completed,Sesje zakończone,
-Tele,Tele,
-Exercises,Ćwiczenia,
-Therapy For,Terapia dla,
-Add Exercises,Dodaj ćwiczenia,
-Body Temperature,Temperatura ciała,
-Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Obecność gorączki (temp.&gt; 38,5 ° C / 101,3 ° F lub trwała temperatura&gt; 38 ° C / 100,4 ° F)",
-Heart Rate / Pulse,Częstość tętna / impuls,
-Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Częstość tętna wynosi od 50 do 80 uderzeń na minutę.,
-Respiratory rate,Oddechowy,
-Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normalny zakres referencyjny dla dorosłych wynosi 16-20 oddech / minutę (RCP 2012),
-Tongue,Język,
-Coated,Pokryty,
-Very Coated,Bardzo powlekane,
-Normal,Normalna,
-Furry,Futrzany,
-Cuts,Cięcia,
-Abdomen,Brzuch,
-Bloated,Nadęty,
-Fluid,Płyn,
-Constipated,Mający zaparcie,
-Reflexes,Odruchy,
-Hyper,Hyper,
-Very Hyper,Bardzo Hyper,
-One Sided,Jednostronny,
-Blood Pressure (systolic),Ciśnienie krwi (skurczowe),
-Blood Pressure (diastolic),Ciśnienie krwi (rozkurczowe),
-Blood Pressure,Ciśnienie krwi,
-"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Normalne spoczynkowe ciśnienie krwi u dorosłych wynosi około 120 mmHg skurczowe, a rozkurczowe 80 mmHg, skrócone &quot;120/80 mmHg&quot;",
-Nutrition Values,Wartości odżywcze,
-Height (In Meter),Wysokość (w metrze),
-Weight (In Kilogram),Waga (w kilogramach),
-BMI,BMI,
-Hotel Room,Pokój hotelowy,
-Hotel Room Type,Rodzaj pokoju hotelowego,
-Capacity,Pojemność,
-Extra Bed Capacity,Wydajność dodatkowego łóżka,
-Hotel Manager,Kierownik hotelu,
-Hotel Room Amenity,Udogodnienia w pokoju hotelowym,
-Billable,Rozliczalny,
-Hotel Room Package,Pakiet hotelowy,
-Amenities,Udogodnienia,
-Hotel Room Pricing,Ceny pokoi w hotelu,
-Hotel Room Pricing Item,Cennik pokoi hotelowych,
-Hotel Room Pricing Package,Pakiet cen pokoi hotelowych,
-Hotel Room Reservation,Rezerwacja pokoju hotelowego,
-Guest Name,Imię gościa,
-Late Checkin,Późne zameldowanie,
-Booked,Zarezerwowane,
-Hotel Reservation User,Użytkownik rezerwacji hotelu,
-Hotel Room Reservation Item,Rezerwacja pokoju hotelowego,
-Hotel Settings,Ustawienia hotelu,
-Default Taxes and Charges,Domyślne podatków i opłat,
-Default Invoice Naming Series,Domyślna seria nazewnictwa faktur,
-Additional Salary,Dodatkowe wynagrodzenie,
-HR,HR,
-HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
-Salary Component,Wynagrodzenie Komponent,
-Overwrite Salary Structure Amount,Nadpisz ilość wynagrodzenia,
-Deduct Full Tax on Selected Payroll Date,Odliczenie pełnego podatku od wybranej daty płac,
-Payroll Date,Data płacy,
-Date on which this component is applied,Data zastosowania tego komponentu,
-Salary Slip,Pasek wynagrodzenia,
-Salary Component Type,Typ składnika wynagrodzenia,
-HR User,Kadry - użytkownik,
-Appointment Letter,List z terminem spotkania,
-Job Applicant,Aplikujący o pracę,
-Applicant Name,Imię Aplikanta,
-Appointment Date,Data spotkania,
-Appointment Letter Template,Szablon listu z terminami,
-Body,Ciało,
-Closing Notes,Uwagi końcowe,
-Appointment Letter content,Treść listu z terminem,
-Appraisal,Ocena,
-HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
-Appraisal Template,Szablon oceny,
-For Employee Name,Dla Imienia Pracownika,
-Goals,Cele,
-Total Score (Out of 5),Łączny wynik (w skali do 5),
-"Any other remarks, noteworthy effort that should go in the records.","Wszelkie inne uwagi, zauważyć, że powinien iść nakładu w ewidencji.",
-Appraisal Goal,Cel oceny,
-Key Responsibility Area,Kluczowy obszar obowiązków,
-Weightage (%),Waga/wiek (%),
-Score (0-5),Wynik (0-5),
-Score Earned,Ilość zdobytych punktów,
-Appraisal Template Title,Tytuł szablonu oceny,
-Appraisal Template Goal,Cel szablonu oceny,
-KRA,KRA,
-Key Performance Area,Kluczowy obszar wyników,
-HR-ATT-.YYYY.-,HR-ATT-.RRRR.-,
-On Leave,Na urlopie,
-Work From Home,Praca w domu,
-Leave Application,Wniosek o Nieobecność,
-Attendance Date,Data usługi,
-Attendance Request,Żądanie obecności,
-Late Entry,Późne wejście,
-Early Exit,Wczesne wyjście,
-Half Day Date,Pół Dzień Data,
-On Duty,Na służbie,
-Explanation,Wyjaśnienie,
-Compensatory Leave Request,Wniosek o urlop Wyrównawczy,
-Leave Allocation,Alokacja Nieobecności,
-Worked On Holiday,Pracowałem w wakacje,
-Work From Date,Praca od daty,
-Work End Date,Data zakończenia pracy,
-Email Sent To,Email wysłany do,
-Select Users,Wybierz użytkowników,
-Send Emails At,Wyślij pocztę elektroniczną w,
-Reminder,Przypomnienie,
-Daily Work Summary Group User,Codzienny użytkownik grupy roboczej,
-email,e-mail,
-Parent Department,Departament rodziców,
-Leave Block List,Lista Blokowanych Nieobecności,
-Days for which Holidays are blocked for this department.,Dni kiedy urlop jest zablokowany dla tego departamentu,
-Leave Approver,Zatwierdzający Nieobecność,
-Expense Approver,Osoba zatwierdzająca wydatki,
-Department Approver,Departament zatwierdzający,
-Approver,Osoba zatwierdzająca,
-Required Skills,Wymagane umiejętności,
-Skills,Umiejętności,
-Designation Skill,Umiejętność oznaczania,
-Skill,Umiejętność,
-Driver,Kierowca,
-HR-DRI-.YYYY.-,HR-DRI-.RRRR.-,
-Suspended,Zawieszony,
-Transporter,Transporter,
-Applicable for external driver,Dotyczy zewnętrznego sterownika,
-Cellphone Number,numer telefonu komórkowego,
-License Details,Szczegóły licencji,
-License Number,Numer licencji,
-Issuing Date,Data emisji,
-Driving License Categories,Kategorie prawa jazdy,
-Driving License Category,Kategoria prawa jazdy,
-Fleet Manager,Menedżer floty,
-Driver licence class,Klasa prawa jazdy,
-HR-EMP-,HR-EMP-,
-Employment Type,Typ zatrudnienia,
-Emergency Contact,Kontakt na wypadek nieszczęśliwych wypadków,
-Emergency Contact Name,kontakt do osoby w razie wypadku,
-Emergency Phone,Telefon bezpieczeństwa,
-ERPNext User,ERPNext Użytkownik,
-"System User (login) ID. If set, it will become default for all HR forms.","Użytkownik systemu (login) ID. Jeśli ustawiono, stanie się on domyślnym dla wszystkich formularzy HR",
-Create User Permission,Utwórz uprawnienia użytkownika,
-This will restrict user access to other employee records,To ograniczy dostęp użytkowników do innych rekordów pracowników,
-Joining Details,Łączenie szczegółów,
-Offer Date,Data oferty,
-Confirmation Date,Data potwierdzenia,
-Contract End Date,Data końcowa kontraktu,
-Notice (days),Wymówienie (dni),
-Date Of Retirement,Data przejścia na emeryturę,
-Department and Grade,Wydział i stopień,
-Reports to,Raporty do,
-Attendance and Leave Details,Frekwencja i szczegóły urlopu,
-Leave Policy,Polityka Nieobecności,
-Attendance Device ID (Biometric/RF tag ID),Identyfikator urządzenia obecności (identyfikator biometryczny / RF),
-Applicable Holiday List,Stosowna Lista Urlopów,
-Default Shift,Domyślne przesunięcie,
-Salary Details,Szczegóły wynagrodzeń,
-Salary Mode,Moduł Wynagrodzenia,
-Bank A/C No.,Numer rachunku bankowego,
-Health Insurance,Ubezpieczenie zdrowotne,
-Health Insurance Provider,Dostawca ubezpieczenia zdrowotnego,
-Health Insurance No,Numer ubezpieczenia zdrowotnego,
-Prefered Email,Zalecany email,
-Personal Email,Osobisty E-mail,
-Permanent Address Is,Stały adres to,
-Rented,Wynajęty,
-Owned,Zawłaszczony,
-Permanent Address,Stały adres,
-Prefered Contact Email,Preferowany kontakt e-mail,
-Company Email,Email do firmy,
-Provide Email Address registered in company,Podać adres e-mail zarejestrowany w firmie,
-Current Address Is,Obecny adres to,
-Current Address,Obecny adres,
-Personal Bio,Personal Bio,
-Bio / Cover Letter,Bio / List motywacyjny,
-Short biography for website and other publications.,Krótka notka na stronę i do innych publikacji,
-Passport Number,Numer Paszportu,
-Date of Issue,Data wydania,
-Place of Issue,Miejsce wydania,
-Widowed,Wdowiec / Wdowa,
-Family Background,Tło rodzinne,
-Health Details,Szczegóły Zdrowia,
-"Here you can maintain height, weight, allergies, medical concerns etc","Tutaj wypełnij i przechowaj dane takie jak wzrost, waga, alergie, problemy medyczne itd",
-Educational Qualification,Kwalifikacje edukacyjne,
-Previous Work Experience,Poprzednie doświadczenie zawodowe,
-External Work History,Historia Zewnętrzna Pracy,
-History In Company,Historia Firmy,
-Internal Work History,Wewnętrzne Historia Pracuj,
-Resignation Letter Date,Data wypowiedzenia,
-Relieving Date,Data zwolnienia,
-Reason for Leaving,Powód odejścia,
-Leave Encashed?,"Jesteś pewien, że chcesz wyjść z Wykupinych?",
-Encashment Date,Data Inkaso,
-New Workplace,Nowe Miejsce Pracy,
-HR-EAD-.YYYY.-,HR-EAD-.RRRR.-,
-Returned Amount,Zwrócona kwota,
-Claimed,Roszczenie,
-Advance Account,Rachunek zaawansowany,
-Employee Attendance Tool,Narzędzie Frekwencji,
-Unmarked Attendance,Obecność nieoznaczona,
-Employees HTML,Pracownicy HTML,
-Marked Attendance,Zaznaczona Obecność,
-Marked Attendance HTML,Zaznaczona Obecność HTML,
-Employee Benefit Application,Świadczenie pracownicze,
-Max Benefits (Yearly),Maksymalne korzyści (rocznie),
-Remaining Benefits (Yearly),Pozostałe korzyści (rocznie),
-Payroll Period,Okres płacy,
-Benefits Applied,Korzyści zastosowane,
-Dispensed Amount (Pro-rated),Dawka dodana (zaszeregowana),
-Employee Benefit Application Detail,Szczegóły zastosowania świadczeń pracowniczych,
-Earning Component,Zarabianie na komponent,
-Pay Against Benefit Claim,Zapłać na poczet zasiłku,
-Max Benefit Amount,Kwota maksymalnego świadczenia,
-Employee Benefit Claim,Świadczenie pracownicze,
-Claim Date,Data roszczenia,
-Benefit Type and Amount,Rodzaj świadczenia i kwota,
-Claim Benefit For,Zasiłek roszczenia dla,
-Max Amount Eligible,Maksymalna kwota kwalifikująca się,
-Expense Proof,Dowód wydatków,
-Employee Boarding Activity,Działalność Boarding pracownika,
-Activity Name,Nazwa działania,
-Task Weight,Zadanie waga,
-Required for Employee Creation,Wymagany w przypadku tworzenia pracowników,
-Applicable in the case of Employee Onboarding,Ma zastosowanie w przypadku wprowadzenia pracownika na rynek,
-Employee Checkin,Checkin pracownika,
-Log Type,Typ dziennika,
-OUT,NA ZEWNĄTRZ,
-Location / Device ID,Lokalizacja / identyfikator urządzenia,
-Skip Auto Attendance,Pomiń automatyczne uczestnictwo,
-Shift Start,Shift Start,
-Shift End,Shift End,
-Shift Actual Start,Shift Actual Start,
-Shift Actual End,Shift Actual End,
-Employee Education,Wykształcenie pracownika,
-School/University,Szkoła/Uniwersytet,
-Graduate,Absolwent,
-Post Graduate,Podyplomowe,
-Under Graduate,Absolwent,
-Year of Passing,Mijający rok,
-Major/Optional Subjects,Główne/Opcjonalne Tematy,
-Employee External Work History,Historia zatrudnienia pracownika poza firmą,
-Total Experience,Całkowita kwota wydatków,
-Default Leave Policy,Domyślna Polityka Nieobecności,
-Default Salary Structure,Domyślna struktura wynagrodzenia,
-Employee Group Table,Tabela grup pracowników,
-ERPNext User ID,ERPNext Identyfikator użytkownika,
-Employee Health Insurance,Ubezpieczenie zdrowotne pracownika,
-Health Insurance Name,Nazwa ubezpieczenia zdrowotnego,
-Employee Incentive,Zachęta dla pracowników,
-Incentive Amount,Kwota motywacyjna,
-Employee Internal Work History,Historia zatrudnienia pracownika w firmie,
-Employee Onboarding,Wprowadzanie pracowników,
-Notify users by email,Powiadom użytkowników pocztą e-mail,
-Employee Onboarding Template,Szablon do wprowadzania pracowników,
-Activities,Zajęcia,
-Employee Onboarding Activity,Aktywność pracownika na pokładzie,
-Employee Other Income,Inne dochody pracownika,
-Employee Promotion,Promocja pracowników,
-Promotion Date,Data promocji,
-Employee Promotion Details,Szczegóły promocji pracowników,
-Employee Promotion Detail,Szczegóły promocji pracowników,
-Employee Property History,Historia nieruchomości pracownika,
-Employee Separation,Separacja pracowników,
-Employee Separation Template,Szablon separacji pracowników,
-Exit Interview Summary,Wyjdź z podsumowania wywiadu,
-Employee Skill,Umiejętność pracownika,
-Proficiency,Biegłość,
-Evaluation Date,Data oceny,
-Employee Skill Map,Mapa umiejętności pracowników,
-Employee Skills,Umiejętności pracowników,
-Trainings,Szkolenia,
-Employee Tax Exemption Category,Kategoria zwolnienia z podatku dochodowego od pracowników,
-Max Exemption Amount,Maksymalna kwota zwolnienia,
-Employee Tax Exemption Declaration,Deklaracja zwolnienia z podatku od pracowników,
-Declarations,Deklaracje,
-Total Declared Amount,Całkowita zadeklarowana kwota,
-Total Exemption Amount,Całkowita kwota zwolnienia,
-Employee Tax Exemption Declaration Category,Kategoria deklaracji zwolnienia podatkowego dla pracowników,
-Exemption Sub Category,Kategoria zwolnienia,
-Exemption Category,Kategoria zwolnienia,
-Maximum Exempted Amount,Maksymalna kwota zwolniona,
-Declared Amount,Zadeklarowana kwota,
-Employee Tax Exemption Proof Submission,Świadectwo zwolnienia podatkowego dla pracowników,
-Submission Date,Termin składania,
-Tax Exemption Proofs,Dowody zwolnienia podatkowego,
-Total Actual Amount,Całkowita rzeczywista kwota,
-Employee Tax Exemption Proof Submission Detail,Szczegółowe informacje dotyczące złożenia zeznania podatkowego dla pracowników,
-Maximum Exemption Amount,Maksymalna kwota zwolnienia,
-Type of Proof,Rodzaj dowodu,
-Actual Amount,Rzeczywista kwota,
-Employee Tax Exemption Sub Category,Podkategoria zwolnień podatkowych dla pracowników,
-Tax Exemption Category,Kategoria zwolnienia podatkowego,
-Employee Training,Szkolenie pracowników,
-Training Date,Data szkolenia,
-Employee Transfer,Przeniesienie pracownika,
-Transfer Date,Data przeniesienia,
-Employee Transfer Details,Dane dotyczące przeniesienia pracownika,
-Employee Transfer Detail,Dane dotyczące przeniesienia pracownika,
-Re-allocate Leaves,Realokuj Nieobeności,
-Create New Employee Id,Utwórz nowy identyfikator pracownika,
-New Employee ID,Nowy identyfikator pracownika,
-Employee Transfer Property,Usługa przenoszenia pracowniczych,
-HR-EXP-.YYYY.-,HR-EXP-.RRRR.-,
-Expense Taxes and Charges,Podatki i opłaty z tytułu kosztów,
-Total Sanctioned Amount,Całkowita kwota uznań,
-Total Advance Amount,Łączna kwota zaliczki,
-Total Claimed Amount,Całkowita kwota roszczeń,
-Total Amount Reimbursed,Całkowitej kwoty zwrotów,
-Vehicle Log,pojazd Log,
-Employees Email Id,Email ID pracownika,
-More Details,Więcej szczegółów,
-Expense Claim Account,Konto Koszty Roszczenie,
-Expense Claim Advance,Advance Claim Advance,
-Unclaimed amount,Nie zgłoszona kwota,
-Expense Claim Detail,Szczegóły o zwrotach kosztów,
-Expense Date,Data wydatku,
-Expense Claim Type,Typ Zwrotu Kosztów,
-Holiday List Name,Nazwa dla Listy Świąt,
-Total Holidays,Suma dni świątecznych,
-Add Weekly Holidays,Dodaj cotygodniowe święta,
-Weekly Off,Tygodniowy wyłączony,
-Add to Holidays,Dodaj do świąt,
-Holidays,Wakacje,
-Clear Table,Wyczyść tabelę,
-HR Settings,Ustawienia HR,
-Employee Settings,Ustawienia pracownika,
-Retirement Age,Wiek emerytalny,
-Enter retirement age in years,Podaj wiek emerytalny w latach,
-Stop Birthday Reminders,Zatrzymaj przypomnienia o urodzinach,
-Expense Approver Mandatory In Expense Claim,Potwierdzenie wydatków Obowiązkowe w rachunku kosztów,
-Payroll Settings,Ustawienia Listy Płac,
-Leave,Pozostawiać,
-Max working hours against Timesheet,Maksymalny czas pracy przed grafiku,
-Include holidays in Total no. of Working Days,Dolicz święta do całkowitej liczby dni pracujących,
-"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Jeśli zaznaczone, Całkowita liczba Dni Roboczych obejmie święta, a to zmniejsza wartość Wynagrodzenie za dzień",
-"If checked, hides and disables Rounded Total field in Salary Slips","Jeśli zaznaczone, ukrywa i wyłącza pole Zaokrąglona suma w kuponach wynagrodzeń",
-The fraction of daily wages to be paid for half-day attendance,Część dziennego wynagrodzenia za obecność na pół dnia,
-Email Salary Slip to Employee,Email Wynagrodzenie Slip pracownikowi,
-Emails salary slip to employee based on preferred email selected in Employee,Emaile wynagrodzenia poślizgu pracownikowi na podstawie wybranego w korzystnej email Pracownika,
-Encrypt Salary Slips in Emails,Szyfruj poświadczenia wynagrodzenia w wiadomościach e-mail,
-"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Ślad wynagrodzenia przesłany pocztą elektroniczną do pracownika będzie chroniony hasłem, hasło zostanie wygenerowane na podstawie polityki haseł.",
-Password Policy,Polityka haseł,
-<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Przykład:</b> SAL- {first_name} - {date_of_birth.year} <br> Spowoduje to wygenerowanie hasła takiego jak SAL-Jane-1972,
-Leave Settings,Ustawienia Nieobecności,
-Leave Approval Notification Template,Pozostaw szablon powiadomienia o zatwierdzeniu,
-Leave Status Notification Template,Pozostaw szablon powiadomienia o statusie,
-Role Allowed to Create Backdated Leave Application,Rola dozwolona do utworzenia aplikacji urlopowej z datą wsteczną,
-Leave Approver Mandatory In Leave Application,Pozostaw zatwierdzającego obowiązkowo w aplikacji opuszczającej,
-Show Leaves Of All Department Members In Calendar,Pokaż Nieobecności Wszystkich Członków Działu w Kalendarzu,
-Auto Leave Encashment,Auto Leave Encashment,
-Hiring Settings,Ustawienia wynajmu,
-Check Vacancies On Job Offer Creation,Sprawdź oferty pracy w tworzeniu oferty pracy,
-Identification Document Type,Typ dokumentu tożsamości,
-Effective from,Obowiązuje od,
-Allow Tax Exemption,Zezwalaj na zwolnienie z podatku,
-"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Jeśli ta opcja jest włączona, deklaracja zwolnienia z podatku będzie brana pod uwagę przy obliczaniu podatku dochodowego.",
-Standard Tax Exemption Amount,Kwota zwolnienia z podatku standardowego,
-Taxable Salary Slabs,Podatki podlegające opodatkowaniu,
-Taxes and Charges on Income Tax,Podatki i opłaty od podatku dochodowego,
-Other Taxes and Charges,Inne podatki i opłaty,
-Income Tax Slab Other Charges,Płyta podatku dochodowego Inne opłaty,
-Min Taxable Income,Min. Dochód podlegający opodatkowaniu,
-Max Taxable Income,Maksymalny dochód podlegający opodatkowaniu,
-Applicant for a Job,Aplikant do Pracy,
-Accepted,Przyjęte,
-Job Opening,Otwarcie naboru na stanowisko,
-Cover Letter,List motywacyjny,
-Resume Attachment,W skrócie Załącznik,
-Job Applicant Source,Źródło wniosku o pracę,
-Applicant Email Address,Adres e-mail wnioskodawcy,
-Awaiting Response,Oczekuje na Odpowiedź,
-Job Offer Terms,Warunki oferty pracy,
-Select Terms and Conditions,Wybierz Regulamin,
-Printing Details,Szczegóły Wydruku,
-Job Offer Term,Okres oferty pracy,
-Offer Term,Oferta Term,
-Value / Description,Wartość / Opis,
-Description of a Job Opening,Opis Ogłoszenia o Pracę,
-Job Title,Nazwa stanowiska pracy,
-Staffing Plan,Plan zatrudnienia,
-Planned number of Positions,Planowana liczba pozycji,
-"Job profile, qualifications required etc.","Profil stanowiska pracy, wymagane kwalifikacje itp.",
-HR-LAL-.YYYY.-,HR-LAL-.RRRR.-,
-Allocation,Przydział,
-New Leaves Allocated,Nowe Nieobecności Zaalokowane,
-Add unused leaves from previous allocations,Dodaj niewykorzystane nieobecności z poprzednich alokacji,
-Unused leaves,Niewykorzystane Nieobecności,
-Total Leaves Allocated,Całkowita ilość przyznanych dni zwolnienia od pracy,
-Total Leaves Encashed,Total Leaves Encashed,
-Leave Period,Okres Nieobecności,
-Apply / Approve Leaves,Zastosuj / Zatwierdź Nieobecności,
-HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
-Leave Balance Before Application,Status Nieobecności przed Wnioskiem,
-Total Leave Days,Całkowita liczba Dni Nieobecności,
-Leave Approver Name,Nazwa Zatwierdzającego Nieobecność,
-Follow via Email,Odpowiedz za pomocą E-maila,
-Block Holidays on important days.,Blok Wakacje na ważne dni.,
-Leave Block List Name,Nazwa Listy Blokowanych Nieobecności,
-Applies to Company,Dotyczy Firmy,
-"If not checked, the list will have to be added to each Department where it has to be applied.","Jeśli nie jest zaznaczone, lista będzie musiała być dodana do każdego Działu, w którym ma zostać zastosowany.",
-Block Days,Zablokowany Dzień,
-Stop users from making Leave Applications on following days.,Zatrzymaj możliwość składania zwolnienia chorobowego użytkownikom w następujące dni.,
-Leave Block List Dates,Daty dopuszczenia na Liście Blokowanych Nieobecności,
-Allow Users,Zezwól Użytkownikom,
-Leave Block List Allowed,Dopuszczone na Liście Blokowanych Nieobecności,
-Leave Block List Allow,Dopuść na Liście Blokowanych Nieobecności,
-Allow User,Zezwól Użytkownikowi,
-Leave Block List Date,Data dopuszczenia na Liście Blokowanych Nieobecności,
-Block Date,Zablokowana Data,
-Leave Control Panel,Panel do obsługi Nieobecności,
-Select Employees,Wybierz Pracownicy,
-Employment Type (optional),Rodzaj zatrudnienia (opcjonalnie),
-Branch (optional),Oddział (opcjonalnie),
-Department (optional),Dział (opcjonalnie),
-Designation (optional),Oznaczenie (opcjonalnie),
-Employee Grade (optional),Stopień pracownika (opcjonalnie),
-Employee (optional),Pracownik (opcjonalnie),
-Allocate Leaves,Przydziel liście,
-Carry Forward,Przeniesienie,
-Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Proszę wybrać Przeniesienie jeżeli chcesz uwzględnić balans poprzedniego roku rozliczeniowego do tego roku rozliczeniowego,
-New Leaves Allocated (In Days),Nowe Nieobecności Zaalokowane (W Dniach),
-Allocate,Przydziel,
-Leave Balance,Pozostaw saldo,
-Encashable days,Szykowne dni,
-Encashment Amount,Kwota rabatu,
-Leave Ledger Entry,Pozostaw wpis księgi głównej,
-Transaction Name,Nazwa transakcji,
-Is Expired,Straciła ważność,
-Is Leave Without Pay,jest Urlopem Bezpłatnym,
-Holiday List for Optional Leave,Lista urlopowa dla Opcjonalnej Nieobecności,
-Leave Allocations,Alokacje Nieobecności,
-Leave Policy Details,Szczegóły Polityki Nieobecności,
-Leave Policy Detail,Szczegół Polityki Nieobecności,
-Annual Allocation,Roczna alokacja,
-Leave Type Name,Nazwa Typu Urlopu,
-Max Leaves Allowed,"Maksymalna, dozwolona liczba Nieobecności",
-Applicable After (Working Days),Dotyczy After (dni robocze),
-Maximum Continuous Days Applicable,Maksymalne ciągłe dni obowiązujące,
-Is Optional Leave,jest Nieobecnością Opcjonalną,
-Allow Negative Balance,Dozwolony ujemny bilans,
-Include holidays within leaves as leaves,Uwzględniaj święta w ramach Nieobecności,
-Is Compensatory,Jest kompensacyjny,
-Maximum Carry Forwarded Leaves,Maksymalna liczba przeniesionych liści,
-Expire Carry Forwarded Leaves (Days),Wygasają przenoszenie przekazanych liści (dni),
-Calculated in days,Obliczany w dniach,
-Encashment,Napad,
-Allow Encashment,Zezwól na Osadzanie,
-Encashment Threshold Days,Progi prolongaty,
-Earned Leave,Urlop w ramach nagrody,
-Is Earned Leave,jest Urlopem w ramach Nagrody,
-Earned Leave Frequency,Częstotliwość Urlopu w ramach nagrody,
-Rounding,Zaokrąglanie,
-Payroll Employee Detail,Szczegóły dotyczące kadry płacowej,
-Payroll Frequency,Częstotliwość Płace,
-Fortnightly,Dwutygodniowy,
-Bimonthly,Dwumiesięczny,
-Employees,Pracowników,
-Number Of Employees,Liczba pracowników,
-Validate Attendance,Zweryfikuj Frekfencję,
-Salary Slip Based on Timesheet,Slip Wynagrodzenie podstawie grafiku,
-Select Payroll Period,Wybierz Okres Payroll,
-Deduct Tax For Unclaimed Employee Benefits,Odliczanie podatku za nieodebrane świadczenia pracownicze,
-Deduct Tax For Unsubmitted Tax Exemption Proof,Odliczanie podatku za nieprzedstawiony dowód zwolnienia podatkowego,
-Select Payment Account to make Bank Entry,Wybierz Konto Płatność aby bankowego Entry,
-Salary Slips Created,Utworzono zarobki,
-Salary Slips Submitted,Przesłane wynagrodzenie,
-Payroll Periods,Okresy płac,
-Payroll Period Date,Okres listy płac,
-Purpose of Travel,Cel podróży,
-Retention Bonus,Premia z zatrzymania,
-Bonus Payment Date,Data wypłaty bonusu,
-Bonus Amount,Kwota Bonusu,
-Abbr,Skrót,
-Depends on Payment Days,Zależy od dni płatności,
-Is Tax Applicable,Podatek obowiązuje,
-Variable Based On Taxable Salary,Zmienna oparta na podlegającym opodatkowaniu wynagrodzeniu,
-Exempted from Income Tax,Zwolnione z podatku dochodowego,
-Round to the Nearest Integer,Zaokrąglij do najbliższej liczby całkowitej,
-Statistical Component,Składnik statystyczny,
-"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. ","Jeśli zostanie wybrana, wartość określona lub obliczona w tym składniku nie przyczyni się do zarobków ani odliczeń. Jednak wartością tę można odwoływać się do innych składników, które można dodawać lub potrącać.",
-Do Not Include in Total,Nie uwzględniaj w sumie,
-Flexible Benefits,Elastyczne korzyści,
-Is Flexible Benefit,Elastyczna korzyść,
-Max Benefit Amount (Yearly),Kwota maksymalnego świadczenia (rocznie),
-Only Tax Impact (Cannot Claim But Part of Taxable Income),Tylko wpływ podatkowy (nie można domagać się części dochodu podlegającego opodatkowaniu),
-Create Separate Payment Entry Against Benefit Claim,Utwórz oddzielne zgłoszenie wpłaty na poczet roszczenia o zasiłek,
-Condition and Formula,Stan i wzór,
-Amount based on formula,Kwota wg wzoru,
-Formula,Formuła,
-Salary Detail,Wynagrodzenie Szczegóły,
-Component,Składnik,
-Do not include in total,Nie obejmują łącznie,
-Default Amount,Domyślnie Kwota,
-Additional Amount,Dodatkowa ilość,
-Tax on flexible benefit,Podatek od elastycznej korzyści,
-Tax on additional salary,Podatek od dodatkowego wynagrodzenia,
-Salary Structure,Struktura Wynagrodzenia,
-Working Days,Dni robocze,
-Salary Slip Timesheet,Slip Wynagrodzenie grafiku,
-Total Working Hours,Całkowita liczba godzin pracy,
-Hour Rate,Stawka godzinowa,
-Bank Account No.,Nr konta bankowego,
-Earning & Deduction,Dochód i Odliczenie,
-Earnings,Dochody,
-Deductions,Odliczenia,
-Loan repayment,Spłata pożyczki,
-Employee Loan,pracownik Kredyt,
-Total Principal Amount,Łączna kwota główna,
-Total Interest Amount,Łączna kwota odsetek,
-Total Loan Repayment,Suma spłaty kredytu,
-net pay info,Informacje o wynagrodzeniu netto,
-Gross Pay - Total Deduction - Loan Repayment,Gross Pay - Razem Odliczenie - Spłata kredytu,
-Total in words,Ogółem słownie,
-Net Pay (in words) will be visible once you save the Salary Slip.,Wynagrodzenie netto (słownie) będzie widoczna po zapisaniu na Liście Płac.,
-Salary Component for timesheet based payroll.,Składnik wynagrodzenia za płac opartego grafik.,
-Leave Encashment Amount Per Day,Zostaw kwotę za dzieło na dzień,
-Max Benefits (Amount),Maksymalne korzyści (kwota),
-Salary breakup based on Earning and Deduction.,Średnie wynagrodzenie w oparciu o zarobki i odliczenia,
-Total Earning,Całkowita kwota zarobku,
-Salary Structure Assignment,Przydział struktury wynagrodzeń,
-Shift Assignment,Przydział Shift,
-Shift Type,Typ zmiany,
-Shift Request,Żądanie zmiany,
-Enable Auto Attendance,Włącz automatyczne uczestnictwo,
-Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Oznacz obecność na podstawie „Checkin pracownika” dla pracowników przypisanych do tej zmiany.,
-Auto Attendance Settings,Ustawienia automatycznej obecności,
-Determine Check-in and Check-out,Określ odprawę i wymeldowanie,
-Alternating entries as IN and OUT during the same shift,Naprzemienne wpisy jako IN i OUT podczas tej samej zmiany,
-Strictly based on Log Type in Employee Checkin,Ściśle na podstawie typu dziennika w Checkin pracownika,
-Working Hours Calculation Based On,Obliczanie godzin pracy na podstawie,
-First Check-in and Last Check-out,Pierwsze zameldowanie i ostatnie wymeldowanie,
-Every Valid Check-in and Check-out,Każde ważne zameldowanie i wymeldowanie,
-Begin check-in before shift start time (in minutes),Rozpocznij odprawę przed czasem rozpoczęcia zmiany (w minutach),
-The time before the shift start time during which Employee Check-in is considered for attendance.,"Czas przed rozpoczęciem zmiany, podczas którego odprawa pracownicza jest brana pod uwagę przy uczestnictwie.",
-Allow check-out after shift end time (in minutes),Zezwól na wymeldowanie po zakończeniu czasu zmiany (w minutach),
-Time after the end of shift during which check-out is considered for attendance.,"Czas po zakończeniu zmiany, w trakcie którego wymeldowanie jest brane pod uwagę.",
-Working Hours Threshold for Half Day,Próg godzin pracy na pół dnia,
-Working hours below which Half Day is marked. (Zero to disable),"Godziny pracy, poniżej których zaznaczono pół dnia. (Zero, aby wyłączyć)",
-Working Hours Threshold for Absent,Próg godzin pracy dla nieobecności,
-Working hours below which Absent is marked. (Zero to disable),"Godziny pracy poniżej których nieobecność jest zaznaczona. (Zero, aby wyłączyć)",
-Process Attendance After,Uczestnictwo w procesie po,
-Attendance will be marked automatically only after this date.,Obecność zostanie oznaczona automatycznie dopiero po tej dacie.,
-Last Sync of Checkin,Ostatnia synchronizacja odprawy,
-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.,"Ostatnia znana udana synchronizacja odprawy pracownika. Zresetuj to tylko wtedy, gdy masz pewność, że wszystkie dzienniki są synchronizowane ze wszystkich lokalizacji. Nie zmieniaj tego, jeśli nie jesteś pewien.",
-Grace Period Settings For Auto Attendance,Ustawienia okresu Grace dla automatycznej obecności,
-Enable Entry Grace Period,Włącz okres ważności wpisu,
-Late Entry Grace Period,Okres późnego wejścia,
-The time after the shift start time when check-in is considered as late (in minutes).,"Czas po godzinie rozpoczęcia zmiany, gdy odprawa jest uważana za późną (w minutach).",
-Enable Exit Grace Period,Włącz okres wyjścia Grace,
-Early Exit Grace Period,Wczesny okres wyjścia z inwestycji,
-The time before the shift end time when check-out is considered as early (in minutes).,"Czas przed czasem zakończenia zmiany, gdy wymeldowanie jest uważane za wczesne (w minutach).",
-Skill Name,Nazwa umiejętności,
-Staffing Plan Details,Szczegółowy plan zatrudnienia,
-Staffing Plan Detail,Szczegółowy plan zatrudnienia,
-Total Estimated Budget,Całkowity szacunkowy budżet,
-Vacancies,Wakaty,
-Estimated Cost Per Position,Szacowany koszt na stanowisko,
-Total Estimated Cost,Całkowity szacunkowy koszt,
-Current Count,Bieżąca liczba,
-Current Openings,Aktualne otwarcia,
-Number Of Positions,Liczba pozycji,
-Taxable Salary Slab,Podatki podlegające opodatkowaniu,
-From Amount,Od kwoty,
-To Amount,Do kwoty,
-Percent Deduction,Odliczenie procentowe,
-Training Program,Program treningowy,
-Event Status,zdarzenia,
-Has Certificate,Ma certyfikat,
-Seminar,Seminarium,
-Theory,Teoria,
-Workshop,Warsztat,
-Conference,Konferencja,
-Exam,Egzamin,
-Internet,Internet,
-Self-Study,Samokształcenie,
-Advance,Zaliczka,
-Trainer Name,Nazwa Trainer,
-Trainer Email,Trener email,
-Attendees,Uczestnicy,
-Employee Emails,E-maile z pracownikami,
-Training Event Employee,Training Event urzędnik,
-Invited,Zaproszony,
-Feedback Submitted,Zgłoszenie Zgłoszony,
-Optional,Opcjonalny,
-Training Result Employee,Wynik szkolenia pracowników,
-Travel Itinerary,Plan podróży,
-Travel From,Podróżuj z,
-Travel To,Podróż do,
-Mode of Travel,Tryb podróży,
-Flight,Lot,
-Train,Pociąg,
-Taxi,Taxi,
-Rented Car,Wynajęty samochód,
-Meal Preference,Preferencje Posiłków,
-Vegetarian,Wegetariański,
-Non-Vegetarian,Nie wegetarianskie,
-Gluten Free,Bezglutenowe,
-Non Diary,Non Diary,
-Travel Advance Required,Wymagane wcześniejsze podróżowanie,
-Departure Datetime,Data wyjazdu Datetime,
-Arrival Datetime,Przybycie Datetime,
-Lodging Required,Wymagane zakwaterowanie,
-Preferred Area for Lodging,Preferowany obszar zakwaterowania,
-Check-in Date,Sprawdź w terminie,
-Check-out Date,Sprawdź datę,
-Travel Request,Wniosek o podróż,
-Travel Type,Rodzaj podróży,
-Domestic,Krajowy,
-International,Międzynarodowy,
-Travel Funding,Finansowanie podróży,
-Require Full Funding,Wymagaj pełnego finansowania,
-Fully Sponsored,W pełni sponsorowane,
-"Partially Sponsored, Require Partial Funding","Częściowo sponsorowane, wymagające częściowego finansowania",
-Copy of Invitation/Announcement,Kopia zaproszenia / ogłoszenia,
-"Details of Sponsor (Name, Location)","Dane sponsora (nazwa, lokalizacja)",
-Identification Document Number,Numer identyfikacyjny dokumentu,
-Any other details,Wszelkie inne szczegóły,
-Costing Details,Szczegóły dotyczące kalkulacji kosztów,
-Costing,Zestawienie kosztów,
-Event Details,Szczegóły wydarzenia,
-Name of Organizer,Nazwa organizatora,
-Address of Organizer,Adres Organizatora,
-Travel Request Costing,Koszt wniosku podróży,
-Expense Type,Typ wydatków,
-Sponsored Amount,Sponsorowana kwota,
-Funded Amount,Kwota dofinansowania,
-Upload Attendance,Wyślij obecność,
-Attendance From Date,Obecność od Daty,
-Attendance To Date,Obecność do Daty,
-Get Template,Pobierz szablon,
-Import Attendance,Importuj Frekwencję,
-Upload HTML,Wyślij HTML,
-Vehicle,Pojazd,
-License Plate,Tablica rejestracyjna,
-Odometer Value (Last),Drogomierz Wartość (Ostatni),
-Acquisition Date,Data nabycia,
-Chassis No,Podwozie Nie,
-Vehicle Value,Wartość pojazdu,
-Insurance Details,Szczegóły ubezpieczenia,
-Insurance Company,Firma ubezpieczeniowa,
-Policy No,Polityka nr,
-Additional Details,Dodatkowe Szczegóły,
-Fuel Type,Typ paliwa,
-Petrol,Benzyna,
-Diesel,Diesel,
-Natural Gas,Gazu ziemnego,
-Electric,Elektryczny,
-Fuel UOM,Jednostka miary paliwa,
-Last Carbon Check,Ostatni Carbon Sprawdź,
-Wheels,Koła,
-Doors,drzwi,
-HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
-Odometer Reading,Stan licznika,
-Current Odometer value ,Aktualna wartość licznika przebiegu,
-last Odometer Value ,ostatnia wartość licznika przebiegu,
-Refuelling Details,Szczegóły tankowania,
-Invoice Ref,faktura Ref,
-Service Details,Szczegóły usługi,
-Service Detail,Szczegóły usługi,
-Vehicle Service,Obsługa pojazdu,
-Service Item,service Element,
-Brake Oil,Olej hamulcowy,
-Brake Pad,Klocek hamulcowy,
-Clutch Plate,sprzęgło,
-Engine Oil,Olej silnikowy,
-Oil Change,Wymiana oleju,
-Inspection,Kontrola,
-Mileage,Przebieg,
-Hub Tracked Item,Hub Tracked Item,
-Hub Node,Hub Węzeł,
-Image List,Lista obrazów,
-Item Manager,Pozycja menedżera,
-Hub User,Użytkownik centrum,
-Hub Password,Hasło koncentratora,
-Hub Users,Użytkownicy centrum,
-Marketplace Settings,Ustawienia Marketplace,
-Disable Marketplace,Wyłącz Marketplace,
-Marketplace URL (to hide and update label),Adres URL rynku (aby ukryć i zaktualizować etykietę),
-Registered,Zarejestrowany,
-Sync in Progress,Synchronizacja w toku,
-Hub Seller Name,Nazwa sprzedawcy Hub,
-Custom Data,Dane niestandardowe,
-Member,Członek,
-Partially Disbursed,częściowo wypłacona,
-Loan Closure Requested,Zażądano zamknięcia pożyczki,
-Repay From Salary,Spłaty z pensji,
-Loan Details,pożyczka Szczegóły,
-Loan Type,Rodzaj kredytu,
-Loan Amount,Kwota kredytu,
-Is Secured Loan,Jest zabezpieczona pożyczka,
-Rate of Interest (%) / Year,Stopa procentowa (% / rok),
-Disbursement Date,wypłata Data,
-Disbursed Amount,Kwota wypłacona,
-Is Term Loan,Jest pożyczką terminową,
-Repayment Method,Sposób spłaty,
-Repay Fixed Amount per Period,Spłacić ustaloną kwotę za okres,
-Repay Over Number of Periods,Spłaty przez liczbę okresów,
-Repayment Period in Months,Spłata Okres w miesiącach,
-Monthly Repayment Amount,Miesięczna kwota spłaty,
-Repayment Start Date,Data rozpoczęcia spłaty,
-Loan Security Details,Szczegóły bezpieczeństwa pożyczki,
-Maximum Loan Value,Maksymalna wartość pożyczki,
-Account Info,Informacje o koncie,
-Loan Account,Konto kredytowe,
-Interest Income Account,Konto przychodów odsetkowych,
-Penalty Income Account,Rachunek dochodów z kar,
-Repayment Schedule,Harmonogram spłaty,
-Total Payable Amount,Całkowita należna kwota,
-Total Principal Paid,Łącznie wypłacone główne zlecenie,
-Total Interest Payable,Razem odsetki płatne,
-Total Amount Paid,Łączna kwota zapłacona,
-Loan Manager,Menedżer pożyczek,
-Loan Info,pożyczka Info,
-Rate of Interest,Stopa procentowa,
-Proposed Pledges,Proponowane zobowiązania,
-Maximum Loan Amount,Maksymalna kwota kredytu,
-Repayment Info,Informacje spłata,
-Total Payable Interest,Całkowita zapłata odsetek,
-Against Loan ,Przed pożyczką,
-Loan Interest Accrual,Narosłe odsetki od pożyczki,
-Amounts,Kwoty,
-Pending Principal Amount,Oczekująca kwota główna,
-Payable Principal Amount,Kwota główna do zapłaty,
-Paid Principal Amount,Zapłacona kwota główna,
-Paid Interest Amount,Kwota zapłaconych odsetek,
-Process Loan Interest Accrual,Przetwarzanie naliczonych odsetek od kredytu,
-Repayment Schedule Name,Nazwa harmonogramu spłaty,
-Regular Payment,Regularna płatność,
-Loan Closure,Zamknięcie pożyczki,
-Payment Details,Szczegóły płatności,
-Interest Payable,Odsetki płatne,
-Amount Paid,Kwota zapłacona,
-Principal Amount Paid,Kwota główna wypłacona,
-Repayment Details,Szczegóły spłaty,
-Loan Repayment Detail,Szczegóły spłaty pożyczki,
-Loan Security Name,Nazwa zabezpieczenia pożyczki,
-Unit Of Measure,Jednostka miary,
-Loan Security Code,Kod bezpieczeństwa pożyczki,
-Loan Security Type,Rodzaj zabezpieczenia pożyczki,
-Haircut %,Strzyżenie%,
-Loan  Details,Szczegóły pożyczki,
-Unpledged,Niepowiązane,
-Pledged,Obiecał,
-Partially Pledged,Częściowo obiecane,
-Securities,Papiery wartościowe,
-Total Security Value,Całkowita wartość bezpieczeństwa,
-Loan Security Shortfall,Niedobór bezpieczeństwa pożyczki,
-Loan ,Pożyczka,
-Shortfall Time,Czas niedoboru,
-America/New_York,America / New_York,
-Shortfall Amount,Kwota niedoboru,
-Security Value ,Wartość bezpieczeństwa,
-Process Loan Security Shortfall,Niedobór bezpieczeństwa pożyczki procesowej,
-Loan To Value Ratio,Wskaźnik pożyczki do wartości,
-Unpledge Time,Unpledge Time,
-Loan Name,pożyczka Nazwa,
-Rate of Interest (%) Yearly,Stopa procentowa (%) Roczne,
-Penalty Interest Rate (%) Per Day,Kara odsetkowa (%) dziennie,
-Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Kara odsetkowa naliczana jest codziennie od oczekującej kwoty odsetek w przypadku opóźnionej spłaty,
-Grace Period in Days,Okres karencji w dniach,
-No. of days from due date until which penalty won't be charged in case of delay in loan repayment,"Liczba dni od daty wymagalności, do której kara nie będzie naliczana w przypadku opóźnienia w spłacie kredytu",
-Pledge,Zastaw,
-Post Haircut Amount,Kwota po ostrzyżeniu,
-Process Type,Typ procesu,
-Update Time,Czas aktualizacji,
-Proposed Pledge,Proponowane zobowiązanie,
-Total Payment,Całkowita płatność,
-Balance Loan Amount,Kwota salda kredytu,
-Is Accrued,Jest naliczony,
-Salary Slip Loan,Salary Slip Loan,
-Loan Repayment Entry,Wpis spłaty kredytu,
-Sanctioned Loan Amount,Kwota udzielonej sankcji,
-Sanctioned Amount Limit,Sankcjonowany limit kwoty,
-Unpledge,Unpledge,
-Haircut,Ostrzyżenie,
-MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
-Generate Schedule,Utwórz Harmonogram,
-Schedules,Harmonogramy,
-Maintenance Schedule Detail,Szczegóły Planu Konserwacji,
-Scheduled Date,Zaplanowana Data,
-Actual Date,Rzeczywista Data,
-Maintenance Schedule Item,Przedmiot Planu Konserwacji,
-Random,Losowy,
-No of Visits,Numer wizyt,
-MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
-Maintenance Date,Data Konserwacji,
-Maintenance Time,Czas Konserwacji,
-Completion Status,Status ukończenia,
-Partially Completed,Częściowo Ukończony,
-Fully Completed,Całkowicie ukończono,
-Unscheduled,Nieplanowany,
-Breakdown,Rozkład,
-Purposes,Cele,
-Customer Feedback,Informacja zwrotna Klienta,
-Maintenance Visit Purpose,Cel Wizyty Konserwacji,
-Work Done,Praca wykonana,
-MFG-BLR-.YYYY.-,MFG-BLR-.RRRR.-,
-Order Type,Typ zamówienia,
-Blanket Order Item,Koc Zamówienie przedmiotu,
-Ordered Quantity,Zamówiona Ilość,
-Item to be manufactured or repacked,"Produkt, który ma zostać wyprodukowany lub przepakowany",
-Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Ilość produktu otrzymanego po produkcji / przepakowaniu z podanych ilości surowców,
-Set rate of sub-assembly item based on BOM,Ustaw stawkę pozycji podzakresu na podstawie BOM,
-Allow Alternative Item,Zezwalaj na alternatywną pozycję,
-Item UOM,Jednostka miary produktu,
-Conversion Rate,Współczynnik konwersji,
-Rate Of Materials Based On,Stawka Materiałów Wzorowana na,
-With Operations,Wraz z działaniami,
-Manage cost of operations,Zarządzaj kosztami działań,
-Transfer Material Against,Materiał transferowy przeciwko,
-Routing,Routing,
-Materials,Materiały,
-Quality Inspection Required,Wymagana kontrola jakości,
-Quality Inspection Template,Szablon kontroli jakości,
-Scrap,Skrawek,
-Scrap Items,złom przedmioty,
-Operating Cost,Koszty Operacyjne,
-Raw Material Cost,Koszt surowców,
-Scrap Material Cost,Złom Materiał Koszt,
-Operating Cost (Company Currency),Koszty operacyjne (Spółka waluty),
-Raw Material Cost (Company Currency),Koszt surowców (waluta spółki),
-Scrap Material Cost(Company Currency),Złom koszt materiału (Spółka waluty),
-Total Cost,Koszt całkowity,
-Total Cost (Company Currency),Koszt całkowity (waluta firmy),
-Materials Required (Exploded),Materiał Wymaga (Rozdzielony),
-Exploded Items,Przedmioty wybuchowe,
-Show in Website,Pokaż w witrynie,
-Item Image (if not slideshow),Element Obrazek (jeśli nie slideshow),
-Thumbnail,Miniaturka,
-Website Specifications,Specyfikacja strony WWW,
-Show Items,jasnowidze,
-Show Operations,Pokaż Operations,
-Website Description,Opis strony WWW,
-Qty Consumed Per Unit,Ilość skonsumowana na Jednostkę,
-Include Item In Manufacturing,Dołącz przedmiot do produkcji,
-Item operation,Obsługa przedmiotu,
-Rate & Amount,Stawka i kwota,
-Basic Rate (Company Currency),Podstawowy wskaźnik (Waluta Firmy),
-Original Item,Oryginalna pozycja,
-BOM Operation,BOM Operacja,
-Operation Time ,Czas operacji,
-In minutes,W minutach,
-Batch Size,Wielkość partii,
-Base Hour Rate(Company Currency),Baza Hour Rate (Spółka waluty),
-Operating Cost(Company Currency),Koszty operacyjne (Spółka waluty),
-BOM Scrap Item,BOM Złom Item,
-Basic Amount (Company Currency),Kwota podstawowa (Spółka waluty),
-BOM Update Tool,Narzędzie aktualizacji BOM,
-"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.","Zastąp wymień płytę BOM we wszystkich pozostałych zestawieniach, w których jest używany. Zastąpi stary link BOM, aktualizuje koszt i zregeneruje tabelę &quot;BOM Explosion Item&quot; w nowym zestawieniu firm. Uaktualnia także najnowszą cenę we wszystkich materiałach.",
-Replace BOM,Wymień moduł,
-Current BOM,Obecny BOM,
-The BOM which will be replaced,BOM zostanie zastąpiony,
-The new BOM after replacement,Nowy BOM po wymianie,
-Replace,Zamień,
-Update latest price in all BOMs,Zaktualizuj ostatnią cenę we wszystkich biuletynach,
-BOM Website Item,BOM Website Element,
-BOM Website Operation,BOM Operacja WWW,
-Operation Time,Czas operacji,
-PO-JOB.#####,PO-JOB. #####,
-Timing Detail,Szczegóły dotyczące czasu,
-Time Logs,Logi czasu,
-Total Time in Mins,Całkowity czas w minutach,
-Operation ID,Identyfikator operacji,
-Transferred Qty,Przeniesione ilości,
-Job Started,Rozpoczęto pracę,
-Started Time,Rozpoczęty czas,
-Current Time,Obecny czas,
-Job Card Item,Element karty pracy,
-Job Card Time Log,Dziennik czasu pracy karty,
-Time In Mins,Czas w minutach,
-Completed Qty,Ukończona wartość,
-Manufacturing Settings,Ustawienia produkcyjne,
-Raw Materials Consumption,Zużycie surowców,
-Allow Multiple Material Consumption,Zezwalaj na wielokrotne zużycie materiałów,
-Backflush Raw Materials Based On,Płukanie surowce na podstawie,
-Material Transferred for Manufacture,Materiał Przeniesiony do Produkcji,
-Capacity Planning,Planowanie Pojemności,
-Disable Capacity Planning,Wyłącz planowanie wydajności,
-Allow Overtime,Pozwól na Nadgodziny,
-Allow Production on Holidays,Pozwól Produkcja na święta,
-Capacity Planning For (Days),Planowanie Pojemności Dla (dni),
-Default Warehouses for Production,Domyślne magazyny do produkcji,
-Default Work In Progress Warehouse,Domyślnie Work In Progress Warehouse,
-Default Finished Goods Warehouse,Magazyn wyrobów gotowych domyślne,
-Default Scrap Warehouse,Domyślny magazyn złomu,
-Overproduction Percentage For Sales Order,Procent nadprodukcji dla zamówienia sprzedaży,
-Overproduction Percentage For Work Order,Nadwyżka produkcyjna Procent zamówienia na pracę,
-Other Settings,Inne ustawienia,
-Update BOM Cost Automatically,Zaktualizuj automatycznie koszt BOM,
-Material Request Plan Item,Material Request Plan Item,
-Material Request Type,Typ zamówienia produktu,
-Material Issue,Wydanie materiałów,
-Customer Provided,Dostarczony Klient,
-Minimum Order Quantity,Minimalna ilość zamówienia,
-Default Workstation,Domyślne miejsce pracy,
-Production Plan,Plan produkcji,
-MFG-PP-.YYYY.-,MFG-PP-.RRRR.-,
-Get Items From,Pobierz zawartość z,
-Get Sales Orders,Pobierz zamówienia sprzedaży,
-Material Request Detail,Szczegółowy wniosek o materiał,
-Get Material Request,Uzyskaj Materiał Zamówienie,
-Material Requests,materiał Wnioski,
-Get Items For Work Order,Zdobądź przedmioty na zlecenie pracy,
-Material Request Planning,Planowanie zapotrzebowania materiałowego,
-Include Non Stock Items,Uwzględnij pozycje niepubliczne,
-Include Subcontracted Items,Uwzględnij elementy podwykonawstwa,
-Ignore Existing Projected Quantity,Ignoruj istniejącą przewidywaną ilość,
-"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>.","Aby dowiedzieć się więcej o przewidywanej ilości, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">kliknij tutaj</a> .",
-Download Required Materials,Pobierz wymagane materiały,
-Get Raw Materials For Production,Zdobądź surowce do produkcji,
-Total Planned Qty,Całkowita planowana ilość,
-Total Produced Qty,Całkowita ilość wyprodukowanej,
-Material Requested,Żądany materiał,
-Production Plan Item,Przedmiot planu produkcji,
-Make Work Order for Sub Assembly Items,Wykonaj zlecenie pracy dla elementów podzespołu,
-"If enabled, system will create the work order for the exploded items against which BOM is available.","Jeśli ta opcja jest włączona, system utworzy zlecenie pracy dla rozstrzelonych elementów, dla których dostępna jest LM.",
-Planned Start Date,Planowana data rozpoczęcia,
-Quantity and Description,Ilość i opis,
-material_request_item,material_request_item,
-Product Bundle Item,Pakiet produktów Artykuł,
-Production Plan Material Request,Produkcja Plan Materiał Zapytanie,
-Production Plan Sales Order,Zamówienie sprzedaży plany produkcji,
-Sales Order Date,Data Zlecenia,
-Routing Name,Nazwa trasy,
-MFG-WO-.YYYY.-,MFG-WO-.RRRR.-,
-Item To Manufacture,Rzecz do wyprodukowania,
-Material Transferred for Manufacturing,Materiał Przeniesiony do Produkowania,
-Manufactured Qty,Ilość wyprodukowanych,
-Use Multi-Level BOM,Używaj wielopoziomowych zestawień materiałowych,
-Plan material for sub-assemblies,Materiał plan podzespołów,
-Skip Material Transfer to WIP Warehouse,Pomiń transfer materiałów do magazynu WIP,
-Check if material transfer entry is not required,"Sprawdź, czy nie ma konieczności wczytywania materiału",
-Backflush Raw Materials From Work-in-Progress Warehouse,Surowiec do płukania zwrotnego z magazynu w toku,
-Update Consumed Material Cost In Project,Zaktualizuj zużyty koszt materiałowy w projekcie,
-Warehouses,Magazyny,
-This is a location where raw materials are available.,"Jest to miejsce, w którym dostępne są surowce.",
-Work-in-Progress Warehouse,Magazyn z produkcją w toku,
-This is a location where operations are executed.,"Jest to miejsce, w którym wykonywane są operacje.",
-This is a location where final product stored.,"Jest to miejsce, w którym przechowywany jest produkt końcowy.",
-Scrap Warehouse,złom Magazyn,
-This is a location where scraped materials are stored.,"Jest to miejsce, w którym przechowywane są zeskrobane materiały.",
-Required Items,wymagane przedmioty,
-Actual Start Date,Rzeczywista data rozpoczęcia,
-Planned End Date,Planowana data zakończenia,
-Actual End Date,Rzeczywista Data Zakończenia,
-Operation Cost,Koszt operacji,
-Planned Operating Cost,Planowany koszt operacyjny,
-Actual Operating Cost,Rzeczywisty koszt operacyjny,
-Additional Operating Cost,Dodatkowy koszt operacyjny,
-Total Operating Cost,Całkowity koszt operacyjny,
-Manufacture against Material Request,Wytwarzanie przeciwko Materiały Zamówienie,
-Work Order Item,Pozycja zlecenia pracy,
-Available Qty at Source Warehouse,Dostępne ilości w magazynie źródłowym,
-Available Qty at WIP Warehouse,Dostępne ilości w magazynie WIP,
-Work Order Operation,Działanie zlecenia pracy,
-Operation Description,Opis operacji,
-Operation completed for how many finished goods?,Operacja zakończona na jak wiele wyrobów gotowych?,
-Work in Progress,Produkty w toku,
-Estimated Time and Cost,Szacowany czas i koszt,
-Planned Start Time,Planowany czas rozpoczęcia,
-Planned End Time,Planowany czas zakończenia,
-in Minutes,W ciągu kilku minut,
-Actual Time and Cost,Rzeczywisty Czas i Koszt,
-Actual Start Time,Rzeczywisty Czas Rozpoczęcia,
-Actual End Time,Rzeczywisty czas zakończenia,
-Updated via 'Time Log',"Aktualizowana przez ""Czas Zaloguj""",
-Actual Operation Time,Rzeczywisty Czas pracy,
-in Minutes\nUpdated via 'Time Log',"w minutach \n Aktualizacja poprzez ""Czas Zaloguj""",
-(Hour Rate / 60) * Actual Operation Time,(Godzina Kursy / 60) * Rzeczywista Czas pracy,
-Workstation Name,Nazwa stacji roboczej,
-Production Capacity,Moce produkcyjne,
-Operating Costs,Koszty operacyjne,
-Electricity Cost,Koszt energii elekrycznej,
-per hour,na godzinę,
-Consumable Cost,Koszt Konsumpcyjny,
-Rent Cost,Koszt Wynajmu,
-Wages,Zarobki,
-Wages per hour,Zarobki na godzinę,
-Net Hour Rate,Stawka godzinowa Netto,
-Workstation Working Hour,Godziny robocze Stacji Roboczej,
-Certification Application,Aplikacja certyfikacyjna,
-Name of Applicant,Nazwa wnioskodawcy,
-Certification Status,Status certyfikacji,
-Yet to appear,Jeszcze się pojawi,
-Certified,Atestowany,
-Not Certified,Brak certyfikatu,
-USD,USD,
-INR,INR,
-Certified Consultant,Certyfikowany konsultant,
-Name of Consultant,Imię i nazwisko konsultanta,
-Certification Validity,Ważność certyfikacji,
-Discuss ID,Omów ID,
-GitHub ID,Identyfikator GitHub,
-Non Profit Manager,Non Profit Manager,
-Chapter Head,Rozdział Głowy,
-Meetup Embed HTML,Meetup Osadź HTML,
-chapters/chapter_name\nleave blank automatically set after saving chapter.,rozdziały / chapter_name pozostaw puste puste automatycznie ustawione po zapisaniu rozdziału.,
-Chapter Members,Członkowie rozdziału,
-Members,Członkowie,
-Chapter Member,Członek rozdziału,
-Website URL,URL strony WWW,
-Leave Reason,Powód Nieobecności,
-Donor Name,Nazwa dawcy,
-Donor Type,Rodzaj dawcy,
-Withdrawn,Zamknięty w sobie,
-Grant Application Details ,Przyznaj szczegóły aplikacji,
-Grant Description,Opis dotacji,
-Requested Amount,Wnioskowana kwota,
-Has any past Grant Record,Ma jakąkolwiek przeszłość Grant Record,
-Show on Website,Pokaż na stronie internetowej,
-Assessment  Mark (Out of 10),Ocena (na 10),
-Assessment  Manager,Menedżer oceny,
-Email Notification Sent,Wysłane powiadomienie e-mail,
-NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
-Membership Expiry Date,Data wygaśnięcia członkostwa,
-Razorpay Details,Szczegóły Razorpay,
-Subscription ID,Identyfikator subskrypcji,
-Customer ID,Identyfikator klienta,
-Subscription Activated,Subskrypcja aktywowana,
-Subscription Start ,Rozpocznij subskrypcję,
-Subscription End,Koniec subskrypcji,
-Non Profit Member,Członek non profit,
-Membership Status,Status członkostwa,
-Member Since,Członek od,
-Payment ID,Identyfikator płatności,
-Membership Settings,Ustawienia członkostwa,
-Enable RazorPay For Memberships,Włącz RazorPay dla członkostwa,
-RazorPay Settings,Ustawienia RazorPay,
-Billing Cycle,Cykl rozliczeniowy,
-Billing Frequency,Częstotliwość rozliczeń,
-"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.","Liczba cykli rozliczeniowych, za które klient powinien zostać obciążony. Na przykład, jeśli klient kupuje roczne członkostwo, które powinno być rozliczane co miesiąc, ta wartość powinna wynosić 12.",
-Razorpay Plan ID,Identyfikator planu Razorpay,
-Volunteer Name,Nazwisko wolontariusza,
-Volunteer Type,Typ wolontariusza,
-Availability and Skills,Dostępność i umiejętności,
-Availability,Dostępność,
-Weekends,Weekendy,
-Availability Timeslot,Dostępność Timeslot,
-Morning,Ranek,
-Afternoon,Popołudnie,
-Evening,Wieczór,
-Anytime,W każdej chwili,
-Volunteer Skills,Umiejętności ochotnicze,
-Volunteer Skill,Wolontariat,
-Homepage,Strona główna,
-Hero Section Based On,Sekcja bohatera na podstawie,
-Homepage Section,Sekcja strony głównej,
-Hero Section,Sekcja bohatera,
-Tag Line,Slogan reklamowy,
-Company Tagline for website homepage,Slogan reklamowy firmy na głównej stronie,
-Company Description for website homepage,Opis firmy na stronie głównej,
-Homepage Slideshow,Pokaz slajdów na stronie głównej,
-"URL for ""All Products""",URL do wszystkich produktów,
-Products to be shown on website homepage,Produkty przeznaczone do pokazania na głównej stronie,
-Homepage Featured Product,Ciekawa Strona produktu,
-route,trasa,
-Section Based On,Sekcja na podstawie,
-Section Cards,Karty sekcji,
-Number of Columns,Liczba kolumn,
-Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,"Liczba kolumn dla tej sekcji. 3 wiersze zostaną wyświetlone w wierszu, jeśli wybierzesz 3 kolumny.",
-Section HTML,Sekcja HTML,
-Use this field to render any custom HTML in the section.,To pole służy do renderowania dowolnego niestandardowego kodu HTML w sekcji.,
-Section Order,Kolejność sekcji,
-"Order in which sections should appear. 0 is first, 1 is second and so on.","Kolejność, w której sekcje powinny się pojawić. 0 jest pierwsze, 1 jest drugie i tak dalej.",
-Homepage Section Card,Strona główna Karta sekcji,
-Subtitle,Podtytuł,
-Products Settings,produkty Ustawienia,
-Home Page is Products,Strona internetowa firmy jest produktem,
-"If checked, the Home page will be the default Item Group for the website","Jeśli zaznaczone, strona główna będzie Grupa domyślna pozycja na stronie",
-Show Availability Status,Pokaż status dostępności,
-Product Page,Strona produktu,
-Products per Page,Produkty na stronę,
-Enable Field Filters,Włącz filtry pola,
-Item Fields,Pola przedmiotów,
-Enable Attribute Filters,Włącz filtry atrybutów,
-Attributes,Atrybuty,
-Hide Variants,Ukryj warianty,
-Website Attribute,Atrybut strony,
-Attribute,Atrybut,
-Website Filter Field,Pole filtru witryny,
-Activity Cost,Aktywny Koszt,
-Billing Rate,Kursy rozliczeniowe,
-Costing Rate,Wskaźnik zestawienia kosztów,
-title,tytuł,
-Projects User,Użytkownik projektu,
-Default Costing Rate,Domyślnie Costing Cena,
-Default Billing Rate,Domyślnie Cena płatności,
-Dependent Task,Zadanie zależne,
-Project Type,Typ projektu,
-% Complete Method,Kompletna Metoda%,
-Task Completion,zadanie Zakończenie,
-Task Progress,Postęp wykonywania zadania,
-% Completed,% ukończone,
-From Template,Z szablonu,
-Project will be accessible on the website to these users,Projekt będzie dostępny na stronie internetowej dla tych użytkowników,
-Copied From,Skopiowano z,
-Start and End Dates,Daty rozpoczęcia i zakończenia,
-Actual Time (in Hours),Rzeczywisty czas (w godzinach),
-Costing and Billing,Kalkulacja kosztów i fakturowanie,
-Total Costing Amount (via Timesheets),Łączna kwota kosztów (za pośrednictwem kart pracy),
-Total Expense Claim (via Expense Claims),Łączny koszt roszczenie (przez zwrot kosztów),
-Total Purchase Cost (via Purchase Invoice),Całkowity koszt zakupu (faktura zakupu za pośrednictwem),
-Total Sales Amount (via Sales Order),Całkowita kwota sprzedaży (poprzez zamówienie sprzedaży),
-Total Billable Amount (via Timesheets),Całkowita kwota do naliczenia (za pośrednictwem kart pracy),
-Total Billed Amount (via Sales Invoices),Całkowita kwota faktury (za pośrednictwem faktur sprzedaży),
-Total Consumed Material Cost  (via Stock Entry),Całkowity koszt materiałów konsumpcyjnych (poprzez wprowadzenie do magazynu),
-Gross Margin,Marża brutto,
-Gross Margin %,Marża brutto %,
-Monitor Progress,Monitorowanie postępu,
-Collect Progress,Zbierz postęp,
-Frequency To Collect Progress,Częstotliwość zbierania postępów,
-Twice Daily,Dwa razy dziennie,
-First Email,Pierwszy e-mail,
-Second Email,Drugi e-mail,
-Time to send,Czas wysłać,
-Day to Send,Dzień na wysłanie,
-Message will be sent to the users to get their status on the Project,Wiadomość zostanie wysłana do użytkowników w celu uzyskania ich statusu w Projekcie,
-Projects Manager,Kierownik Projektów,
-Project Template,Szablon projektu,
-Project Template Task,Zadanie szablonu projektu,
-Begin On (Days),Rozpocznij od (dni),
-Duration (Days),Czas trwania (dni),
-Project Update,Aktualizacja projektu,
-Project User,Użytkownik projektu,
-View attachments,Wyświetl załączniki,
-Projects Settings,Ustawienia projektów,
-Ignore Workstation Time Overlap,Zignoruj nakładanie się czasu w stacji roboczej,
-Ignore User Time Overlap,Zignoruj nakładanie się czasu użytkownika,
-Ignore Employee Time Overlap,Zignoruj nakładanie się czasu pracownika,
-Weight,Waga,
-Parent Task,Zadanie rodzica,
-Timeline,Oś czasu,
-Expected Time (in hours),Oczekiwany czas (w godzinach),
-% Progress,% Postęp,
-Is Milestone,Jest Milestone,
-Task Description,Opis zadania,
-Dependencies,Zależności,
-Dependent Tasks,Zadania zależne,
-Depends on Tasks,Zależy Zadania,
-Actual Start Date (via Time Sheet),Faktyczna data rozpoczęcia (przez czas arkuszu),
-Actual Time (in hours),Rzeczywisty czas (w godzinach),
-Actual End Date (via Time Sheet),Faktyczna data zakończenia (przez czas arkuszu),
-Total Costing Amount (via Time Sheet),Całkowita kwota Costing (przez czas arkuszu),
-Total Expense Claim (via Expense Claim),Razem zwrot kosztów (przez zwrot kosztów),
-Total Billing Amount (via Time Sheet),Całkowita kwota płatności (poprzez Czas Sheet),
-Review Date,Data Przeglądu,
-Closing Date,Data zamknięcia,
-Task Depends On,Zadanie zależne od,
-Task Type,Typ zadania,
-TS-.YYYY.-,TS-.YYYY.-,
-Employee Detail,Szczegóły urzędnik,
-Billing Details,Szczegóły płatności,
-Total Billable Hours,Całkowita liczba godzin rozliczanych,
-Total Billed Hours,Wszystkich Zafakturowane Godziny,
-Total Costing Amount,Łączna kwota Costing,
-Total Billable Amount,Całkowita kwota podlegająca rozliczeniom,
-Total Billed Amount,Kwota całkowita Zapowiadane,
-% Amount Billed,% wartości rozliczonej,
-Hrs,godziny,
-Costing Amount,Kwota zestawienia kosztów,
-Corrective/Preventive,Korygujące / zapobiegawcze,
-Corrective,Poprawczy,
-Preventive,Zapobiegawczy,
-Resolution,Rozstrzygnięcie,
-Resolutions,Postanowienia,
-Quality Action Resolution,Rezolucja dotycząca jakości działania,
-Quality Feedback Parameter,Parametr sprzężenia zwrotnego jakości,
-Quality Feedback Template Parameter,Parametr szablonu opinii o jakości,
-Quality Goal,Cel jakości,
-Monitoring Frequency,Monitorowanie częstotliwości,
-Weekday,Dzień powszedni,
-Objectives,Cele,
-Quality Goal Objective,Cel celu jakości,
-Objective,Cel,
-Agenda,Program,
-Minutes,Minuty,
-Quality Meeting Agenda,Agenda spotkania jakości,
-Quality Meeting Minutes,Protokół spotkania jakości,
-Minute,Minuta,
-Parent Procedure,Procedura rodzicielska,
-Processes,Procesy,
-Quality Procedure Process,Proces procedury jakości,
-Process Description,Opis procesu,
-Link existing Quality Procedure.,Połącz istniejącą procedurę jakości.,
-Additional Information,Dodatkowe informacje,
-Quality Review Objective,Cel przeglądu jakości,
-DATEV Settings,Ustawienia DATEV,
-Regional,Regionalny,
-Consultant ID,ID konsultanta,
-GST HSN Code,Kod GST HSN,
-HSN Code,Kod HSN,
-GST Settings,Ustawienia GST,
-GST Summary,Podsumowanie GST,
-GSTIN Email Sent On,Wysłano pocztę GSTIN,
-GST Accounts,Konta GST,
-B2C Limit,Limit B2C,
-Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Ustaw wartość faktury dla B2C. B2CL i B2CS obliczane na podstawie tej wartości faktury.,
-GSTR 3B Report,Raport GSTR 3B,
-January,styczeń,
-February,luty,
-March,Marsz,
-April,kwiecień,
-May,Maj,
-June,czerwiec,
-July,lipiec,
-August,sierpień,
-September,wrzesień,
-October,październik,
-November,listopad,
-December,grudzień,
-JSON Output,Wyjście JSON,
-Invoices with no Place Of Supply,Faktury bez miejsca dostawy,
-Import Supplier Invoice,Importuj fakturę od dostawcy,
-Invoice Series,Seria faktur,
-Upload XML Invoices,Prześlij faktury XML,
-Zip File,Plik zip,
-Import Invoices,Importuj faktury,
-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.,Kliknij przycisk Importuj faktury po dołączeniu pliku zip do dokumentu. Wszelkie błędy związane z przetwarzaniem zostaną wyświetlone w dzienniku błędów.,
-Lower Deduction Certificate,Certyfikat niższego potrącenia,
-Certificate Details,Szczegóły certyfikatu,
-194A,194A,
-194C,194C,
-194D,194D,
-194H,194H,
-194I,194I,
-194J,194J,
-194LA,194LA,
-194LBB,194LBB,
-194LBC,194LBC,
-Certificate No,Certyfikat nr,
-Deductee Details,Szczegóły dotyczące odliczonego,
-PAN No,Nr PAN,
-Validity Details,Szczegóły dotyczące ważności,
-Rate Of TDS As Per Certificate,Stawka TDS zgodnie z certyfikatem,
-Certificate Limit,Limit certyfikatu,
-Invoice Series Prefix,Prefiks serii faktur,
-Active Menu,Aktywne menu,
-Restaurant Menu,Menu restauracji,
-Price List (Auto created),Cennik (utworzony automatycznie),
-Restaurant Manager,Menadżer restauracji,
-Restaurant Menu Item,Menu restauracji,
-Restaurant Order Entry,Wprowadzanie do restauracji,
-Restaurant Table,Stolik Restauracyjny,
-Click Enter To Add,Kliknij Enter To Add,
-Last Sales Invoice,Ostatnia sprzedaż faktury,
-Current Order,Aktualne zamówienie,
-Restaurant Order Entry Item,Restauracja Order Entry Pozycja,
-Served,Serwowane,
-Restaurant Reservation,Rezerwacja restauracji,
-Waitlisted,Na liście Oczekujących,
-No Show,Brak pokazu,
-No of People,Liczba osób,
-Reservation Time,Czas rezerwacji,
-Reservation End Time,Rezerwacja Koniec czasu,
-No of Seats,Liczba miejsc,
-Minimum Seating,Minimalne miejsce siedzące,
-"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Śledź kampanię sprzedażową. Śledź Tropy, Wyceny, Zamówienia Sprzedaży etc. z kampanii by zmierzyć zwrot z inwestycji.",
-SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
-Campaign Schedules,Harmonogramy kampanii,
-Buyer of Goods and Services.,Nabywca Towarów i Usług.,
-CUST-.YYYY.-,CUST-.YYYY.-.-,
-Default Company Bank Account,Domyślne firmowe konto bankowe,
-From Lead,Od śladu,
-Account Manager,Menadżer konta,
-Allow Sales Invoice Creation Without Sales Order,Zezwalaj na tworzenie faktur sprzedaży bez zamówienia sprzedaży,
-Allow Sales Invoice Creation Without Delivery Note,Zezwalaj na tworzenie faktur sprzedaży bez potwierdzenia dostawy,
-Default Price List,Domyślny cennik,
-Primary Address and Contact Detail,Główny adres i dane kontaktowe,
-"Select, to make the customer searchable with these fields","Wybierz, aby klient mógł wyszukać za pomocą tych pól",
-Customer Primary Contact,Kontakt główny klienta,
-"Reselect, if the chosen contact is edited after save","Ponownie wybierz, jeśli wybrany kontakt jest edytowany po zapisaniu",
-Customer Primary Address,Główny adres klienta,
-"Reselect, if the chosen address is edited after save","Ponownie wybierz, jeśli wybrany adres jest edytowany po zapisaniu",
-Primary Address,adres główny,
-Mention if non-standard receivable account,"Wskazać, jeśli niestandardowe konto należności",
-Credit Limit and Payment Terms,Limit kredytowy i warunki płatności,
-Additional information regarding the customer.,Dodatkowe informacje na temat klienta.,
-Sales Partner and Commission,Partner sprzedaży i Prowizja,
-Commission Rate,Wartość prowizji,
-Sales Team Details,Szczegóły dotyczące Teamu Sprzedażowego,
-Customer POS id,Identyfikator punktu sprzedaży klienta,
-Customer Credit Limit,Limit kredytu klienta,
-Bypass Credit Limit Check at Sales Order,Pomiń limit kredytowy w zleceniu klienta,
-Industry Type,Typ Przedsiębiorstwa,
-MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
-Installation Date,Data instalacji,
-Installation Time,Czas instalacji,
-Installed Qty,Liczba instalacji,
-Period Start Date,Data rozpoczęcia okresu,
-Period End Date,Data zakończenia okresu,
-Cashier,Kasjer,
-Difference,Różnica,
-Modes of Payment,Tryby płatności,
-Linked Invoices,Powiązane faktury,
-POS Closing Voucher Details,Szczegóły kuponu zamykającego POS,
-Collected Amount,Zebrana kwota,
-Expected Amount,Oczekiwana kwota,
-POS Closing Voucher Invoices,Faktury z zamknięciem kuponu,
-Quantity of Items,Ilość przedmiotów,
-"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","Łączna grupa przedmioty ** ** ** Przedmiot do innego **. Jest to przydatne, jeśli łączenie pewnej ** przedmioty ** w pakiet i utrzymania zapasów pakowanych ** rzeczy ** a nie sumę ** rzecz **. Pakiet ** Pozycja ** będzie miał ""Czy Pozycja Zdjęcie"", jak ""Nie"" i ""Czy Sales Item"", jak ""Tak"". Dla przykładu: Jeśli sprzedajesz Laptopy i plecaki oddzielnie i mają specjalną cenę, jeśli klient kupuje oba, a następnie Laptop + Plecak będzie nowy Bundle wyrobów poz. Uwaga: ZM = Zestawienie Materiałów",
-Parent Item,Element nadrzędny,
-List items that form the package.,Lista elementów w pakiecie,
-SAL-QTN-.YYYY.-,SAL-QTN-.RRRR.-,
-Quotation To,Wycena dla,
-Rate at which customer's currency is converted to company's base currency,Stawka przy użyciu której Waluta Klienta jest konwertowana do podstawowej waluty firmy,
-Rate at which Price list currency is converted to company's base currency,Stawka przy użyciu której waluta Listy Cen jest konwertowana do podstawowej waluty firmy,
-Additional Discount and Coupon Code,Dodatkowy kod rabatowy i kuponowy,
-Referral Sales Partner,Polecony partner handlowy,
-Term Details,Szczegóły warunków,
-Quotation Item,Przedmiot oferty,
-Additional Notes,Dodatkowe uwagi,
-SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
-Skip Delivery Note,Pomiń dowód dostawy,
-In Words will be visible once you save the Sales Order.,"Słownie, będzie widoczne w Zamówieniu Sprzedaży, po zapisaniu",
-Track this Sales Order against any Project,Śledź zamówienie sprzedaży w każdym projekcie,
-Billing and Delivery Status,Fakturowanie i status dostawy,
-Not Delivered,Nie dostarczony,
-Fully Delivered,Całkowicie dostarczono,
-Partly Delivered,Częściowo Dostarczono,
-Not Applicable,Nie dotyczy,
-%  Delivered,% dostarczono,
-% of materials delivered against this Sales Order,% materiałów dostarczonych w ramach zlecenia sprzedaży,
-% of materials billed against this Sales Order,% materiałów rozliczonych w ramach tego zlecenia sprzedaży,
-Not Billed,Nie zaksięgowany,
-Fully Billed,Całkowicie Rozliczone,
-Partly Billed,Częściowo Zapłacono,
-Ensure Delivery Based on Produced Serial No,Zapewnij dostawę na podstawie wyprodukowanego numeru seryjnego,
-Supplier delivers to Customer,Dostawca dostarcza Klientowi,
-Delivery Warehouse,Magazyn Dostawa,
-Planned Quantity,Planowana ilość,
-For Production,Dla Produkcji,
-Work Order Qty,Ilość zlecenia pracy,
-Produced Quantity,Wyprodukowana ilość,
-Used for Production Plan,Używane do Planu Produkcji,
-Sales Partner Type,Typ partnera handlowego,
-Contact No.,Numer Kontaktu,
-Contribution (%),Udział (%),
-Selling Settings,Ustawienia sprzedaży,
-Settings for Selling Module,Ustawienia modułu sprzedaży,
-Campaign Naming By,Konwencja nazewnictwa Kampanii przez,
-Default Customer Group,Domyślna grupa klientów,
-Default Territory,Domyślne terytorium,
-Close Opportunity After Days,Po blisko Szansa Dni,
-Default Quotation Validity Days,Domyślna ważność oferty,
-Sales Update Frequency,Częstotliwość aktualizacji sprzedaży,
-Each Transaction,Każda transakcja,
-SMS Center,Centrum SMS,
-Send To,Wyślij do,
-All Contact,Wszystkie dane Kontaktu,
-All Customer Contact,Wszystkie dane kontaktowe klienta,
-All Supplier Contact,Dane wszystkich dostawców,
-All Sales Partner Contact,Wszystkie dane kontaktowe Partnera Sprzedaży,
-All Lead (Open),Wszystkie Leady (Otwarte),
-All Employee (Active),Wszyscy pracownicy (aktywni),
-All Sales Person,Wszyscy Sprzedawcy,
-Create Receiver List,Stwórz listę odbiorców,
-Receiver List,Lista odbiorców,
-Messages greater than 160 characters will be split into multiple messages,Wiadomości dłuższe niż 160 znaków zostaną podzielone na kilka wiadomości,
-Total Characters,Wszystkich Postacie,
-Total Message(s),Razem ilość wiadomości,
-Authorization Control,Kontrola Autoryzacji,
-Authorization Rule,Reguła autoryzacji,
-Average Discount,Średni Rabat,
-Customerwise Discount,Zniżka dla klienta,
-Itemwise Discount,Pozycja Rabat automatyczny,
-Customer or Item,Klient lub przedmiotu,
-Customer / Item Name,Klient / Nazwa Przedmiotu,
-Authorized Value,Autoryzowany Wartość,
-Applicable To (Role),Stosowne dla (Rola),
-Applicable To (Employee),Stosowne dla (Pracownik),
-Applicable To (User),Stosowne dla (Użytkownik),
-Applicable To (Designation),Stosowne dla (Nominacja),
-Approving Role (above authorized value),Zatwierdzanie rolę (powyżej dopuszczonego wartości),
-Approving User  (above authorized value),Zatwierdzanie autoryzowanego użytkownika (powyżej wartości),
-Brand Defaults,Domyślne marki,
-Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Osobowość prawna / Filia w oddzielny planu kont należących do Organizacji.,
-Change Abbreviation,Zmień Skrót,
-Parent Company,Przedsiębiorstwo macierzyste,
-Default Values,Domyślne wartości,
-Default Holiday List,Domyślna lista urlopowa,
-Default Selling Terms,Domyślne warunki sprzedaży,
-Default Buying Terms,Domyślne warunki zakupu,
-Create Chart Of Accounts Based On,Tworzenie planu kont w oparciu o,
-Standard Template,Szablon Standardowy,
-Existing Company,Istniejąca firma,
-Chart Of Accounts Template,Szablon planu kont,
-Existing Company ,istniejące firmy,
-Date of Establishment,Data założenia,
-Sales Settings,Ustawienia sprzedaży,
-Monthly Sales Target,Miesięczny cel sprzedaży,
-Sales Monthly History,Historia miesięczna sprzedaży,
-Transactions Annual History,Historia transakcji,
-Total Monthly Sales,Łączna miesięczna sprzedaż,
-Default Cash Account,Domyślne Konto Gotówkowe,
-Default Receivable Account,Domyślnie konto Rozrachunki z odbiorcami,
-Round Off Cost Center,Zaokrąglenia - Centrum Kosztów,
-Discount Allowed Account,Konto Dozwolone,
-Discount Received Account,Konto otrzymane z rabatem,
-Exchange Gain / Loss Account,Wymiana Zysk / strat,
-Unrealized Exchange Gain/Loss Account,Niezrealizowane konto zysku / straty z wymiany,
-Allow Account Creation Against Child Company,Zezwól na tworzenie konta przeciwko firmie podrzędnej,
-Default Payable Account,Domyślne konto Rozrachunki z dostawcami,
-Default Employee Advance Account,Domyślne konto Advance pracownika,
-Default Cost of Goods Sold Account,Domyślne Konto Wartości Dóbr Sprzedanych,
-Default Income Account,Domyślne konto przychodów,
-Default Deferred Revenue Account,Domyślne konto odroczonego przychodu,
-Default Deferred Expense Account,Domyślne konto odroczonego kosztu,
-Default Payroll Payable Account,Domyślny Płace Płatne konta,
-Default Expense Claim Payable Account,Rachunek wymagalny zapłaty domyślnego kosztu,
-Stock Settings,Ustawienia magazynu,
-Enable Perpetual Inventory,Włącz wieczne zapasy,
-Default Inventory Account,Domyślne konto zasobów reklamowych,
-Stock Adjustment Account,Konto korekty,
-Fixed Asset Depreciation Settings,Ustawienia Amortyzacja środka trwałego,
-Series for Asset Depreciation Entry (Journal Entry),Seria dla pozycji amortyzacji aktywów (wpis w czasopiśmie),
-Gain/Loss Account on Asset Disposal,Konto Zysk / Strata na Aktywów pozbywaniu,
-Asset Depreciation Cost Center,Zaleta Centrum Amortyzacja kosztów,
-Budget Detail,Szczegóły Budżetu,
-Exception Budget Approver Role,Rola zatwierdzającego wyjątku dla budżetu,
-Company Info,Informacje o firmie,
-For reference only.,Wyłącznie w celach informacyjnych.,
-Company Logo,Logo firmy,
-Date of Incorporation,Data przyłączenia,
-Date of Commencement,Data rozpoczęcia,
-Phone No,Nr telefonu,
-Company Description,Opis Firmy,
-Registration Details,Szczegóły Rejestracji,
-Delete Company Transactions,Usuń Transakcje Spółki,
-Currency Exchange,Wymiana Walut,
-Specify Exchange Rate to convert one currency into another,Określ Kursy walut konwersji jednej waluty w drugą,
-From Currency,Od Waluty,
-To Currency,Do przewalutowania,
-For Buying,Do kupienia,
-For Selling,Do sprzedania,
-Customer Group Name,Nazwa Grupy Klientów,
-Parent Customer Group,Nadrzędna Grupa Klientów,
-Mention if non-standard receivable account applicable,"Wspomnieć, jeśli nie standardowe konto należności dotyczy",
-Credit Limits,Limity kredytowe,
-Email Digest,przetwarzanie emaila,
-Send regular summary reports via Email.,Wyślij regularne raporty podsumowujące poprzez e-mail.,
-Email Digest Settings,ustawienia przetwarzania maila,
-How frequently?,Jak często?,
-Next email will be sent on:,Kolejny e-mali zostanie wysłany w dniu:,
-Note: Email will not be sent to disabled users,Uwaga: E-mail nie zostanie wysłany do nieaktywnych użytkowników,
-Profit & Loss,Rachunek zysków i strat,
-New Income,Nowy dochodowy,
-New Expenses,Nowe wydatki,
-Annual Income,Roczny dochód,
-Annual Expenses,roczne koszty,
-Bank Balance,Saldo bankowe,
-Bank Credit Balance,Saldo kredytu bankowego,
-Receivables,Należności,
-Payables,Zobowiązania,
-Sales Orders to Bill,Zlecenia sprzedaży do rachunku,
-Purchase Orders to Bill,Zamówienia zakupu do rachunku,
-Sales Orders to Deliver,Zlecenia sprzedaży do realizacji,
-Purchase Orders to Receive,Zamówienia zakupu do odbioru,
-New Purchase Invoice,Nowa faktura zakupu,
-New Quotations,Nowa oferta,
-Open Quotations,Otwarte oferty,
-Open Issues,Otwarte kwestie,
-Open Projects,Otwarte projekty,
-Purchase Orders Items Overdue,Przedmioty zamówienia przeterminowane,
-Upcoming Calendar Events,Nadchodzące wydarzenia w kalendarzu,
-Open To Do,Otwórz do zrobienia,
-Add Quote,Dodaj Cytat,
-Global Defaults,Globalne wartości domyślne,
-Default Company,Domyślna Firma,
-Current Fiscal Year,Obecny rok fiskalny,
-Default Distance Unit,Domyślna jednostka odległości,
-Hide Currency Symbol,Ukryj symbol walutowy,
-Do not show any symbol like $ etc next to currencies.,"Nie pokazuj żadnych symboli przy walutach, takich jak $",
-"If disable, 'Rounded Total' field will not be visible in any transaction","Jeśli wyłączone, pozycja 'Końcowa zaokrąglona suma' nie będzie widoczna w żadnej transakcji",
-Disable In Words,Wyłącz w słowach,
-"If disable, 'In Words' field will not be visible in any transaction",Jeśli wyłączyć &quot;w słowach&quot; pole nie będzie widoczne w każdej transakcji,
-Item Classification,Pozycja Klasyfikacja,
-General Settings,Ustawienia ogólne,
-Item Group Name,Element Nazwa grupy,
-Parent Item Group,Grupa Elementu nadrzędnego,
-Item Group Defaults,Domyślne grupy artykułów,
-Item Tax,Podatek dla tej pozycji,
-Check this if you want to show in website,Zaznacz czy chcesz uwidocznić to na stronie WWW,
-Show this slideshow at the top of the page,Pokaż slideshow na górze strony,
-HTML / Banner that will show on the top of product list.,"HTML / Banner, który pokaże się na górze listy produktów.",
-Set prefix for numbering series on your transactions,Ustaw prefiks dla numeracji serii na swoich transakcji,
-Setup Series,Konfigurowanie serii,
-Select Transaction,Wybierz Transakcję,
-Help HTML,Pomoc HTML,
-Series List for this Transaction,Lista serii dla tej transakcji,
-User must always select,Użytkownik musi zawsze zaznaczyć,
-Update Series,Zaktualizuj Serię,
-Change the starting / current sequence number of an existing series.,Zmień początkowy / obecny numer seryjny istniejącej serii.,
-Prefix,Prefiks,
-Current Value,Bieżąca Wartość,
-This is the number of the last created transaction with this prefix,Jest to numer ostatniej transakcji utworzonego z tym prefiksem,
-Update Series Number,Zaktualizuj Numer Serii,
-Quotation Lost Reason,Utracony Powód Wyceny,
-A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,"Dystrybutor strona trzecia / handlowiec / prowizji agenta / partner / sprzedawcę, który sprzedaje produkty firm z tytułu prowizji.",
-Sales Partner Name,Imię Partnera Sprzedaży,
-Partner Type,Typ Partnera,
-Address & Contacts,Adresy i kontakty,
-Address Desc,Opis adresu,
-Contact Desc,Opis kontaktu,
-Sales Partner Target,Cel Partnera Sprzedaży,
-Targets,Cele,
-Show In Website,Pokaż na stronie internetowej,
-Referral Code,kod polecającego,
-To Track inbound purchase,Aby śledzić zakupy przychodzące,
-Logo,Logo,
-Partner website,Strona partnera,
-All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Wszystkie transakcje sprzedaży mogą być oznaczone przed wieloma ** Osoby sprzedaży **, dzięki czemu można ustawić i monitorować cele.",
-Name and Employee ID,Imię i Identyfikator Pracownika,
-Sales Person Name,Imię Sprzedawcy,
-Parent Sales Person,Nadrzędny Przedstawiciel Handlowy,
-Select company name first.,Wybierz najpierw nazwę firmy,
-Sales Person Targets,Cele Sprzedawcy,
-Supplier Group Name,Nazwa grupy dostawcy,
-Parent Supplier Group,Rodzicielska grupa dostawców,
-Target Detail,Szczegóły celu,
-Target Qty,Ilość docelowa,
-Target  Amount,Kwota docelowa,
-Target Distribution,Dystrybucja docelowa,
-"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.","Standardowe Zasady i warunki, które mogą być dodawane do sprzedaży i zakupów.\n\n Przykłady: \n\n 1. Ważność oferty.\n 1. Warunki płatności (z góry, na kredyt, część zaliczki itp).\n 1. Co to jest ekstra (lub płatne przez Klienta).\n 1. Bezpieczeństwo / ostrzeżenie wykorzystanie.\n 1. Gwarancja jeśli w ogóle.\n 1. Zwraca Polityka.\n 1. Warunki wysyłki, jeśli dotyczy.\n 1. Sposobów rozwiązywania sporów, odszkodowania, odpowiedzialność itp \n 1. Adres i kontakt z Twojej firmy.",
-Applicable Modules,Odpowiednie moduły,
-Terms and Conditions Help,Warunki Pomoc,
-Classification of Customers by region,Klasyfikacja Klientów od regionu,
-Territory Name,Nazwa Regionu,
-Parent Territory,Nadrzędne terytorium,
-Territory Manager,Kierownik Regionalny,
-For reference,Dla referencji,
-Territory Targets,Cele Regionalne,
-UOM Name,Nazwa Jednostki Miary,
-Check this to disallow fractions. (for Nos),Zaznacz to by zakazać ułamków (dla liczby jednostek),
-Website Item Group,Grupa przedmiotów strony WWW,
-Cross Listing of Item in multiple groups,Krzyż Notowania pozycji w wielu grupach,
-Default settings for Shopping Cart,Domyślne ustawienia koszyku,
-Enable Shopping Cart,Włącz Koszyk,
-Show Public Attachments,Pokaż załączniki publiczne,
-Show Price,Pokaż cenę,
-Show Stock Availability,Pokaż dostępność zapasów,
-Show Contact Us Button,Pokaż przycisk Skontaktuj się z nami,
-Show Stock Quantity,Pokaż ilość zapasów,
-Show Apply Coupon Code,Pokaż zastosuj kod kuponu,
-Allow items not in stock to be added to cart,Zezwól na dodanie produktów niedostępnych w magazynie do koszyka,
-Prices will not be shown if Price List is not set,"Ceny nie będą wyświetlane, jeśli Cennik nie jest ustawiony",
-Quotation Series,Serie Wyeceny,
-Checkout Settings,Zamówienie Ustawienia,
-Enable Checkout,Włącz kasę,
-Payment Success Url,Płatność Sukces URL,
-After payment completion redirect user to selected page.,Po dokonaniu płatności przekierować użytkownika do wybranej strony.,
-Batch Details,Szczegóły partii,
-Batch ID,Identyfikator Partii,
-image,wizerunek,
-Parent Batch,Nadrzędna partia,
-Manufacturing Date,Data produkcji,
-Batch Quantity,Ilość partii,
-Batch UOM,UOM partii,
-Source Document Type,Typ dokumentu źródłowego,
-Source Document Name,Nazwa dokumentu źródłowego,
-Batch Description,Opis partii,
-Bin,Kosz,
-Reserved Quantity,Zarezerwowana ilość,
-Actual Quantity,Rzeczywista Ilość,
-Requested Quantity,Oczekiwana ilość,
-Reserved Qty for sub contract,Zarezerwowana ilość na podwykonawstwo,
-Moving Average Rate,Cena Średnia Ruchoma,
-FCFS Rate,Pierwsza rata,
-Customs Tariff Number,Numer taryfy celnej,
-Tariff Number,Numer taryfy,
-Delivery To,Dostawa do,
-MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
-Is Return,Czy Wróć,
-Issue Credit Note,Problem Uwaga kredytowa,
-Return Against Delivery Note,Powrót Przeciwko dostawy nocie,
-Customer's Purchase Order No,Numer Zamówienia Zakupu Klienta,
-Billing Address Name,Nazwa Adresu do Faktury,
-"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Jeśli utworzono standardowy szablon w podatku od sprzedaży i Prowizji szablonu, wybierz jedną i kliknij na przycisk poniżej.",
-Transporter Info,Informacje dotyczące przewoźnika,
-Driver Name,Imię kierowcy,
-Track this Delivery Note against any Project,Śledź potwierdzenie dostawy w każdym projekcie,
-Inter Company Reference,Referencje między firmami,
-Print Without Amount,Drukuj bez wartości,
-% Installed,% Zainstalowanych,
-% of materials delivered against this Delivery Note,% materiałów dostarczonych w stosunku do dowodu dostawy,
-Installation Status,Status instalacji,
-Excise Page Number,Akcyza numeru strony,
-Instructions,Instrukcje,
-From Warehouse,Z magazynu,
-Against Sales Order,Na podstawie zamówienia sprzedaży,
-Against Sales Order Item,Na podstawie pozycji zamówienia sprzedaży,
-Against Sales Invoice,Na podstawie faktury sprzedaży,
-Against Sales Invoice Item,Na podstawie pozycji faktury sprzedaży,
-Available Batch Qty at From Warehouse,Ilosc w serii dostępne z magazynu,
-Available Qty at From Warehouse,Dostępne szt co z magazynu,
-Delivery Settings,Ustawienia dostawy,
-Dispatch Settings,Ustawienia wysyłki,
-Dispatch Notification Template,Szablon powiadomienia o wysyłce,
-Dispatch Notification Attachment,Powiadomienie o wysyłce,
-Leave blank to use the standard Delivery Note format,"Pozostaw puste, aby używać standardowego formatu dokumentu dostawy",
-Send with Attachment,Wyślij z załącznikiem,
-Delay between Delivery Stops,Opóźnienie między przerwami w dostawie,
-Delivery Stop,Przystanek dostawy,
-Lock,Zamek,
-Visited,Odwiedzony,
-Order Information,Szczegóły zamówienia,
-Contact Information,Informacje kontaktowe,
-Email sent to,Email wysłany do,
-Dispatch Information,Informacje o wysyłce,
-Estimated Arrival,Szacowany przyjazd,
-MAT-DT-.YYYY.-,MAT-DT-.RRRR.-,
-Initial Email Notification Sent,Wstępne powiadomienie e-mail wysłane,
-Delivery Details,Szczegóły dostawy,
-Driver Email,Adres e-mail kierowcy,
-Driver Address,Adres kierowcy,
-Total Estimated Distance,Łączna przewidywana odległość,
-Distance UOM,Odległość UOM,
-Departure Time,Godzina odjazdu,
-Delivery Stops,Przerwy w dostawie,
-Calculate Estimated Arrival Times,Oblicz szacowany czas przyjazdu,
-Use Google Maps Direction API to calculate estimated arrival times,"Użyj interfejsu API Google Maps Direction, aby obliczyć szacowany czas przybycia",
-Optimize Route,Zoptymalizuj trasę,
-Use Google Maps Direction API to optimize route,"Użyj Google Maps Direction API, aby zoptymalizować trasę",
-In Transit,W tranzycie,
-Fulfillment User,Użytkownik spełniający wymagania,
-"A Product or a Service that is bought, sold or kept in stock.","Produkt lub usługa, która jest kupiona, sprzedana lub przechowywana w magazynie.",
-STO-ITEM-.YYYY.-,STO-ITEM-.RRRR.-,
-Variant Of,Wariant,
-"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Jeśli pozycja jest wariant innego elementu, a następnie opis, zdjęcia, ceny, podatki itp zostanie ustalony z szablonu, o ile nie określono wyraźnie",
-Is Item from Hub,Jest Przedmiot z Hubu,
-Default Unit of Measure,Domyślna jednostka miary,
-Maintain Stock,Utrzymanie Zapasów,
-Standard Selling Rate,Standardowy kurs sprzedaży,
-Auto Create Assets on Purchase,Automatycznie twórz zasoby przy zakupie,
-Asset Naming Series,Asset Naming Series,
-Over Delivery/Receipt Allowance (%),Over Delivery / Receipt Allowance (%),
-Barcodes,Kody kreskowe,
-Shelf Life In Days,Okres przydatności do spożycia w dniach,
-End of Life,Zakończenie okresu eksploatacji,
-Default Material Request Type,Domyślnie Materiał Typ żądania,
-Valuation Method,Metoda wyceny,
-FIFO,FIFO,
-Moving Average,Średnia Ruchoma,
-Warranty Period (in days),Okres gwarancji (w dniach),
-Auto re-order,Automatyczne ponowne zamówienie,
-Reorder level based on Warehouse,Zmiana kolejności w oparciu o poziom Magazynu,
-Will also apply for variants unless overrridden,"Również zostanie zastosowany do wariantów, chyba że zostanie nadpisany",
-Units of Measure,Jednostki miary,
-Will also apply for variants,Również zastosowanie do wariantów,
-Serial Nos and Batches,Numery seryjne i partie,
-Has Batch No,Posada numer partii (batch),
-Automatically Create New Batch,Automatyczne tworzenie nowych partii,
-Batch Number Series,Seria numerów partii,
-"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.","Przykład: ABCD. #####. Jeśli seria jest ustawiona, a numer partii nie jest wymieniony w transakcjach, na podstawie tej serii zostanie utworzony automatyczny numer partii. Jeśli zawsze chcesz wyraźnie podać numer partii dla tego produktu, pozostaw to pole puste. Uwaga: to ustawienie ma pierwszeństwo przed prefiksem serii nazw w Ustawieniach fotografii.",
-Has Expiry Date,Ma datę wygaśnięcia,
-Retain Sample,Zachowaj próbkę,
-Max Sample Quantity,Maksymalna ilość próbki,
-Maximum sample quantity that can be retained,"Maksymalna ilość próbki, którą można zatrzymać",
-Has Serial No,Posiada numer seryjny,
-Serial Number Series,Seria nr seryjnego,
-"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.","Przykład:. ABCD ##### \n Jeśli seria jest ustawiona i nr seryjny nie jest wymieniony w transakcjach, automatyczny numer seryjny zostanie utworzony na podstawie tej serii. Jeśli chcesz zawsze jednoznacznie ustawiać numery seryjne dla tej pozycji, pozostaw to pole puste.",
-Variants,Warianty,
-Has Variants,Ma Warianty,
-"If this item has variants, then it cannot be selected in sales orders etc.","Jeśli ten element ma warianty, to nie może być wybrany w zleceniach sprzedaży itp",
-Variant Based On,Wariant na podstawie,
-Item Attribute,Atrybut elementu,
-"Sales, Purchase, Accounting Defaults","Sprzedaż, zakup, domyślne ustawienia rachunkowości",
-Item Defaults,Domyślne elementy,
-"Purchase, Replenishment Details","Zakup, szczegóły uzupełnienia",
-Is Purchase Item,Jest pozycją kupowalną,
-Default Purchase Unit of Measure,Domyślna jednostka miary zakupów,
-Minimum Order Qty,Minimalna wartość zamówienia,
-Minimum quantity should be as per Stock UOM,Minimalna ilość powinna być zgodna z magazynową jednostką organizacyjną,
-Average time taken by the supplier to deliver,Średni czas podjęte przez dostawcę do dostarczenia,
-Is Customer Provided Item,Jest przedmiotem dostarczonym przez klienta,
-Delivered by Supplier (Drop Ship),Dostarczane przez Dostawcę (Drop Ship),
-Supplier Items,Dostawca przedmioty,
-Foreign Trade Details,Handlu Zagranicznego Szczegóły,
-Country of Origin,Kraj pochodzenia,
-Sales Details,Szczegóły sprzedaży,
-Default Sales Unit of Measure,Domyślna jednostka sprzedaży środka,
-Is Sales Item,Jest pozycją sprzedawalną,
-Max Discount (%),Maksymalny rabat (%),
-No of Months,Liczba miesięcy,
-Customer Items,Pozycje klientów,
-Inspection Criteria,Kryteria kontrolne,
-Inspection Required before Purchase,Wymagane Kontrola przed zakupem,
-Inspection Required before Delivery,Wymagane Kontrola przed dostawą,
-Default BOM,Domyślne Zestawienie Materiałów,
-Supply Raw Materials for Purchase,Dostawa surowce Skupu,
-If subcontracted to a vendor,Jeśli zlecona dostawcy,
-Customer Code,Kod Klienta,
-Default Item Manufacturer,Domyślny producent pozycji,
-Default Manufacturer Part No,Domyślny numer części producenta,
-Show in Website (Variant),Pokaż w Serwisie (Variant),
-Items with higher weightage will be shown higher,Produkty z wyższym weightage zostaną pokazane wyższe,
-Show a slideshow at the top of the page,Pokazuj slideshow na górze strony,
-Website Image,Obraz strony internetowej,
-Website Warehouse,Magazyn strony WWW,
-"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Pokazuj ""W magazynie"" lub ""Brak w magazynie"" bazując na ilości dostępnej w tym magazynie.",
-Website Item Groups,Grupy przedmiotów strony WWW,
-List this Item in multiple groups on the website.,Pokaż ten produkt w wielu grupach na stronie internetowej.,
-Copy From Item Group,Skopiuj z Grupy Przedmiotów,
-Website Content,Zawartość strony internetowej,
-You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Możesz użyć dowolnego poprawnego znacznika Bootstrap 4 w tym polu. Zostanie on wyświetlony na Twojej stronie przedmiotu.,
-Total Projected Qty,Łącznej prognozowanej szt,
-Hub Publishing Details,Szczegóły publikacji wydawnictwa Hub,
-Publish in Hub,Publikowanie w Hub,
-Publish Item to hub.erpnext.com,Publikacja na hub.erpnext.com,
-Hub Category to Publish,Kategoria ośrodka do opublikowania,
-Hub Warehouse,Magazyn Hub,
-"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Opublikuj &quot;W magazynie&quot; lub &quot;Nie w magazynie&quot; w Hub na podstawie zapasów dostępnych w tym magazynie.,
-Synced With Hub,Synchronizowane z Hub,
-Item Alternative,Pozycja alternatywna,
-Alternative Item Code,Alternatywny kod towaru,
-Two-way,Dwukierunkowy,
-Alternative Item Name,Alternatywna nazwa przedmiotu,
-Attribute Name,Nazwa atrybutu,
-Numeric Values,Wartości liczbowe,
-From Range,Od zakresu,
-Increment,Przyrost,
-To Range,Do osiągnięcia,
-Item Attribute Values,Wartości atrybutu elementu,
-Item Attribute Value,Pozycja wartość atrybutu,
-Attribute Value,Wartość atrybutu,
-Abbreviation,Skrót,
-"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""","To będzie dołączany do Kodeksu poz wariantu. Na przykład, jeśli skrót to ""SM"", a kod element jest ""T-SHIRT"" Kod poz wariantu będzie ""T-SHIRT-SM""",
-Item Barcode,Kod kreskowy,
-Barcode Type,Typ kodu kreskowego,
-EAN,EAN,
-UPC-A,UPC-A,
-Item Customer Detail,Element Szczegóły klienta,
-"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Dla wygody klientów, te kody mogą być użyte w formacie drukowania jak faktury czy dowody dostawy",
-Ref Code,Ref kod,
-Item Default,Domyślny produkt,
-Purchase Defaults,Zakup domyślne,
-Default Buying Cost Center,Domyślne Centrum Kosztów Kupowania,
-Default Supplier,Domyślny dostawca,
-Default Expense Account,Domyślne konto rozchodów,
-Sales Defaults,Domyślne wartości sprzedaży,
-Default Selling Cost Center,Domyślne centrum kosztów sprzedaży,
-Item Manufacturer,pozycja Producent,
-Item Price,Cena,
-Packing Unit,Jednostka pakująca,
-Quantity  that must be bought or sold per UOM,"Ilość, która musi zostać kupiona lub sprzedana za MOM",
-Item Quality Inspection Parameter,Element Parametr Inspekcja Jakości,
-Acceptance Criteria,Kryteria akceptacji,
-Item Reorder,Element Zamów ponownie,
-Check in (group),Przyjazd (grupa),
-Request for,Wniosek o,
-Re-order Level,Próg ponowienia zamówienia,
-Re-order Qty,Ilość w ponowieniu zamówienia,
-Item Supplier,Dostawca,
-Item Variant,Pozycja Wersja,
-Item Variant Attribute,Pozycja Wersja Atrybut,
-Do not update variants on save,Nie aktualizuj wariantów przy zapisie,
-Fields will be copied over only at time of creation.,Pola będą kopiowane tylko w momencie tworzenia.,
-Allow Rename Attribute Value,Zezwalaj na zmianę nazwy wartości atrybutu,
-Rename Attribute Value in Item Attribute.,Zmień nazwę atrybutu w atrybucie elementu.,
-Copy Fields to Variant,Skopiuj pola do wariantu,
-Item Website Specification,Element Specyfikacja Strony,
-Table for Item that will be shown in Web Site,"Tabela dla pozycji, które zostaną pokazane w Witrynie",
-Landed Cost Item,Koszt Przedmiotu,
-Receipt Document Type,Otrzymanie Rodzaj dokumentu,
-Receipt Document,Otrzymanie dokumentu,
-Applicable Charges,Obowiązujące opłaty,
-Purchase Receipt Item,Przedmiot Potwierdzenia Zakupu,
-Landed Cost Purchase Receipt,Koszt kupionego przedmiotu,
-Landed Cost Taxes and Charges,Koszt podatków i opłat,
-Landed Cost Voucher,Koszt kuponu,
-MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
-Purchase Receipts,Potwierdzenia Zakupu,
-Purchase Receipt Items,Przedmioty Potwierdzenia Zakupu,
-Get Items From Purchase Receipts,Uzyskaj pozycje z potwierdzeń zakupu.,
-Distribute Charges Based On,Rozpowszechnianie opłat na podstawie,
-Landed Cost Help,Ugruntowany Koszt Pomocy,
-Manufacturers used in Items,Producenci używane w pozycji,
-Limited to 12 characters,Ograniczona do 12 znaków,
-MAT-MR-.YYYY.-,MAT-MR-.RRRR.-,
-Partially Ordered,Częściowo zamówione,
-Transferred,Przeniesiony,
-% Ordered,% Zamówione,
-Terms and Conditions Content,Zawartość regulaminu,
-Quantity and Warehouse,Ilość i magazyn,
-Lead Time Date,Termin realizacji,
-Min Order Qty,Min. wartość zamówienia,
-Packed Item,Przedmiot pakowany,
-To Warehouse (Optional),Aby Warehouse (opcjonalnie),
-Actual Batch Quantity,Rzeczywista ilość partii,
-Prevdoc DocType,Typ dokumentu dla poprzedniego dokumentu,
-Parent Detail docname,Nazwa dokumentu ze szczegółami nadrzędnego rodzica,
-"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Utwórz paski na opakowania do dostawy. Używane do informacji o numerze opakowania, zawartości i wadze.",
-Indicates that the package is a part of this delivery (Only Draft),"Wskazuje, że pakiet jest częścią tej dostawy (Tylko projektu)",
-MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
-From Package No.,Nr Przesyłki,
-Identification of the package for the delivery (for print),Nr identyfikujący paczkę do dostawy (do druku),
-To Package No.,Do zapakowania Nr,
-If more than one package of the same type (for print),Jeśli więcej niż jedna paczka tego samego typu (do druku),
-Package Weight Details,Informacje o wadze paczki,
-The net weight of this package. (calculated automatically as sum of net weight of items),Masa netto tego pakietu. (Obliczone automatycznie jako suma masy netto poszczególnych pozycji),
-Net Weight UOM,Jednostka miary wagi netto,
-Gross Weight,Waga brutto,
-The gross weight of the package. Usually net weight + packaging material weight. (for print),Waga brutto opakowania. Zazwyczaj waga netto + waga materiału z jakiego jest wykonane opakowanie. (Do druku),
-Gross Weight UOM,Waga brutto Jednostka miary,
-Packing Slip Item,Pozycja listu przewozowego,
-STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
-Material Transfer for Manufacture,Materiał transferu dla Produkcja,
-Qty of raw materials will be decided based on the qty of the Finished Goods Item,Ilość surowców zostanie ustalona na podstawie ilości produktu gotowego,
-Parent Warehouse,Dominująca Magazyn,
-Items under this warehouse will be suggested,Produkty w tym magazynie zostaną zasugerowane,
-Get Item Locations,Uzyskaj lokalizacje przedmiotów,
-Item Locations,Lokalizacje przedmiotów,
-Pick List Item,Wybierz element listy,
-Picked Qty,Wybrano ilość,
-Price List Master,Ustawienia Cennika,
-Price List Name,Nazwa cennika,
-Price Not UOM Dependent,Cena nie zależy od ceny,
-Applicable for Countries,Zastosowanie dla krajów,
-Price List Country,Cena Kraj,
-MAT-PRE-.YYYY.-,MAT-PRE-RAYY.-,
-Supplier Delivery Note,Uwagi do dostawy,
-Time at which materials were received,Data i czas otrzymania dostawy,
-Return Against Purchase Receipt,Powrót Przeciwko ZAKUPU,
-Rate at which supplier's currency is converted to company's base currency,Stawka przy użyciu której waluta dostawcy jest konwertowana do podstawowej waluty firmy,
-Sets 'Accepted Warehouse' in each row of the items table.,Ustawia „Zaakceptowany magazyn” w każdym wierszu tabeli towarów.,
-Sets 'Rejected Warehouse' in each row of the items table.,Ustawia „Magazyn odrzucony” w każdym wierszu tabeli towarów.,
-Raw Materials Consumed,Zużyte surowce,
-Get Current Stock,Pobierz aktualny stan magazynowy,
-Consumed Items,Zużyte przedmioty,
-Auto Repeat Detail,Auto Repeat Detail,
-Transporter Details,Szczegóły transportu,
-Vehicle Number,Numer pojazdu,
-Vehicle Date,Pojazd Data,
-Received and Accepted,Otrzymano i zaakceptowano,
-Accepted Quantity,Przyjęta Ilość,
-Rejected Quantity,Odrzucona Ilość,
-Accepted Qty as per Stock UOM,Zaakceptowana ilość zgodnie z JM zapasów,
-Sample Quantity,Ilość próbki,
-Rate and Amount,Stawka i Ilość,
-MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
-Report Date,Data raportu,
-Inspection Type,Typ kontroli,
-Item Serial No,Nr seryjny,
-Sample Size,Wielkość próby,
-Inspected By,Skontrolowane przez,
-Readings,Odczyty,
-Quality Inspection Reading,Odczyt kontroli jakości,
-Reading 1,Odczyt 1,
-Reading 2,Odczyt 2,
-Reading 3,Odczyt 3,
-Reading 4,Odczyt 4,
-Reading 5,Odczyt 5,
-Reading 6,Odczyt 6,
-Reading 7,Odczyt 7,
-Reading 8,Odczyt 8,
-Reading 9,Odczyt 9,
-Reading 10,Odczyt 10,
-Quality Inspection Template Name,Nazwa szablonu kontroli jakości,
-Quick Stock Balance,Szybkie saldo zapasów,
-Available Quantity,Dostępna Ilość,
-Distinct unit of an Item,Odrębna jednostka przedmiotu,
-Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazyn może być tylko zmieniony poprzez Wpis Asortymentu / Notę Dostawy / Potwierdzenie zakupu,
-Purchase / Manufacture Details,Szczegóły Zakupu / Produkcji,
-Creation Date,Data utworzenia,
-Creation Time,Czas utworzenia,
-Asset Details,Szczegóły dotyczące aktywów,
-Asset Status,Status zasobu,
-Delivery Document Type,Typ dokumentu dostawy,
-Delivery Document No,Nr dokumentu dostawy,
-Delivery Time,Czas dostawy,
-Invoice Details,Dane do faktury,
-Warranty / AMC Details,Gwarancja / AMC Szczegóły,
-Warranty Expiry Date,Data upływu gwarancji,
-AMC Expiry Date,AMC Data Ważności,
-Under Warranty,Pod Gwarancją,
-Out of Warranty,Brak Gwarancji,
-Under AMC,Pod AMC,
-Warranty Period (Days),Okres gwarancji (dni),
-Serial No Details,Szczegóły numeru seryjnego,
-MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
-Stock Entry Type,Rodzaj wejścia na magazyn,
-Stock Entry (Outward GIT),Wjazd na giełdę (GIT zewnętrzny),
-Material Consumption for Manufacture,Zużycie materiału do produkcji,
-Repack,Przepakowanie,
-Send to Subcontractor,Wyślij do Podwykonawcy,
-Delivery Note No,Nr dowodu dostawy,
-Sales Invoice No,Nr faktury sprzedaży,
-Purchase Receipt No,Nr Potwierdzenia Zakupu,
-Inspection Required,Wymagana kontrola,
-From BOM,Od BOM,
-For Quantity,Dla Ilości,
-Including items for sub assemblies,W tym elementów dla zespołów sub,
-Default Source Warehouse,Domyślny magazyn źródłowy,
-Source Warehouse Address,Adres hurtowni,
-Default Target Warehouse,Domyślny magazyn docelowy,
-Target Warehouse Address,Docelowy adres hurtowni,
-Update Rate and Availability,Aktualizuj cenę i dostępność,
-Total Incoming Value,Całkowita wartość przychodów,
-Total Outgoing Value,Całkowita wartość wychodząca,
-Total Value Difference (Out - In),Całkowita Wartość Różnica (Out - In),
-Additional Costs,Dodatkowe koszty,
-Total Additional Costs,Wszystkich Dodatkowe koszty,
-Customer or Supplier Details,Szczegóły klienta lub dostawcy,
-Per Transferred,Na przeniesione,
-Stock Entry Detail,Szczególy zapisu magazynowego,
-Basic Rate (as per Stock UOM),Stawki podstawowej (zgodnie Stock UOM),
-Basic Amount,Kwota podstawowa,
-Additional Cost,Dodatkowy koszt,
-Serial No / Batch,Nr seryjny / partia,
-Subcontracted Item,Element podwykonawstwa,
-Against Stock Entry,Przeciwko wprowadzeniu akcji,
-Stock Entry Child,Dziecko do wejścia na giełdę,
-PO Supplied Item,PO Dostarczony przedmiot,
-Reference Purchase Receipt,Odbiór zakupu referencyjnego,
-Stock Ledger Entry,Zapis w księdze zapasów,
-Outgoing Rate,Wychodzące Cena,
-Actual Qty After Transaction,Rzeczywista Ilość Po Transakcji,
-Stock Value Difference,Różnica wartości zapasów,
-Stock Reconciliation,Uzgodnienia stanu,
-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.,To narzędzie pomaga uaktualnić lub ustalić ilość i wycenę akcji w systemie. To jest zwykle używany do synchronizacji wartości systemowych i co rzeczywiście istnieje w magazynach.,
-MAT-RECO-.YYYY.-,MAT-RECO-.RRRR.-,
-Reconciliation JSON,Wyrównywanie JSON,
-Stock Reconciliation Item,Uzgodnienia Stanu Pozycja,
-Before reconciliation,Przed pojednania,
-Current Serial No,Aktualny numer seryjny,
-Current Valuation Rate,Aktualny Wycena Cena,
-Current Amount,Aktualny Kwota,
-Quantity Difference,Ilość Różnica,
-Amount Difference,kwota różnicy,
-Item Naming By,Element Nazwy przez,
-Default Item Group,Domyślna grupa elementów,
-Default Stock UOM,Domyślna jednostka miary Asortymentu,
-Sample Retention Warehouse,Przykładowy magazyn retencyjny,
-Default Valuation Method,Domyślna metoda wyceny,
-Show Barcode Field,Pokaż pole kodu kreskowego,
-Convert Item Description to Clean HTML,"Konwertuj opis elementu, aby wyczyścić HTML",
-Allow Negative Stock,Dozwolony ujemny stan,
-Automatically Set Serial Nos based on FIFO,Nr seryjny automatycznie ustawiony w oparciu o FIFO,
-Auto Material Request,Zapytanie Auto Materiał,
-Inter Warehouse Transfer Settings,Ustawienia transferu między magazynami,
-Freeze Stock Entries,Zamroź Wpisy do Asortymentu,
-Stock Frozen Upto,Zamroź zapasy do,
-Batch Identification,Identyfikacja partii,
-Use Naming Series,Użyj serii nazw,
-Naming Series Prefix,Prefiks serii nazw,
-UOM Category,Kategoria UOM,
-UOM Conversion Detail,Szczegóły konwersji jednostki miary,
-Variant Field,Pole wariantu,
-A logical Warehouse against which stock entries are made.,Logiczny Magazyn przeciwny do zapisów.,
-Warehouse Detail,Szczegóły magazynu,
-Warehouse Name,Nazwa magazynu,
-Warehouse Contact Info,Dane kontaktowe dla magazynu,
-PIN,PIN,
-ISS-.YYYY.-,ISS-.YYYY.-,
-Raised By (Email),Wywołany przez (Email),
-Issue Type,rodzaj zagadnienia,
-Issue Split From,Wydanie Split From,
-Service Level,Poziom usług,
-Response By,Odpowiedź wg,
-Response By Variance,Odpowiedź według wariancji,
-Ongoing,Trwający,
-Resolution By,Rozdzielczość wg,
-Resolution By Variance,Rozdzielczość przez wariancję,
-Service Level Agreement Creation,Tworzenie umowy o poziomie usług,
-First Responded On,Data pierwszej odpowiedzi,
-Resolution Details,Szczegóły Rozstrzygnięcia,
-Opening Date,Data Otwarcia,
-Opening Time,Czas Otwarcia,
-Resolution Date,Data Rozstrzygnięcia,
-Via Customer Portal,Przez portal klienta,
-Support Team,Support Team,
-Issue Priority,Priorytet wydania,
-Service Day,Dzień obsługi,
-Workday,Dzień roboczy,
-Default Priority,Domyślny priorytet,
-Priorities,Priorytety,
-Support Hours,Godziny Wsparcia,
-Support and Resolution,Wsparcie i rozdzielczość,
-Default Service Level Agreement,Domyślna umowa o poziomie usług,
-Entity,Jednostka,
-Agreement Details,Szczegóły umowy,
-Response and Resolution Time,Czas odpowiedzi i rozdzielczości,
-Service Level Priority,Priorytet poziomu usług,
-Resolution Time,Czas rozdzielczości,
-Support Search Source,Wspieraj źródło wyszukiwania,
-Source Type,rodzaj źródła,
-Query Route String,Ciąg trasy zapytania,
-Search Term Param Name,Szukane słowo Nazwa Param,
-Response Options,Opcje odpowiedzi,
-Response Result Key Path,Kluczowa ścieżka odpowiedzi,
-Post Route String,Wpisz ciąg trasy,
-Post Route Key List,Opublikuj listę kluczy,
-Post Title Key,Post Title Key,
-Post Description Key,Klucz opisu postu,
-Link Options,Opcje linku,
-Source DocType,Źródło DocType,
-Result Title Field,Pole wyniku wyniku,
-Result Preview Field,Pole podglądu wyników,
-Result Route Field,Wynik Pole trasy,
-Service Level Agreements,Umowy o poziomie usług,
-Track Service Level Agreement,Śledź umowę o poziomie usług,
-Allow Resetting Service Level Agreement,Zezwalaj na resetowanie umowy o poziomie usług,
-Close Issue After Days,Po blisko Issue Dni,
-Auto close Issue after 7 days,Auto blisko Issue po 7 dniach,
-Support Portal,Portal wsparcia,
-Get Started Sections,Pierwsze kroki,
-Show Latest Forum Posts,Pokaż najnowsze posty na forum,
-Forum Posts,Posty na forum,
-Forum URL,URL forum,
-Get Latest Query,Pobierz najnowsze zapytanie,
-Response Key List,Lista kluczy odpowiedzi,
-Post Route Key,Wpisz klucz trasy,
-Search APIs,Wyszukaj interfejsy API,
-SER-WRN-.YYYY.-,SER-WRN-.RRRR.-,
-Issue Date,Data zdarzenia,
-Item and Warranty Details,Przedmiot i gwarancji Szczegóły,
-Warranty / AMC Status,Gwarancja / AMC Status,
-Resolved By,Rozstrzygnięte przez,
-Service Address,Adres usługi,
-If different than customer address,Jeśli jest inny niż adres klienta,
-Raised By,Wywołany przez,
-From Company,Od Firmy,
-Rename Tool,Zmień nazwę narzędzia,
-Utilities,Usługi komunalne,
-Type of document to rename.,"Typ dokumentu, którego zmieniasz nazwę",
-File to Rename,Plik to zmiany nazwy,
-"Attach .csv file with two columns, one for the old name and one for the new name","Dołączyć plik .csv z dwoma kolumnami, po jednym dla starej nazwy i jeden dla nowej nazwy",
-Rename Log,Zmień nazwę dziennika,
-SMS Log,Dziennik zdarzeń SMS,
-Sender Name,Nazwa Nadawcy,
-Sent On,Wysłano w,
-No of Requested SMS,Numer wymaganego SMS,
-Requested Numbers,Wymagane numery,
-No of Sent SMS,Numer wysłanego Sms,
-Sent To,Wysłane Do,
-Absent Student Report,Raport Nieobecności Studenta,
-Assessment Plan Status,Status planu oceny,
-Asset Depreciation Ledger,Księga amortyzacji,
-Asset Depreciations and Balances,Aktywów Amortyzacja i salda,
-Available Stock for Packing Items,Dostępne ilości dla materiałów opakunkowych,
-Bank Clearance Summary,Rozliczenia bankowe,
-Bank Remittance,Przelew bankowy,
-Batch Item Expiry Status,Batch Przedmiot status ważności,
-BOM Explorer,Eksplorator BOM,
-BOM Search,BOM Szukaj,
-BOM Stock Calculated,BOM Stock Obliczono,
-BOM Variance Report,Raport wariancji BOM,
-Campaign Efficiency,Skuteczność Kampanii,
-Cash Flow,Przepływy pieniężne,
-Completed Work Orders,Zrealizowane zlecenia pracy,
-To Produce,Do produkcji,
-Produced,Wyprodukowany,
-Consolidated Financial Statement,Skonsolidowane sprawozdanie finansowe,
-Course wise Assessment Report,Szeregowy raport oceny,
-Customer Credit Balance,Saldo kredytowe klienta,
-Customer Ledger Summary,Podsumowanie księgi klienta,
-Customer-wise Item Price,Cena przedmiotu pod względem klienta,
-Customers Without Any Sales Transactions,Klienci bez żadnych transakcji sprzedaży,
-Daily Timesheet Summary,Codzienne grafiku Podsumowanie,
-Daily Work Summary Replies,Podsumowanie codziennej pracy,
-DATEV,DATEV,
-Delayed Item Report,Raport o opóźnionych przesyłkach,
-Delayed Order Report,Raport o opóźnionym zamówieniu,
-Delivered Items To Be Billed,Dostarczone przedmioty oczekujące na fakturowanie,
-Delivery Note Trends,Trendy Dowodów Dostawy,
-Electronic Invoice Register,Rejestr faktur elektronicznych,
-Employee Advance Summary,Podsumowanie zaliczek pracowników,
-Employee Billing Summary,Podsumowanie płatności dla pracowników,
-Employee Birthday,Data urodzenia pracownika,
-Employee Information,Informacja o pracowniku,
-Employee Leave Balance,Bilans Nieobecności Pracownika,
-Employee Leave Balance Summary,Podsumowanie salda urlopu pracownika,
-Employees working on a holiday,Pracownicy zatrudnieni na wakacje,
-Eway Bill,Eway Bill,
-Expiring Memberships,Wygaśnięcie członkostwa,
-Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
-Final Assessment Grades,Oceny końcowe,
-Fixed Asset Register,Naprawiono rejestr aktywów,
-Gross and Net Profit Report,Raport zysku brutto i netto,
-GST Itemised Purchase Register,GST Wykaz zamówień zakupu,
-GST Itemised Sales Register,Wykaz numerów sprzedaży produktów GST,
-GST Purchase Register,Rejestr zakupów GST,
-GST Sales Register,Rejestr sprzedaży GST,
-GSTR-1,GSTR-1,
-GSTR-2,GSTR-2,
-Hotel Room Occupancy,Pokój hotelowy,
-HSN-wise-summary of outward supplies,Podsumowanie HSN dostaw zewnętrznych,
-Inactive Customers,Nieaktywne Klienci,
-Inactive Sales Items,Nieaktywne elementy sprzedaży,
-IRS 1099,IRS 1099,
-Issued Items Against Work Order,Wydane przedmioty na zlecenie pracy,
-Projected Quantity as Source,Prognozowana ilość jako źródło,
-Item Balance (Simple),Bilans przedmiotu (prosty),
-Item Price Stock,Pozycja Cena towaru,
-Item Prices,Ceny,
-Item Shortage Report,Element Zgłoś Niedobór,
-Item Variant Details,Szczegóły wariantu przedmiotu,
-Reserved,Zarezerwowany,
-Itemwise Recommended Reorder Level,Pozycja Zalecany poziom powtórnego zamówienia,
-Lead Details,Dane Tropu,
-Lead Owner Efficiency,Skuteczność właściciela wiodącego,
-Loan Repayment and Closure,Spłata i zamknięcie pożyczki,
-Loan Security Status,Status zabezpieczenia pożyczki,
-Lost Opportunity,Stracona szansa,
-Maintenance Schedules,Plany Konserwacji,
-Monthly Attendance Sheet,Miesięczna karta obecności,
-Open Work Orders,Otwórz zlecenia pracy,
-Qty to Deliver,Ilość do dostarczenia,
-Patient Appointment Analytics,Analiza wizyt pacjentów,
-Payment Period Based On Invoice Date,Termin Płatności oparty na dacie faktury,
-Pending SO Items For Purchase Request,Oczekiwane elementy Zamówień Sprzedaży na Prośbę Zakupu,
-Procurement Tracker,Śledzenie zamówień,
-Product Bundle Balance,Bilans pakietu produktów,
-Production Analytics,Analizy produkcyjne,
-Profit and Loss Statement,Rachunek zysków i strat,
-Profitability Analysis,Analiza rentowności,
-Project Billing Summary,Podsumowanie płatności za projekt,
-Project wise Stock Tracking,Śledzenie zapasów według projektu,
-Prospects Engaged But Not Converted,"Perspektywy zaręczone, ale nie przekształcone",
-Purchase Analytics,Analiza Zakupów,
-Purchase Invoice Trends,Trendy Faktur Zakupów,
-Qty to Receive,Ilość do otrzymania,
-Received Qty Amount,Otrzymana ilość,
-Billed Qty,Rozliczona ilość,
-Purchase Order Trends,Trendy Zamówienia Kupna,
-Purchase Receipt Trends,Trendy Potwierdzenia Zakupu,
-Purchase Register,Rejestracja Zakupu,
-Quotation Trends,Trendy Wyceny,
-Received Items To Be Billed,Otrzymane przedmioty czekające na zaksięgowanie,
-Qty to Order,Ilość do zamówienia,
-Requested Items To Be Transferred,Proszę o Przetranferowanie Przedmiotów,
-Qty to Transfer,Ilość do transferu,
-Salary Register,wynagrodzenie Rejestracja,
-Sales Analytics,Analityka sprzedaży,
-Sales Partner Commission Summary,Podsumowanie Komisji ds. Sprzedaży,
-Sales Partner Target Variance based on Item Group,Zmienna docelowa partnera handlowego na podstawie grupy pozycji,
-Sales Partner Transaction Summary,Podsumowanie transakcji partnera handlowego,
-Sales Partners Commission,Prowizja Partnera Sprzedaży,
-Invoiced Amount (Exclusive Tax),Kwota zafakturowana (bez podatku),
-Average Commission Rate,Średnia Prowizja,
-Sales Payment Summary,Podsumowanie płatności za sprzedaż,
-Sales Person Commission Summary,Osoba odpowiedzialna za sprzedaż,
-Sales Person Target Variance Based On Item Group,Zmienna docelowa osoby sprzedaży na podstawie grupy pozycji,
-Sales Register,Rejestracja Sprzedaży,
-Serial No Service Contract Expiry,Umowa serwisowa o nr seryjnym wygasa,
-Serial No Status,Status nr seryjnego,
-Serial No Warranty Expiry,Gwarancja o nr seryjnym wygasa,
-Stock Ageing,Starzenie się zapasów,
-Stock and Account Value Comparison,Porównanie wartości zapasów i konta,
-Stock Projected Qty,Przewidywana ilość zapasów,
-Student and Guardian Contact Details,Uczeń i opiekun Dane kontaktowe,
-Student Batch-Wise Attendance,Partiami Student frekwencja,
-Student Fee Collection,Student Opłata Collection,
-Student Monthly Attendance Sheet,Student miesięczny Obecność Sheet,
-Subcontracted Item To Be Received,Przedmiot podwykonawstwa do odbioru,
-Subcontracted Raw Materials To Be Transferred,"Podwykonawstwo Surowce, które mają zostać przekazane",
-Supplier Ledger Summary,Podsumowanie księgi dostawców,
-Support Hour Distribution,Dystrybucja godzin wsparcia,
-TDS Computation Summary,Podsumowanie obliczeń TDS,
-TDS Payable Monthly,Miesięczny płatny TDS,
-Territory Target Variance Based On Item Group,Territory Target Variance Based On Item Item,
-Territory-wise Sales,Sprzedaż terytorialna,
-Total Stock Summary,Całkowity podsumowanie zasobów,
-Trial Balance,Zestawienie obrotów i sald,
-Trial Balance (Simple),Bilans próbny (prosty),
-Trial Balance for Party,Trial Balance for Party,
-Unpaid Expense Claim,Niepłatny Koszty Zastrzeżenie,
-Warehouse wise Item Balance Age and Value,Magazyn mądry Pozycja Bilans Wiek i wartość,
-Work Order Stock Report,Raport o stanie zlecenia pracy,
-Work Orders in Progress,Zlecenia robocze w toku,
-Validation Error,Błąd walidacji,
-Automatically Process Deferred Accounting Entry,Automatycznie przetwarzaj odroczony zapis księgowy,
-Bank Clearance,Rozliczenie bankowe,
-Bank Clearance Detail,Szczegóły dotyczące rozliczeń bankowych,
-Update Cost Center Name / Number,Zaktualizuj nazwę / numer centrum kosztów,
-Journal Entry Template,Szablon wpisu do dziennika,
-Template Title,Tytuł szablonu,
-Journal Entry Type,Typ pozycji dziennika,
-Journal Entry Template Account,Konto szablonu zapisów księgowych,
-Process Deferred Accounting,Rozliczanie odroczone procesu,
-Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Nie można utworzyć ręcznego wpisu! Wyłącz automatyczne wprowadzanie odroczonych księgowań w ustawieniach kont i spróbuj ponownie,
-End date cannot be before start date,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia,
-Total Counts Targeted,Łączna liczba docelowa,
-Total Counts Completed,Całkowita liczba zakończonych,
-Counts Targeted: {0},Docelowe liczby: {0},
-Payment Account is mandatory,Konto płatnicze jest obowiązkowe,
-"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Jeśli zaznaczone, pełna kwota zostanie odliczona od dochodu podlegającego opodatkowaniu przed obliczeniem podatku dochodowego bez składania deklaracji lub dowodów.",
-Disbursement Details,Szczegóły wypłaty,
-Material Request Warehouse,Magazyn żądań materiałowych,
-Select warehouse for material requests,Wybierz magazyn dla zapytań materiałowych,
-Transfer Materials For Warehouse {0},Przenieś materiały do magazynu {0},
-Production Plan Material Request Warehouse,Plan produkcji Magazyn żądań materiałowych,
-Sets 'Source Warehouse' in each row of the items table.,Ustawia „Magazyn źródłowy” w każdym wierszu tabeli towarów.,
-Sets 'Target Warehouse' in each row of the items table.,Ustawia „Magazyn docelowy” w każdym wierszu tabeli towarów.,
-Show Cancelled Entries,Pokaż anulowane wpisy,
-Backdated Stock Entry,Zapis akcji z datą wsteczną,
-Row #{}: Currency of {} - {} doesn't matches company currency.,Wiersz nr {}: waluta {} - {} nie odpowiada walucie firmy.,
-{} Assets created for {},{} Zasoby utworzone dla {},
-{0} Number {1} is already used in {2} {3},{0} Numer {1} jest już używany w {2} {3},
-Update Bank Clearance Dates,Zaktualizuj daty rozliczeń bankowych,
-Healthcare Practitioner: ,Lekarz:,
-Lab Test Conducted: ,Przeprowadzony test laboratoryjny:,
-Lab Test Event: ,Wydarzenie testów laboratoryjnych:,
-Lab Test Result: ,Wynik testu laboratoryjnego:,
-Clinical Procedure conducted: ,Przeprowadzona procedura kliniczna:,
-Therapy Session Charges: {0},Opłaty za sesję terapeutyczną: {0},
-Therapy: ,Terapia:,
-Therapy Plan: ,Plan terapii:,
-Total Counts Targeted: ,Łączna liczba docelowa:,
-Total Counts Completed: ,Łączna liczba zakończonych:,
-Andaman and Nicobar Islands,Wyspy Andaman i Nicobar,
-Andhra Pradesh,Andhra Pradesh,
-Arunachal Pradesh,Arunachal Pradesh,
-Assam,Assam,
-Bihar,Bihar,
-Chandigarh,Chandigarh,
-Chhattisgarh,Chhattisgarh,
-Dadra and Nagar Haveli,Dadra i Nagar Haveli,
-Daman and Diu,Daman i Diu,
-Delhi,Delhi,
-Goa,Goa,
-Gujarat,Gujarat,
-Haryana,Haryana,
-Himachal Pradesh,Himachal Pradesh,
-Jammu and Kashmir,Dżammu i Kaszmir,
-Jharkhand,Jharkhand,
-Karnataka,Karnataka,
-Kerala,Kerala,
-Lakshadweep Islands,Wyspy Lakshadweep,
-Madhya Pradesh,Madhya Pradesh,
-Maharashtra,Maharashtra,
-Manipur,Manipur,
-Meghalaya,Meghalaya,
-Mizoram,Mizoram,
-Nagaland,Nagaland,
-Odisha,Odisha,
-Other Territory,Inne terytorium,
-Pondicherry,Puducherry,
-Punjab,Pendżab,
-Rajasthan,Rajasthan,
-Sikkim,Sikkim,
-Tamil Nadu,Tamil Nadu,
-Telangana,Telangana,
-Tripura,Tripura,
-Uttar Pradesh,Uttar Pradesh,
-Uttarakhand,Uttarakhand,
-West Bengal,Bengal Zachodni,
-Is Mandatory,Jest obowiązkowe,
-Published on,Opublikowano,
-Service Received But Not Billed,"Usługa otrzymana, ale niezafakturowana",
-Deferred Accounting Settings,Odroczone ustawienia księgowania,
-Book Deferred Entries Based On,Rezerwuj wpisy odroczone na podstawie,
-Days,Dni,
-Months,Miesięcy,
-Book Deferred Entries Via Journal Entry,Rezerwuj wpisy odroczone za pośrednictwem wpisu do dziennika,
-Submit Journal Entries,Prześlij wpisy do dziennika,
-If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Jeśli ta opcja nie jest zaznaczona, wpisy do dziennika zostaną zapisane jako wersja robocza i będą musiały zostać przesłane ręcznie",
-Enable Distributed Cost Center,Włącz rozproszone centrum kosztów,
-Distributed Cost Center,Rozproszone centrum kosztów,
-Dunning,Dunning,
-DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
-Overdue Days,Zaległe dni,
-Dunning Type,Typ monitu,
-Dunning Fee,Opłata za monitowanie,
-Dunning Amount,Kwota monitu,
-Resolved,Zdecydowany,
-Unresolved,Nie rozwiązany,
-Printing Setting,Ustawienie drukowania,
-Body Text,Body Text,
-Closing Text,Tekst zamykający,
-Resolve,Rozwiązać,
-Dunning Letter Text,Tekst listu monitującego,
-Is Default Language,Jest językiem domyślnym,
-Letter or Email Body Text,Treść listu lub wiadomości e-mail,
-Letter or Email Closing Text,List lub e-mail zamykający tekst,
-Body and Closing Text Help,Pomoc dotycząca treści i tekstu zamykającego,
-Overdue Interval,Zaległy interwał,
-Dunning Letter,List monitujący,
-"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.","W tej sekcji użytkownik może ustawić treść i treść listu upominającego dla typu monitu w oparciu o język, którego można używać w druku.",
-Reference Detail No,Numer referencyjny odniesienia,
-Custom Remarks,Uwagi niestandardowe,
-Please select a Company first.,Najpierw wybierz firmę.,
-"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Wiersz nr {0}: typem dokumentu referencyjnego musi być zamówienie sprzedaży, faktura sprzedaży, zapis księgowy lub monit",
-POS Closing Entry,Zamknięcie POS,
-POS Opening Entry,Otwarcie POS,
-POS Transactions,Transakcje POS,
-POS Closing Entry Detail,Szczegóły wejścia zamknięcia POS,
-Opening Amount,Kwota otwarcia,
-Closing Amount,Kwota zamknięcia,
-POS Closing Entry Taxes,Podatki przy wejściu przy zamykaniu POS,
-POS Invoice,Faktura POS,
-ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
-Consolidated Sales Invoice,Skonsolidowana faktura sprzedaży,
-Return Against POS Invoice,Zwrot na podstawie faktury POS,
-Consolidated,Skonsolidowany,
-POS Invoice Item,Pozycja faktury POS,
-POS Invoice Merge Log,Dziennik scalania faktur POS,
-POS Invoices,Faktury POS,
-Consolidated Credit Note,Skonsolidowana nota kredytowa,
-POS Invoice Reference,Numer faktury POS,
-Set Posting Date,Ustaw datę księgowania,
-Opening Balance Details,Szczegóły salda otwarcia,
-POS Opening Entry Detail,Szczegóły wejścia do punktu sprzedaży,
-POS Payment Method,Metoda płatności POS,
-Payment Methods,Metody Płatności,
-Process Statement Of Accounts,Przetwarzaj wyciągi z kont,
-General Ledger Filters,Filtry księgi głównej,
-Customers,Klienci,
-Select Customers By,Wybierz klientów według,
-Fetch Customers,Pobierz klientów,
-Send To Primary Contact,Wyślij do głównej osoby kontaktowej,
-Print Preferences,Preferencje drukowania,
-Include Ageing Summary,Uwzględnij podsumowanie starzenia się,
-Enable Auto Email,Włącz automatyczne e-maile,
-Filter Duration (Months),Czas trwania filtra (miesiące),
-CC To,CC To,
-Help Text,Tekst pomocy,
-Emails Queued,E-maile w kolejce,
-Process Statement Of Accounts Customer,Przetwarzaj wyciąg z kont Klient,
-Billing Email,E-mail rozliczeniowy,
-Primary Contact Email,Adres e-mail głównej osoby kontaktowej,
-PSOA Cost Center,Centrum kosztów PSOA,
-PSOA Project,Projekt PSOA,
-ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
-Supplier GSTIN,Dostawca GSTIN,
-Place of Supply,Miejsce dostawy,
-Select Billing Address,Wybierz Adres rozliczeniowy,
-GST Details,Szczegóły dotyczące podatku GST,
-GST Category,Kategoria podatku GST,
-Registered Regular,Zarejestrowany Regularny,
-Registered Composition,Zarejestrowany skład,
-Unregistered,Niezarejestrowany,
-SEZ,SSE,
-Overseas,Za granicą,
-UIN Holders,Posiadacze UIN,
-With Payment of Tax,Z zapłatą podatku,
-Without Payment of Tax,Bez zapłaty podatku,
-Invoice Copy,Kopia faktury,
-Original for Recipient,Oryginał dla Odbiorcy,
-Duplicate for Transporter,Duplikat dla Transportera,
-Duplicate for Supplier,Duplikat dla dostawcy,
-Triplicate for Supplier,Potrójny egzemplarz dla dostawcy,
-Reverse Charge,Opłata zwrotna,
-Y,Y,
-N,N,
-E-commerce GSTIN,GSTIN dla handlu elektronicznego,
-Reason For Issuing document,Przyczyna wystawienia dokumentu,
-01-Sales Return,01-Zwrot sprzedaży,
-02-Post Sale Discount,02-zniżka po sprzedaży,
-03-Deficiency in services,03-Niedobór usług,
-04-Correction in Invoice,04-Korekta na fakturze,
-05-Change in POS,05-Zmiana w POS,
-06-Finalization of Provisional assessment,06-Zakończenie wstępnej oceny,
-07-Others,07-Inne,
-Eligibility For ITC,Kwalifikowalność do ITC,
-Input Service Distributor,Dystrybutor usług wejściowych,
-Import Of Service,Import usług,
-Import Of Capital Goods,Import dóbr kapitałowych,
-Ineligible,Którego nie można wybrać,
-All Other ITC,Wszystkie inne ITC,
-Availed ITC Integrated Tax,Dostępny podatek zintegrowany ITC,
-Availed ITC Central Tax,Zastosowany podatek centralny ITC,
-Availed ITC State/UT Tax,Dostępny podatek stanowy ITC / UT,
-Availed ITC Cess,Dostępny podatek ITC,
-Is Nil Rated or Exempted,Brak oceny lub zwolnienie,
-Is Non GST,Nie zawiera podatku GST,
-ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
-E-Way Bill No.,E-Way Bill No.,
-Is Consolidated,Jest skonsolidowane,
-Billing Address GSTIN,Adres rozliczeniowy GSTIN,
-Customer GSTIN,GSTIN klienta,
-GST Transporter ID,Identyfikator przewoźnika GST,
-Distance (in km),Odległość (w km),
-Road,Droga,
-Air,Powietrze,
-Rail,Szyna,
-Ship,Statek,
-GST Vehicle Type,Typ pojazdu z podatkiem VAT,
-Over Dimensional Cargo (ODC),Ładunki ponadwymiarowe (ODC),
-Consumer,Konsument,
-Deemed Export,Uważany za eksport,
-Port Code,Kod portu,
- Shipping Bill Number,Numer rachunku za wysyłkę,
-Shipping Bill Date,Data rachunku za wysyłkę,
-Subscription End Date,Data zakończenia subskrypcji,
-Follow Calendar Months,Śledź miesiące kalendarzowe,
-If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Jeśli ta opcja jest zaznaczona, kolejne nowe faktury będą tworzone w datach rozpoczęcia miesiąca kalendarzowego i kwartału, niezależnie od daty rozpoczęcia aktualnej faktury",
-Generate New Invoices Past Due Date,Wygeneruj nowe faktury przeterminowane,
-New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Nowe faktury będą generowane zgodnie z harmonogramem, nawet jeśli bieżące faktury są niezapłacone lub przeterminowane",
-Document Type ,typ dokumentu,
-Subscription Price Based On,Cena subskrypcji na podstawie,
-Fixed Rate,Stała stawka,
-Based On Price List,Na podstawie cennika,
-Monthly Rate,Opłata miesięczna,
-Cancel Subscription After Grace Period,Anuluj subskrypcję po okresie prolongaty,
-Source State,Stan źródłowy,
-Is Inter State,Jest międzystanowe,
-Purchase Details,Szczegóły zakupu,
-Depreciation Posting Date,Data księgowania amortyzacji,
-"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Domyślnie nazwa dostawcy jest ustawiona zgodnie z wprowadzoną nazwą dostawcy. Jeśli chcesz, aby dostawcy byli nazwani przez rozszerzenie",
- choose the 'Naming Series' option.,wybierz opcję „Naming Series”.,
-Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Skonfiguruj domyślny Cennik podczas tworzenia nowej transakcji zakupu. Ceny pozycji zostaną pobrane z tego Cennika.,
-"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.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury zakupu lub paragonu bez wcześniejszego tworzenia zamówienia. Tę konfigurację można zastąpić dla określonego dostawcy, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur zakupu bez zamówienia” w karcie głównej dostawcy.",
-"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.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury zakupu bez uprzedniego tworzenia paragonu zakupu. Tę konfigurację można zastąpić dla określonego dostawcy, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur zakupu bez potwierdzenia zakupu” we wzorcu dostawcy.",
-Quantity & Stock,Ilość i stan magazynowy,
-Call Details,Szczegóły połączenia,
-Authorised By,Zaautoryzowany przez,
-Signee (Company),Signee (firma),
-Signed By (Company),Podpisane przez (firma),
-First Response Time,Czas pierwszej odpowiedzi,
-Request For Quotation,Zapytanie ofertowe,
-Opportunity Lost Reason Detail,Szczegóły utraconego powodu możliwości,
-Access Token Secret,Dostęp do klucza tajnego,
-Add to Topics,Dodaj do tematów,
-...Adding Article to Topics,... Dodawanie artykułu do tematów,
-Add Article to Topics,Dodaj artykuł do tematów,
-This article is already added to the existing topics,Ten artykuł jest już dodany do istniejących tematów,
-Add to Programs,Dodaj do programów,
-Programs,Programy,
-...Adding Course to Programs,... Dodawanie kursu do programów,
-Add Course to Programs,Dodaj kurs do programów,
-This course is already added to the existing programs,Ten kurs jest już dodany do istniejących programów,
-Learning Management System Settings,Ustawienia systemu zarządzania nauką,
-Enable Learning Management System,Włącz system zarządzania nauką,
-Learning Management System Title,Tytuł systemu zarządzania nauczaniem,
-...Adding Quiz to Topics,... Dodawanie quizu do tematów,
-Add Quiz to Topics,Dodaj quiz do tematów,
-This quiz is already added to the existing topics,Ten quiz został już dodany do istniejących tematów,
-Enable Admission Application,Włącz aplikację o przyjęcie,
-EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
-Marking attendance,Oznaczanie obecności,
-Add Guardians to Email Group,Dodaj opiekunów do grupy e-mailowej,
-Attendance Based On,Frekwencja na podstawie,
-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,"Zaznacz to, aby oznaczyć ucznia jako obecnego na wypadek, gdyby student nie uczęszczał do instytutu, aby w żadnym wypadku uczestniczyć lub reprezentować instytut.",
-Add to Courses,Dodaj do kursów,
-...Adding Topic to Courses,... Dodawanie tematu do kursów,
-Add Topic to Courses,Dodaj temat do kursów,
-This topic is already added to the existing courses,Ten temat jest już dodany do istniejących kursów,
-"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","Jeśli Shopify nie ma klienta w zamówieniu, to podczas synchronizacji zamówień system weźmie pod uwagę domyślnego klienta dla zamówienia",
-The accounts are set by the system automatically but do confirm these defaults,"Konta są ustawiane przez system automatycznie, ale potwierdzają te ustawienia domyślne",
-Default Round Off Account,Domyślne konto zaokrągleń,
-Failed Import Log,Nieudany import dziennika,
-Fixed Error Log,Naprawiono dziennik błędów,
-Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Firma {0} już istnieje. Kontynuacja spowoduje nadpisanie firmy i planu kont,
-Meta Data,Metadane,
-Unresolve,Nierozwiązane,
-Create Document,Utwórz dokument,
-Mark as unresolved,Oznacz jako nierozwiązane,
-TaxJar Settings,Ustawienia TaxJar,
-Sandbox Mode,Tryb piaskownicy,
-Enable Tax Calculation,Włącz obliczanie podatku,
-Create TaxJar Transaction,Utwórz transakcję TaxJar,
-Credentials,Kwalifikacje,
-Live API Key,Aktywny klucz API,
-Sandbox API Key,Klucz API piaskownicy,
-Configuration,Konfiguracja,
-Tax Account Head,Szef konta podatkowego,
-Shipping Account Head,Szef konta wysyłkowego,
-Practitioner Name,Nazwisko lekarza,
-Enter a name for the Clinical Procedure Template,Wprowadź nazwę szablonu procedury klinicznej,
-Set the Item Code which will be used for billing the Clinical Procedure.,"Ustaw kod pozycji, który będzie używany do rozliczenia procedury klinicznej.",
-Select an Item Group for the Clinical Procedure Item.,Wybierz grupę pozycji dla pozycji procedury klinicznej.,
-Clinical Procedure Rate,Częstość zabiegów klinicznych,
-Check this if the Clinical Procedure is billable and also set the rate.,"Sprawdź, czy procedura kliniczna podlega opłacie, a także ustaw stawkę.",
-Check this if the Clinical Procedure utilises consumables. Click ,"Sprawdź to, jeśli procedura kliniczna wykorzystuje materiały eksploatacyjne. Kliknij",
- to know more,wiedzieć więcej,
-"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.","Możesz również ustawić dział medyczny dla szablonu. Po zapisaniu dokumentu pozycja zostanie automatycznie utworzona do rozliczenia tej procedury klinicznej. Możesz następnie użyć tego szablonu podczas tworzenia procedur klinicznych dla pacjentów. Szablony chronią Cię przed zapełnianiem zbędnych danych za każdym razem. Możesz także tworzyć szablony dla innych operacji, takich jak testy laboratoryjne, sesje terapeutyczne itp.",
-Descriptive Test Result,Opisowy wynik testu,
-Allow Blank,Pozwól puste,
-Descriptive Test Template,Opisowy szablon testu,
-"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Jeśli chcesz śledzić listę płac i inne operacje HRMS dla praktyka, utwórz pracownika i połącz go tutaj.",
-Set the Practitioner Schedule you just created. This will be used while booking appointments.,Ustaw właśnie utworzony harmonogram lekarza. Będzie on używany podczas rezerwacji spotkań.,
-Create a service item for Out Patient Consulting.,Utwórz pozycję usługi dla konsultacji z pacjentami zewnętrznymi.,
-"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Jeśli ten pracownik służby zdrowia pracuje dla oddziału szpitalnego, utwórz pozycję usługi dla wizyt szpitalnych.",
-Set the Out Patient Consulting Charge for this Practitioner.,Ustaw opłatę za konsultacje pacjenta zewnętrznego dla tego lekarza.,
-"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Jeśli ten lekarz pracuje również dla oddziału szpitalnego, ustal opłatę za wizytę w szpitalu dla tego lekarza.",
-"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.","Jeśli zaznaczone, dla każdego Pacjenta zostanie utworzony klient. Dla tego klienta zostaną utworzone faktury dla pacjenta. Możesz także wybrać istniejącego klienta podczas tworzenia pacjenta. To pole jest domyślnie zaznaczone.",
-Collect Registration Fee,Pobrać opłatę rejestracyjną,
-"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.","Jeśli Twoja placówka medyczna wystawia rachunki za rejestracje pacjentów, możesz to sprawdzić i ustawić Opłatę rejestracyjną w polu poniżej. Zaznaczenie tej opcji spowoduje domyślnie utworzenie nowych pacjentów ze statusem Wyłączony i będzie włączone dopiero po zafakturowaniu Opłaty rejestracyjnej.",
-Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Zaznaczenie tego spowoduje automatyczne utworzenie faktury sprzedaży za każdym razem, gdy zostanie zarezerwowane spotkanie dla Pacjenta.",
-Healthcare Service Items,Elementy usług opieki zdrowotnej,
-"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 ","Możesz utworzyć pozycję usługi dla opłaty za wizytę szpitalną i ustawić ją tutaj. Podobnie, w tej sekcji możesz skonfigurować inne pozycje usług opieki zdrowotnej do rozliczeń. Kliknij",
-Set up default Accounts for the Healthcare Facility,Skonfiguruj domyślne konta dla placówki opieki zdrowotnej,
-"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Jeśli chcesz zastąpić domyślne ustawienia kont i skonfigurować konta dochodów i należności dla służby zdrowia, możesz to zrobić tutaj.",
-Out Patient SMS alerts,Alerty SMS dla pacjenta,
-"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 ","Jeśli chcesz wysłać powiadomienie SMS o rejestracji pacjenta, możesz włączyć tę opcję. Podobnie, w tej sekcji możesz skonfigurować alerty SMS dla pacjentów wychodzących dla innych funkcji. Kliknij",
-Admission Order Details,Szczegóły zlecenia przyjęcia,
-Admission Ordered For,Wstęp zamówiony dla,
-Expected Length of Stay,Oczekiwana długość pobytu,
-Admission Service Unit Type,Typ jednostki obsługi przyjęcia,
-Healthcare Practitioner (Primary),Lekarz (główna),
-Healthcare Practitioner (Secondary),Lekarz (średnia),
-Admission Instruction,Instrukcja przyjęcia,
-Chief Complaint,Główny zarzut,
-Medications,Leki,
-Investigations,Dochodzenia,
-Discharge Detials,Absolutorium Detials,
-Discharge Ordered Date,Data zamówienia wypisu,
-Discharge Instructions,Instrukcje dotyczące absolutorium,
-Follow Up Date,Data kontynuacji,
-Discharge Notes,Notatki absolutorium,
-Processing Inpatient Discharge,Przetwarzanie wypisu z szpitala,
-Processing Patient Admission,Przetwarzanie przyjęcia pacjenta,
-Check-in time cannot be greater than the current time,Czas zameldowania nie może być dłuższy niż aktualny czas,
-Process Transfer,Przetwarzanie transferu,
-HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
-Expected Result Date,Oczekiwana data wyniku,
-Expected Result Time,Oczekiwany czas wyniku,
-Printed on,Nadrukowany na,
-Requesting Practitioner,Praktykant,
-Requesting Department,Dział składania wniosków,
-Employee (Lab Technician),Pracownik (technik laboratoryjny),
-Lab Technician Name,Nazwisko technika laboratoryjnego,
-Lab Technician Designation,Oznaczenie technika laboratoryjnego,
-Compound Test Result,Wynik testu złożonego,
-Organism Test Result,Wynik testu organizmu,
-Sensitivity Test Result,Wynik testu wrażliwości,
-Worksheet Print,Drukuj arkusz roboczy,
-Worksheet Instructions,Instrukcje arkusza roboczego,
-Result Legend Print,Wydruk legendy wyników,
-Print Position,Pozycja drukowania,
-Bottom,Dolny,
-Top,Top,
-Both,Obie,
-Result Legend,Legenda wyników,
-Lab Tests,Testy laboratoryjne,
-No Lab Tests found for the Patient {0},Nie znaleziono testów laboratoryjnych dla pacjenta {0},
-"Did not send SMS, missing patient mobile number or message content.","Nie wysłano SMS-a, brak numeru telefonu komórkowego pacjenta lub treści wiadomości.",
-No Lab Tests created,Nie utworzono testów laboratoryjnych,
-Creating Lab Tests...,Tworzenie testów laboratoryjnych ...,
-Lab Test Group Template,Szablon grupy testów laboratoryjnych,
-Add New Line,Dodaj nową linię,
-Secondary UOM,Druga jednostka miary,
-"<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>Pojedynczy</b> : wyniki wymagające tylko jednego wprowadzenia.<br> <b>Złożone</b> : wyniki wymagające wielu wejść zdarzeń.<br> <b>Opisowe</b> : testy, które mają wiele składników wyników z ręcznym wprowadzaniem wyników.<br> <b>Zgrupowane</b> : szablony testów, które są grupą innych szablonów testów.<br> <b>Brak wyników</b> : Testy bez wyników można zamówić i zafakturować, ale nie zostaną utworzone żadne testy laboratoryjne. na przykład. Testy podrzędne dla wyników zgrupowanych",
-"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Jeśli odznaczone, pozycja nie będzie dostępna na fakturach sprzedaży do fakturowania, ale może być używana do tworzenia testów grupowych.",
-Description ,Opis,
-Descriptive Test,Test opisowy,
-Group Tests,Testy grupowe,
-Instructions to be printed on the worksheet,Instrukcje do wydrukowania w arkuszu,
-"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Informacje ułatwiające interpretację raportu z testu zostaną wydrukowane jako część wyniku testu laboratoryjnego.,
-Normal Test Result,Normalny wynik testu,
-Secondary UOM Result,Dodatkowy wynik UOM,
-Italic,italski,
-Underline,Podkreślać,
-Organism,Organizm,
-Organism Test Item,Przedmiot badania organizmu,
-Colony Population,Populacja kolonii,
-Colony UOM,Colony UOM,
-Tobacco Consumption (Past),Zużycie tytoniu (w przeszłości),
-Tobacco Consumption (Present),Zużycie tytoniu (obecne),
-Alcohol Consumption (Past),Spożycie alkoholu (w przeszłości),
-Alcohol Consumption (Present),Spożycie alkoholu (obecne),
-Billing Item,Pozycja rozliczeniowa,
-Medical Codes,Kody medyczne,
-Clinical Procedures,Procedury kliniczne,
-Order Admission,Zamów wstęp,
-Scheduling Patient Admission,Planowanie przyjęcia pacjenta,
-Order Discharge,Zamów rozładunek,
-Sample Details,Przykładowe szczegóły,
-Collected On,Zebrano dnia,
-No. of prints,Liczba wydruków,
-Number of prints required for labelling the samples,Liczba odbitek wymaganych do oznakowania próbek,
-HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
-In Time,W samą porę,
-Out Time,Out Time,
-Payroll Cost Center,Centrum kosztów listy płac,
-Approvers,Osoby zatwierdzające,
-The first Approver in the list will be set as the default Approver.,Pierwsza osoba zatwierdzająca na liście zostanie ustawiona jako domyślna osoba zatwierdzająca.,
-Shift Request Approver,Zatwierdzający prośbę o zmianę,
-PAN Number,Numer PAN,
-Provident Fund Account,Konto funduszu rezerwowego,
-MICR Code,Kod MICR,
-Repay unclaimed amount from salary,Zwróć nieodebraną kwotę z wynagrodzenia,
-Deduction from salary,Odliczenie od wynagrodzenia,
-Expired Leaves,Wygasłe liście,
-Reference No,Nr referencyjny,
-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.,"Procent redukcji wartości to różnica procentowa między wartością rynkową Papieru Wartościowego Kredytu a wartością przypisaną temu Papierowi Wartościowemu Kredytowemu, gdy jest stosowany jako zabezpieczenie tej pożyczki.",
-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 ,"Wskaźnik kredytu do wartości jest stosunkiem kwoty kredytu do wartości zastawionego zabezpieczenia. Niedobór zabezpieczenia pożyczki zostanie wyzwolony, jeśli spadnie poniżej określonej wartości dla jakiejkolwiek pożyczki",
-If this is not checked the loan by default will be considered as a Demand Loan,"Jeśli opcja ta nie zostanie zaznaczona, pożyczka domyślnie zostanie uznana za pożyczkę na żądanie",
-This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"To konto służy do księgowania spłat pożyczki od pożyczkobiorcy, a także do wypłaty pożyczki pożyczkobiorcy",
-This account is capital account which is used to allocate capital for loan disbursal account ,"Rachunek ten jest rachunkiem kapitałowym, który służy do alokacji kapitału na rachunek wypłat pożyczki",
-This account will be used for booking loan interest accruals,To konto będzie używane do księgowania narosłych odsetek od kredytu,
-This account will be used for booking penalties levied due to delayed repayments,To konto będzie wykorzystywane do księgowania kar pobieranych z powodu opóźnionych spłat,
-Variant BOM,Wariant BOM,
-Template Item,Element szablonu,
-Select template item,Wybierz element szablonu,
-Select variant item code for the template item {0},Wybierz kod pozycji wariantu dla elementu szablonu {0},
-Downtime Entry,Wejście na czas przestoju,
-DT-,DT-,
-Workstation / Machine,Stacja robocza / maszyna,
-Operator,Operator,
-In Mins,W min,
-Downtime Reason,Przyczyna przestoju,
-Stop Reason,Stop Reason,
-Excessive machine set up time,Zbyt długi czas konfiguracji maszyny,
-Unplanned machine maintenance,Nieplanowana konserwacja maszyny,
-On-machine press checks,Kontrola prasy na maszynie,
-Machine operator errors,Błędy operatora maszyny,
-Machine malfunction,Awaria maszyny,
-Electricity down,Brak prądu,
-Operation Row Number,Numer wiersza operacji,
-Operation {0} added multiple times in the work order {1},Operacja {0} dodana wiele razy w zleceniu pracy {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.","Jeśli zaznaczone, w jednym zleceniu pracy można użyć wielu materiałów. Jest to przydatne, jeśli wytwarzany jest jeden lub więcej czasochłonnych produktów.",
-Backflush Raw Materials,Surowce do płukania wstecznego,
-"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.","Wpis magazynowy typu „Produkcja” jest znany jako przepłukiwanie wsteczne. Surowce zużywane do produkcji wyrobów gotowych nazywa się płukaniem wstecznym.<br><br> Podczas tworzenia wpisu produkcji, pozycje surowców są przepłukiwane wstecznie na podstawie BOM pozycji produkcyjnej. Jeśli chcesz, aby pozycje surowców były wypłukiwane wstecznie na podstawie wpisu przeniesienia materiału dokonanego w ramach tego zlecenia pracy, możesz ustawić go w tym polu.",
-Work In Progress Warehouse,Magazyn Work In Progress,
-This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Ten magazyn będzie automatycznie aktualizowany w polu Work In Progress Warehouse w Work Orders.,
-Finished Goods Warehouse,Magazyn Wyrobów Gotowych,
-This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Ten magazyn zostanie automatycznie zaktualizowany w polu Magazyn docelowy zlecenia pracy.,
-"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Jeśli zaznaczone, koszt BOM zostanie automatycznie zaktualizowany na podstawie kursu wyceny / kursu cennika / ostatniego kursu zakupu surowców.",
-Source Warehouses (Optional),Magazyny źródłowe (opcjonalnie),
-"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","System odbierze materiały z wybranych magazynów. Jeśli nie zostanie określony, system utworzy zapytanie o materiał do zakupu.",
-Lead Time,Czas oczekiwania,
-PAN Details,Szczegóły PAN,
-Create Customer,Utwórz klienta,
-Invoicing,Fakturowanie,
-Enable Auto Invoicing,Włącz automatyczne fakturowanie,
-Send Membership Acknowledgement,Wyślij potwierdzenie członkostwa,
-Send Invoice with Email,Wyślij fakturę e-mailem,
-Membership Print Format,Format wydruku członkostwa,
-Invoice Print Format,Format wydruku faktury,
-Revoke <Key></Key>,Unieważnić&lt;Key&gt;&lt;/Key&gt;,
-You can learn more about memberships in the manual. ,Więcej informacji na temat członkostwa można znaleźć w instrukcji.,
-ERPNext Docs,Dokumenty ERPNext,
-Regenerate Webhook Secret,Zregeneruj sekret Webhooka,
-Generate Webhook Secret,Wygeneruj klucz Webhook,
-Copy Webhook URL,Skopiuj adres URL webhooka,
-Linked Item,Powiązany element,
-Is Recurring,Powtarza się,
-HRA Exemption,Zwolnienie z HRA,
-Monthly House Rent,Miesięczny czynsz za dom,
-Rented in Metro City,Wynajęte w Metro City,
-HRA as per Salary Structure,HRA zgodnie ze strukturą wynagrodzeń,
-Annual HRA Exemption,Coroczne zwolnienie z HRA,
-Monthly HRA Exemption,Miesięczne zwolnienie z HRA,
-House Rent Payment Amount,Kwota spłaty czynszu za dom,
-Rented From Date,Wypożyczone od daty,
-Rented To Date,Wypożyczone do dnia,
-Monthly Eligible Amount,Kwota kwalifikowana miesięcznie,
-Total Eligible HRA Exemption,Całkowite kwalifikujące się zwolnienie z HRA,
-Validating Employee Attendance...,Weryfikacja obecności pracowników ...,
-Submitting Salary Slips and creating Journal Entry...,Przesyłanie odcinków wynagrodzenia i tworzenie zapisów księgowych ...,
-Calculate Payroll Working Days Based On,Oblicz dni robocze listy płac na podstawie,
-Consider Unmarked Attendance As,Rozważ nieoznaczoną obecność jako,
-Fraction of Daily Salary for Half Day,Część dziennego wynagrodzenia za pół dnia,
-Component Type,Typ komponentu,
-Provident Fund,Fundusz emerytalny,
-Additional Provident Fund,Dodatkowy fundusz emerytalny,
-Provident Fund Loan,Pożyczka z funduszu emerytalnego,
-Professional Tax,Podatek zawodowy,
-Is Income Tax Component,Składnik podatku dochodowego,
-Component properties and references ,Właściwości i odniesienia komponentów,
-Additional Salary ,Dodatkowe wynagrodzenie,
-Unmarked days,Nieoznakowane dni,
-Absent Days,Nieobecne dni,
-Conditions and Formula variable and example,Warunki i zmienna formuły oraz przykład,
-Feedback By,Informacje zwrotne od,
-Manufacturing Section,Sekcja Produkcyjna,
-"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Domyślnie nazwa klienta jest ustawiona zgodnie z wprowadzoną pełną nazwą. Jeśli chcesz, aby klienci byli nazwani przez",
-Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Skonfiguruj domyślny Cennik podczas tworzenia nowej transakcji sprzedaży. Ceny pozycji zostaną pobrane z tego Cennika.,
-"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.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury sprzedaży lub dokumentu dostawy bez wcześniejszego tworzenia zamówienia sprzedaży. Tę konfigurację można zastąpić dla konkretnego klienta, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur sprzedaży bez zamówienia sprzedaży” w karcie głównej Klient.",
-"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.","Jeśli ta opcja jest skonfigurowana jako `` Tak &#39;&#39;, ERPNext uniemożliwi utworzenie faktury sprzedaży bez uprzedniego utworzenia dowodu dostawy. Tę konfigurację można zastąpić dla konkretnego klienta, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur sprzedaży bez dowodu dostawy” we wzorcu klienta.",
-Default Warehouse for Sales Return,Domyślny magazyn do zwrotu sprzedaży,
-Default In Transit Warehouse,Domyślnie w magazynie tranzytowym,
-Enable Perpetual Inventory For Non Stock Items,Włącz ciągłe zapasy dla pozycji nie będących na stanie,
-HRA Settings,Ustawienia HRA,
-Basic Component,Element podstawowy,
-HRA Component,Komponent HRA,
-Arrear Component,Składnik zaległości,
-Please enter the company name to confirm,"Wprowadź nazwę firmy, aby potwierdzić",
-Quotation Lost Reason Detail,Szczegóły dotyczące utraconego powodu oferty,
-Enable Variants,Włącz warianty,
-Save Quotations as Draft,Zapisz oferty jako wersję roboczą,
-MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
-Please Select a Customer,Wybierz klienta,
-Against Delivery Note Item,Za list przewozowy,
-Is Non GST ,Nie zawiera podatku GST,
-Image Description,Opis obrazu,
-Transfer Status,Status transferu,
-MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
-Track this Purchase Receipt against any Project,Śledź ten dowód zakupu w dowolnym projekcie,
-Please Select a Supplier,Wybierz dostawcę,
-Add to Transit,Dodaj do transportu publicznego,
-Set Basic Rate Manually,Ustaw ręcznie stawkę podstawową,
-"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Domyślnie nazwa pozycji jest ustawiona zgodnie z wprowadzonym kodem pozycji. Jeśli chcesz, aby elementy miały nazwę",
-Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Ustaw domyślny magazyn dla transakcji magazynowych. Zostanie to przeniesione do domyślnego magazynu w głównym module.,
-"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.","Umożliwi to wyświetlanie pozycji magazynowych w wartościach ujemnych. Korzystanie z tej opcji zależy od przypadku użycia. Gdy ta opcja jest odznaczona, system ostrzega przed zablokowaniem transakcji powodującej ujemny stan zapasów.",
-Choose between FIFO and Moving Average Valuation Methods. Click ,Wybierz metodę wyceny FIFO i ruchomą średnią wycenę. Kliknij,
- to know more about them.,aby dowiedzieć się o nich więcej.,
-Show 'Scan Barcode' field above every child table to insert Items with ease.,"Pokaż pole „Skanuj kod kreskowy” nad każdą tabelą podrzędną, aby z łatwością wstawiać elementy.",
-"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.","Numery seryjne dla zapasów zostaną ustawione automatycznie na podstawie pozycji wprowadzonych w oparciu o pierwsze weszło pierwsze wyszło w transakcjach, takich jak faktury zakupu / sprzedaży, dowody dostawy itp.",
-"If blank, parent Warehouse Account or company default will be considered in transactions","Jeśli puste, nadrzędne konto magazynu lub wartość domyślna firmy będą brane pod uwagę w transakcjach",
-Service Level Agreement Details,Szczegóły umowy dotyczącej poziomu usług,
-Service Level Agreement Status,Status umowy dotyczącej poziomu usług,
-On Hold Since,Wstrzymane od,
-Total Hold Time,Całkowity czas wstrzymania,
-Response Details,Szczegóły odpowiedzi,
-Average Response Time,Średni czas odpowiedzi,
-User Resolution Time,Czas rozwiązania użytkownika,
-SLA is on hold since {0},Umowa SLA została wstrzymana od {0},
-Pause SLA On Status,Wstrzymaj status SLA,
-Pause SLA On,Wstrzymaj SLA,
-Greetings Section,Sekcja Pozdrowienia,
-Greeting Title,Tytuł powitania,
-Greeting Subtitle,Podtytuł powitania,
-Youtube ID,Identyfikator YouTube,
-Youtube Statistics,Statystyki YouTube,
-Views,Wyświetlenia,
-Dislikes,Nie lubi,
-Video Settings,Ustawienia wideo,
-Enable YouTube Tracking,Włącz śledzenie w YouTube,
-30 mins,30 minut,
-1 hr,1 godz,
-6 hrs,6 godz,
-Patient Progress,Postęp pacjenta,
-Targetted,Ukierunkowane,
-Score Obtained,Wynik uzyskany,
-Sessions,Sesje,
-Average Score,Średni wynik,
-Select Assessment Template,Wybierz szablon oceny,
- out of ,poza,
-Select Assessment Parameter,Wybierz parametr oceny,
-Gender: ,Płeć:,
-Contact: ,Kontakt:,
-Total Therapy Sessions: ,Sesje terapeutyczne:,
-Monthly Therapy Sessions: ,Comiesięczne sesje terapeutyczne:,
-Patient Profile,Profil pacjenta,
-Point Of Sale,Punkt sprzedaży,
-Email sent successfully.,E-mail wysłany pomyślnie.,
-Search by invoice id or customer name,Wyszukaj według identyfikatora faktury lub nazwy klienta,
-Invoice Status,Status faktury,
-Filter by invoice status,Filtruj według statusu faktury,
-Select item group,Wybierz grupę towarów,
-No items found. Scan barcode again.,Nie znaleziono żadnych przedmiotów. Ponownie zeskanuj kod kreskowy.,
-"Search by customer name, phone, email.","Szukaj według nazwy klienta, telefonu, adresu e-mail.",
-Enter discount percentage.,Wpisz procent rabatu.,
-Discount cannot be greater than 100%,Rabat nie może być większy niż 100%,
-Enter customer's email,Wpisz adres e-mail klienta,
-Enter customer's phone number,Wpisz numer telefonu klienta,
-Customer contact updated successfully.,Kontakt z klientem został zaktualizowany pomyślnie.,
-Item will be removed since no serial / batch no selected.,"Pozycja zostanie usunięta, ponieważ nie wybrano numeru seryjnego / partii.",
-Discount (%),Zniżka (%),
-You cannot submit the order without payment.,Nie możesz złożyć zamówienia bez zapłaty.,
-You cannot submit empty order.,Nie możesz złożyć pustego zamówienia.,
-To Be Paid,Do zapłacenia,
-Create POS Opening Entry,Utwórz wpis otwarcia POS,
-Please add Mode of payments and opening balance details.,Proszę dodać tryb płatności i szczegóły bilansu otwarcia.,
-Toggle Recent Orders,Przełącz ostatnie zamówienia,
-Save as Draft,Zapisz jako szkic,
-You must add atleast one item to save it as draft.,"Musisz dodać co najmniej jeden element, aby zapisać go jako wersję roboczą.",
-There was an error saving the document.,Wystąpił błąd podczas zapisywania dokumentu.,
-You must select a customer before adding an item.,Przed dodaniem pozycji musisz wybrać klienta.,
-Please Select a Company,Wybierz firmę,
-Active Leads,Aktywni leady,
-Please Select a Company.,Wybierz firmę.,
-BOM Operations Time,Czas operacji BOM,
-BOM ID,ID BOM,
-BOM Item Code,Kod pozycji BOM,
-Time (In Mins),Czas (w minutach),
-Sub-assembly BOM Count,Liczba BOM podzespołów,
-View Type,Typ widoku,
-Total Delivered Amount,Całkowita dostarczona kwota,
-Downtime Analysis,Analiza przestojów,
-Machine,Maszyna,
-Downtime (In Hours),Przestój (w godzinach),
-Employee Analytics,Analizy pracowników,
-"""From date"" can not be greater than or equal to ""To date""",„Data od” nie może być większa niż lub równa „Do dnia”,
-Exponential Smoothing Forecasting,Prognozowanie wygładzania wykładniczego,
-First Response Time for Issues,Czas pierwszej reakcji na problemy,
-First Response Time for Opportunity,Czas pierwszej reakcji na okazję,
-Depreciatied Amount,Kwota umorzona,
-Period Based On,Okres oparty na,
-Date Based On,Data na podstawie,
-{0} and {1} are mandatory,{0} i {1} są obowiązkowe,
-Consider Accounting Dimensions,Rozważ wymiary księgowe,
-Income Tax Deductions,Potrącenia podatku dochodowego,
-Income Tax Component,Składnik podatku dochodowego,
-Income Tax Amount,Kwota podatku dochodowego,
-Reserved Quantity for Production,Zarezerwowana ilość do produkcji,
-Projected Quantity,Prognozowana ilość,
- Total Sales Amount,Całkowita kwota sprzedaży,
-Job Card Summary,Podsumowanie karty pracy,
-Id,ID,
-Time Required (In Mins),Wymagany czas (w minutach),
-From Posting Date,Od daty księgowania,
-To Posting Date,Do daty wysłania,
-No records found,Nic nie znaleziono,
-Customer/Lead Name,Nazwa klienta / potencjalnego klienta,
-Unmarked Days,Nieoznaczone dni,
-Jan,Jan,
-Feb,Luty,
-Mar,Zniszczyć,
-Apr,Kwi,
-Aug,Sie,
-Sep,Wrz,
-Oct,Paź,
-Nov,Lis,
-Dec,Dec,
-Summarized View,Podsumowanie,
-Production Planning Report,Raport planowania produkcji,
-Order Qty,Zamówiona ilość,
-Raw Material Code,Kod surowca,
-Raw Material Name,Nazwa surowca,
-Allotted Qty,Przydzielona ilość,
-Expected Arrival Date,Oczekiwana data przyjazdu,
-Arrival Quantity,Ilość przybycia,
-Raw Material Warehouse,Magazyn surowców,
-Order By,Zamów przez,
-Include Sub-assembly Raw Materials,Uwzględnij surowce podzespołów,
-Professional Tax Deductions,Profesjonalne potrącenia podatkowe,
-Program wise Fee Collection,Programowe pobieranie opłat,
-Fees Collected,Pobrane opłaty,
-Project Summary,Podsumowanie projektu,
-Total Tasks,Całkowita liczba zadań,
-Tasks Completed,Zadania zakończone,
-Tasks Overdue,Zadania zaległe,
-Completion,Ukończenie,
-Provident Fund Deductions,Potrącenia z funduszu rezerwowego,
-Purchase Order Analysis,Analiza zamówienia,
-From and To Dates are required.,Wymagane są daty od i do.,
-To Date cannot be before From Date.,Data do nie może być wcześniejsza niż data początkowa.,
-Qty to Bill,Ilość do rachunku,
-Group by Purchase Order,Grupuj według zamówienia,
- Purchase Value,Wartość zakupu,
-Total Received Amount,Całkowita otrzymana kwota,
-Quality Inspection Summary,Podsumowanie kontroli jakości,
- Quoted Amount,Kwota podana,
-Lead Time (Days),Czas realizacji (dni),
-Include Expired,Uwzględnij wygasły,
-Recruitment Analytics,Analizy rekrutacyjne,
-Applicant name,Nazwa wnioskodawcy,
-Job Offer status,Status oferty pracy,
-On Date,Na randkę,
-Requested Items to Order and Receive,Żądane pozycje do zamówienia i odbioru,
-Salary Payments Based On Payment Mode,Płatności wynagrodzeń w zależności od trybu płatności,
-Salary Payments via ECS,Wypłaty wynagrodzenia za pośrednictwem ECS,
-Account No,Nr konta,
-IFSC,IFSC,
-MICR,MICR,
-Sales Order Analysis,Analiza zleceń sprzedaży,
-Amount Delivered,Dostarczona kwota,
-Delay (in Days),Opóźnienie (w dniach),
-Group by Sales Order,Grupuj według zamówienia sprzedaży,
- Sales Value,Wartość sprzedaży,
-Stock Qty vs Serial No Count,Ilość w magazynie a numer seryjny,
-Serial No Count,Numer seryjny,
-Work Order Summary,Podsumowanie zlecenia pracy,
-Produce Qty,Wyprodukuj ilość,
-Lead Time (in mins),Czas realizacji (w minutach),
-Charts Based On,Wykresy na podstawie,
-YouTube Interactions,Interakcje w YouTube,
-Published Date,Data publikacji,
-Barnch,Barnch,
-Select a Company,Wybierz firmę,
-Opportunity {0} created,Możliwość {0} została utworzona,
-Kindly select the company first,Najpierw wybierz firmę,
-Please enter From Date and To Date to generate JSON,"Wprowadź datę początkową i datę końcową, aby wygenerować JSON",
-PF Account,Konto PF,
-PF Amount,Kwota PF,
-Additional PF,Dodatkowe PF,
-PF Loan,Pożyczka PF,
-Download DATEV File,Pobierz plik DATEV,
-Numero has not set in the XML file,Numero nie ustawił w pliku XML,
-Inward Supplies(liable to reverse charge),Dostawy przychodzące (podlegające odwrotnemu obciążeniu),
-This is based on the course schedules of this Instructor,Jest to oparte na harmonogramach kursów tego instruktora,
-Course and Assessment,Kurs i ocena,
-Course {0} has been added to all the selected programs successfully.,Kurs {0} został pomyślnie dodany do wszystkich wybranych programów.,
-Programs updated,Programy zaktualizowane,
-Program and Course,Program i kurs,
-{0} or {1} is mandatory,{0} lub {1} jest obowiązkowe,
-Mandatory Fields,Pola obowiązkowe,
-Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} nie należy do grupy uczniów {2},
-Student Attendance record {0} already exists against the Student {1},Rekord frekwencji {0} dla ucznia {1} już istnieje,
-Duplicate Entry,Zduplikowana wartość,
-Course and Fee,Kurs i opłata,
-Not eligible for the admission in this program as per Date Of Birth,Nie kwalifikuje się do przyjęcia w tym programie według daty urodzenia,
-Topic {0} has been added to all the selected courses successfully.,Temat {0} został pomyślnie dodany do wszystkich wybranych kursów.,
-Courses updated,Kursy zostały zaktualizowane,
-{0} {1} has been added to all the selected topics successfully.,Temat {0} {1} został pomyślnie dodany do wszystkich wybranych tematów.,
-Topics updated,Zaktualizowano tematy,
-Academic Term and Program,Okres akademicki i program,
-Please remove this item and try to submit again or update the posting time.,Usuń ten element i spróbuj przesłać go ponownie lub zaktualizuj czas publikacji.,
-Failed to Authenticate the API key.,Nie udało się uwierzytelnić klucza API.,
-Invalid Credentials,Nieprawidłowe dane logowania,
-URL can only be a string,URL może być tylko ciągiem,
-"Here is your webhook secret, this will be shown to you only once.","Oto Twój sekret webhooka, zostanie on pokazany tylko raz.",
-The payment for this membership is not paid. To generate invoice fill the payment details,Opłata za to członkostwo nie jest opłacana. Aby wygenerować fakturę wypełnij szczegóły płatności,
-An invoice is already linked to this document,Faktura jest już połączona z tym dokumentem,
-No customer linked to member {},Żaden klient nie jest powiązany z członkiem {},
-You need to set <b>Debit Account</b> in Membership Settings,Musisz ustawić <b>konto debetowe</b> w ustawieniach członkostwa,
-You need to set <b>Default Company</b> for invoicing in Membership Settings,Musisz ustawić <b>domyślną firmę</b> do fakturowania w ustawieniach członkostwa,
-You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Musisz włączyć <b>wysyłanie wiadomości e-mail z potwierdzeniem</b> w ustawieniach członkostwa,
-Error creating membership entry for {0},Błąd podczas tworzenia wpisu członkowskiego dla {0},
-A customer is already linked to this Member,Klient jest już powiązany z tym członkiem,
-End Date must not be lesser than Start Date,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia,
-Employee {0} already has Active Shift {1}: {2},Pracownik {0} ma już aktywną zmianę {1}: {2},
- from {0},od {0},
- to {0},do {0},
-Please select Employee first.,Najpierw wybierz pracownika.,
-Please set {0} for the Employee or for Department: {1},Ustaw {0} dla pracownika lub działu: {1},
-To Date should be greater than From Date,Data do powinna być większa niż Data początkowa,
-Employee Onboarding: {0} is already for Job Applicant: {1},Dołączanie pracowników: {0} jest już dla kandydatów o pracę: {1},
-Job Offer: {0} is already for Job Applicant: {1},Oferta pracy: {0} jest już dla osoby ubiegającej się o pracę: {1},
-Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Można przesłać tylko żądanie zmiany ze statusem „Zatwierdzono” i „Odrzucono”,
-Shift Assignment: {0} created for Employee: {1},Przydział zmiany: {0} utworzony dla pracownika: {1},
-You can not request for your Default Shift: {0},Nie możesz zażądać zmiany domyślnej: {0},
-Only Approvers can Approve this Request.,Tylko osoby zatwierdzające mogą zatwierdzić tę prośbę.,
-Asset Value Analytics,Analiza wartości aktywów,
-Category-wise Asset Value,Wartość aktywów według kategorii,
-Total Assets,Aktywa ogółem,
-New Assets (This Year),Nowe zasoby (w tym roku),
-Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Wiersz nr {}: Data księgowania amortyzacji nie powinna być równa dacie dostępności do użycia.,
-Incorrect Date,Nieprawidłowa data,
-Invalid Gross Purchase Amount,Nieprawidłowa kwota zakupu brutto,
-There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Aktywna konserwacja lub naprawy są aktywne. Musisz je wszystkie wypełnić przed anulowaniem zasobu.,
-% Complete,% Ukończone,
-Back to Course,Powrót do kursu,
-Finish Topic,Zakończ temat,
-Mins,Min,
-by,przez,
-Back to,Wrócić do,
-Enrolling...,Rejestracja ...,
-You have successfully enrolled for the program ,Z powodzeniem zapisałeś się do programu,
-Enrolled,Zarejestrowany,
-Watch Intro,Obejrzyj wprowadzenie,
-We're here to help!,"Jesteśmy tutaj, aby pomóc!",
-Frequently Read Articles,Często czytane artykuły,
-Please set a default company address,Ustaw domyślny adres firmy,
-{0} is not a valid state! Check for typos or enter the ISO code for your state.,"{0} nie jest prawidłowym stanem! Sprawdź, czy nie ma literówek lub wprowadź kod ISO swojego stanu.",
-Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,"Wystąpił błąd podczas analizowania planu kont: upewnij się, że żadne dwa konta nie mają tej samej nazwy",
-Plaid invalid request error,Błąd żądania nieprawidłowego kratki,
-Please check your Plaid client ID and secret values,Sprawdź identyfikator klienta Plaid i tajne wartości,
-Bank transaction creation error,Błąd tworzenia transakcji bankowej,
-Unit of Measurement,Jednostka miary,
-Fiscal Year {0} Does Not Exist,Rok podatkowy {0} nie istnieje,
-Row # {0}: Returned Item {1} does not exist in {2} {3},Wiersz nr {0}: zwrócona pozycja {1} nie istnieje w {2} {3},
-Valuation type charges can not be marked as Inclusive,Opłaty związane z rodzajem wyceny nie mogą być oznaczone jako zawierające,
-You do not have permissions to {} items in a {}.,Nie masz uprawnień do {} elementów w {}.,
-Insufficient Permissions,Niewystarczające uprawnienia,
-You are not allowed to update as per the conditions set in {} Workflow.,Nie możesz aktualizować zgodnie z warunkami określonymi w {} Przepływie pracy.,
-Expense Account Missing,Brak konta wydatków,
-{0} is not a valid Value for Attribute {1} of Item {2}.,{0} nie jest prawidłową wartością atrybutu {1} elementu {2}.,
-Invalid Value,Niewłaściwa wartość,
-The value {0} is already assigned to an existing Item {1}.,Wartość {0} jest już przypisana do istniejącego elementu {1}.,
-"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Aby nadal edytować tę wartość atrybutu, włącz opcję {0} w ustawieniach wariantu elementu.",
-Edit Not Allowed,Edycja niedozwolona,
-Row #{0}: Item {1} is already fully received in Purchase Order {2},Wiersz nr {0}: pozycja {1} jest już w całości otrzymana w zamówieniu {2},
-You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Nie można tworzyć ani anulować żadnych zapisów księgowych w zamkniętym okresie rozliczeniowym {0},
-POS Invoice should have {} field checked.,Faktura POS powinna mieć zaznaczone pole {}.,
-Invalid Item,Nieprawidłowy przedmiot,
-Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,"Wiersz nr {}: nie można dodać ilości dodatnich do faktury zwrotnej. Usuń przedmiot {}, aby dokończyć zwrot.",
-The selected change account {} doesn't belongs to Company {}.,Wybrane konto zmiany {} nie należy do firmy {}.,
-Atleast one invoice has to be selected.,Należy wybrać przynajmniej jedną fakturę.,
-Payment methods are mandatory. Please add at least one payment method.,Metody płatności są obowiązkowe. Dodaj co najmniej jedną metodę płatności.,
-Please select a default mode of payment,Wybierz domyślny sposób płatności,
-You can only select one mode of payment as default,Możesz wybrać tylko jeden sposób płatności jako domyślny,
-Missing Account,Brakujące konto,
-Customers not selected.,Klienci nie wybrani.,
-Statement of Accounts,Wyciąg z konta,
-Ageing Report Based On ,Raport dotyczący starzenia na podstawie,
-Please enter distributed cost center,Wprowadź rozproszone centrum kosztów,
-Total percentage allocation for distributed cost center should be equal to 100,Całkowita alokacja procentowa dla rozproszonego centrum kosztów powinna wynosić 100,
-Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Nie można włączyć rozproszonego miejsca powstawania kosztów dla centrum kosztów już przydzielonego w innym rozproszonym miejscu kosztów,
-Parent Cost Center cannot be added in Distributed Cost Center,Nadrzędnego miejsca powstawania kosztów nie można dodać do rozproszonego miejsca powstawania kosztów,
-A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Nie można dodać Distributed Cost Center do tabeli alokacji Distributed Cost Center.,
-Cost Center with enabled distributed cost center can not be converted to group,Centrum kosztów z włączonym rozproszonym centrum kosztów nie może zostać przekonwertowane na grupę,
-Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Centrum kosztów już alokowane w rozproszonym miejscu powstawania kosztów nie może zostać przekonwertowane na grupę,
-Trial Period Start date cannot be after Subscription Start Date,Data rozpoczęcia okresu próbnego nie może być późniejsza niż data rozpoczęcia subskrypcji,
-Subscription End Date must be after {0} as per the subscription plan,Data zakończenia subskrypcji musi przypadać po {0} zgodnie z planem subskrypcji,
-Subscription End Date is mandatory to follow calendar months,"Data zakończenia subskrypcji jest obowiązkowa, aby przestrzegać miesięcy kalendarzowych",
-Row #{}: POS Invoice {} is not against customer {},Wiersz nr {}: faktura POS {} nie jest skierowana przeciwko klientowi {},
-Row #{}: POS Invoice {} is not submitted yet,Wiersz nr {}: faktura POS {} nie została jeszcze przesłana,
-Row #{}: POS Invoice {} has been {},Wiersz nr {}: faktura POS {} została {},
-No Supplier found for Inter Company Transactions which represents company {0},Nie znaleziono dostawcy dla transakcji międzyfirmowych reprezentującego firmę {0},
-No Customer found for Inter Company Transactions which represents company {0},Nie znaleziono klienta dla transakcji międzyfirmowych reprezentującego firmę {0},
-Invalid Period,Nieprawidłowy okres,
-Selected POS Opening Entry should be open.,Wybrane wejście otwierające POS powinno być otwarte.,
-Invalid Opening Entry,Nieprawidłowy wpis otwierający,
-Please set a Company,Ustaw firmę,
-"Sorry, this coupon code's validity has not started","Przepraszamy, ważność tego kodu kuponu jeszcze się nie rozpoczęła",
-"Sorry, this coupon code's validity has expired","Przepraszamy, ważność tego kuponu wygasła",
-"Sorry, this coupon code is no longer valid","Przepraszamy, ten kod kuponu nie jest już ważny",
-For the 'Apply Rule On Other' condition the field {0} is mandatory,W przypadku warunku „Zastosuj regułę do innej” pole {0} jest obowiązkowe,
-{1} Not in Stock,{1} Niedostępny,
-Only {0} in Stock for item {1},Tylko {0} w magazynie dla produktu {1},
-Please enter a coupon code,Wprowadź kod kuponu,
-Please enter a valid coupon code,Wpisz prawidłowy kod kuponu,
-Invalid Child Procedure,Nieprawidłowa procedura podrzędna,
-Import Italian Supplier Invoice.,Import włoskiej faktury dostawcy.,
-"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Stawka wyceny dla przedmiotu {0} jest wymagana do zapisów księgowych dla {1} {2}.,
- Here are the options to proceed:,"Oto opcje, aby kontynuować:",
-"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.","Jeśli przedmiot jest przedmiotem transakcji jako pozycja z zerową wartością wyceny w tym wpisie, włącz opcję „Zezwalaj na zerową stawkę wyceny” w {0} tabeli pozycji.",
-"If not, you can Cancel / Submit this entry ","Jeśli nie, możesz anulować / przesłać ten wpis",
- performing either one below:,wykonując jedną z poniższych czynności:,
-Create an incoming stock transaction for the Item.,Utwórz przychodzącą transakcję magazynową dla towaru.,
-Mention Valuation Rate in the Item master.,W głównym elemencie przedmiotu należy wspomnieć o współczynniku wyceny.,
-Valuation Rate Missing,Brak kursu wyceny,
-Serial Nos Required,Wymagane numery seryjne,
-Quantity Mismatch,Niedopasowanie ilości,
-"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Uzupełnij pozycje i zaktualizuj listę wyboru, aby kontynuować. Aby przerwać, anuluj listę wyboru.",
-Out of Stock,Obecnie brak na stanie,
-{0} units of Item {1} is not available.,{0} jednostki produktu {1} nie są dostępne.,
-Item for row {0} does not match Material Request,Pozycja w wierszu {0} nie pasuje do żądania materiału,
-Warehouse for row {0} does not match Material Request,Magazyn dla wiersza {0} nie jest zgodny z żądaniem materiałowym,
-Accounting Entry for Service,Wpis księgowy za usługę,
-All items have already been Invoiced/Returned,Wszystkie pozycje zostały już zafakturowane / zwrócone,
-All these items have already been Invoiced/Returned,Wszystkie te pozycje zostały już zafakturowane / zwrócone,
-Stock Reconciliations,Uzgodnienia zapasów,
-Merge not allowed,Scalanie niedozwolone,
-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.,"Następujące usunięte atrybuty istnieją w wariantach, ale nie istnieją w szablonie. Możesz usunąć warianty lub zachować atrybut (y) w szablonie.",
-Variant Items,Elementy wariantowe,
-Variant Attribute Error,Błąd atrybutu wariantu,
-The serial no {0} does not belong to item {1},Numer seryjny {0} nie należy do produktu {1},
-There is no batch found against the {0}: {1},Nie znaleziono partii dla {0}: {1},
-Completed Operation,Operacja zakończona,
-Work Order Analysis,Analiza zlecenia pracy,
-Quality Inspection Analysis,Analiza kontroli jakości,
-Pending Work Order,Oczekujące zlecenie pracy,
-Last Month Downtime Analysis,Analiza przestojów w zeszłym miesiącu,
-Work Order Qty Analysis,Analiza ilości zleceń,
-Job Card Analysis,Analiza karty pracy,
-Monthly Total Work Orders,Miesięczne zamówienia łącznie,
-Monthly Completed Work Orders,Wykonane co miesiąc zamówienia,
-Ongoing Job Cards,Karty trwającej pracy,
-Monthly Quality Inspections,Comiesięczne kontrole jakości,
-(Forecast),(Prognoza),
-Total Demand (Past Data),Całkowity popyt (poprzednie dane),
-Total Forecast (Past Data),Prognoza całkowita (dane z przeszłości),
-Total Forecast (Future Data),Prognoza całkowita (dane przyszłe),
-Based On Document,Na podstawie dokumentu,
-Based On Data ( in years ),Na podstawie danych (w latach),
-Smoothing Constant,Stała wygładzania,
-Please fill the Sales Orders table,Prosimy o wypełnienie tabeli Zamówienia sprzedaży,
-Sales Orders Required,Wymagane zamówienia sprzedaży,
-Please fill the Material Requests table,Proszę wypełnić tabelę zamówień materiałowych,
-Material Requests Required,Wymagane żądania materiałów,
-Items to Manufacture are required to pull the Raw Materials associated with it.,Przedmioty do produkcji są zobowiązane do ściągnięcia związanych z nimi surowców.,
-Items Required,Wymagane elementy,
-Operation {0} does not belong to the work order {1},Operacja {0} nie należy do zlecenia pracy {1},
-Print UOM after Quantity,Drukuj UOM po Quantity,
-Set default {0} account for perpetual inventory for non stock items,Ustaw domyślne konto {0} dla ciągłych zapasów dla pozycji spoza magazynu,
-Loan Security {0} added multiple times,Bezpieczeństwo pożyczki {0} zostało dodane wiele razy,
-Loan Securities with different LTV ratio cannot be pledged against one loan,Dłużne Papiery Wartościowe o różnym wskaźniku LTV nie mogą być przedmiotem zastawu na jedną pożyczkę,
-Qty or Amount is mandatory for loan security!,Ilość lub kwota jest obowiązkowa dla zabezpieczenia kredytu!,
-Only submittted unpledge requests can be approved,Zatwierdzać można tylko przesłane żądania niezwiązane z próbą,
-Interest Amount or Principal Amount is mandatory,Kwota odsetek lub kwota główna jest obowiązkowa,
-Disbursed Amount cannot be greater than {0},Wypłacona kwota nie może być większa niż {0},
-Row {0}: Loan Security {1} added multiple times,Wiersz {0}: Bezpieczeństwo pożyczki {1} został dodany wiele razy,
-Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Wiersz nr {0}: Element podrzędny nie powinien być pakietem produktów. Usuń element {1} i zapisz,
-Credit limit reached for customer {0},Osiągnięto limit kredytowy dla klienta {0},
-Could not auto create Customer due to the following missing mandatory field(s):,Nie można automatycznie utworzyć klienta z powodu następujących brakujących pól obowiązkowych:,
-Please create Customer from Lead {0}.,Utwórz klienta z potencjalnego klienta {0}.,
-Mandatory Missing,Obowiązkowy brak,
-Please set Payroll based on in Payroll settings,Ustaw listę płac na podstawie w ustawieniach listy płac,
-Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Dodatkowe wynagrodzenie: {0} już istnieje dla składnika wynagrodzenia: {1} za okres {2} i {3},
-From Date can not be greater than To Date.,Data początkowa nie może być większa niż data początkowa.,
-Payroll date can not be less than employee's joining date.,Data wypłaty nie może być wcześniejsza niż data przystąpienia pracownika.,
-From date can not be less than employee's joining date.,Data początkowa nie może być wcześniejsza niż data przystąpienia pracownika.,
-To date can not be greater than employee's relieving date.,Do tej pory nie może być późniejsza niż data zwolnienia pracownika.,
-Payroll date can not be greater than employee's relieving date.,Data wypłaty nie może być późniejsza niż data zwolnienia pracownika.,
-Row #{0}: Please enter the result value for {1},Wiersz nr {0}: wprowadź wartość wyniku dla {1},
-Mandatory Results,Obowiązkowe wyniki,
-Sales Invoice or Patient Encounter is required to create Lab Tests,Do tworzenia testów laboratoryjnych wymagana jest faktura sprzedaży lub spotkanie z pacjentami,
-Insufficient Data,Niedostateczna ilość danych,
-Lab Test(s) {0} created successfully,Test (y) laboratoryjne {0} zostały utworzone pomyślnie,
-Test :,Test:,
-Sample Collection {0} has been created,Utworzono zbiór próbek {0},
-Normal Range: ,Normalny zakres:,
-Row #{0}: Check Out datetime cannot be less than Check In datetime,Wiersz nr {0}: Data i godzina wyewidencjonowania nie może być mniejsza niż data i godzina wyewidencjonowania,
-"Missing required details, did not create Inpatient Record","Brak wymaganych szczegółów, nie utworzono rekordu pacjenta",
-Unbilled Invoices,Niezafakturowane faktury,
-Standard Selling Rate should be greater than zero.,Standardowa cena sprzedaży powinna być większa niż zero.,
-Conversion Factor is mandatory,Współczynnik konwersji jest obowiązkowy,
-Row #{0}: Conversion Factor is mandatory,Wiersz nr {0}: współczynnik konwersji jest obowiązkowy,
-Sample Quantity cannot be negative or 0,Ilość próbki nie może być ujemna ani 0,
-Invalid Quantity,Nieprawidłowa ilość,
-"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Ustaw wartości domyślne dla grupy klientów, terytorium i cennika sprzedaży w Ustawieniach sprzedaży",
-{0} on {1},{0} na {1},
-{0} with {1},{0} z {1},
-Appointment Confirmation Message Not Sent,Wiadomość z potwierdzeniem spotkania nie została wysłana,
-"SMS not sent, please check SMS Settings","SMS nie został wysłany, sprawdź ustawienia SMS",
-Healthcare Service Unit Type cannot have both {0} and {1},Typ jednostki usług opieki zdrowotnej nie może mieć jednocześnie {0} i {1},
-Healthcare Service Unit Type must allow atleast one among {0} and {1},Typ jednostki usług opieki zdrowotnej musi dopuszczać co najmniej jedną spośród {0} i {1},
-Set Response Time and Resolution Time for Priority {0} in row {1}.,Ustaw czas odpowiedzi i czas rozwiązania dla priorytetu {0} w wierszu {1}.,
-Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Czas odpowiedzi dla {0} priorytetu w wierszu {1} nie może być dłuższy niż czas rozwiązania.,
-{0} is not enabled in {1},{0} nie jest włączony w {1},
-Group by Material Request,Grupuj według żądania materiału,
-Email Sent to Supplier {0},Wiadomość e-mail wysłana do dostawcy {0},
-"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Dostęp do zapytania ofertowego z portalu jest wyłączony. Aby zezwolić na dostęp, włącz go w ustawieniach portalu.",
-Supplier Quotation {0} Created,Oferta dostawcy {0} została utworzona,
-Valid till Date cannot be before Transaction Date,Data ważności do nie może być wcześniejsza niż data transakcji,
-Unlink Advance Payment on Cancellation of Order,Odłącz przedpłatę przy anulowaniu zamówienia,
-"Simple Python Expression, Example: territory != 'All Territories'","Proste wyrażenie w Pythonie, przykład: terytorium! = &#39;Wszystkie terytoria&#39;",
-Sales Contributions and Incentives,Składki na sprzedaż i zachęty,
-Sourced by Supplier,Źródło: Dostawca,
-Total weightage assigned should be 100%.<br>It is {0},Łączna przypisana waga powinna wynosić 100%.<br> To jest {0},
-Account {0} exists in parent company {1}.,Konto {0} istnieje w firmie macierzystej {1}.,
-"To overrule this, enable '{0}' in company {1}","Aby to zmienić, włącz „{0}” w firmie {1}",
-Invalid condition expression,Nieprawidłowe wyrażenie warunku,
-Please Select a Company First,Najpierw wybierz firmę,
-Please Select Both Company and Party Type First,Najpierw wybierz firmę i typ strony,
-Provide the invoice portion in percent,Podaj część faktury w procentach,
-Give number of days according to prior selection,Podaj liczbę dni według wcześniejszego wyboru,
-Email Details,Szczegóły wiadomości e-mail,
-"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Wybierz powitanie dla odbiorcy. Np. Pan, Pani itp.",
-Preview Email,Podgląd wiadomości e-mail,
-Please select a Supplier,Wybierz dostawcę,
-Supplier Lead Time (days),Czas oczekiwania dostawcy (dni),
-"Home, Work, etc.","Dom, praca itp.",
-Exit Interview Held On,Zakończ rozmowę kwalifikacyjną wstrzymaną,
-Condition and formula,Stan i formuła,
-Sets 'Target Warehouse' in each row of the Items table.,Ustawia „Magazyn docelowy” w każdym wierszu tabeli Towary.,
-Sets 'Source Warehouse' in each row of the Items table.,Ustawia „Magazyn źródłowy” w każdym wierszu tabeli Towary.,
-POS Register,Rejestr POS,
-"Can not filter based on POS Profile, if grouped by POS Profile","Nie można filtrować na podstawie profilu POS, jeśli są pogrupowane według profilu POS",
-"Can not filter based on Customer, if grouped by Customer","Nie można filtrować na podstawie klienta, jeśli jest pogrupowany według klienta",
-"Can not filter based on Cashier, if grouped by Cashier","Nie można filtrować na podstawie Kasjera, jeśli jest pogrupowane według Kasjera",
-Payment Method,Metoda płatności,
-"Can not filter based on Payment Method, if grouped by Payment Method","Nie można filtrować na podstawie metody płatności, jeśli są pogrupowane według metody płatności",
-Supplier Quotation Comparison,Porównanie ofert dostawców,
-Price per Unit (Stock UOM),Cena za jednostkę (JM z magazynu),
-Group by Supplier,Grupuj według dostawcy,
-Group by Item,Grupuj według pozycji,
-Remember to set {field_label}. It is required by {regulation}.,"Pamiętaj, aby ustawić {field_label}. Jest to wymagane przez {przepis}.",
-Enrollment Date cannot be before the Start Date of the Academic Year {0},Data rejestracji nie może być wcześniejsza niż data rozpoczęcia roku akademickiego {0},
-Enrollment Date cannot be after the End Date of the Academic Term {0},Data rejestracji nie może być późniejsza niż data zakończenia okresu akademickiego {0},
-Enrollment Date cannot be before the Start Date of the Academic Term {0},Data rejestracji nie może być wcześniejsza niż data rozpoczęcia semestru akademickiego {0},
-Future Posting Not Allowed,Niedozwolone publikowanie w przyszłości,
-"To enable Capital Work in Progress Accounting, ","Aby włączyć księgowość produkcji w toku,",
-you must select Capital Work in Progress Account in accounts table,w tabeli kont należy wybrać Rachunek kapitałowy w toku,
-You can also set default CWIP account in Company {},Możesz także ustawić domyślne konto CWIP w firmie {},
-The Request for Quotation can be accessed by clicking on the following button,"Dostęp do zapytania ofertowego można uzyskać, klikając poniższy przycisk",
-Regards,pozdrowienia,
-Please click on the following button to set your new password,"Kliknij poniższy przycisk, aby ustawić nowe hasło",
-Update Password,Aktualizować hasło,
-Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Wiersz nr {}: współczynnik sprzedaży dla przedmiotu {} jest niższy niż jego {}. Sprzedawanie {} powinno wynosić co najmniej {},
-You can alternatively disable selling price validation in {} to bypass this validation.,"Alternatywnie możesz wyłączyć weryfikację ceny sprzedaży w {}, aby ominąć tę weryfikację.",
-Invalid Selling Price,Nieprawidłowa cena sprzedaży,
-Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adres musi być powiązany z firmą. Dodaj wiersz Firma w tabeli Łącza.,
-Company Not Linked,Firma niepowiązana,
-Import Chart of Accounts from CSV / Excel files,Importuj plan kont z plików CSV / Excel,
-Completed Qty cannot be greater than 'Qty to Manufacture',Ukończona ilość nie może być większa niż „Ilość do wyprodukowania”,
-"Row {0}: For Supplier {1}, Email Address is Required to send an email",Wiersz {0}: W przypadku dostawcy {1} do wysłania wiadomości e-mail wymagany jest adres e-mail,
-"If enabled, the system will post accounting entries for inventory automatically","Jeśli jest włączona, system automatycznie zaksięguje zapisy księgowe dotyczące zapasów",
-Accounts Frozen Till Date,Konta zamrożone do daty,
-Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Do tej daty zapisy księgowe są zamrożone. Nikt nie może tworzyć ani modyfikować wpisów z wyjątkiem użytkowników z rolą określoną poniżej,
-Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rola dozwolona do ustawiania zamrożonych kont i edycji zamrożonych wpisów,
-Address used to determine Tax Category in transactions,Adres używany do określenia kategorii podatku w transakcjach,
-"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 ","Procent, w jakim możesz zwiększyć rachunek od zamówionej kwoty. Na przykład, jeśli wartość zamówienia wynosi 100 USD za towar, a tolerancja jest ustawiona na 10%, możesz wystawić rachunek do 110 USD",
-This role is allowed to submit transactions that exceed credit limits,Ta rola umożliwia zgłaszanie transakcji przekraczających limity kredytowe,
-"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","Jeśli zostanie wybrana opcja „Miesiące”, stała kwota zostanie zaksięgowana jako odroczone przychody lub wydatki dla każdego miesiąca, niezależnie od liczby dni w miesiącu. Zostanie naliczona proporcjonalnie, jeśli odroczone przychody lub wydatki nie zostaną zaksięgowane na cały miesiąc",
-"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Jeśli ta opcja nie jest zaznaczona, zostaną utworzone bezpośrednie wpisy GL w celu zaksięgowania odroczonych przychodów lub kosztów",
-Show Inclusive Tax in Print,Pokaż podatek wliczony w cenę w druku,
-Only select this if you have set up the Cash Flow Mapper documents,"Wybierz tę opcję tylko wtedy, gdy skonfigurowałeś dokumenty Cash Flow Mapper",
-Payment Channel,Kanał płatności,
-Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Czy do wystawienia faktury i paragonu zakupu wymagane jest zamówienie zakupu?,
-Is Purchase Receipt Required for Purchase Invoice Creation?,Czy do utworzenia faktury zakupu jest wymagany dowód zakupu?,
-Maintain Same Rate Throughout the Purchase Cycle,Utrzymuj tę samą stawkę w całym cyklu zakupu,
-Allow Item To Be Added Multiple Times in a Transaction,Zezwalaj na wielokrotne dodawanie przedmiotu w transakcji,
-Suppliers,Dostawcy,
-Send Emails to Suppliers,Wyślij e-maile do dostawców,
-Select a Supplier,Wybierz dostawcę,
-Cannot mark attendance for future dates.,Nie można oznaczyć obecności na przyszłe daty.,
-Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Czy chcesz zaktualizować frekwencję?<br> Obecnie: {0}<br> Nieobecny: {1},
-Mpesa Settings,Ustawienia Mpesa,
-Initiator Name,Nazwa inicjatora,
-Till Number,Do numeru,
-Sandbox,Piaskownica,
- Online PassKey,Online PassKey,
-Security Credential,Poświadczenie bezpieczeństwa,
-Get Account Balance,Sprawdź saldo konta,
-Please set the initiator name and the security credential,Ustaw nazwę inicjatora i poświadczenia bezpieczeństwa,
-Inpatient Medication Entry,Wpis leków szpitalnych,
-HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
-Item Code (Drug),Kod pozycji (lek),
-Medication Orders,Zamówienia na lekarstwa,
-Get Pending Medication Orders,Uzyskaj oczekujące zamówienia na leki,
-Inpatient Medication Orders,Zamówienia na leki szpitalne,
-Medication Warehouse,Magazyn leków,
-Warehouse from where medication stock should be consumed,"Magazyn, z którego należy skonsumować zapasy leków",
-Fetching Pending Medication Orders,Pobieranie oczekujących zamówień na leki,
-Inpatient Medication Entry Detail,Szczegóły dotyczące przyjmowania leków szpitalnych,
-Medication Details,Szczegóły leków,
-Drug Code,Kod leku,
-Drug Name,Nazwa leku,
-Against Inpatient Medication Order,Nakaz przeciwdziałania lekom szpitalnym,
-Against Inpatient Medication Order Entry,Wpis zamówienia przeciwko lekarstwom szpitalnym,
-Inpatient Medication Order,Zamówienie na leki szpitalne,
-HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
-Total Orders,Całkowita liczba zamówień,
-Completed Orders,Zrealizowane zamówienia,
-Add Medication Orders,Dodaj zamówienia na leki,
-Adding Order Entries,Dodawanie wpisów zamówienia,
-{0} medication orders completed,Zrealizowano {0} zamówień na leki,
-{0} medication order completed,Zrealizowano {0} zamówienie na lek,
-Inpatient Medication Order Entry,Wpis zamówienia leków szpitalnych,
-Is Order Completed,Zamówienie zostało zrealizowane,
-Employee Records to Be Created By,Dokumentacja pracowników do utworzenia przez,
-Employee records are created using the selected field,Rekordy pracowników są tworzone przy użyciu wybranego pola,
-Don't send employee birthday reminders,Nie wysyłaj pracownikom przypomnień o urodzinach,
-Restrict Backdated Leave Applications,Ogranicz aplikacje urlopowe z datą wsteczną,
-Sequence ID,Identyfikator sekwencji,
-Sequence Id,Id. Sekwencji,
-Allow multiple material consumptions against a Work Order,Zezwalaj na wielokrotne zużycie materiałów w ramach zlecenia pracy,
-Plan time logs outside Workstation working hours,Planuj dzienniki czasu poza godzinami pracy stacji roboczej,
-Plan operations X days in advance,Planuj operacje z X-dniowym wyprzedzeniem,
-Time Between Operations (Mins),Czas między operacjami (min),
-Default: 10 mins,Domyślnie: 10 min,
-Overproduction for Sales and Work Order,Nadprodukcja dla sprzedaży i zlecenia pracy,
-"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Aktualizuj koszt BOM automatycznie za pomocą harmonogramu, na podstawie ostatniego kursu wyceny / kursu cennika / ostatniego kursu zakupu surowców",
-Purchase Order already created for all Sales Order items,Zamówienie zakupu zostało już utworzone dla wszystkich pozycji zamówienia sprzedaży,
-Select Items,Wybierz elementy,
-Against Default Supplier,Wobec domyślnego dostawcy,
-Auto close Opportunity after the no. of days mentioned above,Automatyczne zamknięcie Okazja po nr. dni wymienionych powyżej,
-Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Czy do tworzenia faktur sprzedaży i dokumentów dostawy wymagane jest zamówienie sprzedaży?,
-Is Delivery Note Required for Sales Invoice Creation?,Czy do utworzenia faktury sprzedaży jest wymagany dowód dostawy?,
-How often should Project and Company be updated based on Sales Transactions?,Jak często należy aktualizować projekt i firmę na podstawie transakcji sprzedaży?,
-Allow User to Edit Price List Rate in Transactions,Pozwól użytkownikowi edytować stawkę cennika w transakcjach,
-Allow Item to Be Added Multiple Times in a Transaction,Zezwalaj na wielokrotne dodawanie przedmiotu w transakcji,
-Allow Multiple Sales Orders Against a Customer's Purchase Order,Zezwalaj na wiele zamówień sprzedaży w ramach zamówienia klienta,
-Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Sprawdź cenę sprzedaży przedmiotu w stosunku do kursu zakupu lub kursu wyceny,
-Hide Customer's Tax ID from Sales Transactions,Ukryj identyfikator podatkowy klienta w transakcjach sprzedaży,
-"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.","Procent, jaki możesz otrzymać lub dostarczyć więcej w stosunku do zamówionej ilości. Na przykład, jeśli zamówiłeś 100 jednostek, a Twój dodatek wynosi 10%, możesz otrzymać 110 jednostek.",
-Action If Quality Inspection Is Not Submitted,"Działanie, jeśli kontrola jakości nie zostanie przesłana",
-Auto Insert Price List Rate If Missing,"Automatycznie wstaw stawkę cennika, jeśli brakuje",
-Automatically Set Serial Nos Based on FIFO,Automatycznie ustaw numery seryjne w oparciu o FIFO,
-Set Qty in Transactions Based on Serial No Input,Ustaw ilość w transakcjach na podstawie numeru seryjnego,
-Raise Material Request When Stock Reaches Re-order Level,"Podnieś żądanie materiałowe, gdy zapasy osiągną poziom ponownego zamówienia",
-Notify by Email on Creation of Automatic Material Request,Powiadamiaj e-mailem o utworzeniu automatycznego wniosku o materiał,
-Allow Material Transfer from Delivery Note to Sales Invoice,Zezwól na przeniesienie materiału z potwierdzenia dostawy do faktury sprzedaży,
-Allow Material Transfer from Purchase Receipt to Purchase Invoice,Zezwól na przeniesienie materiału z paragonu zakupu do faktury zakupu,
-Freeze Stocks Older Than (Days),Zatrzymaj zapasy starsze niż (dni),
-Role Allowed to Edit Frozen Stock,Rola uprawniona do edycji zamrożonych zapasów,
-The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Nieprzydzielona kwota wpisu płatności {0} jest większa niż nieprzydzielona kwota transakcji bankowej,
-Payment Received,Otrzymano zapłatę,
-Attendance cannot be marked outside of Academic Year {0},Nie można oznaczyć obecności poza rokiem akademickim {0},
-Student is already enrolled via Course Enrollment {0},Student jest już zapisany za pośrednictwem rejestracji na kurs {0},
-Attendance cannot be marked for future dates.,Nie można zaznaczyć obecności na przyszłe daty.,
-Please add programs to enable admission application.,"Dodaj programy, aby włączyć aplikację o przyjęcie.",
-The following employees are currently still reporting to {0}:,Następujący pracownicy nadal podlegają obecnie {0}:,
-Please make sure the employees above report to another Active employee.,"Upewnij się, że powyżsi pracownicy zgłaszają się do innego aktywnego pracownika.",
-Cannot Relieve Employee,Nie można zwolnić pracownika,
-Please enter {0},Wprowadź {0},
-Please select another payment method. Mpesa does not support transactions in currency '{0}',Wybierz inną metodę płatności. MPesa nie obsługuje transakcji w walucie „{0}”,
-Transaction Error,Błąd transakcji,
-Mpesa Express Transaction Error,Błąd transakcji Mpesa Express,
-"Issue detected with Mpesa configuration, check the error logs for more details","Wykryto problem z konfiguracją Mpesa, sprawdź dzienniki błędów, aby uzyskać więcej informacji",
-Mpesa Express Error,Błąd Mpesa Express,
-Account Balance Processing Error,Błąd przetwarzania salda konta,
-Please check your configuration and try again,Sprawdź konfigurację i spróbuj ponownie,
-Mpesa Account Balance Processing Error,Błąd przetwarzania salda konta Mpesa,
-Balance Details,Szczegóły salda,
-Current Balance,Aktualne saldo,
-Available Balance,Dostępne saldo,
-Reserved Balance,Zarezerwowane saldo,
-Uncleared Balance,Nierówna równowaga,
-Payment related to {0} is not completed,Płatność związana z {0} nie została zakończona,
-Row #{}: Item Code: {} is not available under warehouse {}.,Wiersz nr {}: kod towaru: {} nie jest dostępny w magazynie {}.,
-Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Wiersz nr {}: Niewystarczająca ilość towaru dla kodu towaru: {} w magazynie {}. Dostępna Ilość {}.,
-Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Wiersz nr {}: Wybierz numer seryjny i partię dla towaru: {} lub usuń je, aby zakończyć transakcję.",
-Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,"Wiersz nr {}: nie wybrano numeru seryjnego dla pozycji: {}. Wybierz jeden lub usuń go, aby zakończyć transakcję.",
-Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,"Wiersz nr {}: nie wybrano partii dla elementu: {}. Wybierz pakiet lub usuń go, aby zakończyć transakcję.",
-Payment amount cannot be less than or equal to 0,Kwota płatności nie może być mniejsza lub równa 0,
-Please enter the phone number first,Najpierw wprowadź numer telefonu,
-Row #{}: {} {} does not exist.,Wiersz nr {}: {} {} nie istnieje.,
-Row #{0}: {1} is required to create the Opening {2} Invoices,Wiersz nr {0}: {1} jest wymagany do utworzenia faktur otwarcia {2},
-You had {} errors while creating opening invoices. Check {} for more details,"Podczas otwierania faktur wystąpiło {} błędów. Sprawdź {}, aby uzyskać więcej informacji",
-Error Occured,Wystąpił błąd,
-Opening Invoice Creation In Progress,Otwieranie faktury w toku,
-Creating {} out of {} {},Tworzenie {} z {} {},
-(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,"(Nr seryjny: {0}) nie może zostać wykorzystany, ponieważ jest ponownie wysyłany w celu wypełnienia zamówienia sprzedaży {1}.",
-Item {0} {1},Przedmiot {0} {1},
-Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Ostatnia transakcja magazynowa dotycząca towaru {0} w magazynie {1} miała miejsce w dniu {2}.,
-Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Transakcje magazynowe dla pozycji {0} w magazynie {1} nie mogą być księgowane przed tą godziną.,
-Posting future stock transactions are not allowed due to Immutable Ledger,Księgowanie przyszłych transakcji magazynowych nie jest dozwolone ze względu na niezmienną księgę,
-A BOM with name {0} already exists for item {1}.,Zestawienie komponentów o nazwie {0} już istnieje dla towaru {1}.,
-{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Czy zmieniłeś nazwę elementu? Skontaktuj się z administratorem / pomocą techniczną,
-At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},W wierszu {0}: identyfikator sekwencji {1} nie może być mniejszy niż identyfikator sekwencji poprzedniego wiersza {2},
-The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) musi być równe {2} ({3}),
-"{0}, complete the operation {1} before the operation {2}.","{0}, zakończ operację {1} przed operacją {2}.",
-Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Nie można zapewnić dostawy według numeru seryjnego, ponieważ pozycja {0} jest dodawana zi bez opcji Zapewnij dostawę według numeru seryjnego.",
-Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Przedmiot {0} nie ma numeru seryjnego. Tylko przesyłki seryjne mogą być dostarczane na podstawie numeru seryjnego,
-No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nie znaleziono aktywnego zestawienia komponentów dla pozycji {0}. Nie można zagwarantować dostawy według numeru seryjnego,
-No pending medication orders found for selected criteria,Nie znaleziono oczekujących zamówień na leki dla wybranych kryteriów,
-From Date cannot be after the current date.,Data początkowa nie może być późniejsza niż data bieżąca.,
-To Date cannot be after the current date.,Data końcowa nie może być późniejsza niż data bieżąca.,
-From Time cannot be after the current time.,Od godziny nie może być późniejsza niż aktualna godzina.,
-To Time cannot be after the current time.,To Time nie może być późniejsze niż aktualna godzina.,
-Stock Entry {0} created and ,Utworzono wpis giełdowy {0} i,
-Inpatient Medication Orders updated successfully,Zamówienia na leki szpitalne zostały pomyślnie zaktualizowane,
-Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Wiersz {0}: Cannot create the Inpatient Medication Entry for an incpatient medication Order {1},
-Row {0}: This Medication Order is already marked as completed,Wiersz {0}: to zamówienie na lek jest już oznaczone jako zrealizowane,
-Quantity not available for {0} in warehouse {1},Ilość niedostępna dla {0} w magazynie {1},
-Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Włącz opcję Zezwalaj na ujemne zapasy w ustawieniach zapasów lub utwórz wpis zapasów, aby kontynuować.",
-No Inpatient Record found against patient {0},Nie znaleziono dokumentacji szpitalnej dotyczącej pacjenta {0},
-An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Istnieje już nakaz leczenia szpitalnego {0} przeciwko spotkaniu z pacjentami {1}.,
-Allow In Returns,Zezwalaj na zwroty,
-Hide Unavailable Items,Ukryj niedostępne elementy,
-Apply Discount on Discounted Rate,Zastosuj zniżkę na obniżoną stawkę,
-Therapy Plan Template,Szablon planu terapii,
-Fetching Template Details,Pobieranie szczegółów szablonu,
-Linked Item Details,Szczegóły połączonego elementu,
-Therapy Types,Rodzaje terapii,
-Therapy Plan Template Detail,Szczegóły szablonu planu terapii,
-Non Conformance,Niezgodność,
-Process Owner,Właściciel procesu,
-Corrective Action,Działania naprawcze,
-Preventive Action,Akcja prewencyjna,
-Problem,Problem,
-Responsible,Odpowiedzialny,
-Completion By,Zakończenie do,
-Process Owner Full Name,Imię i nazwisko właściciela procesu,
-Right Index,Prawy indeks,
-Left Index,Lewy indeks,
-Sub Procedure,Procedura podrzędna,
-Passed,Zdał,
-Print Receipt,Wydrukuj pokwitowanie,
-Edit Receipt,Edytuj rachunek,
-Focus on search input,Skoncentruj się na wyszukiwaniu,
-Focus on Item Group filter,Skoncentruj się na filtrze grupy przedmiotów,
-Checkout Order / Submit Order / New Order,Zamówienie do kasy / Prześlij zamówienie / Nowe zamówienie,
-Add Order Discount,Dodaj rabat na zamówienie,
-Item Code: {0} is not available under warehouse {1}.,Kod towaru: {0} nie jest dostępny w magazynie {1}.,
-Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numery seryjne są niedostępne dla towaru {0} w magazynie {1}. Spróbuj zmienić magazyn.,
-Fetched only {0} available serial numbers.,Pobrano tylko {0} dostępnych numerów seryjnych.,
-Switch Between Payment Modes,Przełącz między trybami płatności,
-Enter {0} amount.,Wprowadź kwotę {0}.,
-You don't have enough points to redeem.,"Nie masz wystarczającej liczby punktów, aby je wymienić.",
-You can redeem upto {0}.,Możesz wykorzystać maksymalnie {0}.,
-Enter amount to be redeemed.,Wprowadź kwotę do wykupu.,
-You cannot redeem more than {0}.,Nie możesz wykorzystać więcej niż {0}.,
-Open Form View,Otwórz widok formularza,
-POS invoice {0} created succesfully,Faktura POS {0} została utworzona pomyślnie,
-Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Za mało towaru dla kodu towaru: {0} w magazynie {1}. Dostępna ilość {2}.,
-Serial No: {0} has already been transacted into another POS Invoice.,Nr seryjny: {0} został już sprzedany na inną fakturę POS.,
-Balance Serial No,Nr seryjny wagi,
-Warehouse: {0} does not belong to {1},Magazyn: {0} nie należy do {1},
-Please select batches for batched item {0},Wybierz partie dla produktu wsadowego {0},
-Please select quantity on row {0},Wybierz ilość w wierszu {0},
-Please enter serial numbers for serialized item {0},Wprowadź numery seryjne dla towaru z numerem seryjnym {0},
-Batch {0} already selected.,Wiązka {0} już wybrana.,
-Please select a warehouse to get available quantities,"Wybierz magazyn, aby uzyskać dostępne ilości",
-"For transfer from source, selected quantity cannot be greater than available quantity",W przypadku transferu ze źródła wybrana ilość nie może być większa niż ilość dostępna,
-Cannot find Item with this Barcode,Nie można znaleźć przedmiotu z tym kodem kreskowym,
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} jest obowiązkowe. Być może rekord wymiany walut nie jest tworzony dla {1} do {2},
-{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} przesłał zasoby z nim powiązane. Musisz anulować zasoby, aby utworzyć zwrot zakupu.",
-Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Nie można anulować tego dokumentu, ponieważ jest on powiązany z przesłanym zasobem {0}. Anuluj, aby kontynuować.",
-Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Wiersz nr {}: Numer seryjny {} został już przetworzony na inną fakturę POS. Proszę wybrać prawidłowy numer seryjny.,
-Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Wiersz nr {}: numery seryjne {} zostały już przetworzone na inną fakturę POS. Proszę wybrać prawidłowy numer seryjny.,
-Item Unavailable,Pozycja niedostępna,
-Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Wiersz nr {}: nr seryjny {} nie może zostać zwrócony, ponieważ nie był przedmiotem transakcji na oryginalnej fakturze {}",
-Please set default Cash or Bank account in Mode of Payment {},Ustaw domyślne konto gotówkowe lub bankowe w trybie płatności {},
-Please set default Cash or Bank account in Mode of Payments {},Ustaw domyślne konto gotówkowe lub bankowe w Trybie płatności {},
-Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Upewnij się, że konto {} jest kontem bilansowym. Możesz zmienić konto nadrzędne na konto bilansowe lub wybrać inne konto.",
-Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Upewnij się, że konto {} jest kontem płatnym. Zmień typ konta na Płatne lub wybierz inne konto.",
-Row {}: Expense Head changed to {} ,Wiersz {}: nagłówek wydatków zmieniony na {},
-because account {} is not linked to warehouse {} ,ponieważ konto {} nie jest połączone z magazynem {},
-or it is not the default inventory account,lub nie jest to domyślne konto magazynowe,
-Expense Head Changed,Zmiana głowy wydatków,
-because expense is booked against this account in Purchase Receipt {},ponieważ wydatek jest księgowany na tym koncie na dowodzie zakupu {},
-as no Purchase Receipt is created against Item {}. ,ponieważ dla przedmiotu {} nie jest tworzony dowód zakupu.,
-This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Ma to na celu obsługę księgowania przypadków, w których paragon zakupu jest tworzony po fakturze zakupu",
-Purchase Order Required for item {},Wymagane zamówienie zakupu dla produktu {},
-To submit the invoice without purchase order please set {} ,"Aby przesłać fakturę bez zamówienia, należy ustawić {}",
-as {} in {},jak w {},
-Mandatory Purchase Order,Obowiązkowe zamówienie zakupu,
-Purchase Receipt Required for item {},Potwierdzenie zakupu jest wymagane dla przedmiotu {},
-To submit the invoice without purchase receipt please set {} ,"Aby przesłać fakturę bez dowodu zakupu, ustaw {}",
-Mandatory Purchase Receipt,Obowiązkowy dowód zakupu,
-POS Profile {} does not belongs to company {},Profil POS {} nie należy do firmy {},
-User {} is disabled. Please select valid user/cashier,Użytkownik {} jest wyłączony. Wybierz prawidłowego użytkownika / kasjera,
-Row #{}: Original Invoice {} of return invoice {} is {}. ,Wiersz nr {}: Oryginalna faktura {} faktury zwrotnej {} to {}.,
-Original invoice should be consolidated before or along with the return invoice.,Oryginał faktury należy skonsolidować przed lub wraz z fakturą zwrotną.,
-You can add original invoice {} manually to proceed.,"Aby kontynuować, możesz ręcznie dodać oryginalną fakturę {}.",
-Please ensure {} account is a Balance Sheet account. ,"Upewnij się, że konto {} jest kontem bilansowym.",
-You can change the parent account to a Balance Sheet account or select a different account.,Możesz zmienić konto nadrzędne na konto bilansowe lub wybrać inne konto.,
-Please ensure {} account is a Receivable account. ,"Upewnij się, że konto {} jest kontem należnym.",
-Change the account type to Receivable or select a different account.,Zmień typ konta na Odbywalne lub wybierz inne konto.,
-{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"Nie można anulować {}, ponieważ zebrane punkty lojalnościowe zostały wykorzystane. Najpierw anuluj {} Nie {}",
-already exists,już istnieje,
-POS Closing Entry {} against {} between selected period,Wejście zamknięcia POS {} względem {} między wybranym okresem,
-POS Invoice is {},Faktura POS to {},
-POS Profile doesn't matches {},Profil POS nie pasuje {},
-POS Invoice is not {},Faktura POS nie jest {},
-POS Invoice isn't created by user {},Faktura POS nie jest tworzona przez użytkownika {},
-Row #{}: {},Wiersz nr {}: {},
-Invalid POS Invoices,Nieprawidłowe faktury POS,
-Please add the account to root level Company - {},Dodaj konto do poziomu Firma - {},
-"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Podczas tworzenia konta dla firmy podrzędnej {0} nie znaleziono konta nadrzędnego {1}. Utwórz konto rodzica w odpowiednim certyfikacie autentyczności,
-Account Not Found,Konto nie znalezione,
-"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Podczas tworzenia konta dla Firmy podrzędnej {0} konto nadrzędne {1} zostało uznane za konto księgowe.,
-Please convert the parent account in corresponding child company to a group account.,Zmień konto nadrzędne w odpowiedniej firmie podrzędnej na konto grupowe.,
-Invalid Parent Account,Nieprawidłowe konto nadrzędne,
-"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Zmiana nazwy jest dozwolona tylko za pośrednictwem firmy macierzystej {0}, aby uniknąć niezgodności.",
-"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",W przypadku {0} {1} ilości towaru {2} schemat {3} zostanie zastosowany do towaru.,
-"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Jeśli {0} {1} cenisz przedmiot {2}, schemat {3} zostanie zastosowany do elementu.",
-"As the field {0} is enabled, the field {1} is mandatory.","Ponieważ pole {0} jest włączone, pole {1} jest obowiązkowe.",
-"As the field {0} is enabled, the value of the field {1} should be more than 1.","Ponieważ pole {0} jest włączone, wartość pola {1} powinna być większa niż 1.",
-Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Nie można dostarczyć numeru seryjnego {0} elementu {1}, ponieważ jest on zarezerwowany do realizacji zamówienia sprzedaży {2}",
-"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Zamówienie sprzedaży {0} ma rezerwację na produkt {1}, możesz dostarczyć zarezerwowane tylko {1} w ramach {0}.",
-{0} Serial No {1} cannot be delivered,Nie można dostarczyć {0} numeru seryjnego {1},
-Row {0}: Subcontracted Item is mandatory for the raw material {1},Wiersz {0}: Pozycja podwykonawcza jest obowiązkowa dla surowca {1},
-"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Ponieważ ilość surowców jest wystarczająca, żądanie materiałów nie jest wymagane dla magazynu {0}.",
-" If you still want to proceed, please enable {0}.","Jeśli nadal chcesz kontynuować, włącz {0}.",
-The item referenced by {0} - {1} is already invoiced,"Pozycja, do której odwołuje się {0} - {1}, została już zafakturowana",
-Therapy Session overlaps with {0},Sesja terapeutyczna pokrywa się z {0},
-Therapy Sessions Overlapping,Nakładanie się sesji terapeutycznych,
-Therapy Plans,Plany terapii,
-"Item Code, warehouse, quantity are required on row {0}","Kod pozycji, magazyn, ilość są wymagane w wierszu {0}",
-Get Items from Material Requests against this Supplier,Pobierz pozycje z żądań materiałowych od tego dostawcy,
-Enable European Access,Włącz dostęp w Europie,
-Creating Purchase Order ...,Tworzenie zamówienia zakupu ...,
-"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.","Wybierz dostawcę spośród domyślnych dostawców z poniższych pozycji. Po dokonaniu wyboru, Zamówienie zostanie złożone wyłącznie dla pozycji należących do wybranego Dostawcy.",
-Row #{}: You must select {} serial numbers for item {}.,Wiersz nr {}: należy wybrać {} numery seryjne dla towaru {}.,
+"""Customer Provided Item"" cannot be Purchase Item also","""Element dostarczony przez klienta"" nie może być również elementem nabycia",
+"""Customer Provided Item"" cannot have Valuation Rate","""Element dostarczony przez klienta"" nie może mieć wskaźnika wyceny",
+"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Jest Środkiem Trwałym"" nie może być odznaczone, jeśli istnieją pozycje z takim ustawieniem",
+'Based On' and 'Group By' can not be same,"Pola ""Bazuje na"" i ""Grupuj wg."" nie mogą być takie same",
+'Days Since Last Order' must be greater than or equal to zero,Pole 'Dni od ostatniego zamówienia' musi być większe bądź równe zero,
+'Entries' cannot be empty,Pole 'Wpisy' nie może być puste,
+'From Date' is required,Pole 'Od daty' jest wymagane,
+'From Date' must be after 'To Date',Pole 'Od daty' musi następować później niż 'Do daty',
+'Has Serial No' can not be 'Yes' for non-stock item,Numer seryjny nie jest dostępny dla pozycji niemagazynowych,
+'Opening',&quot;Otwarcie&quot;,
+'To Case No.' cannot be less than 'From Case No.','To Case No.' nie powinno być mniejsze niż 'From Case No.',
+'To Date' is required,'Do daty' jest wymaganym polem,
+'Total',&#39;Całkowity&#39;,
+'Update Stock' can not be checked because items are not delivered via {0},"'Aktualizuj Stan' nie może być zaznaczone, ponieważ elementy nie są dostarczane przez {0}",
+'Update Stock' cannot be checked for fixed asset sale,Opcja 'Aktualizuj Stan' nie może być zaznaczona dla sprzedaży środka trwałego,
+) for {0},) dla {0},
+1 exact match.,1 dokładny mecz.,
+90-Above,90-Ponad,
+A Customer Group exists with same name please change the Customer name or rename the Customer Group,Grupa Odbiorców posiada taką nazwę - wprowadź inną nazwę Odbiorcy lub zmień nazwę Grupy,
+A Default Service Level Agreement already exists.,Domyślna umowa dotycząca poziomu usług już istnieje.,
+A Lead requires either a person's name or an organization's name,Ołów wymaga nazwy osoby lub nazwy organizacji,
+A customer with the same name already exists,Klient o tej samej nazwie już istnieje,
+A question must have more than one options,Pytanie musi mieć więcej niż jedną opcję,
+A qustion must have at least one correct options,Qustion musi mieć co najmniej jedną poprawną opcję,
+A {0} exists between {1} and {2} (,{0} istnieje pomiędzy {1} a {2} (,
+A4,A4,
+API Endpoint,Punkt końcowy API,
+API Key,Klucz API,
+Abbr can not be blank or space,Skrót nie może być pusty lub być spacją,
+Abbreviation already used for another company,Skrót już używany przez inną firmę,
+Abbreviation cannot have more than 5 characters,Skrót nie może posiadać więcej niż 5 znaków,
+Abbreviation is mandatory,Skrót jest obowiązkowy,
+About the Company,O firmie,
+About your company,O Twojej firmie,
+Above,Powyżej,
+Absent,Nieobecny,
+Academic Term,semestr,
+Academic Term: ,Okres akademicki:,
+Academic Year,Rok akademicki,
+Academic Year: ,Rok akademicki:,
+Accepted + Rejected Qty must be equal to Received quantity for Item {0},Ilość Przyjętych + Odrzuconych musi odpowiadać ilości Odebranych (Element {0}),
+Access Token,Dostęp za pomocą Tokenu,
+Accessable Value,Dostępna wartość,
+Account,Konto,
+Account Number,Numer konta,
+Account Number {0} already used in account {1},Numer konta {0} jest już używany na koncie {1},
+Account Pay Only,Tylko płatne konto,
+Account Type,typ konta,
+Account Type for {0} must be {1},Typ konta dla {0} musi być {1},
+"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Konto jest na minusie, nie możesz ustawić wymagań jako debet.",
+"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Konto jest na minusie, nie możesz ustawić wymagań jako kredyt.",
+Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Numer konta dla konta {0} jest niedostępny. <br> Skonfiguruj poprawnie swój plan kont.,
+Account with child nodes cannot be converted to ledger,Konto grupujące inne konta nie może być konwertowane,
+Account with child nodes cannot be set as ledger,Konto z węzłów podrzędnych nie może być ustawiony jako księgi,
+Account with existing transaction can not be converted to group.,Konto z istniejącymi zapisami nie może być konwertowane na Grupę (konto dzielone).,
+Account with existing transaction can not be deleted,Konto z istniejącymi zapisami nie może być usunięte,
+Account with existing transaction cannot be converted to ledger,Konto z istniejącymi zapisami nie może być konwertowane,
+Account {0} does not belong to company: {1},Konto {0} nie należy do firmy: {1},
+Account {0} does not belongs to company {1},Konto {0} nie należy do firmy {1},
+Account {0} does not exist,Konto {0} nie istnieje,
+Account {0} does not exists,Konto {0} nie istnieje,
+Account {0} does not match with Company {1} in Mode of Account: {2},Konto {0} nie jest zgodne z firmą {1} w trybie konta: {2},
+Account {0} has been entered multiple times,Konto {0} zostało wprowadzone wielokrotnie,
+Account {0} is added in the child company {1},Konto {0} zostało dodane w firmie podrzędnej {1},
+Account {0} is frozen,Konto {0} jest zamrożone,
+Account {0} is invalid. Account Currency must be {1},Konto {0} jest nieprawidłowe. Waluta konta musi być {1},
+Account {0}: Parent account {1} can not be a ledger,Konto {0}: Nadrzędne konto {1} nie może być zwykłym,
+Account {0}: Parent account {1} does not belong to company: {2},Konto {0}: konto nadrzędne {1} nie należy do firmy: {2},
+Account {0}: Parent account {1} does not exist,Konto {0}: Konto nadrzędne {1} nie istnieje,
+Account {0}: You can not assign itself as parent account,Konto {0}: Nie można przypisać siebie jako konta nadrzędnego,
+Account: {0} can only be updated via Stock Transactions,Konto: {0} może być aktualizowana tylko przez operacje magazynowe,
+Account: {0} with currency: {1} can not be selected,Konto: {0} z waluty: nie można wybrać {1},
+Accountant,Księgowy,
+Accounting,Księgowość,
+Accounting Entry for Asset,Zapis Księgowy dla aktywów,
+Accounting Entry for Stock,Zapis księgowy dla zapasów,
+Accounting Entry for {0}: {1} can only be made in currency: {2},Wprowadzenia danych księgowych dla {0}: {1} może być dokonywane wyłącznie w walucie: {2},
+Accounting Ledger,Księgi rachunkowe,
+Accounting journal entries.,Dziennik zapisów księgowych.,
+Accounts,Księgowość,
+Accounts Manager,Specjalista ds. Sprzedaży,
+Accounts Payable,Zobowiązania,
+Accounts Payable Summary,Zobowiązania Podsumowanie,
+Accounts Receivable,Należności,
+Accounts Receivable Summary,Należności Podsumowanie,
+Accounts User,Konta Użytkownika,
+Accounts table cannot be blank.,Tabela kont nie może być pusta,
+Accrual Journal Entry for salaries from {0} to {1},Zapis wstępny w dzienniku dla zarobków od {0} do {1},
+Accumulated Depreciation,Umorzenia (skumulowana amortyzacja),
+Accumulated Depreciation Amount,Kwota Skumulowanej amortyzacji,
+Accumulated Depreciation as on,Skumulowana amortyzacja jak na,
+Accumulated Monthly,skumulowane miesięcznie,
+Accumulated Values,Skumulowane wartości,
+Accumulated Values in Group Company,Skumulowane wartości w Spółce Grupy,
+Achieved ({}),Osiągnięto ({}),
+Action,Działanie,
+Action Initialised,Działanie zainicjowane,
+Actions,działania,
+Active,Aktywny,
+Activity Cost exists for Employee {0} against Activity Type - {1},Istnieje aktywny Koszt Pracodawcy {0} przed Type Aktywny - {1},
+Activity Cost per Employee,Koszt aktywność na pracownika,
+Activity Type,Rodzaj aktywności,
+Actual Cost,Aktualna cena,
+Actual Delivery Date,Rzeczywista data dostawy,
+Actual Qty,Rzeczywista ilość,
+Actual Qty is mandatory,Rzeczywista ilość jest obowiązkowa,
+Actual Qty {0} / Waiting Qty {1},Rzeczywista ilość {0} / liczba oczekujących {1},
+Actual Qty: Quantity available in the warehouse.,Rzeczywista ilość: ilość dostępna w magazynie.,
+Actual qty in stock,Rzeczywista ilość w magazynie,
+Actual type tax cannot be included in Item rate in row {0},Rzeczywista Podatek typu nie mogą być wliczone w cenę towaru w wierszu {0},
+Add,Dodaj,
+Add / Edit Prices,Dodaj / edytuj ceny,
+Add Comment,Dodaj komentarz,
+Add Customers,Dodaj klientów,
+Add Employees,Dodaj pracowników,
+Add Item,Dodaj pozycję,
+Add Items,Dodaj pozycje,
+Add Leads,Dodaj namiary,
+Add Multiple Tasks,Dodaj wiele zadań,
+Add Row,Dodaj wiersz,
+Add Sales Partners,Dodaj partnerów handlowych,
+Add Serial No,Dodaj nr seryjny,
+Add Students,Dodaj uczniów,
+Add Suppliers,Dodaj dostawców,
+Add Time Slots,Dodaj gniazda czasowe,
+Add Timesheets,Dodaj ewidencja czasu pracy,
+Add Timeslots,Dodaj czasopisma,
+Add Users to Marketplace,Dodaj użytkowników do rynku,
+Add a new address,Dodaj nowy adres,
+Add cards or custom sections on homepage,Dodaj karty lub niestandardowe sekcje na stronie głównej,
+Add more items or open full form,Dodać więcej rzeczy lub otworzyć pełną formę,
+Add notes,Dodaj notatki,
+Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Dodać resztę organizacji jako użytkowników. Można również dodać zaprosić klientów do portalu dodając je z Kontaktów,
+Add to Details,Dodaj do szczegółów,
+Add/Remove Recipients,Dodaj / usuń odbiorców,
+Added,Dodano,
+Added to details,Dodano do szczegółów,
+Added {0} users,Dodano {0} użytkowników,
+Additional Salary Component Exists.,Istnieje dodatkowy składnik wynagrodzenia.,
+Address,Adres,
+Address Line 2,Drugi wiersz adresu,
+Address Name,Adres,
+Address Title,Tytuł adresu,
+Address Type,Typ adresu,
+Administrative Expenses,Wydatki na podstawową działalność,
+Administrative Officer,Urzędnik administracyjny,
+Administrator,Administrator,
+Admission,Wstęp,
+Admission and Enrollment,Wstęp i rejestracja,
+Admissions for {0},Rekrutacja dla {0},
+Admit,Przyznać,
+Admitted,Przyznał,
+Advance Amount,Kwota Zaliczki,
+Advance Payments,Zaliczki,
+Advance account currency should be same as company currency {0},"Waluta konta Advance powinna być taka sama, jak waluta firmy {0}",
+Advance amount cannot be greater than {0} {1},Ilość wyprzedzeniem nie może być większa niż {0} {1},
+Advertising,Reklamowanie,
+Aerospace,Lotnictwo,
+Against,Wyklucza,
+Against Account,Konto korespondujące,
+Against Journal Entry {0} does not have any unmatched {1} entry,Przeciwko Urzędowym Wejście {0} nie ma niezrównaną pozycję {1},
+Against Journal Entry {0} is already adjusted against some other voucher,Zapis {0} jest już powiązany z innym dowodem księgowym,
+Against Supplier Invoice {0} dated {1},Przeciwko Dostawcę faktury {0} {1} dnia,
+Against Voucher,Dowód księgowy,
+Against Voucher Type,Rodzaj dowodu,
+Age,Wiek,
+Age (Days),Wiek (dni),
+Ageing Based On,Starzenie na podstawie,
+Ageing Range 1,Starzenie Zakres 1,
+Ageing Range 2,Starzenie Zakres 2,
+Ageing Range 3,Starzenie Zakres 3,
+Agriculture,Rolnictwo,
+Agriculture (beta),Rolnictwo (beta),
+Airline,Linia lotnicza,
+All Accounts,Wszystkie konta,
+All Addresses.,Wszystkie adresy,
+All Assessment Groups,Wszystkie grupy oceny,
+All BOMs,Wszystkie LM,
+All Contacts.,Wszystkie kontakty.,
+All Customer Groups,Wszystkie grupy klientów,
+All Day,Cały Dzień,
+All Departments,Wszystkie departamenty,
+All Healthcare Service Units,Wszystkie jednostki służby zdrowia,
+All Item Groups,Wszystkie grupy produktów,
+All Jobs,Wszystkie Oferty pracy,
+All Products,Wszystkie produkty,
+All Products or Services.,Wszystkie produkty i usługi.,
+All Student Admissions,Wszystkie Przyjęć studenckie,
+All Supplier Groups,Wszystkie grupy dostawców,
+All Supplier scorecards.,Wszystkie karty oceny dostawcy.,
+All Territories,Wszystkie obszary,
+All Warehouses,Wszystkie magazyny,
+All communications including and above this shall be moved into the new Issue,"Wszystkie komunikaty, w tym i powyżej tego, zostaną przeniesione do nowego wydania",
+All items have already been transferred for this Work Order.,Wszystkie przedmioty zostały już przekazane dla tego zlecenia pracy.,
+All other ITC,Wszystkie inne ITC,
+All the mandatory Task for employee creation hasn't been done yet.,Wszystkie obowiązkowe zadanie tworzenia pracowników nie zostało jeszcze wykonane.,
+Allocate Payment Amount,Przeznaczyć Kwota płatności,
+Allocated Amount,Przyznana kwota,
+Allocated Leaves,Przydzielone Nieobecności,
+Allocating leaves...,Przydzielanie Nieobecności...,
+Already record exists for the item {0},Już istnieje rekord dla elementu {0},
+"Already set default in pos profile {0} for user {1}, kindly disabled default","Już ustawiono domyślne w profilu pozycji {0} dla użytkownika {1}, domyślnie wyłączone",
+Alternate Item,Alternatywna pozycja,
+Alternative item must not be same as item code,"Element alternatywny nie może być taki sam, jak kod produktu",
+Amended From,Zmodyfikowany od,
+Amount,Wartość,
+Amount After Depreciation,Kwota po amortyzacji,
+Amount of Integrated Tax,Kwota Zintegrowanego Podatku,
+Amount of TDS Deducted,Kwota potrąconej TDS,
+Amount should not be less than zero.,Kwota nie powinna być mniejsza niż zero.,
+Amount to Bill,Kwota rachunku,
+Amount {0} {1} against {2} {3},Kwota {0} {1} przeciwko {2} {3},
+Amount {0} {1} deducted against {2},Kwota {0} {1} odliczone przed {2},
+Amount {0} {1} transferred from {2} to {3},"Kwota {0} {1} przeniesione z {2} {3}, aby",
+Amount {0} {1} {2} {3},Kwota {0} {1} {2} {3},
+Amt,Amt,
+"An Item Group exists with same name, please change the item name or rename the item group",Istnieje element Grupy o takiej nazwie. Zmień nazwę elementu lub tamtej Grupy.,
+An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Semestr z tym &quot;Roku Akademickiego&quot; {0} i &#39;Nazwa Termin&#39; {1} już istnieje. Proszę zmodyfikować te dane i spróbuj jeszcze raz.,
+An error occurred during the update process,Wystąpił błąd podczas procesu aktualizacji,
+"An item exists with same name ({0}), please change the item group name or rename the item",Istnieje element  o takiej nazwie. Zmień nazwę Grupy lub tego elementu.,
+Analyst,Analityk,
+Analytics,Analityk,
+Annual Billing: {0},Roczne rozliczeniowy: {0},
+Annual Salary,Roczne wynagrodzenie,
+Anonymous,Anonimowy,
+Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},Inny rekord budżetu &quot;{0}&quot; już istnieje w stosunku do {1} &quot;{2}&quot; i konta &quot;{3}&quot; w roku finansowym {4},
+Another Period Closing Entry {0} has been made after {1},Kolejny okres Zamknięcie Wejście {0} została wykonana po {1},
+Another Sales Person {0} exists with the same Employee id,Inna osoba Sprzedaż {0} istnieje w tym samym identyfikator pracownika,
+Antibiotic,Antybiotyk,
+Apparel & Accessories,Odzież i akcesoria,
+Applicable For,Stosowne dla,
+"Applicable if the company is SpA, SApA or SRL","Stosuje się, jeśli spółką jest SpA, SApA lub SRL",
+Applicable if the company is a limited liability company,"Stosuje się, jeśli firma jest spółką z ograniczoną odpowiedzialnością",
+Applicable if the company is an Individual or a Proprietorship,"Stosuje się, jeśli firma jest jednostką lub właścicielem",
+Applicant,Petent,
+Applicant Type,Typ Wnioskodawcy,
+Application of Funds (Assets),Aktywa,
+Application period cannot be across two allocation records,Okres aplikacji nie może mieć dwóch rekordów przydziału,
+Application period cannot be outside leave allocation period,Wskazana data nieobecności nie może wykraczać poza zaalokowany okres dla nieobecności,
+Applied,Stosowany,
+Apply Now,Aplikuj teraz,
+Appointment Confirmation,Potwierdzenie spotkania,
+Appointment Duration (mins),Czas trwania spotkania (min),
+Appointment Type,Typ spotkania,
+Appointment {0} and Sales Invoice {1} cancelled,Mianowanie {0} i faktura sprzedaży {1} zostały anulowane,
+Appointments and Encounters,Spotkania i spotkania,
+Appointments and Patient Encounters,Spotkania i spotkania z pacjentami,
+Appraisal {0} created for Employee {1} in the given date range,Ocena {0} utworzona dla Pracownika {1} w datach od-do,
+Apprentice,Uczeń,
+Approval Status,Status Zatwierdzenia,
+Approval Status must be 'Approved' or 'Rejected',Status Zatwierdzenia musi być 'Zatwierdzono' albo 'Odrzucono',
+Approve,Zatwierdzać,
+Approving Role cannot be same as role the rule is Applicable To,Rola Zatwierdzająca nie może być taka sama jak rola którą zatwierdza,
+Approving User cannot be same as user the rule is Applicable To,"Zatwierdzający Użytkownik nie może być taki sam, jak użytkownik którego zatwierdza",
+"Apps using current key won't be able to access, are you sure?","Aplikacje używające obecnego klucza nie będą mogły uzyskać dostępu, czy na pewno?",
+Are you sure you want to cancel this appointment?,Czy na pewno chcesz anulować to spotkanie?,
+Arrear,Zaległość,
+As Examiner,Jako egzaminator,
+As On Date,W sprawie daty,
+As Supervisor,Jako Supervisor,
+As per rules 42 & 43 of CGST Rules,Zgodnie z zasadami 42 i 43 Regulaminu CGST,
+As per section 17(5),Jak w sekcji 17 (5),
+As per your assigned Salary Structure you cannot apply for benefits,Zgodnie z przypisaną Ci strukturą wynagrodzeń nie możesz ubiegać się o świadczenia,
+Assessment,Oszacowanie,
+Assessment Criteria,Kryteria oceny,
+Assessment Group,Grupa Assessment,
+Assessment Group: ,Grupa oceny:,
+Assessment Plan,Plan oceny,
+Assessment Plan Name,Nazwa planu oceny,
+Assessment Report,Sprawozdanie z oceny,
+Assessment Reports,Raporty z oceny,
+Assessment Result,Wynik oceny,
+Assessment Result record {0} already exists.,Wynik Wynik {0} już istnieje.,
+Asset,Składnik aktywów,
+Asset Category,Aktywa Kategoria,
+Asset Category is mandatory for Fixed Asset item,Kategoria atutem jest obowiązkowe dla Fixed pozycja aktywów,
+Asset Maintenance,Konserwacja aktywów,
+Asset Movement,Zaleta Ruch,
+Asset Movement record {0} created,Rekord Ruch atutem {0} tworzone,
+Asset Name,Zaleta Nazwa,
+Asset Received But Not Billed,"Zasoby odebrane, ale nieopłacone",
+Asset Value Adjustment,Korekta wartości aktywów,
+"Asset cannot be cancelled, as it is already {0}","Aktywów nie mogą być anulowane, ponieważ jest już {0}",
+Asset scrapped via Journal Entry {0},Zaleta złomowany poprzez Journal Entry {0},
+"Asset {0} cannot be scrapped, as it is already {1}","Składnik {0} nie może zostać wycofane, jak to jest już {1}",
+Asset {0} does not belong to company {1},Zaleta {0} nie należą do firmy {1},
+Asset {0} must be submitted,Zaleta {0} należy składać,
+Assets,Majątek,
+Assign,Przydziel,
+Assign Salary Structure,Przypisanie struktury wynagrodzeń,
+Assign To,Przypisano do,
+Assign to Employees,Przypisz do pracowników,
+Assigning Structures...,Przyporządkowywanie Struktur,
+Associate,Współpracownik,
+At least one mode of payment is required for POS invoice.,Co najmniej jeden tryb płatności POS jest wymagane dla faktury.,
+Atleast one item should be entered with negative quantity in return document,Conajmniej jedna pozycja powinna być wpisana w ilości negatywnej w dokumencie powrotnej,
+Atleast one of the Selling or Buying must be selected,Conajmniej jeden sprzedaż lub zakup musi być wybrany,
+Atleast one warehouse is mandatory,Co najmniej jeden magazyn jest wymagany,
+Attach Logo,Załącz Logo,
+Attachment,Załącznik,
+Attachments,Załączniki,
+Attendance,Obecność,
+Attendance From Date and Attendance To Date is mandatory,Obecnośc od i do Daty są obowiązkowe,
+Attendance can not be marked for future dates,Obecność nie może być oznaczana na przyszłość,
+Attendance date can not be less than employee's joining date,data frekwencja nie może być mniejsza niż data łączącej pracownika,
+Attendance for employee {0} is already marked,Frekwencja pracownika {0} jest już zaznaczona,
+Attendance for employee {0} is already marked for this day,Frekwencja na pracownika {0} jest już zaznaczone na ten dzień,
+Attendance has been marked successfully.,Obecność została oznaczona pomyślnie.,
+Attendance not submitted for {0} as it is a Holiday.,"Frekwencja nie została przesłana do {0}, ponieważ jest to święto.",
+Attendance not submitted for {0} as {1} on leave.,Obecność nie została przesłana do {0} jako {1} podczas nieobecności.,
+Attribute table is mandatory,Stół atrybut jest obowiązkowy,
+Attribute {0} selected multiple times in Attributes Table,Atrybut {0} wybrane atrybuty kilka razy w tabeli,
+Author,Autor,
+Authorized Signatory,Upoważniony sygnatariusz,
+Auto Material Requests Generated,Wnioski Auto Materiał Generated,
+Auto Repeat,Auto Repeat,
+Auto repeat document updated,Automatycznie powtórzony dokument został zaktualizowany,
+Available,Dostępny,
+Available Leaves,Dostępne Nieobecności,
+Available Qty,Dostępne szt,
+Available Selling,Dostępne sprzedawanie,
+Available for use date is required,Dostępna jest data przydatności do użycia,
+Available slots,Dostępne gniazda,
+Available {0},Dostępne {0},
+Available-for-use Date should be after purchase date,Data przydatności do użycia powinna być późniejsza niż data zakupu,
+Average Age,Średni wiek,
+Average Rate,Średnia Stawka,
+Avg Daily Outgoing,Średnia dzienna Wychodzące,
+Avg. Buying Price List Rate,Śr. Kupowanie kursu cenowego,
+Avg. Selling Price List Rate,Śr. Wskaźnik cen sprzedaży,
+Avg. Selling Rate,Średnia. Cena sprzedaży,
+BOM,BOM,
+BOM Browser,Przeglądarka BOM,
+BOM No,Nr zestawienia materiałowego,
+BOM Rate,BOM Kursy,
+BOM Stock Report,BOM Zdjęcie Zgłoś,
+BOM and Manufacturing Quantity are required,BOM i ilości są wymagane Manufacturing,
+BOM does not contain any stock item,BOM nie zawiera żadnego elementu akcji,
+BOM {0} does not belong to Item {1},BOM {0} nie należy do pozycji {1},
+BOM {0} must be active,BOM {0} musi być aktywny,
+BOM {0} must be submitted,BOM {0} musi być złożony,
+Balance,Bilans,
+Balance (Dr - Cr),Balans (Dr - Cr),
+Balance ({0}),Saldo ({0}),
+Balance Qty,Ilość bilansu,
+Balance Sheet,Arkusz Bilansu,
+Balance Value,Wartość bilansu,
+Balance for Account {0} must always be {1},Bilans dla Konta {0} zawsze powinien wynosić {1},
+Bank,Bank,
+Bank Account,Konto bankowe,
+Bank Accounts,Konta bankowe,
+Bank Draft,Przekaz bankowy,
+Bank Entries,Operacje bankowe,
+Bank Name,Nazwa banku,
+Bank Overdraft Account,Konto z kredytem w rachunku bankowym,
+Bank Reconciliation,Uzgodnienia z wyciągiem bankowym,
+Bank Reconciliation Statement,Stan uzgodnień z wyciągami z banku,
+Bank Statement,Wyciąg bankowy,
+Bank Statement Settings,Ustawienia wyciągu bankowego,
+Bank Statement balance as per General Ledger,Bilans wyciągów bankowych wedle Księgi Głównej,
+Bank account cannot be named as {0},Rachunku bankowego nie może być nazwany {0},
+Bank/Cash transactions against party or for internal transfer,Transakcje Bank / Gotówka przeciwko osobie lub do przenoszenia wewnętrznego,
+Banking,Bankowość,
+Banking and Payments,Operacje bankowe i płatności,
+Barcode {0} already used in Item {1},Kod kreskowy {0} jest już używany dla przedmiotu {1},
+Barcode {0} is not a valid {1} code,Kod kreskowy {0} nie jest prawidłowym kodem {1},
+Base,Baza,
+Base URL,Podstawowy adres URL,
+Based On,Bazujący na,
+Based On Payment Terms,Bazując na Zasadach Płatności,
+Basic,Podstawowy,
+Batch,Partia,
+Batch Entries,Wpisy wsadowe,
+Batch ID is mandatory,Identyfikator zbiorczy jest obowiązkowy,
+Batch Inventory,Inwentaryzacja partii,
+Batch Name,Batch Nazwa,
+Batch No,Nr Partii,
+Batch number is mandatory for Item {0},Numer partii jest obowiązkowy dla produktu {0},
+Batch {0} of Item {1} has expired.,Batch {0} pozycji {1} wygasł.,
+Batch {0} of Item {1} is disabled.,Partia {0} elementu {1} jest wyłączona.,
+Batch: ,Partia:,
+Batches,Partie,
+Become a Seller,Zostań sprzedawcą,
+Beginner,Początkujący,
+Bill,Rachunek,
+Bill Date,Data Rachunku,
+Bill No,Numer Rachunku,
+Bill of Materials,Zestawienie materiałów,
+Bill of Materials (BOM),Zestawienie materiałowe (BOM),
+Billable Hours,Rozliczalne godziny,
+Billed,Rozliczony,
+Billed Amount,Ilość Rozliczenia,
+Billing,Dane do faktury,
+Billing Address,Adres Faktury,
+Billing Address is same as Shipping Address,"Adres rozliczeniowy jest taki sam, jak adres wysyłki",
+Billing Amount,Kwota Rozliczenia,
+Billing Status,Status Faktury,
+Billing currency must be equal to either default company's currency or party account currency,Waluta rozliczeniowa musi być równa domyślnej walucie firmy lub walucie konta strony,
+Bills raised by Suppliers.,Rachunki od dostawców.,
+Bills raised to Customers.,Rachunki dla klientów.,
+Biotechnology,Biotechnologia,
+Birthday Reminder,Przypomnienie o urodzinach,
+Black,czarny,
+Blanket Orders from Costumers.,Zamówienia zbiorcze od klientów.,
+Block Invoice,Zablokuj fakturę,
+Boms,Bomy,
+Bonus Payment Date cannot be a past date,Data płatności premii nie może być datą przeszłą,
+Both Trial Period Start Date and Trial Period End Date must be set,"Należy ustawić zarówno datę rozpoczęcia okresu próbnego, jak i datę zakończenia okresu próbnego",
+Both Warehouse must belong to same Company,Obydwa Magazyny muszą należeć do tej samej firmy,
+Branch,Odddział,
+Broadcasting,Transmitowanie,
+Brokerage,Pośrednictwo,
+Browse BOM,Przeglądaj BOM,
+Budget Against,budżet Against,
+Budget List,Lista budżetu,
+Budget Variance Report,Raport z weryfikacji budżetu,
+Budget cannot be assigned against Group Account {0},Budżet nie może być przypisany do rachunku grupy {0},
+"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Budżet nie może być przypisany przed {0}, ponieważ nie jest to konto przychodów lub kosztów",
+Buildings,Budynki,
+Bundle items at time of sale.,Pakiet przedmiotów w momencie sprzedaży,
+Business Development Manager,Business Development Manager,
+Buy,Kup,
+Buying,Zakupy,
+Buying Amount,Kwota zakupu,
+Buying Price List,Kupowanie cennika,
+Buying Rate,Cena zakupu,
+"Buying must be checked, if Applicable For is selected as {0}","Zakup musi być sprawdzona, jeśli dotyczy wybrano jako {0}",
+By {0},Do {0},
+Bypass credit check at Sales Order ,Pomiń kontrolę kredytową w zleceniu sprzedaży,
+C-Form records,C-forma rekordy,
+C-form is not applicable for Invoice: {0},C-forma nie ma zastosowania do faktury: {0},
+CEO,CEO,
+CESS Amount,Kwota CESS,
+CGST Amount,CGST Kwota,
+CRM,CRM,
+CWIP Account,Konto CWIP,
+Calculated Bank Statement balance,Obliczony bilans wyciągu bankowego,
+Calls,Połączenia,
+Campaign,Kampania,
+Can be approved by {0},Może być zatwierdzone przez {0},
+"Can not filter based on Account, if grouped by Account","Nie można przefiltrować na podstawie Konta, jeśli pogrupowano z użuciem konta",
+"Can not filter based on Voucher No, if grouped by Voucher","Nie można przefiltrować wg Podstawy, jeśli pogrupowano z użyciem Podstawy",
+"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Nie można oznaczyć rekordu rozładowania szpitala, istnieją niezafakturowane faktury {0}",
+Can only make payment against unbilled {0},Mogą jedynie wpłaty przed Unbilled {0},
+Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',"Może odnosić się do wierdza tylko wtedy, gdy typ opłata jest ""Poprzedniej Wartości Wiersza Suma"" lub ""poprzedniego wiersza Razem""",
+"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Nie można zmienić metody wyceny, ponieważ istnieją transakcje dotyczące niektórych pozycji, które nie mają własnej metody wyceny",
+Can't create standard criteria. Please rename the criteria,Nie można utworzyć standardowych kryteriów. Zmień nazwę kryteriów,
+Cancel,Anuluj,
+Cancel Material Visit {0} before cancelling this Warranty Claim,Anuluj Materiał Odwiedź {0} zanim anuluje to roszczenia z tytułu gwarancji,
+Cancel Material Visits {0} before cancelling this Maintenance Visit,Anuluj Fizyczne Wizyty {0} zanim anulujesz Wizytę Pośrednią,
+Cancel Subscription,Anuluj subskrypcje,
+Cancel the journal entry {0} first,Najpierw anuluj zapis księgowy {0},
+Canceled,Anulowany,
+"Cannot Submit, Employees left to mark attendance","Nie można przesłać, pracownicy zostali pozostawieni, aby zaznaczyć frekwencję",
+Cannot be a fixed asset item as Stock Ledger is created.,"Nie może być pozycją środka trwałego, ponieważ tworzona jest księga zapasowa.",
+Cannot cancel because submitted Stock Entry {0} exists,"Nie można anulować, ponieważ wskazane Wprowadzenie na magazyn {0} istnieje",
+Cannot cancel transaction for Completed Work Order.,Nie można anulować transakcji dotyczącej ukończonego zlecenia pracy.,
+Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},"Nie można anulować {0} {1}, ponieważ numer seryjny {2} nie należy do magazynu {3}",
+Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Nie można zmienić atrybutów po transakcji giełdowej. Zrób nowy przedmiot i prześlij towar do nowego przedmiotu,
+Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,"Nie można zmienić Rok obrotowy Data rozpoczęcia i Data zakończenia roku obrotowego, gdy rok obrotowy jest zapisane.",
+Cannot change Service Stop Date for item in row {0},Nie można zmienić daty zatrzymania usługi dla pozycji w wierszu {0},
+Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,"Nie można zmienić właściwości wariantu po transakcji giełdowej. Będziesz musiał zrobić nową rzecz, aby to zrobić.",
+"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Nie można zmienić domyślnej waluty firmy, ponieważ istnieją przypisane do niej transakcje. Anuluj transakcje, aby zmienić domyślną walutę",
+Cannot change status as student {0} is linked with student application {1},Nie można zmienić status studenta {0} jest powiązany z aplikacją studentów {1},
+Cannot convert Cost Center to ledger as it has child nodes,"Nie można przekonwertować centrum kosztów do księgi głównej, jak to ma węzły potomne",
+Cannot covert to Group because Account Type is selected.,"Nie można konwertowanie do grupy, ponieważ jest wybrany rodzaj konta.",
+Cannot create Retention Bonus for left Employees,Nie można utworzyć bonusu utrzymania dla leworęcznych pracowników,
+Cannot create a Delivery Trip from Draft documents.,Nie można utworzyć podróży dostawy z dokumentów roboczych.,
+Cannot deactivate or cancel BOM as it is linked with other BOMs,Nie można wyłączyć lub anulować LM jak to jest połączone z innymi LM,
+"Cannot declare as lost, because Quotation has been made.",Nie można zadeklarować jako zagubiony z powodu utworzenia kwotacji,
+Cannot deduct when category is for 'Valuation' or 'Valuation and Total',"Nie można wywnioskować, kiedy kategoria dotyczy ""Ocena"" a kiedy ""Oceny i Total""",
+Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Nie można odliczyć, gdy kategoria jest dla &#39;Wycena&#39; lub &#39;Vaulation i Total&#39;",
+"Cannot delete Serial No {0}, as it is used in stock transactions","Nie można usunąć nr seryjnego {0}, ponieważ jest wykorzystywany w transakcjach magazynowych",
+Cannot enroll more than {0} students for this student group.,Nie można zapisać więcej niż {0} studentów dla tej grupy studentów.,
+Cannot find active Leave Period,Nie można znaleźć aktywnego Okresu Nieobecności,
+Cannot produce more Item {0} than Sales Order quantity {1},Nie można wyprodukować więcej przedmiotów {0} niż wartość {1} na Zamówieniu,
+Cannot promote Employee with status Left,Nie można promować pracownika z pozostawionym statusem,
+Cannot refer row number greater than or equal to current row number for this Charge type,Nie można wskazać numeru wiersza większego lub równego numerowi dla tego typu Opłaty,
+Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,"Nie można wybrać typu opłaty jako ""Sumy Poprzedniej Komórki"" lub ""Całkowitej kwoty poprzedniej Komórki"" w pierwszym rzędzie",
+Cannot set as Lost as Sales Order is made.,Nie można ustawić jako Utracone Zamówienia Sprzedaży,
+Cannot set authorization on basis of Discount for {0},Nie można ustawić autoryzacji na podstawie Zniżki dla {0},
+Cannot set multiple Item Defaults for a company.,Nie można ustawić wielu wartości domyślnych dla danej firmy.,
+Cannot set quantity less than delivered quantity,Nie można ustawić ilości mniejszej niż dostarczona ilość,
+Cannot set quantity less than received quantity,Nie można ustawić ilości mniejszej niż ilość odebrana,
+Cannot set the field <b>{0}</b> for copying in variants,Nie można ustawić pola <b>{0}</b> do kopiowania w wariantach,
+Cannot transfer Employee with status Left,Nie można przenieść pracownika ze statusem w lewo,
+Cannot {0} {1} {2} without any negative outstanding invoice,Nie można {0} {1} {2} bez negatywnego wybitne faktury,
+Capital Equipments,Wyposażenie Kapitałowe,
+Capital Stock,Kapitał zakładowy,
+Capital Work in Progress,Praca kapitałowa w toku,
+Cart,Koszyk,
+Cart is Empty,Koszyk jest pusty,
+Case No(s) already in use. Try from Case No {0},Numer(y) sprawy w użytku. Proszę spróbować Numer Sprawy {0},
+Cash,Gotówka,
+Cash Flow Statement,Raport kasowy,
+Cash Flow from Financing,Cash Flow z finansowania,
+Cash Flow from Investing,Przepływy środków pieniężnych z Inwestowanie,
+Cash Flow from Operations,Przepływy środków pieniężnych z działalności operacyjnej,
+Cash In Hand,Gotówka w kasie,
+Cash or Bank Account is mandatory for making payment entry,Konto Gotówka lub Bank jest wymagane dla tworzenia zapisów Płatności,
+Cashier Closing,Zamknięcie kasjera,
+Casual Leave,Urlop okolicznościowy,
+Category,Kategoria,
+Category Name,Nazwa kategorii,
+Caution,Uwaga,
+Central Tax,Podatek centralny,
+Certification,Orzecznictwo,
+Cess,Cess,
+Change Amount,Zmień Kwota,
+Change Item Code,Zmień kod przedmiotu,
+Change Release Date,Zmień datę wydania,
+Change Template Code,Zmień kod szablonu,
+Changing Customer Group for the selected Customer is not allowed.,Zmiana grupy klientów dla wybranego klienta jest niedozwolona.,
+Chapter,Rozdział,
+Chapter information.,Informacje o rozdziale.,
+Charge of type 'Actual' in row {0} cannot be included in Item Rate,Opłata typu 'Aktualny' w wierszu {0} nie może być uwzględniona w cenie pozycji,
+Chargeble,Chargeble,
+Charges are updated in Purchase Receipt against each item,Opłaty są aktualizowane w ZAKUPU każdej pozycji,
+"Charges will be distributed proportionately based on item qty or amount, as per your selection","Koszty zostaną rozdzielone proporcjonalnie na podstawie Ilość pozycji lub kwoty, jak na swój wybór",
+Chart of Cost Centers,Struktura kosztów (MPK),
+Check all,Zaznacz wszystkie,
+Checkout,Sprawdzić,
+Chemical,Chemiczny,
+Cheque,Czek,
+Cheque/Reference No,Czek / numer,
+Cheques Required,Wymagane kontrole,
+Cheques and Deposits incorrectly cleared,Czeki i Depozyty nieprawidłowo rozliczone,
+Child Task exists for this Task. You can not delete this Task.,Dla tego zadania istnieje zadanie podrzędne. Nie możesz usunąć tego zadania.,
+Child nodes can be only created under 'Group' type nodes,węzły potomne mogą być tworzone tylko w węzłach typu &quot;grupa&quot;,
+Child warehouse exists for this warehouse. You can not delete this warehouse.,Magazyn Dziecko nie istnieje dla tego magazynu. Nie można usunąć tego magazynu.,
+Circular Reference Error,Circular Error Referencje,
+City,Miasto,
+City/Town,Miasto/Miejscowość,
+Claimed Amount,Kwota roszczenia,
+Clay,Glina,
+Clear filters,Wyczyść filtry,
+Clear values,Wyczyść wartości,
+Clearance Date,Data Czystki,
+Clearance Date not mentioned,Rozliczenie Data nie została podana,
+Clearance Date updated,Rozliczenie Data aktualizacji,
+Client,Klient,
+Client ID,Identyfikator klienta,
+Client Secret,Klient Secret,
+Clinical Procedure,Procedura kliniczna,
+Clinical Procedure Template,Szablon procedury klinicznej,
+Close Balance Sheet and book Profit or Loss.,Sporządzenie Bilansu oraz Rachunku zysków i strat.,
+Close Loan,Zamknij pożyczkę,
+Close the POS,Zamknij punkt sprzedaży,
+Closed,Zamknięte,
+Closed order cannot be cancelled. Unclose to cancel.,Kolejność Zamknięty nie mogą być anulowane. Unclose aby anulować.,
+Closing (Cr),Zamknięcie (Cr),
+Closing (Dr),Zamknięcie (Dr),
+Closing (Opening + Total),Zamknięcie (otwarcie + suma),
+Closing Account {0} must be of type Liability / Equity,Zamknięcie konta {0} musi być typu odpowiedzialności / Equity,
+Closing Balance,Bilans zamknięcia,
+Code,Kod,
+Collapse All,Zwinąć wszystkie,
+Color,Kolor,
+Colour,Kolor,
+Combined invoice portion must equal 100%,Łączna kwota faktury musi wynosić 100%,
+Commercial,Komercyjny,
+Commission,Prowizja,
+Commission Rate %,Stawka prowizji%,
+Commission on Sales,Prowizja od sprzedaży,
+Commission rate cannot be greater than 100,Wartość prowizji nie może być większa niż 100,
+Community Forum,Społeczność Forum,
+Company (not Customer or Supplier) master.,Informacje o własnej firmie.,
+Company Abbreviation,Nazwa skrótowa firmy,
+Company Abbreviation cannot have more than 5 characters,Skrót firmy nie może zawierać więcej niż 5 znaków,
+Company Name,Nazwa firmy,
+Company Name cannot be Company,Nazwa firmy nie może być firmą,
+Company currencies of both the companies should match for Inter Company Transactions.,Waluty firmy obu spółek powinny być zgodne z Transakcjami między spółkami.,
+Company is manadatory for company account,Firma jest manadatory dla konta firmowego,
+Company name not same,Nazwa firmy nie jest taka sama,
+Company {0} does not exist,Firma {0} nie istnieje,
+Compensatory Off,Urlop wyrównawczy,
+Compensatory leave request days not in valid holidays,Dni urlopu wyrównawczego nie zawierają się w zakresie prawidłowych dniach świątecznych,
+Complaint,Skarga,
+Completion Date,Data ukończenia,
+Computer,Komputer,
+Condition,Stan,
+Configure,Konfiguruj,
+Configure {0},Konfiguruj {0},
+Confirmed orders from Customers.,Potwierdzone zamówienia od klientów,
+Connect Amazon with ERPNext,Połącz Amazon z ERPNext,
+Connect Shopify with ERPNext,Połącz Shopify z ERPNext,
+Connect to Quickbooks,Połącz się z Quickbooks,
+Connected to QuickBooks,Połączony z QuickBooks,
+Connecting to QuickBooks,Łączenie z QuickBookami,
+Consultation,Konsultacja,
+Consultations,Konsultacje,
+Consulting,Konsulting,
+Consumable,Konsumpcyjny,
+Consumed,Skonsumowano,
+Consumed Amount,Skonsumowana wartość,
+Consumed Qty,Skonsumowana ilość,
+Consumer Products,Produkty konsumenckie,
+Contact,Kontakt,
+Contact Details,Szczegóły kontaktu,
+Contact Number,Numer kontaktowy,
+Contact Us,Skontaktuj się z nami,
+Content,Zawartość,
+Content Masters,Mistrzowie treści,
+Content Type,Typ zawartości,
+Continue Configuration,Kontynuuj konfigurację,
+Contract,Kontrakt,
+Contract End Date must be greater than Date of Joining,Końcowa data kontraktu musi być większa od Daty Członkowstwa,
+Contribution %,Udział %,
+Contribution Amount,Kwota udziału,
+Conversion factor for default Unit of Measure must be 1 in row {0},Współczynnikiem konwersji dla domyślnej Jednostki Pomiaru musi być 1 w rzędzie {0},
+Conversion rate cannot be 0 or 1,Wartością konwersji nie może być 0 ani 1,
+Convert to Group,Przekształć w Grupę,
+Convert to Non-Group,Przekształć w nie-Grupę,
+Cosmetics,Kosmetyki,
+Cost Center,Centrum kosztów,
+Cost Center Number,Numer centrum kosztów,
+Cost Center and Budgeting,Centrum kosztów i budżetowanie,
+Cost Center is required in row {0} in Taxes table for type {1},Centrum kosztów jest wymagane w wierszu {0} w tabeli podatków dla typu {1},
+Cost Center with existing transactions can not be converted to group,Centrum Kosztów z istniejącą transakcją nie może być przekształcone w grupę,
+Cost Center with existing transactions can not be converted to ledger,Centrum Kosztów z istniejącą transakcją nie może być przekształcone w rejestr,
+Cost Centers,Centra Kosztów,
+Cost Updated,Koszt Zaktualizowano,
+Cost as on,Kosztować od,
+Cost of Delivered Items,Koszt dostarczonych przedmiotów,
+Cost of Goods Sold,Wartość sprzedanych pozycji w cenie nabycia,
+Cost of Issued Items,Koszt Emitowanych Przedmiotów,
+Cost of New Purchase,Koszt zakupu nowego,
+Cost of Purchased Items,Koszt zakupionych towarów,
+Cost of Scrapped Asset,Koszt złomowany aktywach,
+Cost of Sold Asset,Koszt sprzedanych aktywów,
+Cost of various activities,Koszt różnych działań,
+"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Nie można utworzyć noty kredytowej automatycznie, odznacz opcję &quot;Nota kredytowa&quot; i prześlij ponownie",
+Could not generate Secret,Nie można wygenerować Tajnego,
+Could not retrieve information for {0}.,Nie można pobrać informacji dla {0}.,
+Could not solve criteria score function for {0}. Make sure the formula is valid.,"Nie można rozwiązać funkcji punktacji kryterium dla {0}. Upewnij się, że formuła jest prawidłowa.",
+Could not solve weighted score function. Make sure the formula is valid.,"Nie udało się rozwiązać funkcji ważonych punktów. Upewnij się, że formuła jest prawidłowa.",
+Could not submit some Salary Slips,Nie można przesłać niektórych zwrotów wynagrodzeń,
+"Could not update stock, invoice contains drop shipping item.","Nie można zaktualizować stanu - faktura zawiera pozycję, której proces wysyłki scedowano na dostawcę.",
+Country wise default Address Templates,Szablony Adresów na dany kraj,
+Course,Kurs,
+Course Code: ,Kod kursu:,
+Course Enrollment {0} does not exists,Rejestracja kursu {0} nie istnieje,
+Course Schedule,Plan zajęć,
+Course: ,Kierunek:,
+Cr,Kr,
+Create,Utwórz,
+Create BOM,Utwórz zestawienie komponentów,
+Create Delivery Trip,Utwórz podróż dostawy,
+Create Disbursement Entry,Utwórz wpis wypłaty,
+Create Employee,Utwórz pracownika,
+Create Employee Records,Tworzenie pracownicze Records,
+"Create Employee records to manage leaves, expense claims and payroll","Tworzenie rekordów pracownika do zarządzania nieobecnościami, roszczenia o wydatkach i płac",
+Create Fee Schedule,Utwórz harmonogram opłat,
+Create Fees,Utwórz opłaty,
+Create Inter Company Journal Entry,Utwórz wpis do dziennika firmy,
+Create Invoice,Wystaw fakturę,
+Create Invoices,Utwórz faktury,
+Create Job Card,Utwórz kartę pracy,
+Create Journal Entry,Utwórz wpis do dziennika,
+Create Lead,Utwórz ołów,
+Create Leads,Tworzenie Leads,
+Create Maintenance Visit,Utwórz wizytę serwisową,
+Create Material Request,Utwórz żądanie materiałowe,
+Create Multiple,Utwórz wiele,
+Create Opening Sales and Purchase Invoices,Utwórz otwarcie sprzedaży i faktury zakupu,
+Create Payment Entries,Utwórz wpisy płatności,
+Create Payment Entry,Utwórz wpis płatności,
+Create Print Format,Tworzenie format wydruku,
+Create Purchase Order,Utwórz zamówienie zakupu,
+Create Purchase Orders,Stwórz zamówienie zakupu,
+Create Quotation,Utwórz ofertę,
+Create Salary Slip,Utwórz pasek wynagrodzenia,
+Create Salary Slips,Utwórz wynagrodzenie wynagrodzenia,
+Create Sales Invoice,Utwórz fakturę sprzedaży,
+Create Sales Order,Utwórz zamówienie sprzedaży,
+Create Sales Orders to help you plan your work and deliver on-time,"Twórz zlecenia sprzedaży, aby pomóc Ci zaplanować pracę i dostarczyć terminowość",
+Create Sample Retention Stock Entry,Utwórz wpis dotyczący przechowywania próbki,
+Create Student,Utwórz ucznia,
+Create Student Batch,Utwórz Partię Ucznia,
+Create Student Groups,Tworzenie grup studenckich,
+Create Supplier Quotation,Utwórz ofertę dla dostawców,
+Create Tax Template,Utwórz szablon podatku,
+Create Timesheet,Utwórz grafik,
+Create User,Stwórz użytkownika,
+Create Users,Tworzenie użytkowników,
+Create Variant,Utwórz wariant,
+Create Variants,Tworzenie Warianty,
+"Create and manage daily, weekly and monthly email digests.","Tworzenie i zarządzanie dziennymi, tygodniowymi i miesięcznymi zestawieniami e-mail.",
+Create rules to restrict transactions based on values.,Tworzenie reguł ograniczających transakcje na podstawie wartości,
+Create customer quotes,Tworzenie cytaty z klientami,
+Created {0} scorecards for {1} between: ,Utworzono {0} karty wyników dla {1} między:,
+Creating Company and Importing Chart of Accounts,Tworzenie firmy i importowanie planu kont,
+Creating Fees,Tworzenie opłat,
+Creating Payment Entries......,Tworzenie wpisów płatności ......,
+Creating Salary Slips...,Tworzenie zarobków ...,
+Creating student groups,Tworzenie grup studentów,
+Creating {0} Invoice,Tworzenie faktury {0},
+Credit,Kredyt,
+Credit ({0}),Kredyt ({0}),
+Credit Account,Konto kredytowe,
+Credit Balance,Saldo kredytowe,
+Credit Card,Karta kredytowa,
+Credit Days cannot be a negative number,Dni kredytu nie mogą być liczbą ujemną,
+Credit Limit,Limit kredytowy,
+Credit Note,Nota uznaniowa (kredytowa),
+Credit Note Amount,Kwota noty uznaniowej,
+Credit Note Issued,Credit blanco wystawiony,
+Credit Note {0} has been created automatically,Nota kredytowa {0} została utworzona automatycznie,
+Credit limit has been crossed for customer {0} ({1}/{2}),Limit kredytowy został przekroczony dla klienta {0} ({1} / {2}),
+Creditors,Wierzyciele,
+Criteria weights must add up to 100%,Kryteria wag muszą dodać do 100%,
+Crop Cycle,Crop Cycle,
+Crops & Lands,Uprawy i ziemie,
+Currency Exchange must be applicable for Buying or for Selling.,Wymiana walut musi dotyczyć Kupowania lub Sprzedaży.,
+Currency can not be changed after making entries using some other currency,Waluta nie może być zmieniony po dokonaniu wpisów używając innej walucie,
+Currency exchange rate master.,Główna wartość Wymiany walut,
+Currency for {0} must be {1},Waluta dla {0} musi być {1},
+Currency is required for Price List {0},Waluta jest wymagana dla Cenniku {0},
+Currency of the Closing Account must be {0},Waluta Rachunku Zamknięcie musi być {0},
+Currency of the price list {0} must be {1} or {2},Waluta listy cen {0} musi wynosić {1} lub {2},
+Currency should be same as Price List Currency: {0},"Waluta powinna być taka sama, jak waluta cennika: {0}",
+Current,Bieżący,
+Current Assets,Aktywa finansowe,
+Current BOM and New BOM can not be same,Aktualna BOM i Nowa BOM nie może być taki sam,
+Current Job Openings,Aktualne ofert pracy,
+Current Liabilities,Bieżące Zobowiązania,
+Current Qty,Obecna ilość,
+Current invoice {0} is missing,Brak aktualnej faktury {0},
+Custom HTML,Niestandardowy HTML,
+Custom?,Niestandardowy?,
+Customer,Klient,
+Customer Addresses And Contacts,Klienci Adresy i kontakty,
+Customer Contact,Kontakt z klientem,
+Customer Database.,Baza danych klientów.,
+Customer Group,Grupa klientów,
+Customer LPO,Klient LPO,
+Customer LPO No.,Numer klienta LPO,
+Customer Name,Nazwa klienta,
+Customer POS Id,Identyfikator klienta klienta,
+Customer Service,Obsługa klienta,
+Customer and Supplier,Klient i dostawca,
+Customer is required,Klient jest wymagany,
+Customer isn't enrolled in any Loyalty Program,Klient nie jest zarejestrowany w żadnym Programie Lojalnościowym,
+Customer required for 'Customerwise Discount',Klient wymagany dla 'Klientwise Discount',
+Customer {0} does not belong to project {1},Klient {0} nie należy do projektu {1},
+Customer {0} is created.,Utworzono klienta {0}.,
+Customers in Queue,Klienci w kolejce,
+Customize Homepage Sections,Dostosuj sekcje strony głównej,
+Customizing Forms,Dostosowywanie formularzy,
+Daily Project Summary for {0},Codzienne podsumowanie projektu dla {0},
+Daily Reminders,Codzienne przypomnienia,
+Daily Work Summary,Dziennie Podsumowanie zawodowe,
+Daily Work Summary Group,Codzienna grupa podsumowująca pracę,
+Data Import and Export,Import i eksport danych,
+Data Import and Settings,Import i ustawienia danych,
+Database of potential customers.,Baza danych potencjalnych klientów.,
+Date Format,Format daty,
+Date Of Retirement must be greater than Date of Joining,Data przejścia na emeryturę musi być większa niż Data wstąpienia,
+Date is repeated,Data jest powtórzona,
+Date of Birth,Data urodzenia,
+Date of Birth cannot be greater than today.,Data urodzenia nie może być większa niż data dzisiejsza.,
+Date of Commencement should be greater than Date of Incorporation,Data rozpoczęcia powinna być większa niż data założenia,
+Date of Joining,Data Wstąpienia,
+Date of Joining must be greater than Date of Birth,Data Wstąpienie musi być większa niż Data Urodzenia,
+Date of Transaction,Data transakcji,
+Datetime,Data-czas,
+Day,Dzień,
+Debit,Debet,
+Debit ({0}),Debet ({0}),
+Debit A/C Number,Numer A / C debetu,
+Debit Account,Konto debetowe,
+Debit Note,Nota debetowa,
+Debit Note Amount,Kwota noty debetowej,
+Debit Note Issued,Nocie debetowej,
+Debit To is required,Debetowane Konto jest wymagane,
+Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debetowe i kredytowe nie równe dla {0} # {1}. Różnica jest {2}.,
+Debtors,Dłużnicy,
+Debtors ({0}),Dłużnicy ({0}),
+Declare Lost,Zadeklaruj Zagubiony,
+Deduction,Odliczenie,
+Default Activity Cost exists for Activity Type - {0},Istnieje Domyślnie aktywny Koszt rodzajów działalności - {0},
+Default BOM ({0}) must be active for this item or its template,Domyślnie Wykaz Materiałów ({0}) musi być aktywny dla tej pozycji lub jej szablonu,
+Default BOM for {0} not found,Domyślnie BOM dla {0} Nie znaleziono,
+Default BOM not found for Item {0} and Project {1},Domyślnie nie znaleziono elementu BOM dla elementu {0} i projektu {1},
+Default Letter Head,Domyślny nagłówek pisma,
+Default Tax Template,Domyślny szablon podatkowy,
+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.,"Domyślnie Jednostka miary dla pozycji {0} nie może być zmieniana bezpośrednio, ponieważ masz już jakąś transakcję (y) z innym UOM. Musisz utworzyć nowy obiekt, aby użyć innego domyślnego UOM.",
+Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',"Domyślne jednostki miary dla wariantu &quot;{0}&quot; musi być taki sam, jak w szablonie &#39;{1}&#39;",
+Default settings for buying transactions.,Domyślne ustawienia dla transakcji kupna,
+Default settings for selling transactions.,Domyślne ustawienia dla transakcji sprzedaży,
+Default tax templates for sales and purchase are created.,Definiowane są domyślne szablony podatkowe dla sprzedaży i zakupu.,
+Defaults,Wartości domyślne,
+Defense,Obrona,
+Define Project type.,Zdefiniuj typ projektu.,
+Define budget for a financial year.,Definiowanie budżetu za dany rok budżetowy.,
+Define various loan types,Definiować różne rodzaje kredytów,
+Del,Del,
+Delay in payment (Days),Opóźnienie w płatności (dni),
+Delete all the Transactions for this Company,"Usuń wszystkie transakcje, dla tej firmy",
+Deletion is not permitted for country {0},Usunięcie jest niedozwolone w przypadku kraju {0},
+Delivered,Dostarczono,
+Delivered Amount,Dostarczone Ilość,
+Delivered Qty,Dostarczona Liczba jednostek,
+Delivered: {0},Dostarczone: {0},
+Delivery,Dostarczanie,
+Delivery Date,Data dostawy,
+Delivery Note,Dowód dostawy,
+Delivery Note {0} is not submitted,Dowód dostawy {0} nie został wysłany,
+Delivery Note {0} must not be submitted,Dowód dostawy {0} nie może być wysłany,
+Delivery Notes {0} must be cancelled before cancelling this Sales Order,Dowody Dostawy {0} muszą być anulowane przed anulowanie Zamówienia Sprzedaży,
+Delivery Notes {0} updated,Zaktualizowano uwagi dotyczące dostawy {0},
+Delivery Status,Status dostawy,
+Delivery Trip,Podróż dostawy,
+Delivery warehouse required for stock item {0},Dostawa wymagane dla magazynu pozycji magazynie {0},
+Department,Departament,
+Department Stores,Sklepy detaliczne,
+Depreciation,Amortyzacja,
+Depreciation Amount,Kwota amortyzacji,
+Depreciation Amount during the period,Kwota amortyzacji w okresie,
+Depreciation Date,amortyzacja Data,
+Depreciation Eliminated due to disposal of assets,Amortyzacja Wyeliminowany z tytułu zbycia aktywów,
+Depreciation Entry,Amortyzacja,
+Depreciation Method,Metoda amortyzacji,
+Depreciation Row {0}: Depreciation Start Date is entered as past date,Wiersz amortyzacji {0}: Data rozpoczęcia amortyzacji jest wprowadzana jako data przeszła,
+Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Wiersz amortyzacji {0}: oczekiwana wartość po okresie użyteczności musi być większa lub równa {1},
+Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Wiersz amortyzacji {0}: Data następnej amortyzacji nie może być wcześniejsza niż data przydatności do użycia,
+Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Wiersz amortyzacji {0}: Data następnej amortyzacji nie może być wcześniejsza niż Data zakupu,
+Designer,Projektant,
+Detailed Reason,Szczegółowy powód,
+Details,Szczegóły,
+Details of Outward Supplies and inward supplies liable to reverse charge,Szczegóły dotyczące dostaw zewnętrznych i dostaw wewnętrznych podlegających zwrotnemu obciążeniu,
+Details of the operations carried out.,Szczegóły dotyczące przeprowadzonych operacji.,
+Diagnosis,Diagnoza,
+Did not find any item called {0},Nie znaleziono żadnych pozycji o nazwie {0},
+Diff Qty,Diff Qty,
+Difference Account,Konto Różnic,
+"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Konto różnica musi być kontem typu aktywami / pasywami, ponieważ Zdjęcie Pojednanie jest Wejście otwarcia",
+Difference Amount,Kwota różnicy,
+Difference Amount must be zero,Różnica Kwota musi wynosić zero,
+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óżne UOM dla pozycji prowadzi do nieprawidłowych (Całkowity) Waga netto wartość. Upewnij się, że Waga netto każdej pozycji jest w tej samej UOM.",
+Direct Expenses,Wydatki bezpośrednie,
+Direct Income,Przychody bezpośrednie,
+Disable,Wyłącz,
+Disabled template must not be default template,Szablon niepełnosprawnych nie może być domyślny szablon,
+Disburse Loan,Wypłata pożyczki,
+Disbursed,Wypłacony,
+Disc,Dysk,
+Discharge,Rozładować się,
+Discount,Zniżka (rabat),
+Discount Percentage can be applied either against a Price List or for all Price List.,Rabat procentowy może być stosowany zarówno przed cenniku dla wszystkich Cenniku.,
+Discount must be less than 100,Zniżka musi wynosić mniej niż 100,
+Diseases & Fertilizers,Choroby i nawozy,
+Dispatch,Wyślij,
+Dispatch Notification,Powiadomienie o wysyłce,
+Dispatch State,Państwo wysyłki,
+Distance,Dystans,
+Distribution,Dystrybucja,
+Distributor,Dystrybutor,
+Dividends Paid,Dywidendy wypłacone,
+Do you really want to restore this scrapped asset?,Czy na pewno chcesz przywrócić złomowane atut?,
+Do you really want to scrap this asset?,Czy naprawdę chcemy zlikwidować ten atut?,
+Do you want to notify all the customers by email?,Czy chcesz powiadomić wszystkich klientów pocztą e-mail?,
+Doc Date,Doc Data,
+Doc Name,Doc Name,
+Doc Type,Doc Type,
+Docs Search,Wyszukiwanie dokumentów,
+Document Name,Nazwa dokumentu,
+Document Status,Stan dokumentu,
+Document Type,Typ Dokumentu,
+Domain,Domena,
+Domains,Domeny,
+Done,Gotowe,
+Donor,Dawca,
+Donor Type information.,Informacje o typie dawcy.,
+Donor information.,Informacje o dawcy.,
+Download JSON,Pobierz JSON,
+Draft,Wersja robocza,
+Drop Ship,Drop Ship,
+Drug,Narkotyk,
+Due / Reference Date cannot be after {0},Data referencyjne / Termin nie może być po {0},
+Due Date cannot be before Posting / Supplier Invoice Date,"Data ""do"" nie może być przed datą faktury Opublikowania / Dostawcy",
+Due Date is mandatory,Due Date jest obowiązkowe,
+Duplicate Entry. Please check Authorization Rule {0},Wpis zduplikowany. Proszę sprawdzić zasadę autoryzacji {0},
+Duplicate Serial No entered for Item {0},Zduplikowany Nr Seryjny wprowadzony dla przedmiotu {0},
+Duplicate customer group found in the cutomer group table,Duplikat grupa klientów znajduje się w tabeli grupy cutomer,
+Duplicate entry,Wpis zduplikowany,
+Duplicate item group found in the item group table,Duplikat grupę pozycji w tabeli grupy produktów,
+Duplicate roll number for student {0},Duplikat numeru rolki dla ucznia {0},
+Duplicate row {0} with same {1},Wiersz zduplikowany {0} z tym samym {1},
+Duplicate {0} found in the table,Duplikat {0} znaleziony w tabeli,
+Duration in Days,Czas trwania w dniach,
+Duties and Taxes,Podatki i cła,
+E-Invoicing Information Missing,Brak informacji o e-fakturowaniu,
+ERPNext Demo,ERPNext Demo,
+ERPNext Settings,Ustawienia ERPNext,
+Earliest,Najwcześniejszy,
+Earnest Money,Pieniądze zaliczkowe,
+Earning,Dochód,
+Edit,Edytować,
+Edit Publishing Details,Edytuj szczegóły publikowania,
+"Edit in full page for more options like assets, serial nos, batches etc.","Edytuj na całej stronie, aby uzyskać więcej opcji, takich jak zasoby, numery seryjne, partie itp.",
+Education,Edukacja,
+Either location or employee must be required,Każda lokalizacja lub pracownik muszą być wymagane,
+Either target qty or target amount is mandatory,Wymagana jest ilość lub kwota docelowa,
+Either target qty or target amount is mandatory.,Wymagana jest ilość lub kwota docelowa,
+Electrical,Elektryczne,
+Electronic Equipments,Urządzenia elektroniczne,
+Electronics,Elektronika,
+Eligible ITC,Kwalifikujące się ITC,
+Email Account,Konto e-mail,
+Email Address,Adres e-mail,
+"Email Address must be unique, already exists for {0}","E-mail musi być unikalny, istnieje już dla {0}",
+Email Digest: ,przetwarzanie maila,
+Email Reminders will be sent to all parties with email contacts,Przypomnienia e-mailem będą wysyłane do wszystkich stron z kontaktami e-mail,
+Email Sent,Wiadomość wysłana,
+Email Template,Szablon e-maila,
+Email not found in default contact,Nie znaleziono wiadomości e-mail w domyślnym kontakcie,
+Email sent to {0},Wiadomość wysłana do {0},
+Employee,Pracownik,
+Employee A/C Number,Numer A / C pracownika,
+Employee Advances,Zaliczki dla pracowników,
+Employee Benefits,Świadczenia pracownicze,
+Employee Grade,Klasa pracownika,
+Employee ID,numer identyfikacyjny pracownika,
+Employee Lifecycle,Cykl życia pracownika,
+Employee Name,Nazwisko pracownika,
+Employee Promotion cannot be submitted before Promotion Date ,Promocji Pracowników nie można przesłać przed datą promocji,
+Employee Referral,Referencje pracownika,
+Employee Transfer cannot be submitted before Transfer Date ,Przeniesienie pracownika nie może zostać przesłane przed datą transferu,
+Employee cannot report to himself.,Pracownik nie może odpowiadać do samego siebie.,
+Employee relieved on {0} must be set as 'Left',pracownik zwalnia się na {0} musi być ustawiony jako 'opuścił',
+Employee {0} already submited an apllication {1} for the payroll period {2},Pracownik {0} przesłał już aplikację {1} na okres rozliczeniowy {2},
+Employee {0} has already applied for {1} between {2} and {3} : ,Pracownik {0} złożył już wniosek o przyznanie {1} między {2} a {3}:,
+Employee {0} has no maximum benefit amount,Pracownik {0} nie ma maksymalnej kwoty świadczenia,
+Employee {0} is not active or does not exist,Pracownik {0} jest nieaktywny lub nie istnieje,
+Employee {0} is on Leave on {1},Pracownik {0} jest Nieobecny w trybie {1},
+Employee {0} of grade {1} have no default leave policy,Pracownik {0} stopnia {1} nie ma domyślnych zasad dotyczących urlopu,
+Employee {0} on Half day on {1},Pracownik {0} na pół dnia na {1},
+Enable,Włączyć,
+Enable / disable currencies.,Włącz/wyłącz waluty.,
+Enabled,Aktywny,
+"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Włączenie &quot;użycie do koszyka&quot;, ponieważ koszyk jest włączony i nie powinno być co najmniej jedna zasada podatkowa w koszyku",
+End Date,Data zakonczenia,
+End Date can not be less than Start Date,Data zakończenia nie może być krótsza niż data rozpoczęcia,
+End Date cannot be before Start Date.,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia.,
+End Year,Koniec roku,
+End Year cannot be before Start Year,Koniec roku nie może być przed rozpoczęciem Roku,
+End on,Podłużnie,
+End time cannot be before start time,Czas zakończenia nie może być wcześniejszy niż czas rozpoczęcia,
+Ends On date cannot be before Next Contact Date.,Kończy się Data nie może być wcześniejsza niż data następnego kontaktu.,
+Energy,Energia,
+Engineer,Inżynier,
+Enough Parts to Build,Wystarczające elementy do budowy,
+Enroll,Zapisać,
+Enrolling student,Zapis uczeń,
+Enrolling students,Zapisywanie studentów,
+Enter depreciation details,Wprowadź szczegóły dotyczące amortyzacji,
+Enter the Bank Guarantee Number before submittting.,Wprowadź numer gwarancyjny banku przed złożeniem wniosku.,
+Enter the name of the Beneficiary before submittting.,Wprowadź nazwę Beneficjenta przed złożeniem wniosku.,
+Enter the name of the bank or lending institution before submittting.,Wprowadź nazwę banku lub instytucji kredytowej przed złożeniem wniosku.,
+Enter value betweeen {0} and {1},Wpisz wartość między {0} a {1},
+Entertainment & Leisure,Rozrywka i relaks,
+Entertainment Expenses,Wydatki na reprezentację,
+Equity,Kapitał własny,
+Error Log,Dziennik błędów,
+Error evaluating the criteria formula,Błąd podczas oceny formuły kryterium,
+Error in formula or condition: {0},Błąd wzoru lub stanu {0},
+Error: Not a valid id?,Błąd: Nie ważne id?,
+Estimated Cost,Szacowany koszt,
+Evaluation,Ocena,
+"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Nawet jeśli istnieje wiele przepisów dotyczących cen o najwyższym priorytecie, a następnie następujące priorytety wewnętrznej są stosowane:",
+Event,Wydarzenie,
+Event Location,Lokalizacja wydarzenia,
+Event Name,Nazwa wydarzenia,
+Exchange Gain/Loss,Wymiana Zysk / Strata,
+Exchange Rate Revaluation master.,Mistrz wyceny kursu wymiany.,
+Exchange Rate must be same as {0} {1} ({2}),"Kurs wymiany muszą być takie same, jak {0} {1} ({2})",
+Excise Invoice,Akcyza Faktura,
+Execution,Wykonanie,
+Executive Search,Szukanie wykonawcze,
+Expand All,Rozwiń wszystkie,
+Expected Delivery Date,Spodziewana data odbioru przesyłki,
+Expected Delivery Date should be after Sales Order Date,Oczekiwana data dostarczenia powinna nastąpić po Dacie Zamówienia Sprzedaży,
+Expected End Date,Spodziewana data końcowa,
+Expected Hrs,Oczekiwany godz,
+Expected Start Date,Spodziewana data startowa,
+Expense,Koszt,
+Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Konto koszty / Różnica ({0}) musi być kontem ""rachunek zysków i strat""",
+Expense Account,Konto Wydatków,
+Expense Claim,Zwrot kosztów,
+Expense Claim for Vehicle Log {0},Koszty Żądanie Vehicle Zaloguj {0},
+Expense Claim {0} already exists for the Vehicle Log,Koszty roszczenie {0} już istnieje dla Zaloguj Pojazdów,
+Expense Claims,Zapotrzebowania na wydatki,
+Expense account is mandatory for item {0},Konto wydatków jest obowiązkowe dla przedmiotu {0},
+Expenses,Wydatki,
+Expenses Included In Asset Valuation,Koszty uwzględnione w wycenie aktywów,
+Expenses Included In Valuation,Zaksięgowane wydatki w wycenie,
+Expired Batches,Wygasłe partie,
+Expires On,Upływa w dniu,
+Expiring On,Wygasający,
+Expiry (In Days),Wygaśnięcie (w dniach),
+Explore,Przeglądaj,
+Export E-Invoices,Eksportuj e-faktury,
+Extra Large,Bardzo duży,
+Extra Small,Extra Small,
+Fail,Zawieść,
+Failed,Nieudane,
+Failed to create website,Nie udało się utworzyć witryny,
+Failed to install presets,Nie udało się zainstalować ustawień wstępnych,
+Failed to login,Nie udało się zalogować,
+Failed to setup company,Nie udało się skonfigurować firmy,
+Failed to setup defaults,Nie udało się skonfigurować ustawień domyślnych,
+Failed to setup post company fixtures,Nie udało się skonfigurować urządzeń firm post,
+Fax,Faks,
+Fee,Opłata,
+Fee Created,Opłata utworzona,
+Fee Creation Failed,Utworzenie opłaty nie powiodło się,
+Fee Creation Pending,Tworzenie opłat w toku,
+Fee Records Created - {0},Utworzono Records Fee - {0},
+Feedback,Informacja zwrotna,
+Fees,Opłaty,
+Female,Kobieta,
+Fetch Data,Pobierz dane,
+Fetch Subscription Updates,Pobierz aktualizacje subskrypcji,
+Fetch exploded BOM (including sub-assemblies),Pobierz rozbitą BOM (w tym podzespoły),
+Fetching records......,Pobieranie rekordów ......,
+Field Name,Nazwa pola,
+Fieldname,Nazwa pola,
+Fields,Pola,
+Fill the form and save it,Wypełnij formularz i zapisz,
+Filter Employees By (Optional),Filtruj pracowników według (opcjonalnie),
+"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Filtruj pola Wiersz # {0}: Nazwa pola <b>{1}</b> musi być typu „Link” lub „Tabela MultiSelect”,
+Filter Total Zero Qty,Filtruj całkowitą liczbę zerową,
+Finance Book,Książka finansowa,
+Financial / accounting year.,Rok finansowy / księgowy.,
+Financial Services,Usługi finansowe,
+Financial Statements,Sprawozdania finansowe,
+Financial Year,Rok budżetowy,
+Finish,koniec,
+Finished Good,Skończony dobrze,
+Finished Good Item Code,Gotowy kod dobrego towaru,
+Finished Goods,Ukończone dobra,
+Finished Item {0} must be entered for Manufacture type entry,Zakończone Pozycja {0} musi być wprowadzony do wejścia typu Produkcja,
+Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Ilość gotowego produktu <b>{0}</b> i ilość <b>{1}</b> nie mogą się różnić,
+First Name,Imię,
+"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","System fiskalny jest obowiązkowy, uprzejmie ustal system podatkowy w firmie {0}",
+Fiscal Year,Rok podatkowy,
+Fiscal Year End Date should be one year after Fiscal Year Start Date,Data zakończenia roku obrachunkowego powinna wynosić jeden rok od daty rozpoczęcia roku obrachunkowego,
+Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Rok obrotowy Data rozpoczęcia i Data zakończenia roku obrotowego są już ustawione w roku podatkowym {0},
+Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Data rozpoczęcia roku podatkowego powinna być o rok wcześniejsza niż data zakończenia roku obrotowego,
+Fiscal Year {0} does not exist,Rok fiskalny {0} nie istnieje,
+Fiscal Year {0} is required,Rok fiskalny {0} jest wymagane,
+Fiscal Year {0} not found,Rok fiskalny {0} Nie znaleziono,
+Fixed Asset,Trwała własność,
+Fixed Asset Item must be a non-stock item.,Trwałego Rzecz musi być element non-stock.,
+Fixed Assets,Środki trwałe,
+Following Material Requests have been raised automatically based on Item's re-order level,Niniejszy materiał Wnioski zostały podniesione automatycznie na podstawie poziomu ponownego zamówienia elementu,
+Following accounts might be selected in GST Settings:,W ustawieniach GST można wybrać następujące konta:,
+Following course schedules were created,Utworzono harmonogramy kursów,
+Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Poniższy element {0} nie jest oznaczony jako element {1}. Możesz je włączyć jako element {1} z jego wzorca pozycji,
+Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Następujące elementy {0} nie są oznaczone jako {1}. Możesz je włączyć jako element {1} z jego wzorca pozycji,
+Food,Żywność,
+"Food, Beverage & Tobacco","Żywność, Trunki i Tytoń",
+For,Dla,
+"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.","Dla pozycji &quot;Produkt Bundle&quot;, magazyn, nr seryjny i numer partii będą rozpatrywane z &quot;packing list&quot; tabeli. Jeśli magazynowe oraz Batch Nie są takie same dla wszystkich elementów Opakowanie do pozycji każdego &quot;produkt Bundle&quot;, wartości te mogą zostać wpisane do tabeli głównej pozycji, wartości zostaną skopiowane do &quot;packing list&quot; tabeli.",
+For Employee,Dla pracownika,
+For Quantity (Manufactured Qty) is mandatory,Do Ilość (Wyprodukowano kopie) są obowiązkowe,
+For Supplier,Dla dostawcy,
+For Warehouse,Dla magazynu,
+For Warehouse is required before Submit,Dla magazynu jest wymagane przed wysłaniem,
+"For an item {0}, quantity must be negative number",W przypadku elementu {0} ilość musi być liczbą ujemną,
+"For an item {0}, quantity must be positive number",W przypadku elementu {0} liczba musi być liczbą dodatnią,
+"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry",W przypadku karty pracy {0} można dokonać tylko wpisu typu „Transfer materiałów do produkcji”,
+"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Do rzędu {0} w {1}. Aby dołączyć {2} w cenę towaru, wiersze {3} musi być włączone",
+For row {0}: Enter Planned Qty,Dla wiersza {0}: wpisz planowaną liczbę,
+"For {0}, only credit accounts can be linked against another debit entry","Dla {0}, tylko Kredytowane konta mogą być połączone z innym zapisem po stronie debetowej",
+"For {0}, only debit accounts can be linked against another credit entry","Dla {0}, tylko rachunki płatnicze mogą być połączone z innym wejściem kredytową",
+Forum Activity,Aktywność na forum,
+Free item code is not selected,Kod wolnego przedmiotu nie jest wybrany,
+Freight and Forwarding Charges,Koszty dostaw i przesyłek,
+Frequency,Częstotliwość,
+Friday,Piątek,
+From,Od,
+From Address 1,Od adresu 1,
+From Address 2,Od adresu 2,
+From Currency and To Currency cannot be same,Od Waluty i Do Waluty nie mogą być te same,
+From Date and To Date lie in different Fiscal Year,Od daty i daty są różne w danym roku obrotowym,
+From Date cannot be greater than To Date,Data od - nie może być późniejsza niż Data do,
+From Date must be before To Date,Data od musi być przed datą do,
+From Date should be within the Fiscal Year. Assuming From Date = {0},"""Data od"" powinna być w tym roku podatkowym. Przyjmując Datę od = {0}",
+From Date {0} cannot be after employee's relieving Date {1},Od daty {0} nie może być po zwolnieniu pracownika Data {1},
+From Date {0} cannot be before employee's joining Date {1},Od daty {0} nie może upłynąć data dołączenia pracownika {1},
+From Datetime,Od DateTime,
+From Delivery Note,Od dowodu dostawy,
+From Fiscal Year,Od roku obrotowego,
+From GSTIN,Z GSTIN,
+From Party Name,Od nazwy imprezy,
+From Pin Code,Z kodu PIN,
+From Place,Z miejsca,
+From Range has to be less than To Range,Od Zakres musi być mniejsza niż do zakresu,
+From State,Z państwa,
+From Time,Od czasu,
+From Time Should Be Less Than To Time,Od czasu powinno być mniej niż w czasie,
+From Time cannot be greater than To Time.,Od czasu nie może być większa niż do czasu.,
+"From a supplier under composition scheme, Exempt and Nil rated","Od dostawcy w ramach systemu składu, Zwolniony i Nil oceniono",
+From and To dates required,Daty Od i Do są wymagane,
+From date can not be less than employee's joining date,Od daty nie może być mniejsza niż data dołączenia pracownika,
+From value must be less than to value in row {0},"Wartość ""od"" musi być mniejsza niż wartość w rzędzie {0}",
+From {0} | {1} {2},Od {0} | {1} {2},
+Fuel Price,Cena paliwa,
+Fuel Qty,Ilość paliwa,
+Fulfillment,Spełnienie,
+Full,Pełny,
+Full Name,Imię i nazwisko,
+Full-time,Na cały etet,
+Fully Depreciated,pełni zamortyzowanych,
+Furnitures and Fixtures,Meble i wyposażenie,
+"Further accounts can be made under Groups, but entries can be made against non-Groups","Dalsze relacje mogą być wykonane w ramach grup, ale wpisy mogą być wykonane przed spoza grup",
+Further cost centers can be made under Groups but entries can be made against non-Groups,"Kolejne centra kosztów mogą być wykonane w ramach grup, ale wpisy mogą być wykonane przed spoza grup",
+Further nodes can be only created under 'Group' type nodes,"Kolejne powiązania mogą być tworzone tylko w powiązaniach typu ""grupa""",
+Future dates not allowed,Przyszłe daty są niedozwolone,
+GSTIN,GSTIN,
+GSTR3B-Form,Formularz GSTR3B,
+Gain/Loss on Asset Disposal,Zysk / Strata na Aktywów pozbywaniu,
+Gantt Chart,Wykres Gantta,
+Gantt chart of all tasks.,Wykres Gantta dla wszystkich zadań.,
+Gender,Płeć,
+General,Ogólne,
+General Ledger,Księga Główna,
+Generate Material Requests (MRP) and Work Orders.,Generuj zapotrzebowanie materiałowe (MRP) i zlecenia pracy.,
+Generate Secret,Generuj sekret,
+Get Details From Declaration,Uzyskaj szczegółowe informacje z deklaracji,
+Get Employees,Zdobądź pracowników,
+Get Invocies,Zdobądź Invocies,
+Get Invoices,Uzyskaj faktury,
+Get Invoices based on Filters,Uzyskaj faktury na podstawie filtrów,
+Get Items from BOM,Weź produkty z zestawienia materiałowego,
+Get Items from Healthcare Services,Pobierz przedmioty z usług opieki zdrowotnej,
+Get Items from Prescriptions,Zdobądź przedmioty z recept,
+Get Items from Product Bundle,Elementy z Bundle produktu,
+Get Suppliers,Dodaj dostawców,
+Get Suppliers By,Dodaj dostawców wg,
+Get Updates,Informuj o aktualizacjach,
+Get customers from,Zdobądź klientów,
+Get from Patient Encounter,Uzyskaj od Spotkania Pacjenta,
+Getting Started,Start,
+GitHub Sync ID,GitHub Sync ID,
+Global settings for all manufacturing processes.,Globalne ustawienia dla wszystkich procesów produkcyjnych.,
+Go to the Desktop and start using ERPNext,Przejdź do pulpitu i rozpocząć korzystanie ERPNext,
+GoCardless SEPA Mandate,Mandat SEPA bez karty,
+GoCardless payment gateway settings,Ustawienia bramy płatności bez płatności,
+Goal and Procedure,Cel i procedura,
+Goals cannot be empty,Cele nie mogą być puste,
+Goods In Transit,Towary w tranzycie,
+Goods Transferred,Przesyłane towary,
+Goods and Services Tax (GST India),Podatek od towarów i usług (GST India),
+Goods are already received against the outward entry {0},Towary są już otrzymane w stosunku do wpisu zewnętrznego {0},
+Government,Rząd,
+Grand Total,Suma Całkowita,
+Grant,Dotacja,
+Grant Application,Wniosek o dofinansowanie,
+Grant Leaves,Przydziel możliwe Nieobecności,
+Grant information.,Udziel informacji.,
+Grocery,Artykuły spożywcze,
+Gross Pay,Płaca brutto,
+Gross Profit,Zysk brutto,
+Gross Profit %,Zysk brutto%,
+Gross Profit / Loss,Zysk / Strata,
+Gross Purchase Amount,Zakup Kwota brutto,
+Gross Purchase Amount is mandatory,Zakup Kwota brutto jest obowiązkowe,
+Group by Account,Grupuj według konta,
+Group by Party,Grupa według partii,
+Group by Voucher,Grupuj według Podstawy księgowania,
+Group by Voucher (Consolidated),Group by Voucher (Consolidated),
+Group node warehouse is not allowed to select for transactions,"Magazyn węzeł Grupa nie jest dozwolone, aby wybrać dla transakcji",
+Group to Non-Group,Grupa do Non-Group,
+Group your students in batches,Grupa uczniowie w partiach,
+Groups,Grupy,
+Guardian1 Email ID,Identyfikator e-maila Guardian1,
+Guardian1 Mobile No,Guardian1 Komórka Nie,
+Guardian1 Name,Nazwa Guardian1,
+Guardian2 Email ID,Identyfikator e-mail Guardian2,
+Guardian2 Mobile No,Guardian2 Komórka Nie,
+Guardian2 Name,Nazwa Guardian2,
+Guest,Gość,
+HR Manager,Kierownik ds. Personalnych,
+HSN,HSN,
+HSN/SAC,HSN / SAC,
+Half Day,Pół Dnia,
+Half Day Date is mandatory,Data półdniowa jest obowiązkowa,
+Half Day Date should be between From Date and To Date,Pół Dzień Data powinna być pomiędzy Od Data i do tej pory,
+Half Day Date should be in between Work From Date and Work End Date,Data pół dnia powinna znajdować się pomiędzy datą pracy a datą zakończenia pracy,
+Half Yearly,Pół Roku,
+Half day date should be in between from date and to date,Data pół dnia powinna być pomiędzy datą i datą,
+Half-Yearly,Półroczny,
+Hardware,Sprzęt komputerowy,
+Head of Marketing and Sales,Kierownik marketingu i sprzedaży,
+Health Care,Opieka zdrowotna,
+Healthcare,Opieka zdrowotna,
+Healthcare (beta),Opieka zdrowotna (beta),
+Healthcare Practitioner,Praktyk opieki zdrowotnej,
+Healthcare Practitioner not available on {0},Pracownik służby zdrowia niedostępny na {0},
+Healthcare Practitioner {0} not available on {1},Pracownik służby zdrowia {0} nie jest dostępny w {1},
+Healthcare Service Unit,Jednostka opieki zdrowotnej,
+Healthcare Service Unit Tree,Drzewo usług opieki zdrowotnej,
+Healthcare Service Unit Type,Rodzaj usługi opieki zdrowotnej,
+Healthcare Services,Opieka zdrowotna,
+Healthcare Settings,Ustawienia opieki zdrowotnej,
+Hello,cześć,
+Help Results for,Pomoc Wyniki dla,
+High,Wysoki,
+High Sensitivity,Wysoka czułość,
+Hold,Trzymaj,
+Hold Invoice,Hold Invoice,
+Holiday,Święto,
+Holiday List,Lista Świąt,
+Hotel Rooms of type {0} are unavailable on {1},Pokoje hotelowe typu {0} są niedostępne w dniu {1},
+Hotels,Hotele,
+Hourly,Cogodzinny,
+Hours,godziny,
+House rent paid days overlapping with {0},Dni płatne za wynajem domu pokrywają się z {0},
+House rented dates required for exemption calculation,Daty wynajmu domu wymagane do obliczenia odstępstwa,
+House rented dates should be atleast 15 days apart,Terminy wynajmu domu powinny wynosić co najmniej 15 dni,
+How Pricing Rule is applied?,Jak reguła jest stosowana Wycena?,
+Hub Category,Kategoria koncentratora,
+Hub Sync ID,Identyfikator Hub Sync,
+Human Resource,Zasoby ludzkie,
+Human Resources,Kadry,
+IFSC Code,Kod IFSC,
+IGST Amount,Wielkość IGST,
+IP Address,Adres IP,
+ITC Available (whether in full op part),Dostępne ITC (czy w pełnej wersji),
+ITC Reversed,Odwrócono ITC,
+Identifying Decision Makers,Identyfikacja decydentów,
+"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Jeśli zaznaczona jest opcja automatycznego wyboru, klienci zostaną automatycznie połączeni z danym Programem lojalnościowym (przy zapisie)",
+"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","Jeśli wiele Zasady ustalania cen nadal dominować, użytkownicy proszeni są o ustawienie Priorytet ręcznie rozwiązać konflikt.",
+"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.","Jeśli wybrana zostanie reguła cenowa dla &quot;Stawka&quot;, nadpisze ona Cennik. Stawka za ustalanie stawek jest ostateczną stawką, więc nie należy stosować dodatkowej zniżki. W związku z tym w transakcjach takich jak zamówienie sprzedaży, zamówienie itp. Zostanie ono pobrane w polu &quot;stawka&quot;, a nie w polu &quot;cennik ofert&quot;.",
+"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.","Jeśli dwóch lub więcej Zasady ustalania cen na podstawie powyższych warunków, jest stosowana Priorytet. Priorytetem jest liczba z zakresu od 0 do 20, podczas gdy wartość domyślna wynosi zero (puste). Wyższa liczba oznacza, że będzie mieć pierwszeństwo, jeśli istnieje wiele przepisów dotyczących cen z samych warunkach.",
+"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.",W przypadku nielimitowanego wygaśnięcia punktów lojalnościowych czas trwania ważności jest pusty lub 0.,
+"If you have any questions, please get back to us.","Jeśli masz jakieś pytania, proszę wrócić do nas.",
+Ignore Existing Ordered Qty,Ignoruj istniejącą zamówioną ilość,
+Image,Obrazek,
+Image View,Widok obrazka,
+Import Data,Importuj dane,
+Import Day Book Data,Importuj dane książki dziennej,
+Import Log,Log operacji importu,
+Import Master Data,Importuj dane podstawowe,
+Import in Bulk,Masowego importu,
+Import of goods,Import towarów,
+Import of services,Import usług,
+Importing Items and UOMs,Importowanie elementów i UOM,
+Importing Parties and Addresses,Importowanie stron i adresów,
+In Maintenance,W naprawie,
+In Production,W produkcji,
+In Qty,W ilości,
+In Stock Qty,Ilość w magazynie,
+In Stock: ,W magazynie:,
+In Value,w polu Wartość,
+"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","W przypadku programu wielowarstwowego Klienci zostaną automatycznie przypisani do danego poziomu, zgodnie z wydatkami",
+Inactive,Nieaktywny,
+Include Default Book Entries,Dołącz domyślne wpisy książki,
+Include Exploded Items,Dołącz rozstrzelone przedmioty,
+Include POS Transactions,Uwzględnij transakcje POS,
+Include UOM,Dołącz UOM,
+Included in Gross Profit,Zawarte w zysku brutto,
+Income,Przychody,
+Income Account,Konto przychodów,
+Income Tax,Podatek dochodowy,
+Incoming,Przychodzące,
+Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Nieprawidłowa liczba zapisów w Księdze głównej. Być może wybrano niewłaściwe konto w transakcji.,
+Increment cannot be 0,Przyrost nie może być 0,
+Increment for Attribute {0} cannot be 0,Przyrost dla atrybutu {0} nie może być 0,
+Indirect Expenses,Wydatki pośrednie,
+Indirect Income,Przychody pośrednie,
+Individual,Indywidualny,
+Ineligible ITC,Niekwalifikowany ITC,
+Initiated,Zapoczątkowany,
+Inpatient Record,Zapis ambulatoryjny,
+Insert,Wstaw,
+Installation Note,Notka instalacyjna,
+Installation Note {0} has already been submitted,Notka instalacyjna {0} została już dodana,
+Installation date cannot be before delivery date for Item {0},Data instalacji nie może być wcześniejsza niż data dostawy dla pozycji {0},
+Installing presets,Instalowanie ustawień wstępnych,
+Institute Abbreviation,Instytut Skrót,
+Institute Name,Nazwa Instytutu,
+Instructor,Instruktor,
+Insufficient Stock,Niewystarczający zapas,
+Insurance Start date should be less than Insurance End date,Data rozpoczęcia ubezpieczenia powinna być mniejsza niż data zakończenia ubezpieczenia,
+Integrated Tax,Zintegrowany podatek,
+Inter-State Supplies,Dostawy międzypaństwowe,
+Interest Amount,Kwota procentowa,
+Interests,Zainteresowania,
+Intern,Stażysta,
+Internet Publishing,Wydawnictwa internetowe,
+Intra-State Supplies,Materiały wewnątrzpaństwowe,
+Introduction,Wprowadzenie,
+Invalid Attribute,Nieprawidłowy atrybut,
+Invalid Blanket Order for the selected Customer and Item,Nieprawidłowe zamówienie zbiorcze dla wybranego klienta i przedmiotu,
+Invalid Company for Inter Company Transaction.,Nieważna firma dla transakcji między przedsiębiorstwami.,
+Invalid GSTIN! A GSTIN must have 15 characters.,Nieprawidłowy GSTIN! GSTIN musi mieć 15 znaków.,
+Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,Nieprawidłowy GSTIN! Pierwsze 2 cyfry GSTIN powinny pasować do numeru stanu {0}.,
+Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,Nieprawidłowy GSTIN! Wprowadzone dane nie pasują do formatu GSTIN.,
+Invalid Posting Time,Nieprawidłowy czas publikacji,
+Invalid attribute {0} {1},Nieprawidłowy atrybut {0} {1},
+Invalid quantity specified for item {0}. Quantity should be greater than 0.,Nieprawidłowa ilość określona dla elementu {0}. Ilość powinna być większa niż 0.,
+Invalid reference {0} {1},Nieprawidłowy odniesienia {0} {1},
+Invalid {0},Nieprawidłowy {0},
+Invalid {0} for Inter Company Transaction.,Nieprawidłowy {0} dla transakcji między przedsiębiorstwami.,
+Invalid {0}: {1},Nieprawidłowy {0}: {1},
+Inventory,Inwentarz,
+Investment Banking,Bankowość inwestycyjna,
+Investments,Inwestycje,
+Invoice,Faktura,
+Invoice Created,Utworzono fakturę,
+Invoice Discounting,Dyskontowanie faktury,
+Invoice Patient Registration,Rejestracja pacjenta faktury,
+Invoice Posting Date,Faktura Data zamieszczenia,
+Invoice Type,Typ faktury,
+Invoice already created for all billing hours,Faktura została już utworzona dla wszystkich godzin rozliczeniowych,
+Invoice can't be made for zero billing hour,Faktura nie może zostać wystawiona na zero godzin rozliczeniowych,
+Invoice {0} no longer exists,Faktura {0} już nie istnieje,
+Invoiced,Zafakturowane,
+Invoiced Amount,Kwota zafakturowana,
+Invoices,Faktury,
+Invoices for Costumers.,Faktury dla klientów.,
+Inward supplies from ISD,Dostawy wewnętrzne z ISD,
+Inward supplies liable to reverse charge (other than 1 & 2 above),Dostawy wewnętrzne podlegające zwrotowi (inne niż 1 i 2 powyżej),
+Is Active,Jest aktywny,
+Is Default,Jest domyślny,
+Is Existing Asset,Czy istniejącego środka trwałego,
+Is Frozen,Zamrożony,
+Is Group,Czy Grupa,
+Issue,Zdarzenie,
+Issue Material,Wydanie Materiał,
+Issued,Wydany,
+Issues,Zagadnienia,
+It is needed to fetch Item Details.,"Jest to niezbędne, aby pobrać szczegółowe dotyczące pozycji.",
+Item,Asortyment,
+Item 1,Pozycja 1,
+Item 2,Pozycja 2,
+Item 3,Pozycja 3,
+Item 4,Pozycja 4,
+Item 5,Pozycja 5,
+Item Cart,poz Koszyk,
+Item Code,Kod identyfikacyjny,
+Item Code cannot be changed for Serial No.,Kod przedmiotu nie może być zmieniony na podstawie numeru seryjnego,
+Item Code required at Row No {0},Wymagany jest kod elementu w wierszu nr {0},
+Item Description,Opis produktu,
+Item Group,Kategoria,
+Item Group Tree,Drzewo kategorii,
+Item Group not mentioned in item master for item {0},Pozycja Grupa nie wymienione w pozycji do pozycji mistrza {0},
+Item Name,Nazwa przedmiotu,
+Item Price added for {0} in Price List {1},Pozycja Cena dodany do {0} w Cenniku {1},
+"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Cena produktu pojawia się wiele razy w oparciu o Cennik, Dostawcę / Klienta, Walutę, Pozycję, UOM, Ilość i Daty.",
+Item Price updated for {0} in Price List {1},Pozycja Cena aktualizowana {0} w Cenniku {1},
+Item Row {0}: {1} {2} does not exist in above '{1}' table,Wiersz pozycji {0}: {1} {2} nie istnieje w powyższej tabeli &quot;{1}&quot;,
+Item Template,Szablon przedmiotu,
+Item Variant Settings,Ustawienia wariantu pozycji,
+Item Variant {0} already exists with same attributes,Pozycja Wersja {0} istnieje już z samymi atrybutami,
+Item Variants,Warianty artykuł,
+Item Variants updated,Zaktualizowano wariant produktu,
+Item has variants.,Pozycja ma warianty.,
+Item must be added using 'Get Items from Purchase Receipts' button,"Rzecz musi być dodane za ""elementy z zakupu wpływy"" przycisk",
+Item valuation rate is recalculated considering landed cost voucher amount,Jednostkowy wskaźnik wyceny przeliczone z uwzględnieniem kosztów ilość kupon wylądował,
+Item variant {0} exists with same attributes,Pozycja wariant {0} istnieje z samymi atrybutami,
+Item {0} does not exist,Element {0} nie istnieje,
+Item {0} does not exist in the system or has expired,Element {0} nie istnieje w systemie lub wygasł,
+Item {0} has already been returned,Element {0} został zwrócony,
+Item {0} has been disabled,Element {0} została wyłączona,
+Item {0} has reached its end of life on {1},Element {0} osiągnął kres przydatności {1},
+Item {0} ignored since it is not a stock item,"Element {0} jest ignorowany od momentu, kiedy nie ma go w magazynie",
+"Item {0} is a template, please select one of its variants","Element {0} jest szablon, należy wybrać jedną z jego odmian",
+Item {0} is cancelled,Element {0} jest anulowany,
+Item {0} is disabled,Element {0} jest wyłączony,
+Item {0} is not a stock Item,Element {0} nie jest w magazynie,
+Item {0} is not active or end of life has been reached,"Element {0} nie jest aktywny, lub osiągnął datę przydatności",
+Item {0} is not setup for Serial Nos. Check Item master,Element {0} nie jest ustawiony na nr seryjny. Sprawdź mastera tego elementu,
+Item {0} is not setup for Serial Nos. Column must be blank,Element {0} nie jest ustawiony na nr seryjny. Kolumny powinny być puste,
+Item {0} must be a Fixed Asset Item,Element {0} musi być trwałego przedmiotu,
+Item {0} must be a non-stock item,Element {0} musi być elementem non-stock,
+Item {0} must be a stock Item,Item {0} musi być dostępna w magazynie,
+Item {0} not found,Element {0} nie został znaleziony,
+Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Element {0} nie znajdują się w &quot;materiały dostarczane&quot; tabeli w Zamówieniu {1},
+Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Element {0}: Zamówione szt {1} nie może być mniejsza niż minimalna Ilość zamówień {2} (określonego w pkt).,
+Item: {0} does not exist in the system,Pozycja: {0} nie istnieje w systemie,
+Items,Produkty,
+Items Filter,Elementy Filtruj,
+Items and Pricing,Produkty i cennik,
+Items for Raw Material Request,Elementy do żądania surowca,
+Job Card,Karta pracy,
+Job Description,Opis stanowiska Pracy,
+Job Offer,Oferta pracy,
+Job card {0} created,Utworzono kartę zadania {0},
+Jobs,Oferty pracy,
+Join,łączyć,
+Journal Entries {0} are un-linked,Zapisy księgowe {0} nie są powiązane,
+Journal Entry,Zapis księgowy,
+Journal Entry {0} does not have account {1} or already matched against other voucher,Księgowanie {0} nie masz konta {1} lub już porównywane inne bon,
+Kanban Board,Kanban Board,
+Key Reports,Kluczowe raporty,
+LMS Activity,Aktywność LMS,
+Lab Test,Test laboratoryjny,
+Lab Test Report,Raport z testów laboratoryjnych,
+Lab Test Sample,Próbka do badań laboratoryjnych,
+Lab Test Template,Szablon testu laboratoryjnego,
+Lab Test UOM,Lab Test UOM,
+Lab Tests and Vital Signs,Testy laboratoryjne i Vital Signs,
+Lab result datetime cannot be before testing datetime,Data zestawienia wyników laboratorium nie może być wcześniejsza niż test datetime,
+Lab testing datetime cannot be before collection datetime,Data testowania laboratorium nie może być datą zbierania danych,
+Label,etykieta,
+Laboratory,Laboratorium,
+Language Name,Nazwa Język,
+Large,Duży,
+Last Communication,Ostatnia komunikacja,
+Last Communication Date,Ostatni dzień komunikacji,
+Last Name,Nazwisko,
+Last Order Amount,Kwota ostatniego zamówienia,
+Last Order Date,Data ostatniego zamówienia,
+Last Purchase Price,Ostatnia cena zakupu,
+Last Purchase Rate,Data Ostatniego Zakupu,
+Latest,Ostatnie,
+Latest price updated in all BOMs,Aktualna cena została zaktualizowana we wszystkich biuletynach,
+Lead,Potencjalny klient,
+Lead Count,Liczba potencjalnych klientów,
+Lead Owner,Właściciel Tropu,
+Lead Owner cannot be same as the Lead,Ołów Właściciel nie może być taka sama jak Lead,
+Lead Time Days,Czas realizacji (dni),
+Lead to Quotation,Trop do Wyceny,
+"Leads help you get business, add all your contacts and more as your leads","Przewody pomóc biznesu, dodać wszystkie kontakty i więcej jak swoich klientów",
+Learn,Samouczek,
+Leave Approval Notification,Powiadomienie o zmianie zatwierdzającego Nieobecność,
+Leave Blocked,Urlop Zablokowany,
+Leave Encashment,Zostawić Inkaso,
+Leave Management,Zarządzanie Nieobecnościami,
+Leave Status Notification,Powiadomienie o Statusie zgłoszonej Nieobecności,
+Leave Type,Typ urlopu,
+Leave Type is madatory,Typ Nieobecności jest polem wymaganym,
+Leave Type {0} cannot be allocated since it is leave without pay,"Typ Nieobecności {0} nie może zostać zaalokowany, ponieważ jest Urlopem Bezpłatnym",
+Leave Type {0} cannot be carry-forwarded,Typ Nieobecności {0} nie może zostać przeniesiony w przyszłość,
+Leave Type {0} is not encashable,Typ opuszczenia {0} nie podlega szyfrowaniu,
+Leave Without Pay,Urlop bezpłatny,
+Leave and Attendance,Nieobecności i Obecności,
+Leave application {0} already exists against the student {1},Pozostaw aplikację {0} już istnieje przeciwko uczniowi {1},
+"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Nieobecność nie może być przyznana przed {0}, a bilans nieobecności został już przeniesiony na przyszły wpis alokacyjny nieobecności {1}",
+"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Zostaw nie mogą być stosowane / anulowana przed {0}, a bilans urlopu zostało już przeniesionych przekazywane w przyszłości rekordu alokacji urlopu {1}",
+Leave of type {0} cannot be longer than {1},Urlop typu {0} nie może być dłuższy niż {1},
+Leaves,Odchodzi,
+Leaves Allocated Successfully for {0},Nieobecności Przedzielono z Powodzeniem dla {0},
+Leaves has been granted sucessfully,Nieobecności zostały przyznane z powodzeniem,
+Leaves must be allocated in multiples of 0.5,"Urlop musi być zdefiniowany jako wielokrotność liczby ""0.5""",
+Leaves per Year,Nieobecności w Roku,
+Ledger,Rejestr,
+Legal,Legalnie,
+Legal Expenses,Wydatki na obsługę prawną,
+Letter Head,Nagłówek,
+Letter Heads for print templates.,Nagłówki dla szablonów druku,
+Level,Poziom,
+Liability,Zobowiązania,
+License,Licencja,
+Lifecycle,Koło życia,
+Limit,Limit,
+Limit Crossed,Limit Crossed,
+Link to Material Request,Link do żądania materiałowego,
+List of all share transactions,Lista wszystkich transakcji akcji,
+List of available Shareholders with folio numbers,Lista dostępnych Akcjonariuszy z numerami folio,
+Loading Payment System,Ładowanie systemu płatności,
+Loan,Pożyczka,
+Loan Amount cannot exceed Maximum Loan Amount of {0},Kwota kredytu nie może przekroczyć maksymalna kwota kredytu o {0},
+Loan Application,Podanie o pożyczkę,
+Loan Management,Zarządzanie kredytem,
+Loan Repayment,Spłata pożyczki,
+Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,"Data rozpoczęcia pożyczki i okres pożyczki są obowiązkowe, aby zapisać dyskontowanie faktury",
+Loans (Liabilities),Kredyty (zobowiązania),
+Loans and Advances (Assets),Pożyczki i zaliczki (aktywa),
+Local,Lokalne,
+Log,Log,
+Logs for maintaining sms delivery status,Logi do utrzymania sms stan przesyłki,
+Lost,Straty,
+Lost Reasons,Przegrane przyczyny,
+Low,Niski,
+Low Sensitivity,Mała czułość,
+Lower Income,Niższy przychód,
+Loyalty Amount,Kwota lojalności,
+Loyalty Point Entry,Punkt lojalnościowy,
+Loyalty Points,Punkty lojalnościowe,
+"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Punkty lojalnościowe będą obliczane na podstawie zużytego (za pomocą faktury sprzedaży), na podstawie wspomnianego współczynnika zbierania.",
+Loyalty Points: {0},Punkty lojalnościowe: {0},
+Loyalty Program,Program lojalnościowy,
+Main,Główny,
+Maintenance,Konserwacja,
+Maintenance Log,Dziennik konserwacji,
+Maintenance Manager,Menager Konserwacji,
+Maintenance Schedule,Plan Konserwacji,
+Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',"Plan Konserwacji nie jest generowany dla wszystkich przedmiotów. Proszę naciśnij ""generuj plan""",
+Maintenance Schedule {0} exists against {1},Harmonogram konserwacji {0} istnieje przeciwko {1},
+Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Plan Konserwacji {0} musi być anulowany przed usunięciem tego zamówienia,
+Maintenance Status has to be Cancelled or Completed to Submit,Stan konserwacji musi zostać anulowany lub uzupełniony do przesłania,
+Maintenance User,Użytkownik Konserwacji,
+Maintenance Visit,Wizyta Konserwacji,
+Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Wizyta Konserwacji {0} musi być anulowana przed usunięciem nakazu sprzedaży,
+Maintenance start date can not be before delivery date for Serial No {0},Początek daty konserwacji nie może być wcześniejszy od daty numeru seryjnego {0},
+Make,Stwórz,
+Make Payment,Dokonać płatności,
+Make project from a template.,Utwórz projekt z szablonu.,
+Making Stock Entries,Dokonywanie stockowe Wpisy,
+Male,Mężczyzna,
+Manage Customer Group Tree.,Zarządzaj drzewem grupy klientów,
+Manage Sales Partners.,Zarządzaj Partnerami Sprzedaży.,
+Manage Sales Person Tree.,Zarządzaj Drzewem Sprzedawców,
+Manage Territory Tree.,Zarządzaj drzewem terytorium,
+Manage your orders,Zarządzanie zamówień,
+Management,Zarząd,
+Manager,Menager,
+Managing Projects,Zarządzanie projektami,
+Managing Subcontracting,Zarządzanie Podwykonawstwo,
+Mandatory,Obowiązkowe,
+Mandatory field - Academic Year,Pole obowiązkowe - Rok akademicki,
+Mandatory field - Get Students From,Pole obowiązkowe - pobierz uczniów,
+Mandatory field - Program,Pole obowiązkowe - program,
+Manufacture,Produkcja,
+Manufacturer,Producent,
+Manufacturer Part Number,Numer katalogowy producenta,
+Manufacturing,Produkcja,
+Manufacturing Quantity is mandatory,Ilość wyprodukowanych jest obowiązkowa,
+Mapping,Mapowanie,
+Mapping Type,Typ odwzorowania,
+Mark Absent,Oznacz Nieobecna,
+Mark Attendance,Oznaczaj Uczestnictwo,
+Mark Half Day,Oznacz pół dnia,
+Mark Present,Mark Present,
+Marketing,Marketing,
+Marketing Expenses,Wydatki marketingowe,
+Marketplace,Rynek,
+Marketplace Error,Błąd na rynku,
+Masters,Magistrowie,
+Match Payments with Invoices,Płatności mecz fakturami,
+Match non-linked Invoices and Payments.,Łączenie faktur z płatnościami,
+Material,Materiał,
+Material Consumption,Zużycie materiału,
+Material Consumption is not set in Manufacturing Settings.,Zużycie materiału nie jest ustawione w ustawieniach produkcyjnych.,
+Material Receipt,Przyjęcie materiałów,
+Material Request,Zamówienie produktu,
+Material Request Date,Materiał Zapytanie Data,
+Material Request No,Zamówienie produktu nr,
+"Material Request not created, as quantity for Raw Materials already available.","Nie utworzono wniosku o materiał, jako ilość dostępnych surowców.",
+Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Zamówienie produktu o maksymalnej ilości {0} może być zrealizowane dla przedmiotu {1} w zamówieniu {2},
+Material Request to Purchase Order,Twoje zamówienie jest w realizacji,
+Material Request {0} is cancelled or stopped,Zamówienie produktu {0} jest anulowane lub wstrzymane,
+Material Request {0} submitted.,Wysłano żądanie materiałowe {0}.,
+Material Transfer,Transfer materiałów,
+Material Transferred,Przeniesiony materiał,
+Material to Supplier,Materiał do dostawcy,
+Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Maksymalna kwota zwolnienia nie może być większa niż maksymalna kwota zwolnienia {0} kategorii zwolnienia podatkowego {1},
+Max benefits should be greater than zero to dispense benefits,Maksymalne korzyści powinny być większe niż zero w celu rozłożenia korzyści,
+Max discount allowed for item: {0} is {1}%,Maksymalna zniżka pozwoliło na pozycji: {0} jest {1}%,
+Max: {0},Max: {0},
+Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Maksymalne próbki - {0} mogą zostać zachowane dla Batch {1} i Item {2}.,
+Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Maksymalne próbki - {0} zostały już zachowane dla partii {1} i pozycji {2} w partii {3}.,
+Maximum amount eligible for the component {0} exceeds {1},Maksymalna kwota kwalifikująca się do komponentu {0} przekracza {1},
+Maximum benefit amount of component {0} exceeds {1},Maksymalna kwota świadczenia komponentu {0} przekracza {1},
+Maximum benefit amount of employee {0} exceeds {1},Maksymalna kwota świadczenia pracownika {0} przekracza {1},
+Maximum discount for Item {0} is {1}%,Maksymalna zniżka dla pozycji {0} to {1}%,
+Maximum leave allowed in the leave type {0} is {1},Maksymalny dozwolony urlop w typie urlopu {0} to {1},
+Medical,Medyczny,
+Medical Code,Kodeks medyczny,
+Medical Code Standard,Standardowy kod medyczny,
+Medical Department,Wydział Lekarski,
+Medical Record,Historia choroby,
+Medium,Średni,
+Meeting,Spotkanie,
+Member Activity,Aktywność użytkownika,
+Member ID,ID Użytkownika,
+Member Name,Nazwa członka,
+Member information.,Informacje o członkach.,
+Membership,Członkostwo,
+Membership Details,Dane dotyczące członkostwa,
+Membership ID,Identyfikator członkostwa,
+Membership Type,typ członkostwa,
+Memebership Details,Szczegóły Memebership,
+Memebership Type Details,Szczegóły typu memebership,
+Merge,Łączyć,
+Merge Account,Połącz konto,
+Merge with Existing Account,Scal z istniejącym kontem,
+"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Połączenie jest możliwe tylko wtedy, gdy następujące właściwości są takie same w obu płyt. Czy Grupa Root Typ, Firma",
+Message Examples,Przykłady wiadomości,
+Message Sent,Wiadomość wysłana,
+Method,Metoda,
+Middle Income,Średni dochód,
+Middle Name,Drugie imię,
+Middle Name (Optional),Drugie imię (opcjonalnie),
+Min Amt can not be greater than Max Amt,Min Amt nie może być większy niż Max Amt,
+Min Qty can not be greater than Max Qty,Minimalna ilość nie może być większa niż maksymalna ilość,
+Minimum Lead Age (Days),Minimalny wiek ołowiu (dni),
+Miscellaneous Expenses,Pozostałe drobne wydatki,
+Missing Currency Exchange Rates for {0},Brakujące Wymiana walut stawki dla {0},
+Missing email template for dispatch. Please set one in Delivery Settings.,Brakujący szablon wiadomości e-mail do wysyłki. Ustaw jeden w Ustawieniach dostawy.,
+"Missing value for Password, API Key or Shopify URL","Brakująca wartość hasła, klucza API lub Shopify URL",
+Mode of Payment,Sposób płatności,
+Mode of Payments,Tryb płatności,
+Mode of Transport,Tryb transportu,
+Mode of Transportation,Środek transportu,
+Mode of payment is required to make a payment,"Sposób płatności jest wymagane, aby dokonać płatności",
+Model,Model,
+Moderate Sensitivity,Średnia czułość,
+Monday,Poniedziałek,
+Monthly,Miesięcznie,
+Monthly Distribution,Miesięczny Dystrybucja,
+Monthly Repayment Amount cannot be greater than Loan Amount,Miesięczna kwota spłaty nie może być większa niż Kwota kredytu,
+More,Więcej,
+More Information,Więcej informacji,
+More than one selection for {0} not allowed,Więcej niż jeden wybór dla {0} jest niedozwolony,
+More...,Jeszcze...,
+Motion Picture & Video,Ruchomy Obraz i Video,
+Move,ruch,
+Move Item,Move Item,
+Multi Currency,Wielowalutowy,
+Multiple Item prices.,Wiele cen przedmiotu.,
+Multiple Loyalty Program found for the Customer. Please select manually.,Znaleziono wiele programów lojalnościowych dla klienta. Wybierz ręcznie.,
+"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}",Wiele Zasad Cen istnieje w tych samych kryteriach proszę rozwiązywania konflikty poprzez przypisanie priorytetu. Zasady Cen: {0},
+Multiple Variants,Wiele wariantów,
+Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,Wiele lat podatkowych istnieją na dzień {0}. Proszę ustawić firmy w roku finansowym,
+Music,Muzyka,
+My Account,Moje Konto,
+Name error: {0},Błąd Nazwa: {0},
+Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Nazwa nowego konta. Uwaga: Proszę nie tworzyć konta dla odbiorców i dostawców,
+Name or Email is mandatory,Imię lub E-mail jest obowiązkowe,
+Nature Of Supplies,Natura dostaw,
+Navigating,Nawigacja,
+Needs Analysis,Analiza potrzeb,
+Negative Quantity is not allowed,Ilość nie może być wyrażana na minusie,
+Negative Valuation Rate is not allowed,Błąd Szacowania Wartość nie jest dozwolona,
+Negotiation/Review,Negocjacje / przegląd,
+Net Asset value as on,Wartość aktywów netto na,
+Net Cash from Financing,Przepływy pieniężne netto z finansowania,
+Net Cash from Investing,Przepływy pieniężne netto z inwestycji,
+Net Cash from Operations,Środki pieniężne netto z działalności operacyjnej,
+Net Change in Accounts Payable,Zmiana netto stanu zobowiązań,
+Net Change in Accounts Receivable,Zmiana netto stanu należności,
+Net Change in Cash,Zmiana netto stanu środków pieniężnych,
+Net Change in Equity,Zmiana netto w kapitale własnym,
+Net Change in Fixed Asset,Zmiana netto stanu trwałego,
+Net Change in Inventory,Zmiana netto stanu zapasów,
+Net ITC Available(A) - (B),Net ITC Available (A) - (B),
+Net Pay,Stawka Netto,
+Net Pay cannot be less than 0,Wynagrodzenie netto nie może być mniejsza niż 0,
+Net Profit,Zysk netto,
+Net Salary Amount,Kwota wynagrodzenia netto,
+Net Total,Łączna wartość netto,
+Net pay cannot be negative,Stawka Netto nie może być na minusie,
+New Account Name,Nowa nazwa konta,
+New Address,Nowy adres,
+New BOM,Nowe zestawienie materiałowe,
+New Batch ID (Optional),Nowy identyfikator partii (opcjonalnie),
+New Batch Qty,Nowa partia,
+New Company,Nowa firma,
+New Cost Center Name,Nazwa nowego Centrum Kosztów,
+New Customer Revenue,Nowy Przychody klienta,
+New Customers,Nowi Klienci,
+New Department,Nowy dział,
+New Employee,Nowy pracownik,
+New Location,Nowa lokalizacja,
+New Quality Procedure,Nowa procedura jakości,
+New Sales Invoice,Nowa faktura sprzedaży,
+New Sales Person Name,Nazwa nowej osoby Sprzedaży,
+New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Nowy nr seryjny nie może mieć Magazynu. Magazyn musi być ustawiona przez Zasoby lub  na podstawie Paragonu Zakupu,
+New Warehouse Name,Nowy magazyn Nazwa,
+New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Nowy limit kredytowy wynosi poniżej aktualnej kwoty należności dla klienta. Limit kredytowy musi być conajmniej {0},
+New task,Nowe zadanie,
+New {0} pricing rules are created,Utworzono nowe {0} reguły cenowe,
+Newsletters,Biuletyny,
+Newspaper Publishers,Wydawcy gazet,
+Next,Dalej,
+Next Contact By cannot be same as the Lead Email Address,Następnie Kontakt By nie może być taki sam jak adres e-mail Wiodącego,
+Next Contact Date cannot be in the past,Następnie Kontakt Data nie może być w przeszłości,
+Next Steps,Następne kroki,
+No Action,Bez akcji,
+No Customers yet!,Brak klientów!,
+No Data,Brak danych,
+No Delivery Note selected for Customer {},Nie wybrano uwagi dostawy dla klienta {},
+No Employee Found,Nie znaleziono pracownika,
+No Item with Barcode {0},Nie istnieje Przedmiot o kodzie kreskowym {0},
+No Item with Serial No {0},Brak przedmiotu o podanym numerze seryjnym {0},
+No Items available for transfer,Brak przedmiotów do przeniesienia,
+No Items selected for transfer,Nie wybrano pozycji do przeniesienia,
+No Items to pack,Brak Przedmiotów do pakowania,
+No Items with Bill of Materials to Manufacture,Brak przedmioty z Bill of Materials do produkcji,
+No Items with Bill of Materials.,Brak przedmiotów z zestawieniem materiałów.,
+No Permission,Brak uprawnień,
+No Remarks,Brak uwag,
+No Result to submit,Brak wyniku,
+No Salary Structure assigned for Employee {0} on given date {1},Brak struktury wynagrodzenia dla pracownika {0} w danym dniu {1},
+No Staffing Plans found for this Designation,Nie znaleziono planów zatrudnienia dla tego oznaczenia,
+No Student Groups created.,Brak grup studenckich utworzony.,
+No Students in,Brak uczniów w Poznaniu,
+No Tax Withholding data found for the current Fiscal Year.,Nie znaleziono danych potrącenia podatku dla bieżącego roku obrotowego.,
+No Work Orders created,Nie utworzono zleceń pracy,
+No accounting entries for the following warehouses,Brak zapisów księgowych dla następujących magazynów,
+No active or default Salary Structure found for employee {0} for the given dates,Brak aktywnego czy ustawiona Wynagrodzenie Struktura znalezionych dla pracownika {0} dla podanych dat,
+No contacts with email IDs found.,Nie znaleziono kontaktów z identyfikatorami e-mail.,
+No data for this period,Brak danych dla tego okresu,
+No description given,Brak opisu,
+No employees for the mentioned criteria,Brak pracowników dla wymienionych kryteriów,
+No gain or loss in the exchange rate,Brak zysków lub strat w kursie wymiany,
+No items listed,Brak elementów na liście,
+No items to be received are overdue,Żadne przedmioty do odbioru nie są spóźnione,
+No material request created,Nie utworzono żadnego żadnego materialnego wniosku,
+No more updates,Brak więcej aktualizacji,
+No of Interactions,Liczba interakcji,
+No of Shares,Liczba akcji,
+No pending Material Requests found to link for the given items.,Nie znaleziono oczekujĘ ... cych żĘ ... danych żĘ ... danych w celu połĘ ... czenia dla podanych elementów.,
+No products found,Nie znaleziono produktów,
+No products found.,Nie znaleziono produktów.,
+No record found,Nie znaleziono wyników,
+No records found in the Invoice table,Nie znaleziono w tabeli faktury rekordy,
+No records found in the Payment table,Nie znaleziono rekordów w tabeli płatności,
+No replies from,Brak odpowiedzi ze strony,
+No salary slip found to submit for the above selected criteria OR salary slip already submitted,Nie znaleziono pokwitowania wypłaty za wyżej wymienione kryteria LUB wniosek o wypłatę wynagrodzenia już przesłano,
+No tasks,Brak zadań,
+No time sheets,Brak karty czasu,
+No values,Brak wartości,
+No {0} found for Inter Company Transactions.,"Nie znaleziono rekordów ""{0}"" dla transakcji między spółkami.",
+Non GST Inward Supplies,Non GST Inward Supplies,
+Non Profit,Brak Zysków,
+Non Profit (beta),Non Profit (beta),
+Non-GST outward supplies,Dostawy zewnętrzne spoza GST,
+Non-Group to Group,Dla grupy do grupy,
+None,Żaden,
+None of the items have any change in quantity or value.,Żaden z elementów ma żadnych zmian w ilości lub wartości.,
+Nos,Numery,
+Not Available,Niedostępny,
+Not Marked,nieoznaczone,
+Not Paid and Not Delivered,Nie Płatny i nie Dostarczany,
+Not Permitted,Niedozwolone,
+Not Started,Nie Rozpoczęte,
+Not active,Nieaktywny,
+Not allow to set alternative item for the item {0},Nie zezwalaj na ustawienie pozycji alternatywnej dla pozycji {0},
+Not allowed to update stock transactions older than {0},Niedozwolona jest modyfikacja transakcji zapasów starszych niż {0},
+Not authorized to edit frozen Account {0},Brak autoryzacji do edycji zamrożonego Konta {0},
+Not authroized since {0} exceeds limits,Brak autoryzacji od {0} przekroczono granice,
+Not permitted for {0},Nie dopuszczony do {0},
+"Not permitted, configure Lab Test Template as required","Niedozwolone, w razie potrzeby skonfiguruj szablon testu laboratorium",
+Not permitted. Please disable the Service Unit Type,Nie dozwolone. Wyłącz opcję Service Unit Type,
+Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Uwaga: Ze względu / Data odniesienia przekracza dozwolony dzień kredytowej klienta przez {0} dni (s),
+Note: Item {0} entered multiple times,Uwaga: Element {0} wpisano kilka razy,
+Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Uwaga: Płatność nie zostanie utworzona, gdyż nie określono konta 'Gotówka lub Bank'",
+Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,Uwaga: System nie sprawdza nad-dostawy oraz nadmiernej rezerwacji dla pozycji {0} jej wartość lub kwota wynosi 0,
+Note: There is not enough leave balance for Leave Type {0},Uwaga: Nie ma wystarczającej ilości urlopu aby ustalić typ zwolnienia {0},
+Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Informacja: To Centrum Kosztów jest grupą. Nie mogę wykonać operacji rachunkowych na grupach.,
+Note: {0},Uwaga: {0},
+Notes,Notatki,
+Nothing is included in gross,Nic nie jest wliczone w brutto,
+Nothing more to show.,Nic więcej do pokazania.,
+Nothing to change,Nic do zmiany,
+Notice Period,Okres wypowiedzenia,
+Notify Customers via Email,Powiadom klientów przez e-mail,
+Number,Numer,
+Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Ilość amortyzacją Zarezerwowane nie może być większa od ogólnej liczby amortyzacją,
+Number of Interaction,Liczba interakcji,
+Number of Order,Numer zlecenia,
+"Number of new Account, it will be included in the account name as a prefix","Numer nowego Konta, zostanie dodany do nazwy konta jako prefiks",
+"Number of new Cost Center, it will be included in the cost center name as a prefix","Numer nowego miejsca powstawania kosztów, zostanie wprowadzony do nazwy miejsca powstawania kosztów jako prefiks",
+Number of root accounts cannot be less than 4,Liczba kont root nie może być mniejsza niż 4,
+Odometer,Drogomierz,
+Office Equipments,Urządzenie Biura,
+Office Maintenance Expenses,Wydatki na obsługę biura,
+Office Rent,Wydatki na wynajem,
+On Hold,W oczekiwaniu,
+On Net Total,Na podstawie Kwoty Netto,
+One customer can be part of only single Loyalty Program.,Jeden klient może być częścią tylko jednego Programu lojalnościowego.,
+Online Auctions,Aukcje online,
+Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Pozostawić tylko Aplikacje ze statusem „Approved” i „Odrzucone” mogą być składane,
+"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",W poniższej tabeli zostanie wybrana tylko osoba ubiegająca się o przyjęcie ze statusem &quot;Zatwierdzona&quot;.,
+Only users with {0} role can register on Marketplace,Tylko użytkownicy z rolą {0} mogą rejestrować się w usłudze Marketplace,
+Open BOM {0},Otwarte BOM {0},
+Open Item {0},Pozycja otwarta {0},
+Open Notifications,Otwarte Powiadomienia,
+Open Orders,Otwarte zlecenia,
+Open a new ticket,Otwórz nowy bilet,
+Opening,Otwarcie,
+Opening (Cr),Otwarcie (Cr),
+Opening (Dr),Otwarcie (Dr),
+Opening Accounting Balance,Stan z bilansu otwarcia,
+Opening Accumulated Depreciation,Otwarcie Skumulowana amortyzacja,
+Opening Accumulated Depreciation must be less than equal to {0},Otwarcie Skumulowana amortyzacja powinna być mniejsza niż równa {0},
+Opening Balance,Bilans otwarcia,
+Opening Balance Equity,Bilans otwarcia Kapitału własnego,
+Opening Date and Closing Date should be within same Fiscal Year,Otwarcie Data i termin powinien być w obrębie samego roku podatkowego,
+Opening Date should be before Closing Date,Data otwarcia powinien być przed Dniem Zamknięcia,
+Opening Entry Journal,Otwarcie dziennika wejścia,
+Opening Invoice Creation Tool,Otwieranie narzędzia tworzenia faktury,
+Opening Invoice Item,Otwieranie faktury,
+Opening Invoices,Otwieranie faktur,
+Opening Invoices Summary,Otwieranie podsumowań faktur,
+Opening Qty,Ilość otwarcia,
+Opening Stock,Otwarcie Zdjęcie,
+Opening Stock Balance,Saldo otwierające zapasy,
+Opening Value,Wartość otwarcia,
+Opening {0} Invoice created,Otworzono fakturę {0},
+Operation,Operacja,
+Operation Time must be greater than 0 for Operation {0},Czas działania musi być większy niż 0 do operacji {0},
+"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operacja {0} dłużej niż wszelkie dostępne w godzinach pracy stacji roboczej {1}, rozbić na kilka operacji operacji",
+Operations,Działania,
+Operations cannot be left blank,Operacje nie może być puste,
+Opp Count,Opp Count,
+Opp/Lead %,Opp / ołów%,
+Opportunities,Możliwości,
+Opportunities by lead source,Możliwości według źródła ołowiu,
+Opportunity,Oferta,
+Opportunity Amount,Kwota możliwości,
+Optional Holiday List not set for leave period {0},Opcjonalna lista dni świątecznych nie jest ustawiona dla okresu urlopu {0},
+"Optional. Sets company's default currency, if not specified.","Opcjonalny. Ustawia domyślną walutę firmy, jeśli nie podano.",
+Optional. This setting will be used to filter in various transactions.,Opcjonalne. Te Ustawienie będzie użyte w filtrze dla różnych transacji.,
+Options,Opcje,
+Order Count,Liczba zamówień,
+Order Entry,Wprowadzanie zamówień,
+Order Value,Wartość zamówienia,
+Order rescheduled for sync,Zamów zmianę terminu do synchronizacji,
+Order/Quot %,Zamówienie / kwota%,
+Ordered,Zamówione,
+Ordered Qty,Ilość Zamówiona,
+Orders,Zamówienia,
+Orders released for production.,Zamówienia puszczone do produkcji.,
+Organization,Organizacja,
+Organization Name,Nazwa organizacji,
+Other,Inne,
+Other Reports,Inne raporty,
+"Other outward supplies(Nil rated,Exempted)","Inne dostawy zewnętrzne (bez oceny, zwolnione)",
+Others,Inni,
+Out Qty,Brak Ilości,
+Out Value,Brak Wartości,
+Out of Order,Nieczynny,
+Outgoing,Wychodzący,
+Outstanding,Wybitny,
+Outstanding Amount,Zaległa Ilość,
+Outstanding Amt,Zaległa wartość,
+Outstanding Cheques and Deposits to clear,"Wybitni Czeki i depozytów, aby usunąć",
+Outstanding for {0} cannot be less than zero ({1}),Zaległość za {0} nie może być mniejsza niż ({1}),
+Outward taxable supplies(zero rated),Dostaw podlegających opodatkowaniu zewnętrznemu (zero punktów),
+Overdue,Zaległy,
+Overlap in scoring between {0} and {1},Pokrywaj się w punktacji pomiędzy {0} a {1},
+Overlapping conditions found between:,Nakładające warunki pomiędzy:,
+Owner,Właściciel,
+PAN,Stały numer konta (PAN),
+POS,POS,
+POS Profile,POS profilu,
+POS Profile is required to use Point-of-Sale,Profil POS jest wymagany do korzystania z Point-of-Sale,
+POS Profile required to make POS Entry,Profil POS wymagany do tworzenia wpisu z POS,
+POS Settings,Ustawienia POS,
+Packed quantity must equal quantity for Item {0} in row {1},Wartość spakowana musi równać się ilości dla przedmiotu {0} w rzędzie {1},
+Packing Slip,List przewozowy,
+Packing Slip(s) cancelled,List(y) przewozowe anulowane,
+Paid,Zapłacono,
+Paid Amount,Zapłacona kwota,
+Paid Amount cannot be greater than total negative outstanding amount {0},Wpłaconej kwoty nie może być większa od całkowitej ujemnej kwoty należności {0},
+Paid amount + Write Off Amount can not be greater than Grand Total,Wartość zapłaty + Wartość odliczenia nie może być większa niż Cała Kwota,
+Paid and Not Delivered,Płatny i niedostarczone,
+Parameter,Parametr,
+Parent Item {0} must not be a Stock Item,Dominująca pozycja {0} nie może być pozycja Zdjęcie,
+Parents Teacher Meeting Attendance,Spotkanie wychowawców rodziców,
+Part-time,Niepełnoetatowy,
+Partially Depreciated,częściowo Zamortyzowany,
+Partially Received,Częściowo odebrane,
+Party,Grupa,
+Party Name,Nazwa Party,
+Party Type,Typ grupy,
+Party Type and Party is mandatory for {0} account,Typ strony i strona są obowiązkowe dla konta {0},
+Party Type is mandatory,Rodzaj Partia jest obowiązkowe,
+Party is mandatory,Partia jest obowiązkowe,
+Password,Hasło,
+Password policy for Salary Slips is not set,Polityka haseł dla poświadczeń wynagrodzenia nie jest ustawiona,
+Past Due Date,Minione terminy,
+Patient,Cierpliwy,
+Patient Appointment,Powtarzanie Pacjenta,
+Patient Encounter,Spotkanie z pacjentem,
+Patient not found,Nie znaleziono pacjenta,
+Pay Remaining,Zapłać pozostałe,
+Pay {0} {1},Zapłać {0} {1},
+Payable,Płatność,
+Payable Account,Konto płatności,
+Payable Amount,Kwota do zapłaty,
+Payment,Płatność,
+Payment Cancelled. Please check your GoCardless Account for more details,"Płatność anulowana. Sprawdź swoje konto bez karty, aby uzyskać więcej informacji",
+Payment Confirmation,Potwierdzenie płatności,
+Payment Date,Data płatności,
+Payment Days,Dni płatności,
+Payment Document,Płatność Dokument,
+Payment Due Date,Termin płatności,
+Payment Entries {0} are un-linked,Wpisy płatności {0} są un-linked,
+Payment Entry,Płatność,
+Payment Entry already exists,Zapis takiej Płatności już istnieje,
+Payment Entry has been modified after you pulled it. Please pull it again.,Wpis płatności został zmodyfikowany po ściągnięciu. Proszę ściągnąć ponownie.,
+Payment Entry is already created,Zapis takiej Płatności już został utworzony,
+Payment Failed. Please check your GoCardless Account for more details,"Płatność nie powiodła się. Sprawdź swoje konto bez karty, aby uzyskać więcej informacji",
+Payment Gateway,Bramki płatności,
+"Payment Gateway Account not created, please create one manually.","Payment Gateway konta nie jest tworzony, należy utworzyć ręcznie.",
+Payment Gateway Name,Nazwa bramki płatności,
+Payment Mode,Tryb Płatności,
+Payment Receipt Note,Otrzymanie płatności Uwaga,
+Payment Request,Żądanie zapłaty,
+Payment Request for {0},Prośba o płatność za {0},
+Payment Tems,Tematyka płatności,
+Payment Term,Termin płatności,
+Payment Terms,Zasady płatności,
+Payment Terms Template,Szablon warunków płatności,
+Payment Terms based on conditions,Warunki płatności oparte na warunkach,
+Payment Type,Typ płatności,
+"Payment Type must be one of Receive, Pay and Internal Transfer",Typ płatności musi być jednym z Odbierz Pay and przelew wewnętrzny,
+Payment against {0} {1} cannot be greater than Outstanding Amount {2},Płatność przed {0} {1} nie może być większa niż kwota kredytu pozostała {2},
+Payment of {0} from {1} to {2},Płatność {0} od {1} do {2},
+Payment request {0} created,Żądanie zapłaty {0} zostało utworzone,
+Payments,Płatności,
+Payroll,Lista płac,
+Payroll Number,Numer listy płac,
+Payroll Payable,Płace Płatne,
+Payslip,Odcinek wypłaty,
+Pending Activities,Oczekujące Inne,
+Pending Amount,Kwota Oczekiwana,
+Pending Leaves,Oczekujące Nieobecności,
+Pending Qty,Oczekuje szt,
+Pending Quantity,Ilość oczekująca,
+Pending Review,Czekający na rewizję,
+Pending activities for today,Działania oczekujące na dziś,
+Pension Funds,Fundusze emerytalne,
+Percentage Allocation should be equal to 100%,Przydział Procentowy powinien wynosić 100%,
+Perception Analysis,Analiza percepcji,
+Period,Okres,
+Period Closing Entry,Wpis Kończący Okres,
+Period Closing Voucher,Zamknięcie roku,
+Periodicity,Okresowość,
+Personal Details,Dane osobowe,
+Pharmaceutical,Farmaceutyczny,
+Pharmaceuticals,Farmaceutyczne,
+Physician,Lekarz,
+Piecework,Praca akordowa,
+Pincode,Kod PIN,
+Place Of Supply (State/UT),Miejsce zaopatrzenia (stan / UT),
+Place Order,Złóż zamówienie,
+Plan Name,Nazwa planu,
+Plan for maintenance visits.,Plan wizyt serwisowych.,
+Planned Qty,Planowana ilość,
+"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Planowana ilość: ilość, dla której zlecenie pracy zostało podniesione, ale oczekuje na wyprodukowanie.",
+Planning,Planowanie,
+Plants and Machineries,Rośliny i maszyn,
+Please Set Supplier Group in Buying Settings.,Ustaw grupę dostawców w ustawieniach zakupów.,
+Please add a Temporary Opening account in Chart of Accounts,Dodaj konto tymczasowego otwarcia w planie kont,
+Please add the account to root level Company - ,Dodaj konto do poziomu głównego firmy -,
+Please add the remaining benefits {0} to any of the existing component,Dodaj pozostałe korzyści {0} do dowolnego z istniejących komponentów,
+Please check Multi Currency option to allow accounts with other currency,"Proszę sprawdzić multi opcji walutowych, aby umożliwić rachunki w innych walutach",
+Please click on 'Generate Schedule',"Proszę kliknąć na ""Wygeneruj Harmonogram""",
+Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Proszę kliknąć na ""Generowanie Harmonogramu"", aby sprowadzić nr seryjny dodany do pozycji {0}",
+Please click on 'Generate Schedule' to get schedule,"Kliknij na ""Generuj Harmonogram"" aby otrzymać harmonogram",
+Please confirm once you have completed your training,Potwierdź po zakończeniu szkolenia,
+Please create purchase receipt or purchase invoice for the item {0},Utwórz paragon zakupu lub fakturę zakupu elementu {0},
+Please define grade for Threshold 0%,Proszę określić stopień dla progu 0%,
+Please enable Applicable on Booking Actual Expenses,Włącz opcję Rzeczywiste wydatki za rezerwację,
+Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Włącz Włączone do zamówienia i obowiązujące przy rzeczywistych kosztach rezerwacji,
+Please enable default incoming account before creating Daily Work Summary Group,Włącz domyślne konto przychodzące przed utworzeniem Daily Summary Summary Group,
+Please enable pop-ups,Proszę włączyć pop-upy,
+Please enter 'Is Subcontracted' as Yes or No,"Proszę wprowadź ""Zlecona"" jako Tak lub Nie",
+Please enter API Consumer Key,Wprowadź klucz klienta API,
+Please enter API Consumer Secret,Wprowadź klucz tajny API,
+Please enter Account for Change Amount,Proszę wpisać uwagę do zmiany kwoty,
+Please enter Approving Role or Approving User,Proszę wprowadzić Rolę osoby zatwierdzającej dla użytkownika zatwierdzającego,
+Please enter Cost Center,Wprowadź Centrum kosztów,
+Please enter Delivery Date,Proszę podać datę doręczenia,
+Please enter Employee Id of this sales person,Proszę podać ID pracownika tej osoby ze sprzedaży,
+Please enter Expense Account,Wprowadź konto Wydatków,
+Please enter Item Code to get Batch Number,"Proszę wpisać kod produkt, aby uzyskać numer partii",
+Please enter Item Code to get batch no,Proszę wprowadzić Kod Produktu w celu przyporządkowania serii,
+Please enter Item first,Proszę najpierw wprowadzić Przedmiot,
+Please enter Maintaince Details first,Proszę wprowadzić szczegóły dotyczące konserwacji,
+Please enter Planned Qty for Item {0} at row {1},Proszę podać Planowane Ilości dla pozycji {0} w wierszu {1},
+Please enter Preferred Contact Email,Proszę wpisać Preferowany Kontakt Email,
+Please enter Production Item first,Wprowadź jako pierwszą Produkowaną Rzecz,
+Please enter Purchase Receipt first,Proszę wpierw wprowadzić dokument zakupu,
+Please enter Receipt Document,Proszę podać Otrzymanie dokumentu,
+Please enter Repayment Periods,Proszę wprowadzić okresy spłaty,
+Please enter Reqd by Date,Wprowadź datę realizacji,
+Please enter Woocommerce Server URL,Wprowadź adres URL serwera Woocommerce,
+Please enter Write Off Account,Proszę zdefiniować konto odpisów,
+Please enter atleast 1 invoice in the table,Wprowadź co najmniej jedną fakturę do tabelki,
+Please enter company first,Proszę najpierw wpisać Firmę,
+Please enter company name first,Proszę najpierw wpisać nazwę Firmy,
+Please enter default currency in Company Master,Proszę dodać domyślną walutę w Głównych Ustawieniach Firmy,
+Please enter message before sending,Proszę wpisać wiadomość przed wysłaniem,
+Please enter parent cost center,Proszę podać nadrzędne centrum kosztów,
+Please enter quantity for Item {0},Wprowadź ilość dla przedmiotu {0},
+Please enter repayment Amount,Wpisz Kwota spłaty,
+Please enter valid Financial Year Start and End Dates,Proszę wpisać poprawny rok obrotowy od daty rozpoczęcia i zakończenia,
+Please enter valid email address,Proszę wprowadzić poprawny adres email,
+Please enter {0} first,Podaj {0} pierwszy,
+Please fill in all the details to generate Assessment Result.,"Proszę wypełnić wszystkie szczegóły, aby wygenerować wynik oceny.",
+Please identify/create Account (Group) for type - {0},Określ / utwórz konto (grupę) dla typu - {0},
+Please identify/create Account (Ledger) for type - {0},Zidentyfikuj / utwórz konto (księga) dla typu - {0},
+Please login as another user to register on Marketplace,"Zaloguj się jako inny użytkownik, aby zarejestrować się na rynku",
+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.,"Upewnij się, że na pewno chcesz usunąć wszystkie transakcje dla tej firmy. Twoje dane podstawowe pozostanie tak jak jest. Ta akcja nie można cofnąć.",
+Please mention Basic and HRA component in Company,Proszę wspomnieć o komponencie Basic i HRA w firmie,
+Please mention Round Off Account in Company,Proszę określić konto do zaokrągleń kwot w firmie,
+Please mention Round Off Cost Center in Company,Powołaj zaokrąglić centrum kosztów w Spółce,
+Please mention the Lead Name in Lead {0},Zapoznaj się z nazwą wiodącego wiodącego {0},
+Please pull items from Delivery Note,Wyciągnij elementy z dowodu dostawy,
+Please register the SIREN number in the company information file,Zarejestruj numer SIREN w pliku z informacjami o firmie,
+Please remove this Invoice {0} from C-Form {1},Proszę usunąć tę fakturę {0} z C-Form {1},
+Please save the patient first,Najpierw zapisz pacjenta,
+Please save the report again to rebuild or update,"Zapisz raport ponownie, aby go odbudować lub zaktualizować",
+"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Proszę wybrać Przyznana kwota, faktury i faktury Rodzaj numer w conajmniej jednym rzędzie",
+Please select Apply Discount On,Proszę wybrać Zastosuj RABAT,
+Please select BOM against item {0},Wybierz zestawienie materiałów w odniesieniu do pozycji {0},
+Please select BOM for Item in Row {0},Proszę wybrać LM dla pozycji w wierszu {0},
+Please select BOM in BOM field for Item {0},Proszę wybrać LM w dziedzinie BOM dla pozycji {0},
+Please select Category first,Proszę najpierw wybrać kategorię,
+Please select Charge Type first,Najpierw wybierz typ opłaty,
+Please select Company,Proszę wybrać firmę,
+Please select Company and Designation,Wybierz firmę i oznaczenie,
+Please select Company and Posting Date to getting entries,"Wybierz Firmę i Data księgowania, aby uzyskać wpisy",
+Please select Company first,Najpierw wybierz firmę,
+Please select Completion Date for Completed Asset Maintenance Log,Proszę wybrać opcję Data zakończenia dla ukończonego dziennika konserwacji zasobów,
+Please select Completion Date for Completed Repair,Proszę wybrać datę zakończenia naprawy zakończonej,
+Please select Course,Proszę wybrać Kurs,
+Please select Drug,Proszę wybrać lek,
+Please select Employee,Wybierz pracownika,
+Please select Existing Company for creating Chart of Accounts,Wybierz istniejący podmiot do tworzenia planu kont,
+Please select Healthcare Service,Wybierz Healthcare Service,
+"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle","Proszę wybrać produkt, gdzie &quot;Czy Pozycja Zdjęcie&quot; brzmi &quot;Nie&quot; i &quot;Czy Sales Item&quot; brzmi &quot;Tak&quot;, a nie ma innego Bundle wyrobów",
+Please select Maintenance Status as Completed or remove Completion Date,Wybierz Stan konserwacji jako Zakończony lub usuń datę ukończenia,
+Please select Party Type first,Wybierz typ pierwszy Party,
+Please select Patient,Proszę wybrać Pacjenta,
+Please select Patient to get Lab Tests,"Wybierz pacjenta, aby uzyskać testy laboratoryjne",
+Please select Posting Date before selecting Party,Proszę wybrać Data księgowania przed wybraniem Stronę,
+Please select Posting Date first,Najpierw wybierz zamieszczenia Data,
+Please select Price List,Wybierz Cennik,
+Please select Program,Proszę wybrać Program,
+Please select Qty against item {0},Wybierz Qty przeciwko pozycji {0},
+Please select Sample Retention Warehouse in Stock Settings first,Najpierw wybierz Sample Retention Warehouse w ustawieniach magazynowych,
+Please select Start Date and End Date for Item {0},Wybierz Datę Startu i Zakończenia dla elementu {0},
+Please select Student Admission which is mandatory for the paid student applicant,"Wybierz Wstęp studenta, który jest obowiązkowy dla płatnego studenta",
+Please select a BOM,Wybierz zestawienie materiałów,
+Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,"Wybierz partię dla elementu {0}. Nie można znaleźć pojedynczej partii, która spełnia ten wymóg",
+Please select a Company,Wybierz firmę,
+Please select a batch,Wybierz partię,
+Please select a csv file,Proszę wybrać plik .csv,
+Please select a field to edit from numpad,Proszę wybrać pole do edycji z numpadu,
+Please select a table,Proszę wybrać tabelę,
+Please select a valid Date,Proszę wybrać prawidłową datę,
+Please select a value for {0} quotation_to {1},Proszę wprowadzić wartość dla wyceny {0} {1},
+Please select a warehouse,Proszę wybrać magazyn,
+Please select at least one domain.,Wybierz co najmniej jedną domenę.,
+Please select correct account,Proszę wybrać prawidłową konto,
+Please select date,Proszę wybrać datę,
+Please select item code,Wybierz kod produktu,
+Please select month and year,Wybierz miesiąc i rok,
+Please select prefix first,Wybierz prefiks,
+Please select the Company,Wybierz firmę,
+Please select the Multiple Tier Program type for more than one collection rules.,Wybierz typ programu dla wielu poziomów dla więcej niż jednej reguły zbierania.,
+Please select the assessment group other than 'All Assessment Groups',Proszę wybrać grupę oceniającą inną niż &quot;Wszystkie grupy oceny&quot;,
+Please select the document type first,Najpierw wybierz typ dokumentu,
+Please select weekly off day,Wybierz tygodniowe dni wolne,
+Please select {0},Proszę wybrać {0},
+Please select {0} first,Proszę najpierw wybrać {0},
+Please set 'Apply Additional Discount On',Proszę ustawić &quot;Zastosuj dodatkowe zniżki na &#39;,
+Please set 'Asset Depreciation Cost Center' in Company {0},Proszę ustawić &quot;aktywa Amortyzacja Cost Center&quot; w towarzystwie {0},
+Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Proszę ustaw &#39;wpływ konto / strata na aktywach Spółki w unieszkodliwianie &quot;{0},
+Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Ustaw konto w magazynie {0} lub domyślne konto zapasów w firmie {1},
+Please set B2C Limit in GST Settings.,Ustaw Limit B2C w Ustawieniach GST.,
+Please set Company,Proszę ustawić firmę,
+Please set Company filter blank if Group By is 'Company',"Proszę wyłączyć filtr firmy, jeśli Group By jest &quot;Company&quot;",
+Please set Default Payroll Payable Account in Company {0},Proszę ustawić domyślny Payroll konto płatne w Spółce {0},
+Please set Depreciation related Accounts in Asset Category {0} or Company {1},Proszę ustawić amortyzacyjny dotyczący Konta aktywów z kategorii {0} lub {1} Spółki,
+Please set Email Address,Proszę ustawić adres e-mail,
+Please set GST Accounts in GST Settings,Ustaw Konta GST w Ustawieniach GST,
+Please set Hotel Room Rate on {},Ustaw stawkę hotelową na {},
+Please set Number of Depreciations Booked,Proszę ustawić ilość amortyzacji zarezerwowano,
+Please set Unrealized Exchange Gain/Loss Account in Company {0},Ustaw niezrealizowane konto zysku / straty w firmie {0},
+Please set User ID field in an Employee record to set Employee Role,Proszę ustawić pole ID użytkownika w rekordzie pracownika do roli pracownika zestawu,
+Please set a default Holiday List for Employee {0} or Company {1},Proszę ustawić domyślnej listy wypoczynkowe dla pracowników {0} lub {1} firmy,
+Please set account in Warehouse {0},Ustaw konto w magazynie {0},
+Please set an active menu for Restaurant {0},Ustaw aktywne menu restauracji {0},
+Please set associated account in Tax Withholding Category {0} against Company {1},Ustaw powiązane konto w kategorii U źródła poboru podatku {0} względem firmy {1},
+Please set at least one row in the Taxes and Charges Table,Ustaw co najmniej jeden wiersz w tabeli Podatki i opłaty,
+Please set default Cash or Bank account in Mode of Payment {0},Proszę ustawić domyślne konto Gotówka lub Bank dla płatności typu {0},
+Please set default account in Salary Component {0},Proszę ustawić domyślne konto wynagrodzenia komponentu {0},
+Please set default customer in Restaurant Settings,Ustaw domyślnego klienta w Ustawieniach restauracji,
+Please set default template for Leave Approval Notification in HR Settings.,Ustaw domyślny szablon powiadomienia o pozostawieniu zatwierdzania w Ustawieniach HR.,
+Please set default template for Leave Status Notification in HR Settings.,Ustaw domyślny szablon dla Opuszczania powiadomienia o statusie w Ustawieniach HR.,
+Please set default {0} in Company {1},Proszę ustawić domyślny {0} w towarzystwie {1},
+Please set filter based on Item or Warehouse,Proszę ustawić filtr na podstawie pkt lub magazynie,
+Please set leave policy for employee {0} in Employee / Grade record,Ustaw zasadę urlopu dla pracownika {0} w rekordzie Pracownicy / stanowisko,
+Please set recurring after saving,Proszę ustawić cykliczne po zapisaniu,
+Please set the Company,Proszę ustawić firmę,
+Please set the Customer Address,Ustaw adres klienta,
+Please set the Date Of Joining for employee {0},Proszę ustawić datę dołączenia do pracownika {0},
+Please set the Default Cost Center in {0} company.,Ustaw domyślne miejsce powstawania kosztów w firmie {0}.,
+Please set the Email ID for the Student to send the Payment Request,"Proszę podać identyfikator e-mailowy studenta, aby wysłać żądanie płatności",
+Please set the Item Code first,Proszę najpierw ustawić kod pozycji,
+Please set the Payment Schedule,Ustaw harmonogram płatności,
+Please set the series to be used.,"Ustaw serię, która ma być używana.",
+Please set {0} for address {1},Ustaw {0} na adres {1},
+Please setup Students under Student Groups,Proszę ustawić Studentów w grupach studenckich,
+Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',"Podziel się swoją opinią na szkolenie, klikając link &quot;Szkolenia zwrotne&quot;, a następnie &quot;Nowy&quot;",
+Please specify Company,Sprecyzuj Firmę,
+Please specify Company to proceed,Sprecyzuj firmę aby przejść dalej,
+Please specify a valid Row ID for row {0} in table {1},Proszę podać poprawny identyfikator wiersz dla rzędu {0} w tabeli {1},
+Please specify at least one attribute in the Attributes table,Proszę zaznaczyć co najmniej jeden atrybut w tabeli atrybutów,
+Please specify currency in Company,Proszę określić walutę w Spółce,
+Please specify either Quantity or Valuation Rate or both,Podaj dokładnie Ilość lub Stawkę lub obie,
+Please specify from/to range,Proszę określić zakres od/do,
+Please supply the specified items at the best possible rates,Proszę dostarczyć określone przedmioty w najlepszych możliwych cenach,
+Please update your status for this training event,Proszę zaktualizować swój status w tym szkoleniu,
+Please wait 3 days before resending the reminder.,Poczekaj 3 dni przed ponownym wysłaniem przypomnienia.,
+Point of Sale,Punkt Sprzedaży (POS),
+Point-of-Sale,Punkt sprzedaży,
+Point-of-Sale Profile,Point-of-Sale profil,
+Portal,Portal,
+Portal Settings,Ustawienia,
+Possible Supplier,Dostawca możliwe,
+Postal Expenses,Wydatki pocztowe,
+Posting Date,Data publikacji,
+Posting Date cannot be future date,Data publikacji nie może być datą przyszłą,
+Posting Time,Czas publikacji,
+Posting date and posting time is mandatory,Delegowanie datę i czas delegowania jest obowiązkowe,
+Posting timestamp must be after {0},Datownik musi byś ustawiony przed {0},
+Potential opportunities for selling.,Potencjalne szanse na sprzedaż.,
+Practitioner Schedule,Harmonogram praktyk,
+Pre Sales,Przedsprzedaż,
+Preference,Pierwszeństwo,
+Prescribed Procedures,Zalecane procedury,
+Prescription,Recepta,
+Prescription Dosage,Dawka leku na receptę,
+Prescription Duration,Czas trwania recepty,
+Prescriptions,Recepty,
+Present,Obecny,
+Prev,Poprzedni,
+Preview,Podgląd,
+Preview Salary Slip,Podgląd Zarobki Slip,
+Previous Financial Year is not closed,Poprzedni rok finansowy nie jest zamknięta,
+Price,Cena,
+Price List,Cennik,
+Price List Currency not selected,Nie wybrano Cennika w Walucie,
+Price List Rate,Wartość w cenniku,
+Price List master.,Ustawienia Cennika.,
+Price List must be applicable for Buying or Selling,Cennik musi być przyporządkowany do kupna albo sprzedaży,
+Price List {0} is disabled or does not exist,Cennik {0} jest wyłączona lub nie istnieje,
+Price or product discount slabs are required,Wymagane są płyty cenowe lub rabatowe na produkty,
+Pricing,Ustalanie cen,
+Pricing Rule,Zasada ustalania cen,
+"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Wycena Zasada jest najpierw wybiera się na podstawie ""Zastosuj Na"" polu, które może być pozycja, poz Grupa lub Marka.",
+"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Wycena Zasada jest nadpisanie cennik / określenie procentowego rabatu, w oparciu o pewne kryteria.",
+Pricing Rule {0} is updated,Zaktualizowano regułę cenową {0},
+Pricing Rules are further filtered based on quantity.,Zasady ustalania cen są dalej filtrowane na podstawie ilości.,
+Primary Address Details,Podstawowe dane adresowe,
+Primary Contact Details,Podstawowe dane kontaktowe,
+Principal Amount,Główna kwota,
+Print Format,Format Druku,
+Print IRS 1099 Forms,Drukuj formularze IRS 1099,
+Print Report Card,Wydrukuj kartę raportu,
+Print Settings,Ustawienia drukowania,
+Print and Stationery,Druk i Materiały Biurowe,
+Print settings updated in respective print format,Ustawienia drukowania zaktualizowane w odpowiednim formacie druku,
+Print taxes with zero amount,Drukowanie podatków z zerową kwotą,
+Printing and Branding,Drukowanie i firmowanie,
+Private Equity,Kapitał prywatny,
+Privilege Leave,Nieobecność z przywileju,
+Probation,Wyrok lub staż,
+Probationary Period,Okres próbny,
+Procedure,Procedura,
+Process Day Book Data,Dane książki dnia procesu,
+Process Master Data,Przetwarzaj dane podstawowe,
+Processing Chart of Accounts and Parties,Przetwarzanie planu kont i stron,
+Processing Items and UOMs,Przetwarzanie elementów i UOM,
+Processing Party Addresses,Adresy stron przetwarzających,
+Processing Vouchers,Bony przetwarzające,
+Procurement,Zaopatrzenie,
+Produced Qty,Wytworzona ilość,
+Product,Produkt,
+Product Bundle,Pakiet produktów,
+Product Search,Wyszukiwarka produktów,
+Production,Produkcja,
+Production Item,Pozycja Produkcja,
+Products,Produkty,
+Profit and Loss,Zyski i Straty,
+Profit for the year,Zysk za rok,
+Program,Program,
+Program in the Fee Structure and Student Group {0} are different.,Program w strukturze opłat i grupa studencka {0} są różne.,
+Program {0} does not exist.,Program {0} nie istnieje.,
+Program: ,Program:,
+Progress % for a task cannot be more than 100.,Postęp% dla zadania nie może zawierać więcej niż 100.,
+Project Collaboration Invitation,Projekt zaproszenie Współpraca,
+Project Id,Projekt Id,
+Project Manager,Menadżer projektu,
+Project Name,Nazwa Projektu,
+Project Start Date,Data startu projektu,
+Project Status,Status projektu,
+Project Summary for {0},Podsumowanie projektu dla {0},
+Project Update.,Aktualizacja projektu.,
+Project Value,Wartość projektu,
+Project activity / task.,Czynność / zadanie projektu,
+Project master.,Dyrektor projektu,
+Projected,Prognozowany,
+Projected Qty,Przewidywana ilość,
+Projected Quantity Formula,Formuła przewidywanej ilości,
+Projects,Projekty,
+Property,Właściwość,
+Property already added,Właściwość została już dodana,
+Proposal Writing,Pisanie wniosku,
+Proposal/Price Quote,Propozycja/Oferta cenowa,
+Prospecting,Poszukiwania,
+Provisional Profit / Loss (Credit),Rezerwowy Zysk / Strata (Credit),
+Publications,Publikacje,
+Publish Items on Website,Publikowanie przedmioty na stronie internetowej,
+Published,Opublikowany,
+Publishing,Działalność wydawnicza,
+Purchase,Zakup,
+Purchase Amount,Kwota zakupu,
+Purchase Date,Data zakupu,
+Purchase Invoice,Faktura zakupu,
+Purchase Invoice {0} is already submitted,Faktura zakupu {0} została już wysłana,
+Purchase Manager,Menadżer Zakupów,
+Purchase Master Manager,Główny Menadżer Zakupów,
+Purchase Order,Zamówienie,
+Purchase Order Amount,Kwota zamówienia zakupu,
+Purchase Order Amount(Company Currency),Kwota zamówienia zakupu (waluta firmy),
+Purchase Order Date,Data zamówienia zakupu,
+Purchase Order Items not received on time,Elementy zamówienia zakupu nie zostały dostarczone na czas,
+Purchase Order number required for Item {0},Numer Zamówienia Kupna wymagany do {0},
+Purchase Order to Payment,Zamówienie zakupu do płatności,
+Purchase Order {0} is not submitted,Zamówienia Kupna {0} nie zostało wysłane,
+Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Zlecenia zakupu nie są dozwolone w {0} z powodu karty wyników {1}.,
+Purchase Orders given to Suppliers.,Zamówienia Kupna dane Dostawcom,
+Purchase Price List,Cennik zakupowy,
+Purchase Receipt,Potwierdzenie zakupu,
+Purchase Receipt {0} is not submitted,Potwierdzenie zakupu {0} nie zostało wysłane,
+Purchase Tax Template,Szablon podatkowy zakupów,
+Purchase User,Zakup użytkownika,
+Purchase orders help you plan and follow up on your purchases,Zamówienia pomoże Ci zaplanować i śledzić na zakupy,
+Purchasing,Dostawy,
+Purpose must be one of {0},Cel musi być jednym z {0},
+Qty,Ilość,
+Qty To Manufacture,Ilość do wyprodukowania,
+Qty Total,Ilość całkowita,
+Qty for {0},Ilość dla {0},
+Qualification,Kwalifikacja,
+Quality,Jakość,
+Quality Action,Akcja jakości,
+Quality Goal.,Cel jakości.,
+Quality Inspection,Kontrola jakości,
+Quality Inspection: {0} is not submitted for the item: {1} in row {2},Kontrola jakości: {0} nie jest przesyłany dla przedmiotu: {1} w wierszu {2},
+Quality Management,Zarządzanie jakością,
+Quality Meeting,Spotkanie jakościowe,
+Quality Procedure,Procedura jakości,
+Quality Procedure.,Procedura jakości.,
+Quality Review,Przegląd jakości,
+Quantity,Ilość,
+Quantity for Item {0} must be less than {1},Ilość dla przedmiotu {0} musi być mniejsza niż {1},
+Quantity in row {0} ({1}) must be same as manufactured quantity {2},Ilość w rzędzie  {0} ({1}) musi być taka sama jak wyprodukowana ilość {2},
+Quantity must be less than or equal to {0},Ilość musi być mniejsze niż lub równe {0},
+Quantity must not be more than {0},Ilość nie może być większa niż {0},
+Quantity required for Item {0} in row {1},Ilość wymagana dla Przedmiotu {0} w rzędzie {1},
+Quantity should be greater than 0,Ilość powinna być większa niż 0,
+Quantity to Make,Ilość do zrobienia,
+Quantity to Manufacture must be greater than 0.,Ilość do produkcji musi być większy niż 0 ° C.,
+Quantity to Produce,Ilość do wyprodukowania,
+Quantity to Produce can not be less than Zero,Ilość do wyprodukowania nie może być mniejsza niż zero,
+Query Options,Opcje Zapytania,
+Queued for replacing the BOM. It may take a few minutes.,W kolejce do zastąpienia BOM. Może to potrwać kilka minut.,
+Queued for updating latest price in all Bill of Materials. It may take a few minutes.,Usługa kolejkowania aktualizacji najnowszej ceny we wszystkich materiałach. Może potrwać kilka minut.,
+Quick Journal Entry,Szybkie Księgowanie,
+Quot Count,Quot Count,
+Quot/Lead %,Kwota / kwota procentowa,
+Quotation,Wycena,
+Quotation {0} is cancelled,Oferta {0} jest anulowana,
+Quotation {0} not of type {1},Oferta {0} nie jest typem {1},
+Quotations,Notowania,
+"Quotations are proposals, bids you have sent to your customers","Notowania są propozycje, oferty Wysłane do klientów",
+Quotations received from Suppliers.,Wyceny otrzymane od dostawców,
+Quotations: ,Cytaty:,
+Quotes to Leads or Customers.,Wycena dla Tropów albo Klientów,
+RFQs are not allowed for {0} due to a scorecard standing of {1},Zlecenia RFQ nie są dozwolone w {0} z powodu karty wyników {1},
+Range,Przedział,
+Rate,Stawka,
+Rate:,Oceniać:,
+Rating,Ocena,
+Raw Material,Surowiec,
+Raw Materials,Surowy materiał,
+Raw Materials cannot be blank.,Surowce nie może być puste.,
+Re-open,Otwórz ponownie,
+Read blog,Czytaj blog,
+Read the ERPNext Manual,Przeczytać instrukcję ERPNext,
+Reading Uploaded File,Odczyt przesłanego pliku,
+Real Estate,Nieruchomości,
+Reason For Putting On Hold,Powód do zawieszenia,
+Reason for Hold,Powód wstrzymania,
+Reason for hold: ,Powód wstrzymania:,
+Receipt,Paragon,
+Receipt document must be submitted,Otrzymanie dokumentu należy składać,
+Receivable,Należności,
+Receivable Account,Konto Należności,
+Received,Otrzymano,
+Received On,Otrzymana w dniu,
+Received Quantity,Otrzymana ilość,
+Received Stock Entries,Otrzymane wpisy giełdowe,
+Receiver List is empty. Please create Receiver List,Lista odbiorców jest pusta. Proszę stworzyć Listę Odbiorców,
+Recipients,Adresaci,
+Reconcile,Uzgodnij,
+"Record of all communications of type email, phone, chat, visit, etc.","Zapis wszystkich komunikatów typu e-mail, telefon, czat, wizyty, itd",
+Records,Dokumentacja,
+Redirect URL,przekierowanie,
+Ref,Ref,
+Ref Date,Ref Data,
+Reference,Referencja,
+Reference #{0} dated {1},Odnośnik #{0} z datą {1},
+Reference Date,Data Odniesienia,
+Reference Doctype must be one of {0},Doctype referencyjny musi być jednym z {0},
+Reference Document,Dokument referencyjny,
+Reference Document Type,Oznaczenie typu dokumentu,
+Reference No & Reference Date is required for {0},Nr Odniesienia & Data Odniesienia jest wymagana do {0},
+Reference No and Reference Date is mandatory for Bank transaction,Numer referencyjny i data jest obowiązkowe dla transakcji Banku,
+Reference No is mandatory if you entered Reference Date,Nr Odniesienia jest obowiązkowy jest wprowadzono Datę Odniesienia,
+Reference No.,Nr referencyjny.,
+Reference Number,Numer Odniesienia,
+Reference Owner,Odniesienie Właściciel,
+Reference Type,Typ Odniesienia,
+"Reference: {0}, Item Code: {1} and Customer: {2}","Odniesienie: {0}, Kod pozycji: {1} i klient: {2}",
+References,Referencje,
+Refresh Token,Odśwież Reklamowe,
+Region,Region,
+Register,Zarejestrować,
+Reject,Odrzucać,
+Rejected,Odrzucono,
+Related,Związane z,
+Relation with Guardian1,Relacja z Guardian1,
+Relation with Guardian2,Relacja z Guardian2,
+Release Date,Data wydania,
+Reload Linked Analysis,Przeładuj połączoną analizę,
+Remaining,Pozostały,
+Remaining Balance,Pozostałe saldo,
+Remarks,Uwagi,
+Reminder to update GSTIN Sent,Przypomnienie o aktualizacji GSTIN wysłanych,
+Remove item if charges is not applicable to that item,"Usuń element, jeśli opłata nie ma zastosowania do tej pozycji",
+Removed items with no change in quantity or value.,Usunięte pozycje bez zmian w ilości lub wartości.,
+Reopen,Otworzyć na nowo,
+Reorder Level,Poziom Uporządkowania,
+Reorder Qty,Ilość do ponownego zamówienia,
+Repeat Customer Revenue,Powtórz Przychody klienta,
+Repeat Customers,Powtarzający się klient,
+Replace BOM and update latest price in all BOMs,Zastąp BOM i zaktualizuj ostatnią cenę we wszystkich materiałach,
+Replied,Odpowiedziane,
+Replies,Odpowiedzi,
+Report,Raport,
+Report Builder,Kreator raportów,
+Report Type,Typ raportu,
+Report Type is mandatory,Typ raportu jest wymagany,
+Reports,Raporty,
+Reqd By Date,Data realizacji,
+Reqd Qty,Wymagana ilość,
+Request for Quotation,Zapytanie ofertowe,
+Request for Quotations,Zapytanie o cenę,
+Request for Raw Materials,Zapytanie o surowce,
+Request for purchase.,Prośba o zakup,
+Request for quotation.,Zapytanie ofertowe.,
+Requesting Site,Strona żądająca,
+Requesting payment against {0} {1} for amount {2},Żądanie zapłatę przed {0} {1} w ilości {2},
+Requestor,Żądający,
+Required On,Wymagane na,
+Required Qty,Wymagana ilość,
+Required Quantity,Wymagana ilość,
+Reschedule,Zmień harmonogram,
+Research,Badania,
+Research & Development,Badania i Rozwój,
+Researcher,Researcher,
+Resend Payment Email,Wyślij ponownie płatności E-mail,
+Reserve Warehouse,Reserve Warehouse,
+Reserved Qty,Zarezerwowana ilość,
+Reserved Qty for Production,Reserved Ilość Produkcji,
+Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Zarezerwowane Ilość na produkcję: Ilość surowców do produkcji artykułów.,
+Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Magazyn Reserved jest obowiązkowy dla Produktu {0} w dostarczonych Surowcach,
+Reserved for manufacturing,Zarezerwowana dla produkcji,
+Reserved for sale,Zarezerwowane na sprzedaż,
+Reserved for sub contracting,Zarezerwowany dla podwykonawców,
+Resistant,Odporny,
+Resolve error and upload again.,Rozwiąż błąd i prześlij ponownie.,
+Responsibilities,Obowiązki,
+Rest Of The World,Reszta świata,
+Restart Subscription,Ponownie uruchom subskrypcję,
+Restaurant,Restauracja,
+Result Date,Data wyniku,
+Result already Submitted,Wynik już przesłany,
+Resume,Wznawianie,
+Retail,Detal,
+Retail & Wholesale,Hurt i Detal,
+Retail Operations,Operacje detaliczne,
+Retained Earnings,Zysk z lat ubiegłych,
+Retention Stock Entry,Wpis do magazynu retencyjnego,
+Retention Stock Entry already created or Sample Quantity not provided,Wpis zapasu retencji już utworzony lub nie podano próbki próbki,
+Return,Powrót,
+Return / Credit Note,Powrót / Credit Note,
+Return / Debit Note,Powrót / noty obciążeniowej,
+Returns,zwroty,
+Reverse Journal Entry,Reverse Journal Entry,
+Review Invitation Sent,Wysłane zaproszenie do recenzji,
+Review and Action,Recenzja i działanie,
+Role,Rola,
+Rooms Booked,Pokoje zarezerwowane,
+Root Company,Firma główna,
+Root Type,Typ Root,
+Root Type is mandatory,Typ Root jest obowiązkowy,
+Root cannot be edited.,Root nie może być edytowany,
+Root cannot have a parent cost center,Root nie może mieć rodzica w centrum kosztów,
+Round Off,Zaokrąglenia,
+Rounded Total,Końcowa zaokrąglona kwota,
+Route,Trasa,
+Row # {0}: ,Wiersz # {0}:,
+Row # {0}: Batch No must be same as {1} {2},"Wiersz # {0}: Batch Nie musi być taki sam, jak {1} {2}",
+Row # {0}: Cannot return more than {1} for Item {2},Wiersz # {0}: Nie można wrócić więcej niż {1} dla pozycji {2},
+Row # {0}: Rate cannot be greater than the rate used in {1} {2},Wiersz {0}: stawka nie może być większa niż stawka stosowana w {1} {2},
+Row # {0}: Serial No is mandatory,Wiersz # {0}: Numer seryjny jest obowiązkowe,
+Row # {0}: Serial No {1} does not match with {2} {3},Wiersz # {0}: Numer seryjny: {1} nie jest zgodny z {2} {3},
+Row #{0} (Payment Table): Amount must be negative,Wiersz nr {0} (tabela płatności): kwota musi być ujemna,
+Row #{0} (Payment Table): Amount must be positive,Wiersz nr {0} (tabela płatności): kwota musi być dodatnia,
+Row #{0}: Account {1} does not belong to company {2},Wiersz nr {0}: konto {1} nie należy do firmy {2},
+Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Wiersz {0}: alokowana kwota nie może być większa niż kwota pozostająca do spłaty.,
+"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Wiersz # {0}: {1} aktywami nie mogą być składane, jest już {2}",
+Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,"Wiersz nr {0}: nie można ustawić wartości Rate, jeśli kwota jest większa niż kwota rozliczona dla elementu {1}.",
+Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Wiersz # {0}: Data Rozliczenie {1} nie może być wcześniejsza niż data Czek {2},
+Row #{0}: Duplicate entry in References {1} {2},Wiersz # {0}: Duplikuj wpis w odsyłaczach {1} {2},
+Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Wiersz # {0}: oczekiwana data dostarczenia nie może być poprzedzona datą zamówienia zakupu,
+Row #{0}: Item added,Wiersz # {0}: element dodany,
+Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Wiersz # {0}: Journal Entry {1} nie masz konta {2} lub już porównywana z innym kuponie,
+Row #{0}: Not allowed to change Supplier as Purchase Order already exists,"Wiersz # {0}: Nie wolno zmienić dostawcę, jak już istnieje Zamówienie",
+Row #{0}: Please set reorder quantity,Wiersz # {0}: Proszę ustawić ilość zmienić kolejność,
+Row #{0}: Please specify Serial No for Item {1},Wiersz # {0}: Proszę podać nr seryjny dla pozycji {1},
+Row #{0}: Qty increased by 1,Wiersz # {0}: Ilość zwiększona o 1,
+Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,"Wiersz # {0}: Cena musi być taki sam, jak {1}: {2} ({3} / {4})",
+Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Wiersz # {0}: Typ dokumentu referencyjnego musi być jednym z wydatków roszczenia lub wpisu do dziennika,
+"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Wiersz # {0}: Reference Document Type musi być jednym z Zamówieniem, faktura zakupu lub Journal Entry",
+Row #{0}: Rejected Qty can not be entered in Purchase Return,Wiersz # {0}: Odrzucone Ilość nie może być wprowadzone w Purchase Powrót,
+Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Wiersz # {0}: Odrzucone Magazyn jest obowiązkowe przed odrzucony poz {1},
+Row #{0}: Reqd by Date cannot be before Transaction Date,Wiersz nr {0}: Data realizacji nie może być wcześniejsza od daty transakcji,
+Row #{0}: Set Supplier for item {1},Wiersz # {0}: Ustaw Dostawca dla pozycji {1},
+Row #{0}: Status must be {1} for Invoice Discounting {2},Wiersz # {0}: status musi być {1} dla rabatu na faktury {2},
+"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","Wiersz # {0}: partia {1} ma tylko {2} qty. Wybierz inną partię, która ma {3} qty dostępną lub podzielisz wiersz na wiele wierszy, aby dostarczyć / wydać z wielu partii",
+Row #{0}: Timings conflicts with row {1},Wiersz # {0}: taktowania konflikty z rzędu {1},
+Row #{0}: {1} can not be negative for item {2},Wiersz # {0}: {1} nie może być negatywne dla pozycji {2},
+Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Wiersz nr {0}: Kwota nie może być większa niż oczekiwaniu Kwota wobec Kosztów zastrzeżenia {1}. W oczekiwaniu Kwota jest {2},
+Row {0} : Operation is required against the raw material item {1},Wiersz {0}: operacja jest wymagana względem elementu surowcowego {1},
+Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Wiersz {0} # Przydzielona kwota {1} nie może być większa od kwoty nieodebranej {2},
+Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Wiersz {0} # Element {1} nie może zostać przeniesiony więcej niż {2} na zamówienie {3},
+Row {0}# Paid Amount cannot be greater than requested advance amount,Wiersz {0} # Płatna kwota nie może być większa niż żądana kwota zaliczki,
+Row {0}: Activity Type is mandatory.,Wiersz {0}: Typ aktywny jest obowiązkowe.,
+Row {0}: Advance against Customer must be credit,Wiersz {0}: Zaliczka  Klienta jest po stronie kredytowej,
+Row {0}: Advance against Supplier must be debit,Wiersz {0}: Zaliczka Dostawcy jest po stronie debetowej,
+Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Wiersz {0}: Przyznana kwota {1} musi być mniejsza lub równa kwocie Entry Płatność {2},
+Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Wiersz {0}: Przyznana kwota {1} musi być mniejsza lub równa pozostałej kwoty faktury {2},
+Row {0}: An Reorder entry already exists for this warehouse {1},"Wiersz {0}: Zapis ponownego zamawiania dla tego magazynu, {1}",
+Row {0}: Bill of Materials not found for the Item {1},Wiersz {0}: Bill of Materials nie znaleziono Item {1},
+Row {0}: Conversion Factor is mandatory,Wiersz {0}: Współczynnik konwersji jest obowiązkowe,
+Row {0}: Cost center is required for an item {1},Wiersz {0}: wymagany jest koszt centrum dla elementu {1},
+Row {0}: Credit entry can not be linked with a {1},Wiersz {0}: wejście kredytowe nie mogą być powiązane z {1},
+Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Wiersz {0}: Waluta BOM # {1} powinna być równa wybranej walucie {2},
+Row {0}: Debit entry can not be linked with a {1},Wiersz {0}: Debit wpis nie może być związana z {1},
+Row {0}: Depreciation Start Date is required,Wiersz {0}: Wymagana data rozpoczęcia amortyzacji,
+Row {0}: Enter location for the asset item {1},Wiersz {0}: wpisz lokalizację dla elementu zasobu {1},
+Row {0}: Exchange Rate is mandatory,Wiersz {0}: Kurs wymiany jest obowiązkowe,
+Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Wiersz {0}: oczekiwana wartość po przydatności musi być mniejsza niż kwota zakupu brutto,
+Row {0}: From Time and To Time is mandatory.,Wiersz {0}: od czasu do czasu i jest obowiązkowe.,
+Row {0}: From Time and To Time of {1} is overlapping with {2},Wiersz {0}: od czasu do czasu i od {1} pokrywa się z {2},
+Row {0}: From time must be less than to time,Wiersz {0}: Od czasu musi być mniej niż do czasu,
+Row {0}: Hours value must be greater than zero.,Wiersz {0}: Godziny wartość musi być większa od zera.,
+Row {0}: Invalid reference {1},Wiersz {0}: Nieprawidłowy odniesienia {1},
+Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Wiersz {0}: Party / konto nie jest zgodny z {1} / {2} w {3} {4},
+Row {0}: Party Type and Party is required for Receivable / Payable account {1},Wiersz {0}: Typ i Partia Partia jest wymagane w przypadku otrzymania / rachunku Płatne {1},
+Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Wiersz {0}: Płatność przeciwko sprzedaży / Zamówienia powinny być zawsze oznaczone jako góry,
+Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Wiersz {0}: Proszę sprawdzić ""Czy Advance"" przeciw konta {1}, jeśli jest to zaliczka wpis.",
+Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Wiersz {0}: należy ustawić w Powodzie zwolnienia z podatku w podatkach od sprzedaży i opłatach,
+Row {0}: Please set the Mode of Payment in Payment Schedule,Wiersz {0}: ustaw tryb płatności w harmonogramie płatności,
+Row {0}: Please set the correct code on Mode of Payment {1},Wiersz {0}: ustaw prawidłowy kod w trybie płatności {1},
+Row {0}: Qty is mandatory,Wiersz {0}: Ilość jest obowiązkowe,
+Row {0}: Quality Inspection rejected for item {1},Wiersz {0}: Kontrola jakości odrzucona dla elementu {1},
+Row {0}: UOM Conversion Factor is mandatory,Wiersz {0}: JM Współczynnik konwersji jest obowiązkowe,
+Row {0}: select the workstation against the operation {1},Wiersz {0}: wybierz stację roboczą w stosunku do operacji {1},
+Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Wiersz {0}: {1} wymagane numery seryjne dla elementu {2}. Podałeś {3}.,
+Row {0}: {1} must be greater than 0,Wiersz {0}: {1} musi być większy niż 0,
+Row {0}: {1} {2} does not match with {3},Wiersz {0}: {1} {2} nie zgadza się z {3},
+Row {0}:Start Date must be before End Date,Wiersz {0}: Data Początku musi być przed Datą Końca,
+Rows with duplicate due dates in other rows were found: {0},Znaleziono wiersze z powtarzającymi się datami w innych wierszach: {0},
+Rules for adding shipping costs.,Zasady naliczania kosztów transportu.,
+Rules for applying pricing and discount.,Zasady określania cen i zniżek,
+SGST Amount,Kwota SGST,
+Safety Stock,Bezpieczeństwo Zdjęcie,
+Salary,Wynagrodzenia,
+Salary Slip ID,Wynagrodzenie Slip ID,
+Salary Slip of employee {0} already created for this period,Wynagrodzenie Slip pracownika {0} już stworzony dla tego okresu,
+Salary Slip of employee {0} already created for time sheet {1},Slip Wynagrodzenie pracownika {0} już stworzony dla arkusza czasu {1},
+Salary Slip submitted for period from {0} to {1},Przesłane wynagrodzenie za okres od {0} do {1},
+Salary Structure Assignment for Employee already exists,Przydział struktury wynagrodzeń dla pracownika już istnieje,
+Salary Structure Missing,Struktura Wynagrodzenie Brakujący,
+Salary Structure must be submitted before submission of Tax Ememption Declaration,Struktura wynagrodzeń musi zostać złożona przed złożeniem deklaracji zwolnienia podatkowego,
+Salary Structure not found for employee {0} and date {1},Nie znaleziono struktury wynagrodzenia dla pracownika {0} i daty {1},
+Salary Structure should have flexible benefit component(s) to dispense benefit amount,Struktura wynagrodzeń powinna mieć elastyczny składnik (-y) świadczeń w celu przyznania kwoty świadczenia,
+"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.",Wynagrodzenie już przetwarzane w okresie od {0} i {1} Zostaw okresu stosowania nie może być pomiędzy tym zakresie dat.,
+Sales,Sprzedaż,
+Sales Account,Konto sprzedaży,
+Sales Expenses,Koszty sprzedaży,
+Sales Funnel,Lejek sprzedaży,
+Sales Invoice,Faktura sprzedaży,
+Sales Invoice {0} has already been submitted,Faktura Sprzedaży {0} została już wprowadzona,
+Sales Invoice {0} must be cancelled before cancelling this Sales Order,Faktura Sprzedaży {0} powinna być anulowana przed anulowaniem samego Zlecenia Sprzedaży,
+Sales Manager,Menadżer Sprzedaży,
+Sales Master Manager,Główny Menadżer Sprzedaży,
+Sales Order,Zlecenie sprzedaży,
+Sales Order Item,Pozycja Zlecenia Sprzedaży,
+Sales Order required for Item {0},Zlecenie Sprzedaży jest wymagane dla Elementu {0},
+Sales Order to Payment,Płatności do zamówienia sprzedaży,
+Sales Order {0} is not submitted,Zlecenie Sprzedaży {0} nie jest jeszcze złożone,
+Sales Order {0} is not valid,Zlecenie Sprzedaży {0} jest niepoprawne,
+Sales Order {0} is {1},Zamówienie sprzedaży jest {0} {1},
+Sales Orders,Zlecenia sprzedaży,
+Sales Partner,Partner Sprzedaży,
+Sales Pipeline,Pipeline sprzedaży,
+Sales Price List,Lista cena sprzedaży,
+Sales Return,Zwrot sprzedaży,
+Sales Summary,Podsumowanie sprzedaży,
+Sales Tax Template,Szablon Podatek od sprzedaży,
+Sales Team,Team Sprzedażowy,
+Sales User,Sprzedaż użytkownika,
+Sales and Returns,Sprzedaż i zwroty,
+Sales campaigns.,Kampanie sprzedażowe,
+Sales orders are not available for production,Zamówienia sprzedaży nie są dostępne do produkcji,
+Salutation,Forma grzecznościowa,
+Same Company is entered more than once,Ta sama Spółka wpisana jest więcej niż jeden raz,
+Same item cannot be entered multiple times.,Sama pozycja nie może być wprowadzone wiele razy.,
+Same supplier has been entered multiple times,"Tego samego dostawcy, który został wpisany wielokrotnie",
+Sample,Próba,
+Sample Collection,Kolekcja próbek,
+Sample quantity {0} cannot be more than received quantity {1},Ilość próbki {0} nie może być większa niż ilość odebranej {1},
+Sanctioned,usankcjonowane,
+Sanctioned Amount,Zatwierdzona Kwota,
+Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Usankcjonowane Kwota nie może być większa niż ilość roszczenia w wierszu {0}.,
+Sand,Piasek,
+Saturday,Sobota,
+Saved,Zapisane,
+Saving {0},Zapisywanie {0},
+Scan Barcode,Skanuj kod kreskowy,
+Schedule,Harmonogram,
+Schedule Admission,Zaplanuj wstęp,
+Schedule Course,Plan zajęć,
+Schedule Date,Planowana Data,
+Schedule Discharge,Zaplanuj rozładowanie,
+Scheduled,Zaplanowane,
+Scheduled Upto,Zaplanowane Upto,
+"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Harmonogramy nakładek {0}, czy chcesz kontynuować po przejściu przez zakładki?",
+Score cannot be greater than Maximum Score,Wynik nie może być większa niż maksymalna liczba punktów,
+Score must be less than or equal to 5,Wynik musi być niższy lub równy 5,
+Scorecards,Karty wyników,
+Scrapped,Złomowany,
+Search,Szukaj,
+Search Results,Wyniki wyszukiwania,
+Search Sub Assemblies,Zespoły Szukaj Sub,
+"Search by item code, serial number, batch no or barcode","Wyszukaj według kodu produktu, numeru seryjnego, numeru partii lub kodu kreskowego",
+"Seasonality for setting budgets, targets etc.","Sezonowość ustalania budżetów, cele itd.",
+Secret Key,Sekretny klucz,
+Secretary,Sekretarka,
+Section Code,Kod sekcji,
+Secured Loans,Kredyty Hipoteczne,
+Securities & Commodity Exchanges,Papiery i Notowania Giełdowe,
+Securities and Deposits,Papiery wartościowe i depozyty,
+See All Articles,Zobacz wszystkie artykuły,
+See all open tickets,Zobacz wszystkie otwarte bilety,
+See past orders,Zobacz poprzednie zamówienia,
+See past quotations,Zobacz poprzednie cytaty,
+Select,Wybierz,
+Select Alternate Item,Wybierz opcję Alternatywny przedmiot,
+Select Attribute Values,Wybierz wartości atrybutów,
+Select BOM,Wybierz BOM,
+Select BOM and Qty for Production,Wybierz BOM i ilosc Produkcji,
+"Select BOM, Qty and For Warehouse","Wybierz LM, ilość i magazyn",
+Select Batch,Wybierz opcję Batch,
+Select Batch Numbers,Wybierz numery partii,
+Select Brand...,Wybierz markę ...,
+Select Company,Wybierz firmę,
+Select Company...,Wybierz firmą ...,
+Select Customer,Wybierz klienta,
+Select Days,Wybierz dni,
+Select Default Supplier,Wybierz Domyślne Dostawca,
+Select DocType,Wybierz DocType,
+Select Fiscal Year...,Wybierz rok finansowy ...,
+Select Item (optional),Wybierz pozycję (opcjonalnie),
+Select Items based on Delivery Date,Wybierz pozycje w oparciu o datę dostarczenia,
+Select Items to Manufacture,Wybierz produkty do Manufacture,
+Select Loyalty Program,Wybierz program lojalnościowy,
+Select Patient,Wybierz pacjenta,
+Select Possible Supplier,Wybierz Możliwa Dostawca,
+Select Property,Wybierz właściwość,
+Select Quantity,Wybierz ilość,
+Select Serial Numbers,Wybierz numery seryjne,
+Select Target Warehouse,Wybierz Magazyn docelowy,
+Select Warehouse...,Wybierz magazyn ...,
+Select an account to print in account currency,Wybierz konto do wydrukowania w walucie konta,
+Select an employee to get the employee advance.,"Wybierz pracownika, aby uzyskać awans pracownika.",
+Select at least one value from each of the attributes.,Wybierz co najmniej jedną wartość z każdego z atrybutów.,
+Select change amount account,Wybierz opcję Zmień konto kwotę,
+Select company first,Najpierw wybierz firmę,
+Select students manually for the Activity based Group,Wybierz uczniów ręcznie dla grupy działań,
+Select the customer or supplier.,Wybierz klienta lub dostawcę.,
+Select the nature of your business.,Wybierz charakteru swojej działalności.,
+Select the program first,Najpierw wybierz program,
+Select to add Serial Number.,"Wybierz, aby dodać numer seryjny.",
+Select your Domains,Wybierz swoje domeny,
+Selected Price List should have buying and selling fields checked.,Wybrany cennik powinien mieć sprawdzone pola kupna i sprzedaży.,
+Sell,Sprzedać,
+Selling,Sprzedaż,
+Selling Amount,Kwota sprzedaży,
+Selling Price List,Cennik sprzedaży,
+Selling Rate,Kurs sprzedaży,
+"Selling must be checked, if Applicable For is selected as {0}","Sprzedaż musi być sprawdzona, jeśli dotyczy wybrano jako {0}",
+Send Grant Review Email,Wyślij wiadomość e-mail dotyczącą oceny grantu,
+Send Now,Wyślij teraz,
+Send SMS,Wyślij SMS,
+Send mass SMS to your contacts,Wyślij zbiorczo sms do swoich kontaktów,
+Sensitivity,Wrażliwość,
+Sent,Wysłano,
+Serial No and Batch,Numer seryjny oraz Batch,
+Serial No is mandatory for Item {0},Nr seryjny jest obowiązkowy dla pozycji {0},
+Serial No {0} does not belong to Batch {1},Numer seryjny {0} nie należy do partii {1},
+Serial No {0} does not belong to Delivery Note {1},Nr seryjny {0} nie należy do żadnego potwierdzenia dostawy {1},
+Serial No {0} does not belong to Item {1},Nr seryjny {0} nie należy do żadnej rzeczy {1},
+Serial No {0} does not belong to Warehouse {1},Nr seryjny {0} nie należy do magazynu {1},
+Serial No {0} does not belong to any Warehouse,Nr seryjny: {0} nie należy do żadnego Magazynu,
+Serial No {0} does not exist,Nr seryjny {0} nie istnieje,
+Serial No {0} has already been received,Nr seryjny {0} otrzymano,
+Serial No {0} is under maintenance contract upto {1},Nr seryjny {0} w ramach umowy serwisowej do {1},
+Serial No {0} is under warranty upto {1},Nr seryjny {0} w ramach gwarancji do {1},
+Serial No {0} not found,Nr seryjny {0} nie znaleziono,
+Serial No {0} quantity {1} cannot be a fraction,Nr seryjny {0} dla ilości {1} nie może być ułamkiem,
+Serial Nos Required for Serialized Item {0},Nr-y seryjne Wymagane do szeregowania pozycji {0},
+Serial Number: {0} is already referenced in Sales Invoice: {1},Numer seryjny: {0} znajduje się już w fakturze sprzedaży: {1},
+Serial Numbers,Numer seryjny,
+Serial Numbers in row {0} does not match with Delivery Note,Numery seryjne w wierszu {0} nie pasują do opisu dostawy,
+Serial no {0} has been already returned,Numer seryjny {0} został już zwrócony,
+Serial number {0} entered more than once,Nr seryjny {0} wprowadzony jest więcej niż jeden raz,
+Serialized Inventory,Inwentaryzacja w odcinkach,
+Series Updated,Aktualizacja serii,
+Series Updated Successfully,Seria zaktualizowana,
+Series is mandatory,Serie jest obowiązkowa,
+Series {0} already used in {1},Seria {0} już zostały użyte w {1},
+Service,Usługa,
+Service Expense,Koszty usługi,
+Service Level Agreement,Umowa o poziomie usług,
+Service Level Agreement.,Umowa o poziomie usług.,
+Service Level.,Poziom usług.,
+Service Stop Date cannot be after Service End Date,Data zatrzymania usługi nie może być późniejsza niż data zakończenia usługi,
+Service Stop Date cannot be before Service Start Date,Data zatrzymania usługi nie może być wcześniejsza niż data rozpoczęcia usługi,
+Services,Usługi,
+"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Ustaw wartości domyślne jak firma, waluta, bieżący rok rozliczeniowy, itd.",
+Set Details,Ustaw szczegóły,
+Set New Release Date,Ustaw nową datę wydania,
+Set Project and all Tasks to status {0}?,Ustaw projekt i wszystkie zadania na status {0}?,
+Set Status,Ustaw status,
+Set Tax Rule for shopping cart,Ustaw regułę podatkowa do koszyka,
+Set as Closed,Ustaw jako Zamknięty,
+Set as Completed,Ustaw jako ukończone,
+Set as Default,Ustaw jako domyślne,
+Set as Lost,Ustaw jako utracony,
+Set as Open,Ustaw jako otwarty,
+Set default inventory account for perpetual inventory,Ustaw domyślne konto zapasów dla zasobów reklamowych wieczystych,
+Set this if the customer is a Public Administration company.,"Ustaw to, jeśli klient jest firmą administracji publicznej.",
+Set {0} in asset category {1} or company {2},Ustaw {0} w kategorii aktywów {1} lub firmie {2},
+"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Ustawianie zdarzenia do {0}, ponieważ urzędnik dołączone do sprzedaży poniżej osób nie posiada identyfikator użytkownika {1}",
+Setting defaults,Ustawianie wartości domyślnych,
+Setting up Email,Konfiguracja e-mail,
+Setting up Email Account,Konfigurowanie konta e-mail,
+Setting up Employees,Ustawienia pracowników,
+Setting up Taxes,Konfigurowanie podatki,
+Setting up company,Zakładanie firmy,
+Settings,Ustawienia,
+"Settings for online shopping cart such as shipping rules, price list etc.","Ustawienia dla internetowego koszyka, takie jak zasady żeglugi, cennika itp",
+Settings for website homepage,Ustawienia strony głównej,
+Settings for website product listing,Ustawienia listy produktów w witrynie,
+Settled,Osiadły,
+Setup Gateway accounts.,Rachunki konfiguracji bramy.,
+Setup SMS gateway settings,Konfiguracja ustawień bramki SMS,
+Setup cheque dimensions for printing,Wymiary Sprawdź konfigurację do druku,
+Setup default values for POS Invoices,Ustaw wartości domyślne dla faktur POS,
+Setup mode of POS (Online / Offline),Tryb konfiguracji POS (Online / Offline),
+Setup your Institute in ERPNext,Skonfiguruj swój instytut w ERPNext,
+Share Balance,Udostępnij saldo,
+Share Ledger,Udostępnij Księgę,
+Share Management,Zarządzanie udziałami,
+Share Transfer,Udostępnij przelew,
+Share Type,Rodzaj udziału,
+Shareholder,Akcjonariusz,
+Ship To State,Ship To State,
+Shipments,Przesyłki,
+Shipping,Wysyłka,
+Shipping Address,Adres dostawy,
+"Shipping Address does not have country, which is required for this Shipping Rule","Adres wysyłki nie ma kraju, który jest wymagany dla tej reguły wysyłki",
+Shipping rule only applicable for Buying,Zasada wysyłki ma zastosowanie tylko do zakupów,
+Shipping rule only applicable for Selling,Reguła wysyłki dotyczy tylko sprzedaży,
+Shopify Supplier,Shopify dostawca,
+Shopping Cart,Koszyk,
+Shopping Cart Settings,Ustawienia koszyka,
+Short Name,Skrócona nazwa,
+Shortage Qty,Niedobór szt,
+Show Completed,Pokaż ukończone,
+Show Cumulative Amount,Pokaż łączną kwotę,
+Show Employee,Pokaż pracownika,
+Show Open,Pokaż otwarta,
+Show Opening Entries,Pokaż otwierające wpisy,
+Show Payment Details,Pokaż szczegóły płatności,
+Show Return Entries,Pokaż wpisy zwrotne,
+Show Salary Slip,Slip Pokaż Wynagrodzenie,
+Show Variant Attributes,Pokaż atrybuty wariantu,
+Show Variants,Pokaż warianty,
+Show closed,Pokaż closed,
+Show exploded view,Pokaż widok rozstrzelony,
+Show only POS,Pokaż tylko POS,
+Show unclosed fiscal year's P&L balances,Pokaż niezamkniętych rok obrotowy za P &amp; L sald,
+Show zero values,Pokaż wartości zerowe,
+Sick Leave,Urlop Chorobowy,
+Silt,Muł,
+Single Variant,Pojedynczy wariant,
+Single unit of an Item.,Jednostka produktu.,
+"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Pomijanie Zostaw alokację dla następujących pracowników, ponieważ rekordy Urlop alokacji już istnieją przeciwko nim. {0}",
+"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Pomijanie przydziału struktury wynagrodzeń dla następujących pracowników, ponieważ rekordy przypisania struktury wynagrodzeń już istnieją przeciwko nim. {0}",
+Slideshow,Pokaz slajdów,
+Slots for {0} are not added to the schedule,Gniazda dla {0} nie są dodawane do harmonogramu,
+Small,Mały,
+Soap & Detergent,Środki czystości i Detergenty,
+Software,Oprogramowanie,
+Software Developer,Programista,
+Softwares,Oprogramowania,
+Soil compositions do not add up to 100,Składy gleby nie sumują się do 100,
+Sold,Sprzedany,
+Some emails are invalid,Niektóre e-maile są nieprawidłowe,
+Some information is missing,Niektóre informacje brakuje,
+Something went wrong!,Coś poszło nie tak!,
+"Sorry, Serial Nos cannot be merged","Niestety, numery seryjne nie mogą zostać połączone",
+Source,Źródło,
+Source Name,Źródło Nazwa,
+Source Warehouse,Magazyn źródłowy,
+Source and Target Location cannot be same,Lokalizacja źródłowa i docelowa nie może być taka sama,
+Source and target warehouse cannot be same for row {0},Źródło i magazyn docelowy nie mogą być takie sama dla wiersza {0},
+Source and target warehouse must be different,Źródło i magazyn docelowy musi być inna,
+Source of Funds (Liabilities),Zobowiązania,
+Source warehouse is mandatory for row {0},Magazyn źródłowy jest obowiązkowy dla wiersza {0},
+Specified BOM {0} does not exist for Item {1},Określone BOM {0} nie istnieje dla pozycji {1},
+Split,Rozdzielać,
+Split Batch,Podział partii,
+Split Issue,Podziel problem,
+Sports,Sporty,
+Staffing Plan {0} already exist for designation {1},Plan zatrudnienia {0} już istnieje dla wyznaczenia {1},
+Standard,Standard,
+Standard Buying,Standardowe zakupy,
+Standard Selling,Standard sprzedaży,
+Standard contract terms for Sales or Purchase.,Standardowe warunki umowy sprzedaży lub kupna.,
+Start Date,Data startu,
+Start Date of Agreement can't be greater than or equal to End Date.,Data rozpoczęcia umowy nie może być większa lub równa dacie zakończenia.,
+Start Year,Rok rozpoczęcia,
+"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Daty rozpoczęcia i zakończenia nie w ważnym okresie płacowym, nie można obliczyć {0}",
+"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Daty rozpoczęcia i zakończenia nie są w ważnym okresie rozliczeniowym, nie można obliczyć {0}.",
+Start date should be less than end date for Item {0},Data startu powinna być niższa od daty końca dla {0},
+Start date should be less than end date for task {0},Data rozpoczęcia powinna być mniejsza niż data zakończenia dla zadania {0},
+Start day is greater than end day in task '{0}',Dzień rozpoczęcia jest większy niż dzień zakończenia w zadaniu &quot;{0}&quot;,
+Start on,Zaczynaj na,
+State,Stan,
+State/UT Tax,Podatek stanowy / UT,
+Statement of Account,Wyciąg z rachunku,
+Status must be one of {0},Status musi być jednym z {0},
+Stock,Magazyn,
+Stock Adjustment,Korekta,
+Stock Analytics,Analityka magazynu,
+Stock Assets,Zapasy,
+Stock Available,Dostępność towaru,
+Stock Balance,Bilans zapasów,
+Stock Entries already created for Work Order ,Wpisy magazynowe już utworzone dla zlecenia pracy,
+Stock Entry,Zapis magazynowy,
+Stock Entry {0} created,Wpis {0} w Magazynie został utworzony,
+Stock Entry {0} is not submitted,Zdjęcie Wejście {0} nie jest składany,
+Stock Expenses,Wydatki magazynowe,
+Stock In Hand,Na stanie magazynu,
+Stock Items,produkty seryjne,
+Stock Ledger,Księga zapasów,
+Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Zapisy księgi zapasów oraz księgi głównej są odświeżone dla wybranego dokumentu zakupu,
+Stock Levels,Poziom zapasów,
+Stock Liabilities,Zadłużenie zapasów,
+Stock Options,Opcje magazynu,
+Stock Qty,Ilość zapasów,
+Stock Received But Not Billed,"Przyjęte na stan, nie zapłacone (zobowiązanie)",
+Stock Reports,Raporty seryjne,
+Stock Summary,Podsumowanie Zdjęcie,
+Stock Transactions,Operacje magazynowe,
+Stock UOM,Jednostka,
+Stock Value,Wartość zapasów,
+Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},Saldo Zdjęcie w serii {0} będzie negatywna {1} dla pozycji {2} w hurtowni {3},
+Stock cannot be updated against Purchase Receipt {0},Zdjęcie nie może zostać zaktualizowany przed ZAKUPU {0},
+Stock cannot exist for Item {0} since has variants,"Zdjęcie nie może istnieć dla pozycji {0}, ponieważ ma warianty",
+Stock transactions before {0} are frozen,Operacje magazynowe przed {0} są zamrożone,
+Stop,Zatrzymaj,
+Stopped,Zatrzymany,
+"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Zatwierdzone zlecenie pracy nie może zostać anulowane, należy je najpierw anulować, aby anulować",
+Stores,Sklepy,
+Structures have been assigned successfully,Struktury zostały pomyślnie przypisane,
+Student,Student,
+Student Activity,Działalność uczniowska,
+Student Address,Adres studenta,
+Student Admissions,Rekrutacja dla studentów,
+Student Attendance,Obecność Studenta,
+"Student Batches help you track attendance, assessments and fees for students","Partie studenckich pomóc śledzenie obecności, oceny i opłat dla studentów",
+Student Email Address,Student adres email,
+Student Email ID,Student ID email,
+Student Group,Grupa Student,
+Student Group Strength,Siła grupy studentów,
+Student Group is already updated.,Grupa studentów jest już aktualizowana.,
+Student Group: ,Grupa studencka:,
+Student ID,legitymacja studencka,
+Student ID: ,Legitymacja studencka:,
+Student LMS Activity,Aktywność LMS studenta,
+Student Mobile No.,Nie Student Komórka,
+Student Name,Nazwa Student,
+Student Name: ,Imię ucznia:,
+Student Report Card,Karta zgłoszenia ucznia,
+Student is already enrolled.,Student jest już zarejestrowany.,
+Student {0} - {1} appears Multiple times in row {2} & {3},Student {0} - {1} pojawia się wielokrotnie w wierszu {2} i {3},
+Student {0} does not belong to group {1},Student {0} nie należy do grupy {1},
+Student {0} exist against student applicant {1},Student {0} istnieć przed studenta wnioskodawcy {1},
+"Students are at the heart of the system, add all your students","Studenci są w samym sercu systemu, dodanie wszystkich swoich uczniów",
+Sub Assemblies,Komponenty,
+Sub Type,Podtyp,
+Sub-contracting,Podwykonawstwo,
+Subcontract,Zlecenie,
+Subject,Temat,
+Submit,Zatwierdź,
+Submit Proof,Prześlij dowód,
+Submit Salary Slip,Zatwierdź potrącenie z pensji,
+Submit this Work Order for further processing.,Prześlij to zlecenie pracy do dalszego przetwarzania.,
+Submit this to create the Employee record,"Prześlij to, aby utworzyć rekord pracownika",
+Submitting Salary Slips...,Przesyłanie wynagrodzeń ...,
+Subscription,Subskrypcja,
+Subscription Management,Zarządzanie subskrypcjami,
+Subscriptions,Subskrypcje,
+Subtotal,Razem,
+Successful,Udany,
+Successfully Reconciled,Pomyślnie uzgodnione,
+Successfully Set Supplier,Pomyślnie ustaw dostawcę,
+Successfully created payment entries,Pomyślnie utworzono wpisy płatności,
+Successfully deleted all transactions related to this company!,Pomyślnie usunięte wszystkie transakcje związane z tą firmą!,
+Sum of Scores of Assessment Criteria needs to be {0}.,Suma punktów kryteriów oceny musi być {0}.,
+Sum of points for all goals should be 100. It is {0},Suma punktów dla wszystkich celów powinno być 100. {0},
+Summary,Podsumowanie,
+Summary for this month and pending activities,Podsumowanie dla tego miesiąca i działań toczących,
+Summary for this week and pending activities,Podsumowanie na ten tydzień i działań toczących,
+Sunday,Niedziela,
+Suplier,Suplier,
+Supplier,Dostawca,
+Supplier Group,Grupa dostawców,
+Supplier Group master.,Mistrz grupy dostawców.,
+Supplier Id,ID Dostawcy,
+Supplier Invoice Date cannot be greater than Posting Date,Faktura dostawca Data nie może być większe niż Data publikacji,
+Supplier Invoice No,Nr faktury dostawcy,
+Supplier Invoice No exists in Purchase Invoice {0},Dostawca Faktura Nie istnieje faktura zakupu {0},
+Supplier Name,Nazwa dostawcy,
+Supplier Part No,Dostawca Część nr,
+Supplier Quotation,Oferta dostawcy,
+Supplier Scorecard,Karta wyników dostawcy,
+Supplier database.,Baza dostawców,
+Supplier {0} not found in {1},Dostawca {0} nie został znaleziony w {1},
+Supplier(s),Dostawca(y),
+Supplies made to UIN holders,Materiały dla posiadaczy UIN,
+Supplies made to Unregistered Persons,Dostawy dla niezarejestrowanych osób,
+Suppliies made to Composition Taxable Persons,Dodatki do osób podlegających opodatkowaniu,
+Supply Type,Rodzaj dostawy,
+Support,Wsparcie,
+Support Settings,Ustawienia wsparcia,
+Support Tickets,Bilety na wsparcie,
+Support queries from customers.,Zapytania klientów o wsparcie techniczne,
+Susceptible,Podatny,
+Sync has been temporarily disabled because maximum retries have been exceeded,"Synchronizacja została tymczasowo wyłączona, ponieważ przekroczono maksymalną liczbę ponownych prób",
+Syntax error in condition: {0},Błąd składni w warunku: {0},
+Syntax error in formula or condition: {0},Błąd składni we wzorze lub stanu: {0},
+System Manager,System Manager,
+TDS Rate %,Współczynnik TDS%,
+Tap items to add them here,"Dotknij elementów, aby je dodać tutaj",
+Target,Cel,
+Target ({}),Cel ({}),
+Target Warehouse,Magazyn docelowy,
+Target warehouse is mandatory for row {0},Magazyn docelowy jest obowiązkowy dla wiersza {0},
+Task,Zadanie,
+Tasks,Zadania,
+Tasks have been created for managing the {0} disease (on row {1}),Utworzono zadania do zarządzania chorobą {0} (w wierszu {1}),
+Tax,Podatek,
+Tax Assets,Podatek należny (zwrot),
+Tax Category,Kategoria podatku,
+Tax Category for overriding tax rates.,Kategoria podatkowa za nadrzędne stawki podatkowe.,
+"Tax Category has been changed to ""Total"" because all the Items are non-stock items","Kategoria podatkowa została zmieniona na &quot;Razem&quot;, ponieważ wszystkie elementy są towarami nieruchoma",
+Tax ID,Numer identyfikacji podatkowej (NIP),
+Tax Id: ,Identyfikator podatkowy:,
+Tax Rate,Stawka podatku,
+Tax Rule Conflicts with {0},Konflikty przepisu podatkowego z {0},
+Tax Rule for transactions.,Reguła podatkowa dla transakcji.,
+Tax Template is mandatory.,Szablon podatków jest obowiązkowy.,
+Tax Withholding rates to be applied on transactions.,Stawki podatku u źródła stosowane do transakcji.,
+Tax template for buying transactions.,Szablon podatków dla transakcji zakupu.,
+Tax template for item tax rates.,Szablon podatku dla stawek podatku od towarów.,
+Tax template for selling transactions.,Szablon podatków dla transakcji sprzedaży.,
+Taxable Amount,Kwota podlegająca opodatkowaniu,
+Taxes,Podatki,
+Team Updates,Aktualizacje zespół,
+Technology,Technologia,
+Telecommunications,Telekomunikacja,
+Telephone Expenses,Wydatki telefoniczne,
+Television,Telewizja,
+Template Name,Nazwa szablonu,
+Template of terms or contract.,Szablon z warunkami lub umową.,
+Templates of supplier scorecard criteria.,Szablony kryteriów oceny dostawców.,
+Templates of supplier scorecard variables.,Szablony dostawców zmiennych.,
+Templates of supplier standings.,Szablony standings dostawców.,
+Temporarily on Hold,Chwilowo zawieszone,
+Temporary,Tymczasowy,
+Temporary Accounts,Rachunki tymczasowe,
+Temporary Opening,Tymczasowe otwarcia,
+Terms and Conditions,Regulamin,
+Terms and Conditions Template,Szablony warunków i regulaminów,
+Territory,Region,
+Test,Test,
+Thank you,Dziękuję,
+Thank you for your business!,Dziękuję dla Twojej firmy!,
+The 'From Package No.' field must neither be empty nor it's value less than 1.,The &#39;From Package No.&#39; pole nie może być puste ani jego wartość mniejsza niż 1.,
+The Brand,Marka,
+The Item {0} cannot have Batch,Element {0} nie może mieć Batch,
+The Loyalty Program isn't valid for the selected company,Program lojalnościowy nie jest ważny dla wybranej firmy,
+The Payment Term at row {0} is possibly a duplicate.,Termin płatności w wierszu {0} jest prawdopodobnie duplikatem.,
+The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Termin Data zakończenia nie może być wcześniejsza niż data początkowa Term. Popraw daty i spróbuj ponownie.,
+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.,"Termin Data zakończenia nie może być późniejsza niż data zakończenia roku na rok akademicki, którego termin jest związany (Academic Year {}). Popraw daty i spróbuj ponownie.",
+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.,"Termin Data rozpoczęcia nie może być krótszy niż rok od daty rozpoczęcia roku akademickiego, w jakim termin ten jest powiązany (Academic Year {}). Popraw daty i spróbuj ponownie.",
+The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Rok Data zakończenia nie może być wcześniejsza niż data początkowa rok. Popraw daty i spróbuj ponownie.,
+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.,"Kwota {0} ustawiona w tym żądaniu płatności różni się od obliczonej kwoty wszystkich planów płatności: {1}. Upewnij się, że jest to poprawne przed wysłaniem dokumentu.",
+The day(s) on which you are applying for leave are holidays. You need not apply for leave.,"Dzień (s), w którym starasz się o urlop jest święta. Nie musisz ubiegać się o urlop.",
+The field From Shareholder cannot be blank,Pole Od Akcjonariusza nie może być puste,
+The field To Shareholder cannot be blank,Pole Do akcjonariusza nie może być puste,
+The fields From Shareholder and To Shareholder cannot be blank,Pola Od Akcjonariusza i Do Akcjonariusza nie mogą być puste,
+The folio numbers are not matching,Numery folio nie pasują do siebie,
+The holiday on {0} is not between From Date and To Date,Święto w dniu {0} nie jest pomiędzy Od Data i do tej pory,
+The name of the institute for which you are setting up this system.,"Nazwa instytutu, dla którego jest utworzenie tego systemu.",
+The name of your company for which you are setting up this system.,Nazwa firmy / organizacji dla której uruchamiasz niniejszy system.,
+The number of shares and the share numbers are inconsistent,Liczba akcji i liczby akcji są niespójne,
+The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Rachunek bramy płatniczej w planie {0} różni się od konta bramy płatności w tym żądaniu płatności,
+The selected BOMs are not for the same item,Wybrane LM nie są na tej samej pozycji,
+The selected item cannot have Batch,Wybrany element nie może mieć Batch,
+The seller and the buyer cannot be the same,Sprzedawca i kupujący nie mogą być tacy sami,
+The shareholder does not belong to this company,Akcjonariusz nie należy do tej spółki,
+The shares already exist,Akcje już istnieją,
+The shares don't exist with the {0},Akcje nie istnieją z {0},
+"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","Zadanie zostało zakolejkowane jako zadanie w tle. W przypadku jakichkolwiek problemów z przetwarzaniem w tle, system doda komentarz dotyczący błędu w tym uzgadnianiu i powróci do etapu wersji roboczej",
+"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Następnie wycena Zasady są filtrowane na podstawie Klienta, grupy klientów, Terytorium, dostawcy, dostawca, typu kampanii, Partner Sales itp",
+"There are inconsistencies between the rate, no of shares and the amount calculated","Występują niespójności między stopą, liczbą akcji i obliczoną kwotą",
+There are more holidays than working days this month.,Jest więcej świąt niż dni pracujących,
+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.,Może istnieć wiele warstwowych współczynników zbierania w oparciu o całkowitą ilość wydanych pieniędzy. Jednak współczynnik konwersji dla umorzenia będzie zawsze taki sam dla wszystkich poziomów.,
+There can only be 1 Account per Company in {0} {1},Nie może być tylko jedno konto na Spółkę w {0} {1},
+"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Może być tylko jedna Zasada dostawy z wartością 0 lub pustą wartością w polu ""Wartość""",
+There is no leave period in between {0} and {1},Nie ma okresu próbnego między {0} a {1},
+There is nothing to edit.,Nie ma nic do edycji,
+There isn't any item variant for the selected item,Nie ma żadnego wariantu przedmiotu dla wybranego przedmiotu,
+"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.","Wygląda na to, że problem dotyczy konfiguracji serwera GoCardless. Nie martw się, w przypadku niepowodzenia kwota zostanie zwrócona na Twoje konto.",
+There were errors creating Course Schedule,Podczas tworzenia harmonogramu kursów wystąpiły błędy,
+There were errors.,Wystąpiły błędy,
+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,"Pozycja ta jest szablon i nie mogą być wykorzystywane w transakcjach. Atrybuty pozycji zostaną skopiowane nad do wariantów chyba ""Nie Kopiuj"" jest ustawiony",
+This Item is a Variant of {0} (Template).,Ta pozycja jest wariantem {0} (szablon).,
+This Month's Summary,Podsumowanie tego miesiąca,
+This Week's Summary,Podsumowanie W tym tygodniu,
+This action will stop future billing. Are you sure you want to cancel this subscription?,Ta czynność zatrzyma przyszłe płatności. Czy na pewno chcesz anulować subskrypcję?,
+This covers all scorecards tied to this Setup,Obejmuje to wszystkie karty wyników powiązane z niniejszą kartą,
+This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Niniejszy dokument ma na granicy przez {0} {1} dla pozycji {4}. Robisz kolejny {3} przeciwko samo {2}?,
+This is a root account and cannot be edited.,To jest konto root i nie może być edytowane.,
+This is a root customer group and cannot be edited.,To jest grupa klientów root i nie mogą być edytowane.,
+This is a root department and cannot be edited.,To jest dział główny i nie można go edytować.,
+This is a root healthcare service unit and cannot be edited.,To jest podstawowa jednostka opieki zdrowotnej i nie można jej edytować.,
+This is a root item group and cannot be edited.,To jest grupa przedmiotów root i nie mogą być edytowane.,
+This is a root sales person and cannot be edited.,To jest sprzedawca root i nie może być edytowany.,
+This is a root supplier group and cannot be edited.,To jest główna grupa dostawców i nie można jej edytować.,
+This is a root territory and cannot be edited.,To jest obszar root i nie może być edytowany.,
+This is an example website auto-generated from ERPNext,Ta przykładowa strona została automatycznie wygenerowana przez ERPNext,
+This is based on logs against this Vehicle. See timeline below for details,Opiera się to na dzienniki przeciwko tego pojazdu. Zobacz harmonogram poniżej w szczegółach,
+This is based on stock movement. See {0} for details,Jest to oparte na ruchu zapasów. Zobacz {0} o szczegóły,
+This is based on the Time Sheets created against this project,Jest to oparte na kartach czasu pracy stworzonych wobec tego projektu,
+This is based on the attendance of this Employee,Jest to oparte na obecności pracownika,
+This is based on the attendance of this Student,Jest to oparte na obecności tego Studenta,
+This is based on transactions against this Customer. See timeline below for details,"Wykres oparty na operacjach związanych z klientem. Sprawdź poniżej oś czasu, aby uzyskać więcej szczegółów.",
+This is based on transactions against this Healthcare Practitioner.,Jest to oparte na transakcjach przeciwko temu pracownikowi opieki zdrowotnej.,
+This is based on transactions against this Patient. See timeline below for details,"Opiera się to na transakcjach przeciwko temu pacjentowi. Zobacz poniżej linię czasu, aby uzyskać szczegółowe informacje",
+This is based on transactions against this Sales Person. See timeline below for details,"Jest to oparte na transakcjach z tą osobą handlową. Zobacz oś czasu poniżej, aby uzyskać szczegółowe informacje",
+This is based on transactions against this Supplier. See timeline below for details,"Wykres oparty na operacjach związanych z dostawcą. Sprawdź poniżej oś czasu, aby uzyskać więcej szczegółów.",
+This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Spowoduje to wysłanie Salary Slips i utworzenie wpisu księgowego. Czy chcesz kontynuować?,
+This {0} conflicts with {1} for {2} {3},Ten {0} konflikty z {1} do {2} {3},
+Time Sheet for manufacturing.,Arkusz Czas produkcji.,
+Time Tracking,time Tracking,
+"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Przesunięcie przedziału czasowego, przedział od {0} do {1} pokrywa się z istniejącym bokiem {2} do {3}",
+Time slots added,Dodano gniazda czasowe,
+Time(in mins),Czas (w minutach),
+Timer,Regulator czasowy,
+Timer exceeded the given hours.,Minutnik przekroczył podane godziny.,
+Timesheet,Lista obecności,
+Timesheet for tasks.,Grafiku zadań.,
+Timesheet {0} is already completed or cancelled,Grafiku {0} jest już zakończone lub anulowane,
+Timesheets,Ewidencja czasu pracy,
+"Timesheets help keep track of time, cost and billing for activites done by your team","Ewidencja czasu pomaga śledzić czasu, kosztów i rozliczeń dla aktywnosci przeprowadzonych przez zespół",
+Titles for print templates e.g. Proforma Invoice.,Tytuł szablonu wydruku np.: Faktura Proforma,
+To,Do,
+To Address 1,Aby Adres 1,
+To Address 2,Do adresu 2,
+To Bill,Wystaw rachunek,
+To Date,Do daty,
+To Date cannot be before From Date,"""Do daty"" nie może być terminem przed ""od daty""",
+To Date cannot be less than From Date,Data nie może być mniejsza niż Od daty,
+To Date must be greater than From Date,To Date musi być większe niż From Date,
+To Date should be within the Fiscal Year. Assuming To Date = {0},Aby Data powinna być w tym roku podatkowym. Zakładając To Date = {0},
+To Datetime,Aby DateTime,
+To Deliver,Dostarczyć,
+To Deliver and Bill,Do dostarczenia i Bill,
+To Fiscal Year,Do roku podatkowego,
+To GSTIN,Do GSTIN,
+To Party Name,Nazwa drużyny,
+To Pin Code,Aby przypiąć kod,
+To Place,Do miejsca,
+To Receive,Otrzymać,
+To Receive and Bill,Do odbierania i Bill,
+To State,Określić,
+To Warehouse,Do magazynu,
+To create a Payment Request reference document is required,"Aby utworzyć dokument referencyjny żądania zapłaty, wymagane jest",
+To date can not be equal or less than from date,Do tej pory nie może być równa lub mniejsza niż od daty,
+To date can not be less than from date,Do tej pory nie może być mniejsza niż od daty,
+To date can not greater than employee's relieving date,Do tej pory nie może przekroczyć daty zwolnienia pracownika,
+"To filter based on Party, select Party Type first","Aby filtrować na podstawie partii, wybierz Party Wpisz pierwsze",
+"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Aby uzyskać najlepsze z ERPNext, zalecamy, aby poświęcić trochę czasu i oglądać te filmy pomoc.",
+To make Customer based incentive schemes.,Aby tworzyć systemy motywacyjne oparte na Kliencie.,
+"To merge, following properties must be same for both items","Aby scalić, poniższe właściwości muszą być takie same dla obu przedmiotów",
+"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","Cennik nie stosuje regułę w danej transakcji, wszystkie obowiązujące przepisy dotyczące cen powinny być wyłączone.",
+"To set this Fiscal Year as Default, click on 'Set as Default'","Aby ustawić ten rok finansowy jako domyślny, kliknij przycisk ""Ustaw jako domyślne""",
+To view logs of Loyalty Points assigned to a Customer.,Aby wyświetlić logi punktów lojalnościowych przypisanych do klienta.,
+To {0},Do {0},
+To {0} | {1} {2},Do {0} | {1} {2},
+Toggle Filters,Przełącz filtry,
+Too many columns. Export the report and print it using a spreadsheet application.,Zbyt wiele kolumn. Wyeksportować raport i wydrukować go za pomocą arkusza kalkulacyjnego.,
+Tools,Narzędzia,
+Total (Credit),Razem (Credit),
+Total (Without Tax),Razem (bez podatku),
+Total Absent,Razem Nieobecny,
+Total Achieved,Razem Osiągnięte,
+Total Actual,Razem Rzeczywisty,
+Total Allocated Leaves,Całkowicie Przydzielone Nieobecności,
+Total Amount,Wartość całkowita,
+Total Amount Credited,Całkowita kwota kredytu,
+Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Wszystkich obowiązujących opłat w ZAKUPU Elementy tabeli muszą być takie same jak Wszystkich podatkach i opłatach,
+Total Budget,Cały budżet,
+Total Collected: {0},Łącznie zbierane: {0},
+Total Commission,Całkowita kwota prowizji,
+Total Contribution Amount: {0},Łączna kwota dotacji: {0},
+Total Credit/ Debit Amount should be same as linked Journal Entry,"Całkowita kwota kredytu / debetu powinna być taka sama, jak połączona pozycja księgowa",
+Total Debit must be equal to Total Credit. The difference is {0},Całkowita kwota po stronie debetowej powinna być równa całkowitej kwocie po stronie kretytowej. Różnica wynosi {0},
+Total Deduction,Całkowita kwota odliczenia,
+Total Invoiced Amount,Całkowita zafakturowana kwota,
+Total Leaves,Wszystkich Nieobecności,
+Total Order Considered,Zamówienie razem Uważany,
+Total Order Value,Łączna wartość zamówienia,
+Total Outgoing,Razem Wychodzące,
+Total Outstanding,Total Outstanding,
+Total Outstanding Amount,Łączna kwota,
+Total Outstanding: {0},Całkowity stan: {0},
+Total Paid Amount,Kwota całkowita Płatny,
+Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Całkowita kwota płatności w harmonogramie płatności musi być równa sumie całkowitej / zaokrąglonej,
+Total Payments,Płatności ogółem,
+Total Present,Razem Present,
+Total Qty,Razem szt,
+Total Quantity,Całkowita ilość,
+Total Revenue,Całkowita wartość dochodu,
+Total Student,Total Student,
+Total Target,Łączna docelowa,
+Total Tax,Razem podatkowa,
+Total Taxable Amount,Całkowita kwota podlegająca opodatkowaniu,
+Total Taxable Value,Całkowita wartość podlegająca opodatkowaniu,
+Total Unpaid: {0},Razem Niepłatny: {0},
+Total Variance,Całkowitej wariancji,
+Total Weightage of all Assessment Criteria must be 100%,Razem weightage wszystkich kryteriów oceny muszą być w 100%,
+Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),Suma zaliczki ({0}) przed zamówieniem {1} nie może być większa od ogólnej sumy ({2}),
+Total advance amount cannot be greater than total claimed amount,Całkowita kwota zaliczki nie może być większa niż całkowita kwota roszczenia,
+Total advance amount cannot be greater than total sanctioned amount,Całkowita kwota zaliczki nie może być większa niż całkowita kwota sankcjonowana,
+Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Całkowita liczba przydzielonych urlopów to więcej dni niż maksymalny przydział {0} typu urlopu dla pracownika {1} w danym okresie,
+Total allocated leaves are more than days in the period,Liczba przyznanych zwolnień od pracy jest większa niż dni w okresie,
+Total allocated percentage for sales team should be 100,Łącznie przydzielony procent sprzedaży dla zespołu powinien wynosić 100,
+Total cannot be zero,Razem nie może być wartością zero,
+Total contribution percentage should be equal to 100,Całkowity procent wkładu powinien być równy 100,
+Total flexible benefit component amount {0} should not be less than max benefits {1},Całkowita kwota elastycznego składnika świadczeń {0} nie powinna być mniejsza niż maksymalna korzyść {1},
+Total hours: {0},Całkowita liczba godzin: {0},
+Total leaves allocated is mandatory for Leave Type {0},Całkowita liczba przydzielonych Nieobecności jest obowiązkowa dla Typu Urlopu {0},
+Total working hours should not be greater than max working hours {0},Całkowita liczba godzin pracy nie powinna być większa niż max godzinach pracy {0},
+Total {0} ({1}),Razem {0} ({1}),
+"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Razem {0} dla wszystkich elementów wynosi zero, może trzeba zmienić „Dystrybucja opłat na podstawie”",
+Total(Amt),Razem (Amt),
+Total(Qty),Razem (szt),
+Traceability,Śledzenie,
+Traceback,Traceback,
+Track Leads by Lead Source.,Śledzenie potencjalnych klientów przez źródło potencjalnych klientów.,
+Training,Trening,
+Training Event,Training Event,
+Training Events,Wydarzenia szkoleniowe,
+Training Feedback,Szkolenie Zgłoszenie,
+Training Result,Wynik treningowe,
+Transaction,Transakcja,
+Transaction Date,Data transakcji,
+Transaction Type,typ transakcji,
+Transaction currency must be same as Payment Gateway currency,"Waluta transakcji musi być taka sama, jak waluta wybranej płatności",
+Transaction not allowed against stopped Work Order {0},Transakcja nie jest dozwolona w przypadku zatrzymanego zlecenia pracy {0},
+Transaction reference no {0} dated {1},Transakcja ma odniesienia {0} z {1},
+Transactions,Transakcje,
+Transactions can only be deleted by the creator of the Company,Transakcje mogą być usunięte tylko przez twórcę Spółki,
+Transfer,Transfer,
+Transfer Material,Transfer materiału,
+Transfer Type,Rodzaj transferu,
+Transfer an asset from one warehouse to another,Przeniesienie aktywów z jednego magazynu do drugiego,
+Transfered,Przeniesione,
+Transferred Quantity,Przeniesiona ilość,
+Transport Receipt Date,Transport Data odbioru,
+Transport Receipt No,Nr odbioru transportu,
+Transportation,Transport,
+Transporter ID,Identyfikator transportera,
+Transporter Name,Nazwa przewoźnika,
+Travel,Podróż,
+Travel Expenses,Wydatki na podróże,
+Tree Type,Typ drzewa,
+Tree of Bill of Materials,Drzewo Zestawienia materiałów,
+Tree of Item Groups.,Drzewo grupy produktów,
+Tree of Procedures,Drzewo procedur,
+Tree of Quality Procedures.,Drzewo procedur jakości.,
+Tree of financial Cost Centers.,Drzewo MPK finansowych.,
+Tree of financial accounts.,Drzewo kont finansowych.,
+Treshold {0}% appears more than once,Próg {0}% występuje więcej niż jeden raz,
+Trial Period End Date Cannot be before Trial Period Start Date,Termin zakończenia okresu próbnego Nie może być przed datą rozpoczęcia okresu próbnego,
+Trialling,Trialling,
+Type of Business,Rodzaj biznesu,
+Types of activities for Time Logs,Rodzaje działalności za czas Logi,
+UOM,Jednostka miary,
+UOM Conversion factor is required in row {0},Współczynnik konwersji jednostki miary jest wymagany w rzędzie {0},
+UOM coversion factor required for UOM: {0} in Item: {1},Współczynnik konwersji jednostki miary jest wymagany dla jednostki miary: {0} w Przedmiocie: {1},
+URL,URL,
+Unable to find DocType {0},Nie można znaleźć DocType {0},
+Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Nie można znaleźć kursu wymiany dla {0} do {1} dla daty klucza {2}. Proszę utworzyć ręcznie rekord wymiany walut,
+Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,"Nie można znaleźć wyników, począwszy od {0}. Musisz mieć stały wynik od 0 do 100",
+Unable to find variable: ,Nie można znaleźć zmiennej:,
+Unblock Invoice,Odblokuj fakturę,
+Uncheck all,Odznacz wszystkie,
+Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiskalna Lata Zysk / Strata (Credit),
+Unit,szt.,
+Unit of Measure,Jednostka miary,
+Unit of Measure {0} has been entered more than once in Conversion Factor Table,Jednostka miary {0} została wprowadzona więcej niż raz w Tabelce Współczynnika Konwersji,
+Unknown,Nieznany,
+Unpaid,Niezapłacone,
+Unsecured Loans,Pożyczki bez pokrycia,
+Unsubscribe from this Email Digest,Wypisać się z tej Email Digest,
+Unsubscribed,Nie zarejestrowany,
+Until,Do,
+Unverified Webhook Data,Niezweryfikowane dane z Webhook,
+Update Account Name / Number,Zaktualizuj nazwę / numer konta,
+Update Account Number / Name,Zaktualizuj numer / nazwę konta,
+Update Cost,Zaktualizuj koszt,
+Update Items,Aktualizuj elementy,
+Update Print Format,Aktualizacja Format wydruku,
+Update Response,Zaktualizuj odpowiedź,
+Update bank payment dates with journals.,Aktualizacja terminów płatności banowych,
+Update in progress. It might take a while.,Aktualizacja w toku. To może trochę potrwać.,
+Update rate as per last purchase,Zaktualizuj stawkę za ostatni zakup,
+Update stock must be enable for the purchase invoice {0},Aktualizuj zapasy musi być włączone dla faktury zakupu {0},
+Updating Variants...,Aktualizowanie wariantów ...,
+Upload your letter head and logo. (you can edit them later).,Prześlij nagłówek firmowy i logo. (Można je edytować później).,
+Upper Income,Wzrost Wpływów,
+Use Sandbox,Korzystanie Sandbox,
+Used Leaves,Wykorzystane Nieobecności,
+User,Użytkownik,
+User ID,ID Użytkownika,
+User ID not set for Employee {0},ID Użytkownika nie ustawiony dla Pracownika {0},
+User Remark,Nota Użytkownika,
+User has not applied rule on the invoice {0},Użytkownik nie zastosował reguły na fakturze {0},
+User {0} already exists,Użytkownik {0} już istnieje,
+User {0} created,Utworzono użytkownika {0},
+User {0} does not exist,Użytkownik {0} nie istnieje,
+User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Użytkownik {0} nie ma żadnego domyślnego profilu POS. Sprawdź domyślne w wierszu {1} dla tego użytkownika.,
+User {0} is already assigned to Employee {1},Użytkownik {0} jest już przyporządkowany do Pracownika {1},
+User {0} is already assigned to Healthcare Practitioner {1},Użytkownik {0} jest już przypisany do pracownika służby zdrowia {1},
+Users,Użytkownicy,
+Utility Expenses,Wydatki na usługi komunalne,
+Valid From Date must be lesser than Valid Upto Date.,Ważny od daty musi być mniejszy niż ważna data w górę.,
+Valid Till,Obowiązuje do dnia,
+Valid from and valid upto fields are mandatory for the cumulative,Obowiązujące od i prawidłowe pola upto są obowiązkowe dla skumulowanego,
+Valid from date must be less than valid upto date,Ważny od daty musi być krótszy niż data ważności,
+Valid till date cannot be before transaction date,Data ważności nie może być poprzedzona datą transakcji,
+Validity,Ważność,
+Validity period of this quotation has ended.,Okres ważności tej oferty zakończył się.,
+Valuation Rate,Wskaźnik wyceny,
+Valuation Rate is mandatory if Opening Stock entered,"Wycena Cena jest obowiązkowe, jeżeli wprowadzone Otwarcie Zdjęcie",
+Valuation type charges can not marked as Inclusive,Opłaty typu Wycena nie oznaczone jako Inclusive,
+Value Or Qty,Wartość albo Ilość,
+Value Proposition,Propozycja wartości,
+Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Wartość atrybutu {0} musi mieścić się w przedziale {1} z {2} w przyrostach {3} {4} Przedmiot,
+Value missing,Wartość brakująca,
+Value must be between {0} and {1},Wartość musi zawierać się między {0} a {1},
+"Values of exempt, nil rated and non-GST inward supplies","Wartości zwolnionych, zerowych i niezawierających GST dostaw wewnętrznych",
+Variable,Zmienna,
+Variance,Zmienność,
+Variance ({}),Wariancja ({}),
+Variant,Wariant,
+Variant Attributes,Variant Atrybuty,
+Variant Based On cannot be changed,Variant Based On nie może zostać zmieniony,
+Variant Details Report,Szczegółowy raport dotyczący wariantu,
+Variant creation has been queued.,Tworzenie wariantu zostało umieszczone w kolejce.,
+Vehicle Expenses,Wydatki Samochodowe,
+Vehicle No,Nr pojazdu,
+Vehicle Type,Typ pojazdu,
+Vehicle/Bus Number,Numer pojazdu / autobusu,
+Venture Capital,Kapitał wysokiego ryzyka,
+View Chart of Accounts,Zobacz plan kont,
+View Fees Records,Zobacz rekord opłat,
+View Form,Wyświetl formularz,
+View Lab Tests,Wyświetl testy laboratoryjne,
+View Leads,Zobacz Tropy,
+View Ledger,Podgląd księgi,
+View Now,Zobacz teraz,
+View a list of all the help videos,Zobacz listę wszystkich filmów pomocy,
+View in Cart,Zobacz Koszyk,
+Visit report for maintenance call.,Raport wizyty dla wezwania konserwacji.,
+Visit the forums,Odwiedź fora,
+Vital Signs,Oznaki życia,
+Volunteer,Wolontariusz,
+Volunteer Type information.,Informacje o typie wolontariusza.,
+Volunteer information.,Informacje o wolontariuszu.,
+Voucher #,Bon #,
+Voucher No,Nr Podstawy księgowania,
+Voucher Type,Typ Podstawy,
+WIP Warehouse,WIP Magazyn,
+Walk In,Wejście,
+Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Magazyn nie może być skasowany tak długo jak długo istnieją zapisy w księdze stanu dla tego magazynu.,
+Warehouse cannot be changed for Serial No.,Magazyn nie może być zmieniony dla Nr Seryjnego,
+Warehouse is mandatory,Magazyn jest obowiązkowe,
+Warehouse is mandatory for stock Item {0} in row {1},Magazyn jest obowiązkowy dla Przedmiotu {0} w rzędzie {1},
+Warehouse not found in the system,Magazyn nie został znaleziony w systemie,
+"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Wymagany magazyn w Wiersz nr {0}, ustaw domyślny magazyn dla pozycji {1} dla firmy {2}",
+Warehouse required for stock Item {0},Magazyn wymagany dla przedmiotu {0},
+Warehouse {0} can not be deleted as quantity exists for Item {1},Magazyn {0} nie może zostać usunięty ponieważ istnieje wartość dla przedmiotu {1},
+Warehouse {0} does not belong to company {1},Magazyn {0} nie należy do firmy {1},
+Warehouse {0} does not exist,Magazyn {0} nie istnieje,
+"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Magazyn {0} nie jest powiązany z jakimikolwiek kontem, wspomnij o tym w raporcie magazynu lub ustaw domyślnego konta zapasowego w firmie {1}.",
+Warehouses with child nodes cannot be converted to ledger,Magazyny z węzłów potomnych nie mogą być zamieniane na Ledger,
+Warehouses with existing transaction can not be converted to group.,Magazyny z istniejącymi transakcji nie mogą być zamieniane na grupy.,
+Warehouses with existing transaction can not be converted to ledger.,Magazyny z istniejącymi transakcji nie mogą być konwertowane do księgi głównej.,
+Warning,Ostrzeżenie,
+Warning: Another {0} # {1} exists against stock entry {2},Ostrzeżenie: Inny {0} # {1} istnieje we wpisie asortymentu {2},
+Warning: Invalid SSL certificate on attachment {0},Ostrzeżenie: Nieprawidłowy certyfikat SSL w załączniku {0},
+Warning: Invalid attachment {0},Warning: Invalid Załącznik {0},
+Warning: Leave application contains following block dates,Ostrzeżenie: Aplikacja o urlop zawiera następujące zablokowane daty,
+Warning: Material Requested Qty is less than Minimum Order Qty,Ostrzeżenie: Ilość Zapotrzebowanego Materiału jest mniejsza niż minimalna ilość na zamówieniu,
+Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Ostrzeżenie: Zamówienie sprzedaży {0} już istnieje wobec Klienta Zamówienia {1},
+Warranty,Gwarancja,
+Warranty Claim,Roszczenie gwarancyjne,
+Warranty Claim against Serial No.,Roszczenie gwarancyjne z numerem seryjnym,
+Website,Strona WWW,
+Website Image should be a public file or website URL,Strona Obraz powinien być plik publiczny lub adres witryny,
+Website Image {0} attached to Item {1} cannot be found,Strona Obraz {0} dołączone do pozycji {1} nie można znaleźć,
+Website Listing,Listing Witryny,
+Website Manager,Manager strony WWW,
+Website Settings,Ustawienia witryny,
+Wednesday,Środa,
+Week,Tydzień,
+Weekdays,Dni robocze,
+Weekly,Tygodniowo,
+"Weight is mentioned,\nPlease mention ""Weight UOM"" too","Waga jest określona, \n Ustaw także ""Wagę jednostkową""",
+Welcome email sent,E-mail z powitaniem został wysłany,
+Welcome to ERPNext,Zapraszamy do ERPNext,
+What do you need help with?,Z czym potrzebujesz pomocy?,
+What does it do?,Czym się zajmuje?,
+Where manufacturing operations are carried.,"W przypadku, gdy czynności wytwórcze są prowadzone.",
+White,Biały,
+Wire Transfer,Przelew,
+WooCommerce Products,Produkty WooCommerce,
+Work In Progress,Produkty w toku,
+Work Order,Porządek pracy,
+Work Order already created for all items with BOM,Zamówienie pracy zostało już utworzone dla wszystkich produktów z zestawieniem komponentów,
+Work Order cannot be raised against a Item Template,Zlecenie pracy nie może zostać podniesione na podstawie szablonu przedmiotu,
+Work Order has been {0},Zamówienie pracy zostało {0},
+Work Order not created,Zamówienie pracy nie zostało utworzone,
+Work Order {0} must be cancelled before cancelling this Sales Order,Zamówienie pracy {0} musi zostać anulowane przed anulowaniem tego zamówienia sprzedaży,
+Work Order {0} must be submitted,Zamówienie pracy {0} musi zostać przesłane,
+Work Orders Created: {0},Utworzono zlecenia pracy: {0},
+Work Summary for {0},Podsumowanie pracy dla {0},
+Work-in-Progress Warehouse is required before Submit,Magazyn z produkcją w toku jest wymagany przed wysłaniem,
+Workflow,Przepływ pracy (Workflow),
+Working,Pracuje,
+Working Hours,Godziny pracy,
+Workstation,Stacja robocza,
+Workstation is closed on the following dates as per Holiday List: {0},Stacja robocza jest zamknięta w następujących terminach wg listy wakacje: {0},
+Wrapping up,Zawijanie,
+Wrong Password,Niepoprawne hasło,
+Year start date or end date is overlapping with {0}. To avoid please set company,data rozpoczęcia roku lub data końca pokrywa się z {0}. Aby uniknąć należy ustawić firmę,
+You are not authorized to add or update entries before {0},Nie masz uprawnień aby zmieniać lub dodawać elementy przed {0},
+You are not authorized to approve leaves on Block Dates,Nie masz uprawnień do zatwierdzania tych urlopów,
+You are not authorized to set Frozen value,Nie masz uprawnień do ustawienia zamrożenej wartości,
+You are not present all day(s) between compensatory leave request days,Nie jesteś obecny przez cały dzień (dni) między dniami prośby o urlop wyrównawczy,
+You can not change rate if BOM mentioned agianst any item,Nie możesz zmienić danych jeśli BOM jest przeciw jakiejkolwiek rzeczy,
+You can not enter current voucher in 'Against Journal Entry' column,You can not enter current voucher in 'Against Journal Entry' column,
+You can only have Plans with the same billing cycle in a Subscription,Możesz mieć tylko Plany z tym samym cyklem rozliczeniowym w Subskrypcji,
+You can only redeem max {0} points in this order.,Możesz maksymalnie wykorzystać maksymalnie {0} punktów w tej kolejności.,
+You can only renew if your membership expires within 30 days,Przedłużenie członkostwa można odnowić w ciągu 30 dni,
+You can only select a maximum of one option from the list of check boxes.,Możesz wybrać maksymalnie jedną opcję z listy pól wyboru.,
+You can only submit Leave Encashment for a valid encashment amount,Możesz przesłać tylko opcję Leave Encashment dla prawidłowej kwoty depozytu,
+You can't redeem Loyalty Points having more value than the Grand Total.,Nie możesz wymienić punktów lojalnościowych o większej wartości niż suma ogólna.,
+You cannot credit and debit same account at the same time,Nie można wykonywać zapisów po stronie debetowej oraz kredytowej tego samego konta w jednym czasie,
+You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Nie można usunąć Fiscal Year {0}. Rok fiskalny {0} jest ustawiona jako domyślna w Ustawienia globalne,
+You cannot delete Project Type 'External',Nie można usunąć typu projektu &quot;zewnętrzny&quot;,
+You cannot edit root node.,Nie można edytować węzła głównego.,
+You cannot restart a Subscription that is not cancelled.,"Nie można ponownie uruchomić subskrypcji, która nie zostanie anulowana.",
+You don't have enought Loyalty Points to redeem,"Nie masz wystarczającej liczby Punktów Lojalnościowych, aby je wykorzystać",
+You have already assessed for the assessment criteria {}.,Oceniałeś już kryteria oceny {}.,
+You have already selected items from {0} {1},Już wybrane pozycje z {0} {1},
+You have been invited to collaborate on the project: {0},Zostałeś zaproszony do współpracy przy projekcie: {0},
+You have entered duplicate items. Please rectify and try again.,Wprowadziłeś duplikat istniejących rzeczy. Sprawdź i spróbuj ponownie,
+You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,"Aby zarejestrować się w Marketplace, musisz być użytkownikiem innym niż Administrator z rolami System Manager i Item Manager.",
+You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,"Musisz być użytkownikiem z rolami System Manager i Menedżera elementów, aby dodawać użytkowników do Marketplace.",
+You need to be a user with System Manager and Item Manager roles to register on Marketplace.,"Aby zarejestrować się w Marketplace, musisz być użytkownikiem z rolami System Manager i Item Manager.",
+You need to be logged in to access this page,Musisz być zalogowany aby uzyskać dostęp do tej strony,
+You need to enable Shopping Cart,Musisz włączyć Koszyk,
+You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Utracisz zapis wcześniej wygenerowanych faktur. Czy na pewno chcesz zrestartować tę subskrypcję?,
+Your Organization,Twoja organizacja,
+Your cart is Empty,Twój koszyk jest pusty,
+Your email address...,Twój adres email...,
+Your order is out for delivery!,Twoje zamówienie jest na dostawę!,
+Your tickets,Twoje bilety,
+ZIP Code,Kod pocztowy,
+[Error],[Błąd],
+[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Postać / poz / {0}) jest niedostępne,
+`Freeze Stocks Older Than` should be smaller than %d days.,Zapasy starsze niż' powinny być starczyć na %d dni,
+based_on,oparte na,
+cannot be greater than 100,nie może być większa niż 100,
+disabled user,Wyłączony użytkownik,
+"e.g. ""Build tools for builders""","np. ""Buduj narzędzia dla budowniczych""",
+"e.g. ""Primary School"" or ""University""",np &quot;Szkoła Podstawowa&quot; lub &quot;Uniwersytet&quot;,
+"e.g. Bank, Cash, Credit Card","np. bank, gotówka, karta kredytowa",
+hidden,ukryty,
+modified,Zmodyfikowano,
+old_parent,old_parent,
+on,włączony,
+{0} '{1}' is disabled,{0} '{1}' jest wyłączony,
+{0} '{1}' not in Fiscal Year {2},{0} '{1}' nie w roku podatkowym {2},
+{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) nie może być większe niż planowana ilość ({2}) w zleceniu pracy {3},
+{0} - {1} is inactive student,{0} - {1} to nieaktywny student,
+{0} - {1} is not enrolled in the Batch {2},{0} - {1} nie jest powiązana z transakcją {2},
+{0} - {1} is not enrolled in the Course {2},{0} - {1} nie jest zapisany do kursu {2},
+{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},{0} Budżet dla rachunku {1} w stosunku do {2} {3} wynosi {4}. Będzie przekraczać o {5},
+{0} Digest,{0} Streszczenie,
+{0} Request for {1},{0} Wniosek o {1},
+{0} Result submittted,{0} Wynik wysłano,
+{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} Numery seryjne wymagane dla pozycji {1}. Podałeś {2}.,
+{0} Student Groups created.,{0} Utworzono grupy studentów.,
+{0} Students have been enrolled,{0} Studenci zostali zapisani,
+{0} against Bill {1} dated {2},{0} przed rachunkiem {1} z dnia {2},
+{0} against Purchase Order {1},{0} przed Zamówieniem Zakupu  {1},
+{0} against Sales Invoice {1},{0} na fakturę sprzedaży {1},
+{0} against Sales Order {1},{0} przed Zleceniem Sprzedaży {1},
+{0} already allocated for Employee {1} for period {2} to {3},{0} już przydzielone Pracodawcy {1} dla okresu {2} do {3},
+{0} applicable after {1} working days,{0} obowiązuje po {1} dniach roboczych,
+{0} asset cannot be transferred,{0} zasób nie może zostać przetransferowany,
+{0} can not be negative,{0} nie może być ujemna,
+{0} created,{0} utworzone,
+"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} aktualnie posiada pozycję {1} Karty wyników dostawcy, a zlecenia kupna dostawcy powinny być wydawane z ostrożnością.",
+"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} aktualnie posiada {1} tabelę wyników karty wyników, a zlecenia RFQ dla tego dostawcy powinny być wydawane z ostrożnością.",
+{0} does not belong to Company {1},{0} nie należy do firmy {1},
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} nie ma harmonogramu służby zdrowia. Dodaj go do mistrza Healthcare Practitioner,
+{0} entered twice in Item Tax,{0} dwa razy wprowadzone w podatku produktu,
+{0} for {1},{0} do {1},
+{0} has been submitted successfully,{0} zostało pomyślnie przesłane,
+{0} has fee validity till {1},{0} ważność opłaty do {1},
+{0} hours,{0} godzin,
+{0} in row {1},{0} wiersze {1},
+{0} is blocked so this transaction cannot proceed,"Opcja {0} jest zablokowana, więc ta transakcja nie może być kontynuowana",
+{0} is mandatory,{0} jest obowiązkowe,
+{0} is mandatory for Item {1},{0} jest obowiązkowe dla elementu {1},
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,"{0} jest obowiązkowe. Możliwe, że rekord Wymiana walut nie jest utworzony dla {1} do {2}.",
+{0} is not a stock Item,{0} nie jest przechowywany na magazynie,
+{0} is not added in the table,{0} nie zostało dodane do tabeli,
+{0} is not in Optional Holiday List,{0} nie znajduje się na Opcjonalnej Liście Świątecznej,
+{0} is not in a valid Payroll Period,{0} nie jest w ważnym Okresie Rozliczeniowym,
+{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} jest teraz domyślnym rokiem finansowym. Odśwież swoją przeglądarkę aby zmiana weszła w życie,
+{0} is on hold till {1},{0} jest wstrzymane do {1},
+{0} item found.,Znaleziono {0} element.,
+{0} items found.,Znaleziono {0} przedmiotów.,
+{0} items in progress,{0} pozycji w przygotowaniu,
+{0} items produced,{0} pozycji wyprodukowanych,
+{0} must appear only once,{0} musi pojawić się tylko raz,
+{0} must be negative in return document,{0} musi być ujemna w dokumencie zwrotnym,
+{0} must be submitted,{0} musi zostać wysłany,
+{0} not allowed to transact with {1}. Please change the Company.,{0} nie może przeprowadzać transakcji z {1}. Zmień firmę.,
+{0} not found for item {1},{0} nie został znaleziony dla elementu {1},
+{0} parameter is invalid,Parametr {0} jest nieprawidłowy,
+{0} payment entries can not be filtered by {1},{0} wpisy płatności nie mogą być filtrowane przez {1},
+{0} should be a value between 0 and 100,{0} powinno być wartością z zakresu od 0 do 100,
+{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} jednostki [{1}] (# Kształt / szt / {1}) znajduje się w [{2}] (# Kształt / Warehouse / {2}),
+{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} jednostki {1} potrzebne w {2} na {3} {4} {5} w celu zrealizowania tej transakcji.,
+{0} units of {1} needed in {2} to complete this transaction.,"{0} jednostki {1} potrzebne w {2}, aby zakończyć tę transakcję.",
+{0} valid serial nos for Item {1},{0} prawidłowe numery seryjne dla Pozycji {1},
+{0} variants created.,Utworzono wariantów {0}.,
+{0} {1} created,{0} {1} utworzone,
+{0} {1} does not exist,{0} {1} nie istnieje,
+{0} {1} has been modified. Please refresh.,{0} {1} został zmodyfikowany. Proszę odświeżyć.,
+{0} {1} has not been submitted so the action cannot be completed,"{0} {1} nie został złożony, więc działanie nie może zostać zakończone",
+"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} jest powiązane z {2}, ale rachunek strony jest {3}",
+{0} {1} is cancelled or closed,{0} {1} zostanie anulowane lub zamknięte,
+{0} {1} is cancelled or stopped,{0} {1} jest anulowane lub wstrzymane,
+{0} {1} is cancelled so the action cannot be completed,"{0} {1} jest anulowany, więc działanie nie może zostać zakończone",
+{0} {1} is closed,{0} {1} jest zamknięty,
+{0} {1} is disabled,{0} {1} jest wyłączony,
+{0} {1} is frozen,{0} {1} jest zamrożone,
+{0} {1} is fully billed,{0} {1} jest w pełni rozliczone,
+{0} {1} is not active,{0} {1} jest nieaktywny,
+{0} {1} is not associated with {2} {3},{0} {1} nie jest powiązane z {2} {3},
+{0} {1} is not present in the parent company,{0} {1} nie występuje w firmie macierzystej,
+{0} {1} is not submitted,{0} {1} nie zostało dodane,
+{0} {1} is {2},{0} {1} to {2},
+{0} {1} must be submitted,{0} {1} musi zostać wysłane,
+{0} {1} not in any active Fiscal Year.,{0} {1} nie w każdej aktywnej roku obrotowego.,
+{0} {1} status is {2},{0} {1} jest ustawiony w stanie {2},
+{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,"{0} {1}: konto ""zysków i strat"" {2} jest niedozwolone w otwierającym wejściu",
+{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Rachunek {2} nie należy do firmy {3},
+{0} {1}: Account {2} is inactive,{0} {1}: Rachunek {2} jest nieaktywny,
+{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Wejście księgowe dla {2} mogą być dokonywane wyłącznie w walucie: {3},
+{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: MPK jest obowiązkowe dla pozycji {2},
+{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,"{0} {1}: Centrum kosztów jest wymagane dla rachunku ""Zyski i straty"" {2}. Proszę ustawić domyślne centrum kosztów dla firmy.",
+{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Centrum kosztów {2} nie należy do firmy {3},
+{0} {1}: Customer is required against Receivable account {2},{0} {1}: Klient zobowiązany jest przed należność {2},
+{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Debet lub wielkość kredytu jest wymagana dla {2},
+{0} {1}: Supplier is required against Payable account {2},{0} {1}: Dostawca jest wymagany w odniesieniu do konta z możliwością opłacenia {2},
+{0}% Billed,{0}% rozliczono,
+{0}% Delivered,{0}% Dostarczono,
+"{0}: Employee email not found, hence email not sent","{0}: Email pracownika nie został znaleziony, dlatego wiadomość nie będzie wysłana",
+{0}: From {0} of type {1},{0}: Od {0} typu {1},
+{0}: From {1},{0}: {1} od,
+{0}: {1} does not exists,{0}: {1} nie istnieje,
+{0}: {1} not found in Invoice Details table,{0}: {1} Nie znaleziono tabeli w Szczegóły faktury,
+{} of {},{} z {},
+Assigned To,Przypisano do,
+Chat,Czat,
+Completed By,Ukończony przez,
+Conditions,Warunki,
+County,Powiat,
+Day of Week,Dzień tygodnia,
+"Dear System Manager,",Szanowny Dyrektorze ds. Systemu,
+Default Value,Domyślna wartość,
+Email Group,Grupa email,
+Email Settings,Ustawienia wiadomości e-mail,
+Email not sent to {0} (unsubscribed / disabled),E-mail nie wysłany do {0} (wypisany / wyłączony),
+Error Message,Komunikat o błędzie,
+Fieldtype,Typ pola,
+Help Articles,Artykuły pomocy,
+ID,ID,
+Images,Obrazy,
+Import,Import,
+Language,Język,
+Likes,Lubi,
+Merge with existing,Połączy się z istniejącą,
+Office,Biuro,
+Orientation,Orientacja,
+Parent,Nadrzędny,
+Passive,Nieaktywny,
+Payment Failed,Płatność nie powiodła się,
+Percent,Procent,
+Permanent,Stały,
+Personal,Osobiste,
+Plant,Zakład,
+Post,Stanowisko,
+Postal,Pocztowy,
+Postal Code,Kod pocztowy,
+Previous,Wstecz,
+Provider,Dostawca,
+Read Only,Tylko do odczytu,
+Recipient,Adresat,
+Reviews,Recenzje,
+Sender,Nadawca,
+Shop,Sklep,
+Subsidiary,Pomocniczy,
+There is some problem with the file url: {0},Jest jakiś problem z adresem URL pliku: {0},
+There were errors while sending email. Please try again.,Wystąpiły błędy podczas wysyłki e-mail. Proszę spróbuj ponownie.,
+Values Changed,Zmienione wartości,
+or,albo,
+Ageing Range 4,Zakres starzenia się 4,
+Allocated amount cannot be greater than unadjusted amount,Kwota przydzielona nie może być większa niż kwota nieskorygowana,
+Allocated amount cannot be negative,Przydzielona kwota nie może być ujemna,
+"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Konto różnicowe musi być kontem typu Asset / Liability, ponieważ ten wpis na giełdę jest wpisem otwierającym",
+Error in some rows,Błąd w niektórych wierszach,
+Import Successful,Import zakończony sukcesem,
+Please save first,Zapisz najpierw,
+Price not found for item {0} in price list {1},Nie znaleziono ceny dla przedmiotu {0} w cenniku {1},
+Warehouse Type,Typ magazynu,
+'Date' is required,„Data” jest wymagana,
+Benefit,Zasiłek,
+Budgets,Budżety,
+Bundle Qty,Ilość paczek,
+Company GSTIN,Firma GSTIN,
+Company field is required,Wymagane jest pole firmowe,
+Creating Dimensions...,Tworzenie wymiarów ...,
+Duplicate entry against the item code {0} and manufacturer {1},Zduplikowany wpis względem kodu produktu {0} i producenta {1},
+Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,Nieprawidłowy GSTIN! Wprowadzone dane nie odpowiadają formatowi GSTIN dla posiadaczy UIN lub nierezydentów dostawców usług OIDAR,
+Invoice Grand Total,Faktura Grand Total,
+Last carbon check date cannot be a future date,Data ostatniej kontroli emisji nie może być datą przyszłą,
+Make Stock Entry,Zrób wejście na giełdę,
+Quality Feedback,Opinie dotyczące jakości,
+Quality Feedback Template,Szablon opinii o jakości,
+Rules for applying different promotional schemes.,Zasady stosowania różnych programów promocyjnych.,
+Shift,Przesunięcie,
+Show {0},Pokaż {0},
+"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Znaki specjalne z wyjątkiem &quot;-&quot;, &quot;#&quot;, &quot;।&quot;, &quot;/&quot;, &quot;{{&quot; I &quot;}}&quot; niedozwolone w serii nazw {0}",
+Target Details,Szczegóły celu,
+{0} already has a Parent Procedure {1}.,{0} ma już procedurę nadrzędną {1}.,
+API,API,
+Annual,Roczny,
+Approved,Zatwierdzono,
+Change,Reszta,
+Contact Email,E-mail kontaktu,
+Export Type,Typ eksportu,
+From Date,Od daty,
+Group By,Grupuj według,
+Importing {0} of {1},Importowanie {0} z {1},
+Invalid URL,nieprawidłowy URL,
+Landscape,Krajobraz,
+Last Sync On,Ostatnia synchronizacja,
+Naming Series,Seria nazw,
+No data to export,Brak danych do eksportu,
+Portrait,Portret,
+Print Heading,Nagłówek do druku,
+Scheduler Inactive,Harmonogram nieaktywny,
+Scheduler is inactive. Cannot import data.,Program planujący jest nieaktywny. Nie można zaimportować danych.,
+Show Document,Pokaż dokument,
+Show Traceback,Pokaż śledzenie,
+Video,Wideo,
+Webhook Secret,Secret Webhook,
+% Of Grand Total,% Ogólnej sumy,
+'employee_field_value' and 'timestamp' are required.,Wymagane są „wartość_pola pracownika” i „znacznik czasu”.,
+<b>Company</b> is a mandatory filter.,<b>Firma</b> jest obowiązkowym filtrem.,
+<b>From Date</b> is a mandatory filter.,<b>Od daty</b> jest obowiązkowym filtrem.,
+<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>Od godziny</b> nie może być późniejsza niż <b>do godziny</b> dla {0},
+<b>To Date</b> is a mandatory filter.,<b>To Data</b> jest obowiązkowym filtrem.,
+A new appointment has been created for you with {0},Utworzono dla ciebie nowe spotkanie z {0},
+Account Value,Wartość konta,
+Account is mandatory to get payment entries,"Konto jest obowiązkowe, aby uzyskać wpisy płatności",
+Account is not set for the dashboard chart {0},Konto nie jest ustawione dla wykresu deski rozdzielczej {0},
+Account {0} does not belong to company {1},Konto {0} nie jest przypisane do Firmy {1},
+Account {0} does not exists in the dashboard chart {1},Konto {0} nie istnieje na schemacie deski rozdzielczej {1},
+Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Konto: <b>{0}</b> to kapitał Trwają prace i nie można go zaktualizować za pomocą zapisu księgowego,
+Account: {0} is not permitted under Payment Entry,Konto: {0} jest niedozwolone w ramach wprowadzania płatności,
+Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Wymiar księgowy <b>{0}</b> jest wymagany dla konta „Bilans” {1}.,
+Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Wymiar księgowy <b>{0}</b> jest wymagany dla konta „Zysk i strata” {1}.,
+Accounting Masters,Mistrzowie rachunkowości,
+Accounting Period overlaps with {0},Okres rozliczeniowy pokrywa się z {0},
+Activity,Aktywność,
+Add / Manage Email Accounts.,Dodaj / Zarządzaj kontami poczty e-mail.,
+Add Child,Dodaj pod-element,
+Add Loan Security,Dodaj zabezpieczenia pożyczki,
+Add Multiple,Dodaj wiele,
+Add Participants,Dodaj uczestników,
+Add to Featured Item,Dodaj do polecanego elementu,
+Add your review,Dodaj swoją opinię,
+Add/Edit Coupon Conditions,Dodaj / edytuj warunki kuponu,
+Added to Featured Items,Dodano do polecanych przedmiotów,
+Added {0} ({1}),Dodano {0} ({1}),
+Address Line 1,Pierwszy wiersz adresu,
+Addresses,Adresy,
+Admission End Date should be greater than Admission Start Date.,Data zakończenia przyjęcia powinna być większa niż data rozpoczęcia przyjęcia.,
+Against Loan,Przeciw pożyczce,
+Against Loan:,Przeciw pożyczce:,
+All,Wszystko,
+All bank transactions have been created,Wszystkie transakcje bankowe zostały utworzone,
+All the depreciations has been booked,Wszystkie amortyzacje zostały zarezerwowane,
+Allocation Expired!,Przydział wygasł!,
+Allow Resetting Service Level Agreement from Support Settings.,Zezwalaj na resetowanie umowy o poziomie usług z ustawień wsparcia.,
+Amount of {0} is required for Loan closure,Kwota {0} jest wymagana do zamknięcia pożyczki,
+Amount paid cannot be zero,Kwota wypłacona nie może wynosić zero,
+Applied Coupon Code,Zastosowany kod kuponu,
+Apply Coupon Code,Wprowadź Kod Kuponu,
+Appointment Booking,Rezerwacja terminu,
+"As there are existing transactions against item {0}, you can not change the value of {1}","Ponieważ istnieje istniejące transakcje przeciwko elementu {0}, nie można zmienić wartość {1}",
+Asset Id,Identyfikator zasobu,
+Asset Value,Wartość aktywów,
+Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Korekta wartości aktywów nie może zostać zaksięgowana przed datą zakupu aktywów <b>{0}</b> .,
+Asset {0} does not belongs to the custodian {1},Zasób {0} nie należy do depozytariusza {1},
+Asset {0} does not belongs to the location {1},Zasób {0} nie należy do lokalizacji {1},
+At least one of the Applicable Modules should be selected,Należy wybrać co najmniej jeden z odpowiednich modułów,
+Atleast one asset has to be selected.,Należy wybrać co najmniej jeden zasób.,
+Attendance Marked,Obecność oznaczona,
+Attendance has been marked as per employee check-ins,Frekwencja została oznaczona na podstawie odprawy pracownika,
+Authentication Failed,Uwierzytelnianie nie powiodło się,
+Automatic Reconciliation,Automatyczne uzgadnianie,
+Available For Use Date,Data użycia,
+Available Stock,Dostępne zapasy,
+"Available quantity is {0}, you need {1}","Dostępna ilość to {0}, potrzebujesz {1}",
+BOM 1,LM 1,
+BOM 2,BOM 2,
+BOM Comparison Tool,Narzędzie do porównywania LM,
+BOM recursion: {0} cannot be child of {1},Rekurs BOM: {0} nie może być dzieckiem {1},
+BOM recursion: {0} cannot be parent or child of {1},Rekursja BOM: {0} nie może być rodzicem ani dzieckiem {1},
+Back to Home,Wrócić do domu,
+Back to Messages,Powrót do wiadomości,
+Bank Data mapper doesn't exist,Maper danych banku nie istnieje,
+Bank Details,Dane bankowe,
+Bank account '{0}' has been synchronized,Konto bankowe „{0}” zostało zsynchronizowane,
+Bank account {0} already exists and could not be created again,Konto bankowe {0} już istnieje i nie można go utworzyć ponownie,
+Bank accounts added,Dodano konta bankowe,
+Batch no is required for batched item {0},Nr partii jest wymagany dla pozycji wsadowej {0},
+Billing Date,Termin spłaty,
+Billing Interval Count cannot be less than 1,Liczba interwałów rozliczeniowych nie może być mniejsza niż 1,
+Blue,Niebieski,
+Book,Książka,
+Book Appointment,Umów wizytę,
+Brand,Marka,
+Browse,Przeglądaj,
+Call Connected,Połącz Połączony,
+Call Disconnected,Zadzwoń Rozłączony,
+Call Missed,Nieodebrane połączenie,
+Call Summary,Podsumowanie połączenia,
+Call Summary Saved,Podsumowanie połączeń zapisane,
+Cancelled,Anulowany,
+Cannot Calculate Arrival Time as Driver Address is Missing.,"Nie można obliczyć czasu przybycia, ponieważ brakuje adresu sterownika.",
+Cannot Optimize Route as Driver Address is Missing.,"Nie można zoptymalizować trasy, ponieważ brakuje adresu sterownika.",
+Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,"Nie można ukończyć zadania {0}, ponieważ jego zależne zadanie {1} nie zostało zakończone / anulowane.",
+Cannot create loan until application is approved,"Nie można utworzyć pożyczki, dopóki wniosek nie zostanie zatwierdzony",
+Cannot find a matching Item. Please select some other value for {0}.,Nie możesz znaleźć pasujący element. Proszę wybrać jakąś inną wartość dla {0}.,
+"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Nie można przepłacić za element {0} w wierszu {1} więcej niż {2}. Aby zezwolić na nadmierne fakturowanie, ustaw limit w Ustawieniach kont",
+"Capacity Planning Error, planned start time can not be same as end time","Błąd planowania wydajności, planowany czas rozpoczęcia nie może być taki sam jak czas zakończenia",
+Categories,Kategorie,
+Changes in {0},Zmiany w {0},
+Chart,Wykres,
+Choose a corresponding payment,Wybierz odpowiednią płatność,
+Click on the link below to verify your email and confirm the appointment,"Kliknij poniższy link, aby zweryfikować swój adres e-mail i potwierdzić spotkanie",
+Close,Zamknij,
+Communication,Komunikacja,
+Compact Item Print,Compact Element Drukuj,
+Company,Firma,
+Company of asset {0} and purchase document {1} doesn't matches.,Firma zasobu {0} i dokument zakupu {1} nie pasują.,
+Compare BOMs for changes in Raw Materials and Operations,Porównaj LM dla zmian w surowcach i operacjach,
+Compare List function takes on list arguments,Funkcja listy porównawczej przyjmuje argumenty listy,
+Complete,Kompletny,
+Completed,Zakończono,
+Completed Quantity,Ukończona ilość,
+Connect your Exotel Account to ERPNext and track call logs,Połącz swoje konto Exotel z ERPNext i śledź dzienniki połączeń,
+Connect your bank accounts to ERPNext,Połącz swoje konta bankowe z ERPNext,
+Contact Seller,Skontaktuj się ze sprzedawcą,
+Continue,Kontynuuj,
+Cost Center: {0} does not exist,Centrum kosztów: {0} nie istnieje,
+Couldn't Set Service Level Agreement {0}.,Nie można ustawić umowy o poziomie usług {0}.,
+Country,Kraj,
+Country Code in File does not match with country code set up in the system,Kod kraju w pliku nie zgadza się z kodem kraju skonfigurowanym w systemie,
+Create New Contact,Utwórz nowy kontakt,
+Create New Lead,Utwórz nowego potencjalnego klienta,
+Create Pick List,Utwórz listę wyboru,
+Create Quality Inspection for Item {0},Utwórz kontrolę jakości dla przedmiotu {0},
+Creating Accounts...,Tworzenie kont ...,
+Creating bank entries...,Tworzenie wpisów bankowych ...,
+Credit limit is already defined for the Company {0},Limit kredytowy jest już zdefiniowany dla firmy {0},
+Ctrl + Enter to submit,"Ctrl + Enter, aby przesłać",
+Ctrl+Enter to submit,"Ctrl + Enter, aby przesłać",
+Currency,Waluta,
+Current Status,Bieżący status,
+Customer PO,Klient PO,
+Customize,Dostosuj,
+Daily,Codziennie,
+Date,Data,
+Date Range,Zakres dat,
+Date of Birth cannot be greater than Joining Date.,Data urodzenia nie może być większa niż data przystąpienia.,
+Dear,Drogi,
+Default,Domyślny,
+Define coupon codes.,Zdefiniuj kody kuponów.,
+Delayed Days,Opóźnione dni,
+Delete,Usuń,
+Delivered Quantity,Dostarczona ilość,
+Delivery Notes,Dokumenty dostawy,
+Depreciated Amount,Amortyzowana kwota,
+Description,Opis,
+Designation,Nominacja,
+Difference Value,Różnica wartości,
+Dimension Filter,Filtr wymiarów,
+Disabled,Nieaktywny,
+Disbursement and Repayment,Wypłata i spłata,
+Distance cannot be greater than 4000 kms,Odległość nie może być większa niż 4000 km,
+Do you want to submit the material request,Czy chcesz przesłać żądanie materiałowe,
+Doctype,Doctype,
+Document {0} successfully uncleared,Dokument {0} został pomyślnie usunięty,
+Download Template,Ściągnij Szablon,
+Dr,Dr,
+Due Date,Termin,
+Duplicate,Powiel,
+Duplicate Project with Tasks,Duplikuj projekt z zadaniami,
+Duplicate project has been created,Utworzono zduplikowany projekt,
+E-Way Bill JSON can only be generated from a submitted document,e-Way Bill JSON można wygenerować tylko z przesłanego dokumentu,
+E-Way Bill JSON can only be generated from submitted document,e-Way Bill JSON można wygenerować tylko z przesłanego dokumentu,
+E-Way Bill JSON cannot be generated for Sales Return as of now,e-Way Bill JSON nie może być teraz generowany dla zwrotu sprzedaży,
+ERPNext could not find any matching payment entry,ERPNext nie mógł znaleźć żadnego pasującego wpisu płatności,
+Earliest Age,Najwcześniejszy wiek,
+Edit Details,Edytuj szczegóły,
+Edit Profile,Edytuj profil,
+Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Wymagany jest identyfikator transportera GST lub nr pojazdu, jeśli tryb transportu to Droga",
+Email,E-mail,
+Email Campaigns,Kampanie e-mail,
+Employee ID is linked with another instructor,Identyfikator pracownika jest powiązany z innym instruktorem,
+Employee Tax and Benefits,Podatek i świadczenia pracownicze,
+Employee is required while issuing Asset {0},Wymagany jest pracownik przy wydawaniu środka trwałego {0},
+Employee {0} does not belongs to the company {1},Pracownik {0} nie należy do firmy {1},
+Enable Auto Re-Order,Włącz automatyczne ponowne zamówienie,
+End Date of Agreement can't be less than today.,Data zakończenia umowy nie może być mniejsza niż dzisiaj.,
+End Time,Czas zakończenia,
+Energy Point Leaderboard,Tabela punktów energetycznych,
+Enter API key in Google Settings.,Wprowadź klucz API w Ustawieniach Google.,
+Enter Supplier,Wpisz dostawcę,
+Enter Value,Wpisz Wartość,
+Entity Type,Typ encji,
+Error,Błąd,
+Error in Exotel incoming call,Błąd połączenia przychodzącego Exotel,
+Error: {0} is mandatory field,Błąd: {0} to pole obowiązkowe,
+Event Link,Link do wydarzenia,
+Exception occurred while reconciling {0},Wystąpił wyjątek podczas uzgadniania {0},
+Expected and Discharge dates cannot be less than Admission Schedule date,Oczekiwana data i data zwolnienia nie mogą być krótsze niż data harmonogramu przyjęć,
+Expire Allocation,Wygaś przydział,
+Expired,Upłynął,
+Export,Eksport,
+Export not allowed. You need {0} role to export.,eksport nie jest dozwolony. Potrzebujesz {0} modeli żeby eksportować,
+Failed to add Domain,Nie udało się dodać domeny,
+Fetch Items from Warehouse,Pobierz przedmioty z magazynu,
+Fetching...,Ujmujący...,
+Field,Pole,
+File Manager,Menedżer plików,
+Filters,Filtry,
+Finding linked payments,Znajdowanie powiązanych płatności,
+Fleet Management,Fleet Management,
+Following fields are mandatory to create address:,"Aby utworzyć adres, należy podać następujące pola:",
+For Month,Na miesiąc,
+"For item {0} at row {1}, count of serial numbers does not match with the picked quantity",Dla pozycji {0} w wierszu {1} liczba numerów seryjnych nie zgadza się z pobraną ilością,
+For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Dla operacji {0}: Ilość ({1}) nie może być greter wyższa niż ilość oczekująca ({2}),
+For quantity {0} should not be greater than work order quantity {1},Dla ilości {0} nie powinna być większa niż ilość zlecenia pracy {1},
+Free item not set in the pricing rule {0},Darmowy element nie jest ustawiony w regule cenowej {0},
+From Date and To Date are Mandatory,Od daty i daty są obowiązkowe,
+From employee is required while receiving Asset {0} to a target location,Od pracownika jest wymagany przy odbiorze Zasoby {0} do docelowej lokalizacji,
+Fuel Expense,Koszt paliwa,
+Future Payment Amount,Kwota przyszłej płatności,
+Future Payment Ref,Przyszła płatność Nr ref,
+Future Payments,Przyszłe płatności,
+GST HSN Code does not exist for one or more items,Kod GST HSN nie istnieje dla jednego lub więcej przedmiotów,
+Generate E-Way Bill JSON,Generuj e-Way Bill JSON,
+Get Items,Pobierz,
+Get Outstanding Documents,Uzyskaj znakomite dokumenty,
+Goal,Cel,
+Greater Than Amount,Większa niż kwota,
+Green,Zielony,
+Group,Grupa,
+Group By Customer,Grupuj według klienta,
+Group By Supplier,Grupuj według dostawcy,
+Group Node,Węzeł Grupy,
+Group Warehouses cannot be used in transactions. Please change the value of {0},Magazyny grupowe nie mogą być używane w transakcjach. Zmień wartość {0},
+Help,Pomoc,
+Help Article,Artykuł pomocy,
+"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Pomaga śledzić kontrakty na podstawie dostawcy, klienta i pracownika",
+Helps you manage appointments with your leads,Pomaga zarządzać spotkaniami z potencjalnymi klientami,
+Home,Start,
+IBAN is not valid,IBAN jest nieprawidłowy,
+Import Data from CSV / Excel files.,Importuj dane z plików CSV / Excel.,
+In Progress,W trakcie,
+Incoming call from {0},Połączenie przychodzące od {0},
+Incorrect Warehouse,Niepoprawny magazyn,
+Intermediate,Pośredni,
+Invalid Barcode. There is no Item attached to this barcode.,Nieprawidłowy kod kreskowy. Brak kodu dołączonego do tego kodu kreskowego.,
+Invalid credentials,Nieprawidłowe poświadczenia,
+Invite as User,Zaproś jako Użytkownik,
+Issue Priority.,Priorytet wydania.,
+Issue Type.,Typ problemu.,
+"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.","Wygląda na to, że istnieje problem z konfiguracją pasków serwera. W przypadku niepowodzenia kwota zostanie zwrócona na Twoje konto.",
+Item Reported,Zgłoszony element,
+Item listing removed,Usunięto listę produktów,
+Item quantity can not be zero,Ilość towaru nie może wynosić zero,
+Item taxes updated,Zaktualizowano podatki od towarów,
+Item {0}: {1} qty produced. ,Produkt {0}: wyprodukowano {1} sztuk.,
+Joining Date can not be greater than Leaving Date,Data dołączenia nie może być większa niż Data opuszczenia,
+Lab Test Item {0} already exist,Element testu laboratoryjnego {0} już istnieje,
+Last Issue,Ostatnie wydanie,
+Latest Age,Późne stadium,
+Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Wniosek o urlop jest powiązany z przydziałem urlopu {0}. Wniosek o urlop nie może być ustawiony jako urlop bez wynagrodzenia,
+Leaves Taken,Zrobione liście,
+Less Than Amount,Mniej niż kwota,
+Liabilities,Zadłużenie,
+Loading...,Wczytuję...,
+Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Kwota pożyczki przekracza maksymalną kwotę pożyczki w wysokości {0} zgodnie z proponowanymi papierami wartościowymi,
+Loan Applications from customers and employees.,Wnioski o pożyczkę od klientów i pracowników.,
+Loan Disbursement,Wypłata pożyczki,
+Loan Processes,Procesy pożyczkowe,
+Loan Security,Zabezpieczenie pożyczki,
+Loan Security Pledge,Zobowiązanie do zabezpieczenia pożyczki,
+Loan Security Pledge Created : {0},Utworzono zastaw na zabezpieczeniu pożyczki: {0},
+Loan Security Price,Cena zabezpieczenia pożyczki,
+Loan Security Price overlapping with {0},Cena zabezpieczenia kredytu pokrywająca się z {0},
+Loan Security Unpledge,Zabezpieczenie pożyczki Unpledge,
+Loan Security Value,Wartość zabezpieczenia pożyczki,
+Loan Type for interest and penalty rates,Rodzaj pożyczki na odsetki i kary pieniężne,
+Loan amount cannot be greater than {0},Kwota pożyczki nie może być większa niż {0},
+Loan is mandatory,Pożyczka jest obowiązkowa,
+Loans,Pożyczki,
+Loans provided to customers and employees.,Pożyczki udzielone klientom i pracownikom.,
+Location,Lokacja,
+Log Type is required for check-ins falling in the shift: {0}.,Typ dziennika jest wymagany w przypadku zameldowań przypadających na zmianę: {0}.,
+Looks like someone sent you to an incomplete URL. Please ask them to look into it.,"Wygląda jak ktoś wysłał do niekompletnego adresu URL. Proszę poprosić ich, aby na nią patrzeć.",
+Make Journal Entry,Dodaj wpis do dziennika,
+Make Purchase Invoice,Nowa faktura zakupu,
+Manufactured,Zrobiony fabrycznie,
+Mark Work From Home,Oznacz pracę z domu,
+Master,Magister,
+Max strength cannot be less than zero.,Maksymalna siła nie może być mniejsza niż zero.,
+Maximum attempts for this quiz reached!,Osiągnięto maksymalną liczbę prób tego quizu!,
+Message,Wiadomość,
+Missing Values Required,Uzupełnij Brakujące Wartości,
+Mobile No,Nr tel. Komórkowego,
+Mobile Number,Numer telefonu komórkowego,
+Month,Miesiąc,
+Name,Nazwa,
+Near you,Blisko Ciebie,
+Net Profit/Loss,Zysk / strata netto,
+New Expense,Nowy wydatek,
+New Invoice,Nowa faktura,
+New Payment,Nowa płatność,
+New release date should be in the future,Nowa data wydania powinna być w przyszłości,
+Newsletter,Newsletter,
+No Account matched these filters: {},Brak kont pasujących do tych filtrów: {},
+No Employee found for the given employee field value. '{}': {},Nie znaleziono pracownika dla danej wartości pola pracownika. &#39;{}&#39;: {},
+No Leaves Allocated to Employee: {0} for Leave Type: {1},Brak urlopów przydzielonych pracownikowi: {0} dla typu urlopu: {1},
+No communication found.,Nie znaleziono komunikacji.,
+No correct answer is set for {0},Brak poprawnej odpowiedzi dla {0},
+No description,Bez opisu,
+No issue has been raised by the caller.,Dzwoniący nie podniósł żadnego problemu.,
+No items to publish,Brak elementów do opublikowania,
+No outstanding invoices found,Nie znaleziono żadnych zaległych faktur,
+No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,"Nie znaleziono zaległych faktur za {0} {1}, które kwalifikują określone filtry.",
+No outstanding invoices require exchange rate revaluation,Żadne zaległe faktury nie wymagają aktualizacji kursu walutowego,
+No reviews yet,Brak recenzji,
+No views yet,Brak jeszcze wyświetleń,
+Non stock items,Pozycje niedostępne,
+Not Allowed,Nie dozwolone,
+Not allowed to create accounting dimension for {0},Nie wolno tworzyć wymiaru księgowego dla {0},
+Not permitted. Please disable the Lab Test Template,Nie dozwolone. Wyłącz szablon testu laboratoryjnego,
+Note,Notatka,
+Notes: ,Notatki:,
+On Converting Opportunity,O możliwościach konwersji,
+On Purchase Order Submission,Po złożeniu zamówienia,
+On Sales Order Submission,Przy składaniu zamówienia sprzedaży,
+On Task Completion,Po zakończeniu zadania,
+On {0} Creation,W dniu {0} Creation,
+Only .csv and .xlsx files are supported currently,Aktualnie obsługiwane są tylko pliki .csv i .xlsx,
+Only expired allocation can be cancelled,Tylko wygasły przydział można anulować,
+Only users with the {0} role can create backdated leave applications,Tylko użytkownicy z rolą {0} mogą tworzyć aplikacje urlopowe z datą wsteczną,
+Open,otwarty,
+Open Contact,Otwarty kontakt,
+Open Lead,Ołów otwarty,
+Opening and Closing,Otwieranie i zamykanie,
+Operating Cost as per Work Order / BOM,Koszt operacyjny według zlecenia pracy / BOM,
+Order Amount,Kwota zamówienia,
+Page {0} of {1},Strona {0} z {1},
+Paid amount cannot be less than {0},Kwota wpłaty nie może być mniejsza niż {0},
+Parent Company must be a group company,Firma macierzysta musi być spółką grupy,
+Passing Score value should be between 0 and 100,Wartość Passing Score powinna wynosić od 0 do 100,
+Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Polityka haseł nie może zawierać spacji ani jednoczesnych myślników. Format zostanie automatycznie zrestrukturyzowany,
+Patient History,Historia pacjenta,
+Pause,Pauza,
+Pay,Zapłacone,
+Payment Document Type,Typ dokumentu płatności,
+Payment Name,Nazwa płatności,
+Penalty Amount,Kwota kary,
+Pending,W toku,
+Performance,Występ,
+Period based On,Okres oparty na,
+Perpetual inventory required for the company {0} to view this report.,"Aby przeglądać ten raport, firma musi mieć ciągłe zapasy.",
+Phone,Telefon,
+Pick List,Lista wyboru,
+Plaid authentication error,Błąd uwierzytelniania w kratkę,
+Plaid public token error,Błąd publicznego znacznika w kratkę,
+Plaid transactions sync error,Błąd synchronizacji transakcji Plaid,
+Please check the error log for details about the import errors,"Sprawdź dziennik błędów, aby uzyskać szczegółowe informacje na temat błędów importu",
+Please create <b>DATEV Settings</b> for Company <b>{}</b>.,<b>Utwórz ustawienia DATEV</b> dla firmy <b>{}</b> .,
+Please create adjustment Journal Entry for amount {0} ,Utwórz korektę Zapis księgowy dla kwoty {0},
+Please do not create more than 500 items at a time,Nie twórz więcej niż 500 pozycji naraz,
+Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Wprowadź <b>konto różnicowe</b> lub ustaw domyślne <b>konto korekty zapasów</b> dla firmy {0},
+Please enter GSTIN and state for the Company Address {0},Wprowadź GSTIN i podaj adres firmy {0},
+Please enter Item Code to get item taxes,"Wprowadź kod produktu, aby otrzymać podatki od przedmiotu",
+Please enter Warehouse and Date,Proszę podać Magazyn i datę,
+Please enter the designation,Proszę podać oznaczenie,
+Please login as a Marketplace User to edit this item.,"Zaloguj się jako użytkownik Marketplace, aby edytować ten element.",
+Please login as a Marketplace User to report this item.,"Zaloguj się jako użytkownik Marketplace, aby zgłosić ten element.",
+Please select <b>Template Type</b> to download template,"Wybierz <b>Typ szablonu,</b> aby pobrać szablon",
+Please select Applicant Type first,Najpierw wybierz typ wnioskodawcy,
+Please select Customer first,Najpierw wybierz klienta,
+Please select Item Code first,Najpierw wybierz Kod produktu,
+Please select Loan Type for company {0},Wybierz typ pożyczki dla firmy {0},
+Please select a Delivery Note,Wybierz dowód dostawy,
+Please select a Sales Person for item: {0},Wybierz sprzedawcę dla produktu: {0},
+Please select another payment method. Stripe does not support transactions in currency '{0}',Wybierz inną metodę płatności. Stripe nie obsługuje transakcji w walucie &#39;{0}&#39;,
+Please select the customer.,Wybierz klienta.,
+Please set a Supplier against the Items to be considered in the Purchase Order.,"Proszę ustawić Dostawcę na tle Przedmiotów, które należy uwzględnić w Zamówieniu.",
+Please set account heads in GST Settings for Compnay {0},Ustaw głowice kont w Ustawieniach GST dla Compnay {0},
+Please set an email id for the Lead {0},Ustaw identyfikator e-mail dla potencjalnego klienta {0},
+Please set default UOM in Stock Settings,Proszę ustawić domyślną JM w Ustawieniach magazynowych,
+Please set filter based on Item or Warehouse due to a large amount of entries.,Ustaw filtr na podstawie pozycji lub magazynu ze względu na dużą liczbę wpisów.,
+Please set up the Campaign Schedule in the Campaign {0},Ustaw harmonogram kampanii w kampanii {0},
+Please set valid GSTIN No. in Company Address for company {0},Ustaw prawidłowy numer GSTIN w adresie firmy dla firmy {0},
+Please set {0},Ustaw {0},customer
+Please setup a default bank account for company {0},Ustaw domyślne konto bankowe dla firmy {0},
+Please specify,Sprecyzuj,
+Please specify a {0},Proszę podać {0},lead
+Pledge Status,Status zobowiązania,
+Pledge Time,Czas przyrzeczenia,
+Printing,Druk,
+Priority,Priorytet,
+Priority has been changed to {0}.,Priorytet został zmieniony na {0}.,
+Priority {0} has been repeated.,Priorytet {0} został powtórzony.,
+Processing XML Files,Przetwarzanie plików XML,
+Profitability,Rentowność,
+Project,Projekt,
+Proposed Pledges are mandatory for secured Loans,Proponowane zastawy są obowiązkowe dla zabezpieczonych pożyczek,
+Provide the academic year and set the starting and ending date.,Podaj rok akademicki i ustaw datę początkową i końcową.,
+Public token is missing for this bank,Brakuje publicznego tokena dla tego banku,
+Publish,Publikować,
+Publish 1 Item,Opublikuj 1 przedmiot,
+Publish Items,Publikuj przedmioty,
+Publish More Items,Opublikuj więcej przedmiotów,
+Publish Your First Items,Opublikuj swoje pierwsze przedmioty,
+Publish {0} Items,Opublikuj {0} przedmiotów,
+Published Items,Opublikowane przedmioty,
+Purchase Invoice cannot be made against an existing asset {0},Nie można wystawić faktury zakupu na istniejący zasób {0},
+Purchase Invoices,Faktury zakupu,
+Purchase Orders,Zlecenia kupna,
+Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,"W potwierdzeniu zakupu nie ma żadnego elementu, dla którego włączona jest opcja Zachowaj próbkę.",
+Purchase Return,Zwrot zakupu,
+Qty of Finished Goods Item,Ilość produktu gotowego,
+Qty or Amount is mandatroy for loan security,Ilość lub Kwota jest mandatroy dla zabezpieczenia kredytu,
+Quality Inspection required for Item {0} to submit,Kontrola jakości wymagana do przesłania pozycji {0},
+Quantity to Manufacture,Ilość do wyprodukowania,
+Quantity to Manufacture can not be zero for the operation {0},Ilość do wyprodukowania nie może wynosić zero dla operacji {0},
+Quarterly,Kwartalnie,
+Queued,W kolejce,
+Quick Entry,Szybkie wejścia,
+Quiz {0} does not exist,Quiz {0} nie istnieje,
+Quotation Amount,Kwota oferty,
+Rate or Discount is required for the price discount.,Do obniżki ceny wymagana jest stawka lub zniżka.,
+Reason,Powód,
+Reconcile Entries,Uzgodnij wpisy,
+Reconcile this account,Uzgodnij to konto,
+Reconciled,Uzgodnione,
+Recruitment,Rekrutacja,
+Red,Czerwony,
+Refreshing,Odświeżam,
+Release date must be in the future,Data wydania musi być w przyszłości,
+Relieving Date must be greater than or equal to Date of Joining,Data zwolnienia musi być większa lub równa dacie przystąpienia,
+Rename,Zmień nazwę,
+Rename Not Allowed,Zmień nazwę na Niedozwolone,
+Repayment Method is mandatory for term loans,Metoda spłaty jest obowiązkowa w przypadku pożyczek terminowych,
+Repayment Start Date is mandatory for term loans,Data rozpoczęcia spłaty jest obowiązkowa w przypadku pożyczek terminowych,
+Report Item,Zgłoś przedmiot,
+Report this Item,Zgłoś ten przedmiot,
+Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Zarezerwowana ilość dla umowy podwykonawczej: ilość surowców do wytworzenia elementów podwykonawczych.,
+Reset,Nastawić,
+Reset Service Level Agreement,Zresetuj umowę o poziomie usług,
+Resetting Service Level Agreement.,Resetowanie umowy o poziomie usług.,
+Return amount cannot be greater unclaimed amount,Kwota zwrotu nie może być większa niż kwota nieodebrana,
+Review,Przejrzeć,
+Room,Pokój,
+Room Type,Rodzaj pokoju,
+Row # ,Wiersz #,
+Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Wiersz # {0}: Magazyn zaakceptowany i magazyn dostawcy nie mogą być takie same,
+Row #{0}: Cannot delete item {1} which has already been billed.,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już rozliczony.",
+Row #{0}: Cannot delete item {1} which has already been delivered,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już dostarczony",
+Row #{0}: Cannot delete item {1} which has already been received,"Wiersz # {0}: Nie można usunąć elementu {1}, który został już odebrany",
+Row #{0}: Cannot delete item {1} which has work order assigned to it.,"Wiersz # {0}: Nie można usunąć elementu {1}, któremu przypisano zlecenie pracy.",
+Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,"Wiersz # {0}: Nie można usunąć elementu {1}, który jest przypisany do zamówienia zakupu klienta.",
+Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Wiersz # {0}: nie można wybrać magazynu dostawcy podczas dostarczania surowców do podwykonawcy,
+Row #{0}: Cost Center {1} does not belong to company {2},Wiersz # {0}: Centrum kosztów {1} nie należy do firmy {2},
+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}.,Wiersz # {0}: operacja {1} nie została zakończona dla {2} ilości gotowych produktów w zleceniu pracy {3}. Zaktualizuj status operacji za pomocą karty pracy {4}.,
+Row #{0}: Payment document is required to complete the transaction,Wiersz # {0}: dokument płatności jest wymagany do zakończenia transakcji,
+Row #{0}: Serial No {1} does not belong to Batch {2},Wiersz # {0}: numer seryjny {1} nie należy do partii {2},
+Row #{0}: Service End Date cannot be before Invoice Posting Date,Wiersz # {0}: data zakończenia usługi nie może być wcześniejsza niż data księgowania faktury,
+Row #{0}: Service Start Date cannot be greater than Service End Date,Wiersz # {0}: data rozpoczęcia usługi nie może być większa niż data zakończenia usługi,
+Row #{0}: Service Start and End Date is required for deferred accounting,Wiersz # {0}: data rozpoczęcia i zakończenia usługi jest wymagana dla odroczonej księgowości,
+Row {0}: Invalid Item Tax Template for item {1},Wiersz {0}: nieprawidłowy szablon podatku od towarów dla towaru {1},
+Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Wiersz {0}: ilość niedostępna dla {4} w magazynie {1} w czasie księgowania wpisu ({2} {3}),
+Row {0}: user has not applied the rule {1} on the item {2},Wiersz {0}: użytkownik nie zastosował reguły {1} do pozycji {2},
+Row {0}:Sibling Date of Birth cannot be greater than today.,Wiersz {0}: data urodzenia rodzeństwa nie może być większa niż dzisiaj.,
+Row({0}): {1} is already discounted in {2},Wiersz ({0}): {1} jest już zdyskontowany w {2},
+Rows Added in {0},Rzędy dodane w {0},
+Rows Removed in {0},Rzędy usunięte w {0},
+Sanctioned Amount limit crossed for {0} {1},Przekroczono limit kwoty usankcjonowanej dla {0} {1},
+Sanctioned Loan Amount already exists for {0} against company {1},Kwota sankcjonowanej pożyczki już istnieje dla {0} wobec firmy {1},
+Save,Zapisz,
+Save Item,Zapisz przedmiot,
+Saved Items,Zapisane przedmioty,
+Search Items ...,Szukaj przedmiotów ...,
+Search for a payment,Wyszukaj płatność,
+Search for anything ...,Wyszukaj cokolwiek ...,
+Search results for,Wyniki wyszukiwania dla,
+Select All,Wybierz wszystko,
+Select Difference Account,Wybierz konto różnicy,
+Select a Default Priority.,Wybierz domyślny priorytet.,
+Select a company,Wybierz firmę,
+Select finance book for the item {0} at row {1},Wybierz księgę finansową dla pozycji {0} w wierszu {1},
+Select only one Priority as Default.,Wybierz tylko jeden priorytet jako domyślny.,
+Seller Information,Informacje o sprzedawcy,
+Send,Wyślij,
+Send a message,Wysłać wiadomość,
+Sending,Wysyłanie,
+Sends Mails to lead or contact based on a Campaign schedule,Wysyła wiadomości e-mail do potencjalnego klienta lub kontaktu na podstawie harmonogramu kampanii,
+Serial Number Created,Utworzono numer seryjny,
+Serial Numbers Created,Utworzono numery seryjne,
+Serial no(s) required for serialized item {0},Nie są wymagane numery seryjne dla pozycji zserializowanej {0},
+Series,Seria,
+Server Error,błąd serwera,
+Service Level Agreement has been changed to {0}.,Umowa o poziomie usług została zmieniona na {0}.,
+Service Level Agreement was reset.,Umowa o poziomie usług została zresetowana.,
+Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Umowa o poziomie usług z typem podmiotu {0} i podmiotem {1} już istnieje.,
+Set,Zbiór,
+Set Meta Tags,Ustaw meta tagi,
+Set {0} in company {1},Ustaw {0} w firmie {1},
+Setup,Ustawienia,
+Setup Wizard,Ustawienia Wizard,
+Shift Management,Zarządzanie zmianą,
+Show Future Payments,Pokaż przyszłe płatności,
+Show Linked Delivery Notes,Pokaż połączone dowody dostawy,
+Show Sales Person,Pokaż sprzedawcę,
+Show Stock Ageing Data,Pokaż dane dotyczące starzenia się zapasów,
+Show Warehouse-wise Stock,Pokaż magazyn w magazynie,
+Size,Rozmiar,
+Something went wrong while evaluating the quiz.,Coś poszło nie tak podczas oceny quizu.,
+Sr,sr,
+Start,Start,
+Start Date cannot be before the current date,Data rozpoczęcia nie może być wcześniejsza niż bieżąca data,
+Start Time,Czas rozpoczęcia,
+Status,Status,
+Status must be Cancelled or Completed,Status musi zostać anulowany lub ukończony,
+Stock Balance Report,Raport stanu zapasów,
+Stock Entry has been already created against this Pick List,Zapis zapasów został już utworzony dla tej listy pobrania,
+Stock Ledger ID,Identyfikator księgi głównej,
+Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Wartość zapasów ({0}) i saldo konta ({1}) nie są zsynchronizowane dla konta {2} i powiązanych magazynów.,
+Stores - {0},Sklepy - {0},
+Student with email {0} does not exist,Student z e-mailem {0} nie istnieje,
+Submit Review,Dodaj recenzję,
+Submitted,Zgłoszny,
+Supplier Addresses And Contacts,Adresy i kontakty dostawcy,
+Synchronize this account,Zsynchronizuj to konto,
+Tag,Etykietka,
+Target Location is required while receiving Asset {0} from an employee,Lokalizacja docelowa jest wymagana podczas otrzymywania środka {0} od pracownika,
+Target Location is required while transferring Asset {0},Lokalizacja docelowa jest wymagana podczas przenoszenia aktywów {0},
+Target Location or To Employee is required while receiving Asset {0},Lokalizacja docelowa lub Do pracownika jest wymagana podczas otrzymywania Zasobu {0},
+Task's {0} End Date cannot be after Project's End Date.,Data zakończenia zadania {0} nie może być późniejsza niż data zakończenia projektu.,
+Task's {0} Start Date cannot be after Project's End Date.,Data rozpoczęcia zadania {0} nie może być późniejsza niż data zakończenia projektu.,
+Tax Account not specified for Shopify Tax {0},Nie określono konta podatkowego dla Shopify Tax {0},
+Tax Total,Podatek ogółem,
+Template,Szablon,
+The Campaign '{0}' already exists for the {1} '{2}',Kampania „{0}” już istnieje dla {1} ”{2}”,
+The difference between from time and To Time must be a multiple of Appointment,Różnica między czasem a czasem musi być wielokrotnością terminu,
+The field Asset Account cannot be blank,Pole Konto aktywów nie może być puste,
+The field Equity/Liability Account cannot be blank,Pole Rachunek kapitału własnego / pasywnego nie może być puste,
+The following serial numbers were created: <br><br> {0},Utworzono następujące numery seryjne: <br><br> {0},
+The parent account {0} does not exists in the uploaded template,Konto nadrzędne {0} nie istnieje w przesłanym szablonie,
+The question cannot be duplicate,Pytanie nie może być duplikowane,
+The selected payment entry should be linked with a creditor bank transaction,Wybrany zapis płatności powinien być powiązany z transakcją banku wierzyciela,
+The selected payment entry should be linked with a debtor bank transaction,Wybrany zapis płatności powinien być powiązany z transakcją bankową dłużnika,
+The total allocated amount ({0}) is greated than the paid amount ({1}).,Łączna przydzielona kwota ({0}) jest przywitana niż wypłacona kwota ({1}).,
+There are no vacancies under staffing plan {0},W planie zatrudnienia nie ma wolnych miejsc pracy {0},
+This Service Level Agreement is specific to Customer {0},Niniejsza umowa dotycząca poziomu usług dotyczy wyłącznie klienta {0},
+This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Ta czynność spowoduje odłączenie tego konta od dowolnej usługi zewnętrznej integrującej ERPNext z kontami bankowymi. Nie można tego cofnąć. Czy jesteś pewien ?,
+This bank account is already synchronized,To konto bankowe jest już zsynchronizowane,
+This bank transaction is already fully reconciled,Ta transakcja bankowa została już w pełni uzgodniona,
+This employee already has a log with the same timestamp.{0},Ten pracownik ma już dziennik z tym samym znacznikiem czasu. {0},
+This page keeps track of items you want to buy from sellers.,"Ta strona śledzi przedmioty, które chcesz kupić od sprzedawców.",
+This page keeps track of your items in which buyers have showed some interest.,"Ta strona śledzi Twoje produkty, którymi kupujący wykazali pewne zainteresowanie.",
+Thursday,Czwartek,
+Timing,wyczucie czasu,
+Title,Tytuł,
+"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Aby zezwolić na rozliczenia, zaktualizuj „Over Billing Allowance” w ustawieniach kont lub pozycji.",
+"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Aby zezwolić na odbiór / dostawę, zaktualizuj „Przekazywanie / dostawę” w Ustawieniach magazynowych lub pozycji.",
+To date needs to be before from date,Do tej pory musi być wcześniejsza niż data,
+Total,Razem,
+Total Early Exits,Łącznie wczesne wyjścia,
+Total Late Entries,Późne wpisy ogółem,
+Total Payment Request amount cannot be greater than {0} amount,Łączna kwota żądania zapłaty nie może być większa niż kwota {0},
+Total payments amount can't be greater than {},Łączna kwota płatności nie może być większa niż {},
+Totals,Sumy całkowite,
+Training Event:,Wydarzenie szkoleniowe:,
+Transactions already retreived from the statement,Transakcje już wycofane z wyciągu,
+Transfer Material to Supplier,Przenieść materiał do dostawcy,
+Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Nr potwierdzenia odbioru i data są obowiązkowe w wybranym trybie transportu,
+Tuesday,Wtorek,
+Type,Typ,
+Unable to find Salary Component {0},Nie można znaleźć składnika wynagrodzenia {0},
+Unable to find the time slot in the next {0} days for the operation {1}.,Nie można znaleźć przedziału czasu w ciągu najbliższych {0} dni dla operacji {1}.,
+Unable to update remote activity,Nie można zaktualizować aktywności zdalnej,
+Unknown Caller,Nieznany rozmówca,
+Unlink external integrations,Rozłącz integracje zewnętrzne,
+Unmarked Attendance for days,Nieoznakowana obecność na kilka dni,
+Unpublish Item,Cofnij publikację przedmiotu,
+Unreconciled,Nieuzgodnione,
+Unsupported GST Category for E-Way Bill JSON generation,Nieobsługiwana kategoria GST dla generacji e-Way Bill JSON,
+Update,Aktualizacja,
+Update Details,Zaktualizuj szczegóły,
+Update Taxes for Items,Zaktualizuj podatki od przedmiotów,
+"Upload a bank statement, link or reconcile a bank account","Prześlij wyciąg z konta bankowego, połącz lub rozlicz konto bankowe",
+Upload a statement,Prześlij oświadczenie,
+Use a name that is different from previous project name,Użyj nazwy innej niż nazwa poprzedniego projektu,
+User {0} is disabled,Użytkownik {0} jest wyłączony,
+Users and Permissions,Użytkownicy i uprawnienia,
+Vacancies cannot be lower than the current openings,Wolne miejsca nie mogą być niższe niż obecne otwarcia,
+Valid From Time must be lesser than Valid Upto Time.,Ważny od czasu musi być mniejszy niż Ważny do godziny.,
+Valuation Rate required for Item {0} at row {1},Kurs wyceny wymagany dla pozycji {0} w wierszu {1},
+Values Out Of Sync,Wartości niezsynchronizowane,
+Vehicle Type is required if Mode of Transport is Road,"Typ pojazdu jest wymagany, jeśli tryb transportu to Droga",
+Vendor Name,Nazwa dostawcy,
+Verify Email,zweryfikuj adres e-mail,
+View,Widok,
+View all issues from {0},Wyświetl wszystkie problemy z {0},
+View call log,Wyświetl dziennik połączeń,
+Warehouse,Magazyn,
+Warehouse not found against the account {0},Nie znaleziono magazynu dla konta {0},
+Welcome to {0},Zapraszamy do {0},
+Why do think this Item should be removed?,Dlaczego według mnie ten przedmiot powinien zostać usunięty?,
+Work Order {0}: Job Card not found for the operation {1},Zlecenie pracy {0}: Nie znaleziono karty pracy dla operacji {1},
+Workday {0} has been repeated.,Dzień roboczy {0} został powtórzony.,
+XML Files Processed,Przetwarzane pliki XML,
+Year,Rok,
+Yearly,Rocznie,
+You,Ty,
+You are not allowed to enroll for this course,Nie możesz zapisać się na ten kurs,
+You are not enrolled in program {0},Nie jesteś zarejestrowany w programie {0},
+You can Feature upto 8 items.,Możesz polecić do 8 przedmiotów.,
+You can also copy-paste this link in your browser,Można również skopiować i wkleić ten link w przeglądarce,
+You can publish upto 200 items.,Możesz opublikować do 200 pozycji.,
+You have to enable auto re-order in Stock Settings to maintain re-order levels.,"Aby utrzymać poziomy ponownego zamówienia, musisz włączyć automatyczne ponowne zamówienie w Ustawieniach zapasów.",
+You must be a registered supplier to generate e-Way Bill,"Musisz być zarejestrowanym dostawcą, aby wygenerować e-Way Bill",
+You need to login as a Marketplace User before you can add any reviews.,"Musisz się zalogować jako użytkownik portalu, aby móc dodawać recenzje.",
+Your Featured Items,Twoje polecane przedmioty,
+Your Items,Twoje przedmioty,
+Your Profile,Twój profil,
+Your rating:,Twoja ocena:,
+and,i,
+e-Way Bill already exists for this document,e-Way Bill już istnieje dla tego dokumentu,
+woocommerce - {0},woocommerce - {0},
+{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Wykorzystany kupon to {1}. Dozwolona ilość jest wyczerpana,
+{0} Name,Imię {0},
+{0} Operations: {1},{0} Operacje: {1},
+{0} bank transaction(s) created,{0} utworzono transakcje bankowe,
+{0} bank transaction(s) created and {1} errors,{0} utworzono transakcje bankowe i błędy {1},
+{0} can not be greater than {1},{0} nie może być większy niż {1},
+{0} conversations,{0} rozmów,
+{0} is not a company bank account,{0} nie jest firmowym kontem bankowym,
+{0} is not a group node. Please select a group node as parent cost center,{0} nie jest węzłem grupy. Wybierz węzeł grupy jako macierzyste centrum kosztów,
+{0} is not the default supplier for any items.,{0} nie jest domyślnym dostawcą dla żadnych przedmiotów.,
+{0} is required,{0} is wymagany,
+{0}: {1} must be less than {2},{0}: {1} musi być mniejsze niż {2},
+{} is an invalid Attendance Status.,{} to nieprawidłowy status frekwencji.,
+{} is required to generate E-Way Bill JSON,{} jest wymagane do wygenerowania E-Way Bill JSON,
+"Invalid lost reason {0}, please create a new lost reason","Nieprawidłowy utracony powód {0}, utwórz nowy utracony powód",
+Profit This Year,Zysk w tym roku,
+Total Expense,Łączny koszt,
+Total Expense This Year,Całkowity koszt w tym roku,
+Total Income,Całkowity przychód,
+Total Income This Year,Dochód ogółem w tym roku,
+Barcode,kod kreskowy,
+Bold,Pogrubienie,
+Center,Środek,
+Clear,Jasny,
+Comment,Komentarz,
+Comments,Komentarze,
+DocType,DocType,
+Download,Pobieranie,
+Left,Opuścił,
+Link,Połączyć,
+New,Nowy,
+Not Found,Nie znaleziono,
+Print,Wydrukować,
+Reference Name,Nazwa referencyjna,
+Refresh,Odśwież,
+Success,Sukces,
+Time,Czas,
+Value,Wartość,
+Actual,Rzeczywisty,
+Add to Cart,Dodaj do koszyka,
+Days Since Last Order,Dni od ostatniego zamówienia,
+In Stock,W magazynie,
+Loan Amount is mandatory,Kwota pożyczki jest obowiązkowa,
+Mode Of Payment,Rodzaj płatności,
+No students Found,Nie znaleziono studentów,
+Not in Stock,Brak na stanie,
+Please select a Customer,Proszę wybrać klienta,
+Printed On,wydrukowane na,
+Received From,Otrzymane od,
+Sales Person,Sprzedawca,
+To date cannot be before From date,"""Do daty"" nie może być terminem przed ""od daty""",
+Write Off,Odpis,
+{0} Created,{0} utworzone,
+Email Id,Identyfikator E-mail,
+No,Nie,
+Reference Doctype,DocType Odniesienia,
+User Id,Identyfikator użytkownika,
+Yes,tak,
+Actual ,Właściwy,
+Add to cart,Dodaj do koszyka,
+Budget,Budżet,
+Chart of Accounts,Plan kont,
+Customer database.,Baza danych klientów.,
+Days Since Last order,Dni od ostatniego zamówienia,
+Download as JSON,Pobierz jako JSON,
+End date can not be less than start date,"Data zakończenia nie może być wcześniejsza, niż data rozpoczęcia",
+For Default Supplier (Optional),Dla dostawcy domyślnego (opcjonalnie),
+From date cannot be greater than To date,Data od - nie może być późniejsza niż Data do,
+Group by,Grupuj według,
+In stock,W magazynie,
+Item name,Nazwa pozycji,
+Loan amount is mandatory,Kwota pożyczki jest obowiązkowa,
+Minimum Qty,Minimalna ilość,
+More details,Więcej szczegółów,
+Nature of Supplies,Natura dostaw,
+No Items found.,Nie znaleziono żadnych przedmiotów.,
+No employee found,Nie znaleziono pracowników,
+No students found,Nie znaleziono studentów,
+Not in stock,Brak na stanie,
+Not permitted,Nie dozwolone,
+Open Issues ,Otwarte kwestie,
+Open Projects ,Otwarte projekty,
+Open To Do ,Otwarty na uwagi,
+Operation Id,Operacja ID,
+Partially ordered,częściowo Zamówione,
+Please select company first,Najpierw wybierz firmę,
+Please select patient,Wybierz pacjenta,
+Printed On ,Nadrukowany na,
+Projected qty,Prognozowana ilość,
+Sales person,Sprzedawca,
+Serial No {0} Created,Stworzono nr seryjny {0},
+Source Location is required for the Asset {0},Lokalizacja źródła jest wymagana dla zasobu {0},
+Tax Id,Identyfikator podatkowy,
+To Time,Do czasu,
+To date cannot be before from date,To Date nie może być wcześniejsza niż From Date,
+Total Taxable value,Całkowita wartość podlegająca opodatkowaniu,
+Upcoming Calendar Events ,Nadchodzące wydarzenia kalendarzowe,
+Value or Qty,Wartość albo Ilość,
+Variance ,Zmienność,
+Variant of,Wariant,
+Write off,Odpis,
+hours,godziny,
+received from,otrzymane od,
+to,do,
+Cards,Karty,
+Percentage,Odsetek,
+Failed to setup defaults for country {0}. Please contact support@erpnext.com,Nie udało się skonfigurować wartości domyślnych dla kraju {0}. Skontaktuj się z support@erpnext.com,
+Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Wiersz # {0}: pozycja {1} nie jest przedmiotem serializowanym / partiami. Nie może mieć numeru seryjnego / numeru partii.,
+Please set {0},Ustaw {0},
+Please set {0},Ustaw {0},supplier
+Draft,Wersja robocza,"docstatus,=,0"
+Cancelled,Anulowany,"docstatus,=,2"
+Please setup Instructor Naming System in Education > Education Settings,Skonfiguruj system nazewnictwa instruktorów w sekcji Edukacja&gt; Ustawienia edukacji,
+Please set Naming Series for {0} via Setup > Settings > Naming Series,Ustaw Serie nazw dla {0} poprzez Ustawienia&gt; Ustawienia&gt; Serie nazw,
+UOM Conversion factor ({0} -> {1}) not found for item: {2},Nie znaleziono współczynnika konwersji UOM ({0} -&gt; {1}) dla elementu: {2},
+Item Code > Item Group > Brand,Kod pozycji&gt; Grupa produktów&gt; Marka,
+Customer > Customer Group > Territory,Klient&gt; Grupa klientów&gt; Terytorium,
+Supplier > Supplier Type,Dostawca&gt; Rodzaj dostawcy,
+Please setup Employee Naming System in Human Resource > HR Settings,Skonfiguruj system nazewnictwa pracowników w dziale Zasoby ludzkie&gt; Ustawienia HR,
+Please setup numbering series for Attendance via Setup > Numbering Series,Skonfiguruj serie numeracji dla frekwencji poprzez Ustawienia&gt; Serie numeracji,
+The value of {0} differs between Items {1} and {2},Wartość {0} różni się między elementami {1} i {2},
+Auto Fetch,Automatyczne pobieranie,
+Fetch Serial Numbers based on FIFO,Pobierz numery seryjne na podstawie FIFO,
+"Outward taxable supplies(other than zero rated, nil rated and exempted)","Dostawy podlegające opodatkowaniu zewnętrznemu (inne niż zerowe, zerowe i zwolnione)",
+"To allow different rates, disable the {0} checkbox in {1}.","Aby zezwolić na różne stawki, wyłącz {0} pole wyboru w {1}.",
+Current Odometer Value should be greater than Last Odometer Value {0},Bieżąca wartość drogomierza powinna być większa niż ostatnia wartość drogomierza {0},
+No additional expenses has been added,Nie dodano żadnych dodatkowych kosztów,
+Asset{} {assets_link} created for {},Zasób {} {asset_link} utworzony dla {},
+Row {}: Asset Naming Series is mandatory for the auto creation for item {},Wiersz {}: Seria nazewnictwa zasobów jest wymagana w przypadku automatycznego tworzenia elementu {},
+Assets not created for {0}. You will have to create asset manually.,Zasoby nie zostały utworzone dla {0}. Będziesz musiał utworzyć zasób ręcznie.,
+{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} ma zapisy księgowe w walucie {2} firmy {3}. Wybierz konto należności lub zobowiązania w walucie {2}.,
+Invalid Account,Nieważne konto,
+Purchase Order Required,Wymagane zamówienia kupna,
+Purchase Receipt Required,Wymagane potwierdzenie zakupu,
+Account Missing,Brak konta,
+Requested,Zamówiony,
+Partially Paid,Częściowo wypłacone,
+Invalid Account Currency,Nieprawidłowa waluta konta,
+"Row {0}: The item {1}, quantity must be positive number","Wiersz {0}: pozycja {1}, ilość musi być liczbą dodatnią",
+"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Ustaw {0} dla pozycji wsadowej {1}, która jest używana do ustawiania {2} podczas przesyłania.",
+Expiry Date Mandatory,Data wygaśnięcia jest obowiązkowa,
+Variant Item,Wariant pozycji,
+BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} i BOM 2 {1} nie powinny być takie same,
+Note: Item {0} added multiple times,Uwaga: element {0} został dodany wiele razy,
+YouTube,Youtube,
+Vimeo,Vimeo,
+Publish Date,Data publikacji,
+Duration,Trwanie,
+Advanced Settings,Zaawansowane ustawienia,
+Path,Ścieżka,
+Components,składniki,
+Verified By,Zweryfikowane przez,
+Invalid naming series (. missing) for {0},Nieprawidłowa seria nazw (brak.) Dla {0},
+Filter Based On,Filtruj na podstawie,
+Reqd by date,Wymagane według daty,
+Manufacturer Part Number <b>{0}</b> is invalid,Numer części producenta <b>{0}</b> jest nieprawidłowy,
+Invalid Part Number,Nieprawidłowy numer części,
+Select atleast one Social Media from Share on.,Wybierz co najmniej jeden serwis społecznościowy z Udostępnij na.,
+Invalid Scheduled Time,Nieprawidłowy zaplanowany czas,
+Length Must be less than 280.,Długość musi być mniejsza niż 280.,
+Error while POSTING {0},Błąd podczas WPISYWANIA {0},
+"Session not valid, Do you want to login?","Sesja nieważna, czy chcesz się zalogować?",
+Session Active,Sesja aktywna,
+Session Not Active. Save doc to login.,"Sesja nieaktywna. Zapisz dokument, aby się zalogować.",
+Error! Failed to get request token.,Błąd! Nie udało się uzyskać tokena żądania.,
+Invalid {0} or {1},Nieprawidłowy {0} lub {1},
+Error! Failed to get access token.,Błąd! Nie udało się uzyskać tokena dostępu.,
+Invalid Consumer Key or Consumer Secret Key,Nieprawidłowy klucz klienta lub tajny klucz klienta,
+Your Session will be expire in ,Twoja sesja wygaśnie za,
+ days.,dni.,
+Session is expired. Save doc to login.,"Sesja wygasła. Zapisz dokument, aby się zalogować.",
+Error While Uploading Image,Błąd podczas przesyłania obrazu,
+You Didn't have permission to access this API,Nie masz uprawnień dostępu do tego interfejsu API,
+Valid Upto date cannot be before Valid From date,Data Valid Upto nie może być wcześniejsza niż data Valid From,
+Valid From date not in Fiscal Year {0},Data ważności od nie w roku podatkowym {0},
+Valid Upto date not in Fiscal Year {0},Ważna data ważności nie w roku podatkowym {0},
+Group Roll No,Group Roll No,
+Maintain Same Rate Throughout Sales Cycle,Utrzymanie tej samej stawki przez cały cykl sprzedaży,
+"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Wiersz {1}: ilość ({0}) nie może być ułamkiem. Aby to umożliwić, wyłącz &#39;{2}&#39; w UOM {3}.",
+Must be Whole Number,Musi być liczbą całkowitą,
+Please setup Razorpay Plan ID,Skonfiguruj identyfikator planu Razorpay,
+Contact Creation Failed,Utworzenie kontaktu nie powiodło się,
+{0} already exists for employee {1} and period {2},{0} już istnieje dla pracownika {1} i okresu {2},
+Leaves Allocated,Liście przydzielone,
+Leaves Expired,Liście wygasły,
+Leave Without Pay does not match with approved {} records,Urlop bez wynagrodzenia nie zgadza się z zatwierdzonymi rekordami {},
+Income Tax Slab not set in Salary Structure Assignment: {0},Podatek dochodowy nie jest ustawiony w przypisaniu struktury wynagrodzenia: {0},
+Income Tax Slab: {0} is disabled,Płyta podatku dochodowego: {0} jest wyłączona,
+Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Płyta podatku dochodowego musi obowiązywać w dniu rozpoczęcia okresu wypłaty wynagrodzenia lub wcześniej: {0},
+No leave record found for employee {0} on {1},Nie znaleziono rekordu urlopu dla pracownika {0} w dniu {1},
+Row {0}: {1} is required in the expenses table to book an expense claim.,"Wiersz {0}: {1} jest wymagany w tabeli wydatków, aby zarezerwować wniosek o zwrot wydatków.",
+Set the default account for the {0} {1},Ustaw domyślne konto dla {0} {1},
+(Half Day),(Połowa dnia),
+Income Tax Slab,Płyta podatku dochodowego,
+Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Wiersz nr {0}: nie można ustawić kwoty lub formuły dla składnika wynagrodzenia {1} ze zmienną opartą na wynagrodzeniu podlegającym opodatkowaniu,
+Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Wiersz nr {}: {} z {} powinien być {}. Zmodyfikuj konto lub wybierz inne konto.,
+Row #{}: Please asign task to a member.,Wiersz nr {}: Przydziel zadanie członkowi.,
+Process Failed,Proces nie powiódł się,
+Tally Migration Error,Błąd migracji Tally,
+Please set Warehouse in Woocommerce Settings,Ustaw Magazyn w Ustawieniach Woocommerce,
+Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Wiersz {0}: Magazyn dostaw ({1}) i Magazyn klienta ({2}) nie mogą być takie same,
+Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Wiersz {0}: Termin płatności w tabeli Warunki płatności nie może być wcześniejszy niż data księgowania,
+Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Nie można znaleźć {} dla elementu {}. Proszę ustawić to samo w pozycji Główny lub Ustawienia zapasów.,
+Row #{0}: The batch {1} has already expired.,Wiersz nr {0}: partia {1} już wygasła.,
+Start Year and End Year are mandatory,Rok rozpoczęcia i rok zakończenia są obowiązkowe,
+GL Entry,Wejście GL,
+Cannot allocate more than {0} against payment term {1},Nie można przydzielić więcej niż {0} na okres płatności {1},
+The root account {0} must be a group,Konto root {0} musi być grupą,
+Shipping rule not applicable for country {0} in Shipping Address,Reguła dostawy nie dotyczy kraju {0} w adresie dostawy,
+Get Payments from,Otrzymuj płatności od,
+Set Shipping Address or Billing Address,Ustaw adres wysyłki lub adres rozliczeniowy,
+Consultation Setup,Konfiguracja konsultacji,
+Fee Validity,Ważność opłaty,
+Laboratory Setup,Przygotowanie laboratorium,
+Dosage Form,Forma dawkowania,
+Records and History,Zapisy i historia,
+Patient Medical Record,Medyczny dokument medyczny pacjenta,
+Rehabilitation,Rehabilitacja,
+Exercise Type,Typ ćwiczenia,
+Exercise Difficulty Level,Poziom trudności ćwiczeń,
+Therapy Type,Rodzaj terapii,
+Therapy Plan,Plan terapii,
+Therapy Session,Sesja terapeutyczna,
+Motor Assessment Scale,Skala Oceny Motorycznej,
+[Important] [ERPNext] Auto Reorder Errors,[Ważne] [ERPNext] Błędy automatycznego ponownego zamawiania,
+"Regards,","Pozdrowienia,",
+The following {0} were created: {1},Utworzono następujące {0}: {1},
+Work Orders,Zlecenia pracy,
+The {0} {1} created sucessfully,{0} {1} został pomyślnie utworzony,
+Work Order cannot be created for following reason: <br> {0},Nie można utworzyć zlecenia pracy z następującego powodu:<br> {0},
+Add items in the Item Locations table,Dodaj pozycje w tabeli Lokalizacje pozycji,
+Update Current Stock,Zaktualizuj aktualne zapasy,
+"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Zachowaj próbkę na podstawie partii. Zaznacz opcję Ma nr partii, aby zachować próbkę elementu",
+Empty,Pusty,
+Currently no stock available in any warehouse,Obecnie nie ma zapasów w żadnym magazynie,
+BOM Qty,BOM Qty,
+Time logs are required for {0} {1},Dzienniki czasu są wymagane dla {0} {1},
+Total Completed Qty,Całkowita ukończona ilość,
+Qty to Manufacture,Ilość do wyprodukowania,
+Repay From Salary can be selected only for term loans,Spłata z wynagrodzenia może być wybrana tylko dla pożyczek terminowych,
+No valid Loan Security Price found for {0},Nie znaleziono prawidłowej ceny zabezpieczenia pożyczki dla {0},
+Loan Account and Payment Account cannot be same,Rachunek pożyczki i rachunek płatniczy nie mogą być takie same,
+Loan Security Pledge can only be created for secured loans,Zabezpieczenie pożyczki można ustanowić tylko w przypadku pożyczek zabezpieczonych,
+Social Media Campaigns,Kampanie w mediach społecznościowych,
+From Date can not be greater than To Date,Data początkowa nie może być większa niż data początkowa,
+Please set a Customer linked to the Patient,Ustaw klienta powiązanego z pacjentem,
+Customer Not Found,Nie znaleziono klienta,
+Please Configure Clinical Procedure Consumable Item in ,Skonfiguruj materiał eksploatacyjny do procedury klinicznej w,
+Missing Configuration,Brak konfiguracji,
+Out Patient Consulting Charge Item,Out Patient Consulting Charge Item,
+Inpatient Visit Charge Item,Opłata za wizyta stacjonarna,
+OP Consulting Charge,OP Consulting Charge,
+Inpatient Visit Charge,Opłata za wizytę stacjonarną,
+Appointment Status,Status spotkania,
+Test: ,Test:,
+Collection Details: ,Szczegóły kolekcji:,
+{0} out of {1},{0} z {1},
+Select Therapy Type,Wybierz typ terapii,
+{0} sessions completed,Ukończono {0} sesje,
+{0} session completed,Sesja {0} zakończona,
+ out of {0},z {0},
+Therapy Sessions,Sesje terapeutyczne,
+Add Exercise Step,Dodaj krok ćwiczenia,
+Edit Exercise Step,Edytuj krok ćwiczenia,
+Patient Appointments,Spotkania pacjentów,
+Item with Item Code {0} already exists,Przedmiot o kodzie pozycji {0} już istnieje,
+Registration Fee cannot be negative or zero,Opłata rejestracyjna nie może być ujemna ani zerowa,
+Configure a service Item for {0},Skonfiguruj usługę dla {0},
+Temperature: ,Temperatura:,
+Pulse: ,Puls:,
+Respiratory Rate: ,Częstość oddechów:,
+BP: ,BP:,
+BMI: ,BMI:,
+Note: ,Uwaga:,
+Check Availability,Sprawdź dostępność,
+Please select Patient first,Najpierw wybierz pacjenta,
+Please select a Mode of Payment first,Najpierw wybierz sposób płatności,
+Please set the Paid Amount first,Najpierw ustaw Kwotę do zapłaty,
+Not Therapies Prescribed,Nie przepisane terapie,
+There are no Therapies prescribed for Patient {0},Nie ma przepisanych terapii dla pacjenta {0},
+Appointment date and Healthcare Practitioner are Mandatory,Data wizyty i lekarz są obowiązkowe,
+No Prescribed Procedures found for the selected Patient,Nie znaleziono przepisanych procedur dla wybranego pacjenta,
+Please select a Patient first,Najpierw wybierz pacjenta,
+There are no procedure prescribed for ,Nie ma określonej procedury,
+Prescribed Therapies,Terapie przepisane,
+Appointment overlaps with ,Termin pokrywa się z,
+{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} ma zaplanowane spotkanie z {1} na {2} trwające {3} minut (y).,
+Appointments Overlapping,Nakładające się terminy,
+Consulting Charges: {0},Opłaty za konsultacje: {0},
+Appointment Cancelled. Please review and cancel the invoice {0},Spotkanie odwołane. Sprawdź i anuluj fakturę {0},
+Appointment Cancelled.,Spotkanie odwołane.,
+Fee Validity {0} updated.,Zaktualizowano ważność opłaty {0}.,
+Practitioner Schedule Not Found,Nie znaleziono harmonogramu lekarza,
+{0} is on a Half day Leave on {1},{0} korzysta z urlopu półdniowego dnia {1},
+{0} is on Leave on {1},{0} jest na urlopie na {1},
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} nie ma harmonogramu lekarzy. Dodaj go do lekarza,
+Healthcare Service Units,Jednostki opieki zdrowotnej,
+Complete and Consume,Uzupełnij i zużyj,
+Complete {0} and Consume Stock?,Uzupełnić {0} i zużyć zapasy?,
+Complete {0}?,Ukończono {0}?,
+Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Ilość zapasów potrzebna do rozpoczęcia procedury nie jest dostępna w magazynie {0}. Czy chcesz zarejestrować wejście na giełdę?,
+{0} as on {1},{0} jak w dniu {1},
+Clinical Procedure ({0}):,Procedura kliniczna ({0}):,
+Please set Customer in Patient {0},Ustaw klienta jako pacjenta {0},
+Item {0} is not active,Przedmiot {0} nie jest aktywny,
+Therapy Plan {0} created successfully.,Plan terapii {0} został utworzony pomyślnie.,
+Symptoms: ,Objawy:,
+No Symptoms,Brak objawów,
+Diagnosis: ,Diagnoza:,
+No Diagnosis,Brak diagnozy,
+Drug(s) Prescribed.,Leki przepisane.,
+Test(s) Prescribed.,Test (y) przepisane.,
+Procedure(s) Prescribed.,Procedura (-y) zalecana (-e).,
+Counts Completed: {0},Liczenie zakończone: {0},
+Patient Assessment,Ocena stanu pacjenta,
+Assessments,Oceny,
+Heads (or groups) against which Accounting Entries are made and balances are maintained.,"Heads (lub grupy), przeciwko którym zapisy księgowe są i sald są utrzymywane.",
+Account Name,Nazwa konta,
+Inter Company Account,Konto firmowe Inter,
+Parent Account,Nadrzędne konto,
+Setting Account Type helps in selecting this Account in transactions.,Ustawienie Typu Konta pomaga w wyborze tego konta w transakcji.,
+Chargeable,Odpowedni do pobierania opłaty.,
+Rate at which this tax is applied,Stawka przy użyciu której ten podatek jest aplikowany,
+Frozen,Zamrożony,
+"If the account is frozen, entries are allowed to restricted users.","Jeśli konto jest zamrożone, zapisy mogą wykonywać tylko wyznaczone osoby.",
+Balance must be,Bilans powinien wynosić,
+Lft,Lft,
+Rgt,Rgt,
+Old Parent,Stary obiekt nadrzędny,
+Include in gross,Uwzględnij w brutto,
+Auditor,Audytor,
+Accounting Dimension,Wymiar księgowy,
+Dimension Name,Nazwa wymiaru,
+Dimension Defaults,Domyślne wymiary,
+Accounting Dimension Detail,Szczegóły wymiaru księgowości,
+Default Dimension,Domyślny wymiar,
+Mandatory For Balance Sheet,Obowiązkowe dla bilansu,
+Mandatory For Profit and Loss Account,Obowiązkowe dla rachunku zysków i strat,
+Accounting Period,Okres Księgowy,
+Period Name,Nazwa okresu,
+Closed Documents,Zamknięte dokumenty,
+Accounts Settings,Ustawienia Kont,
+Settings for Accounts,Ustawienia Konta,
+Make Accounting Entry For Every Stock Movement,Tworzenie Zapisów Księgowych dla każdej zmiany stanu Magazynu,
+Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Użytkownicy z tą rolą mogą ustawiać zamrożone konta i tworzyć / modyfikować wpisy księgowe dla zamrożonych kont,
+Determine Address Tax Category From,Określ kategorię podatku adresowego od,
+Over Billing Allowance (%),Over Billing Allowance (%),
+Check Supplier Invoice Number Uniqueness,"Sprawdź, czy numer faktury dostawcy jest unikalny",
+Make Payment via Journal Entry,Wykonywanie płatności za pośrednictwem Zapisów Księgowych dziennika,
+Unlink Payment on Cancellation of Invoice,Odłączanie Przedpłata na Anulowanie faktury,
+Book Asset Depreciation Entry Automatically,Automatycznie wprowadź wartość księgowania depozytu księgowego aktywów,
+Automatically Add Taxes and Charges from Item Tax Template,Automatycznie dodawaj podatki i opłaty z szablonu podatku od towarów,
+Automatically Fetch Payment Terms,Automatycznie pobierz warunki płatności,
+Show Payment Schedule in Print,Pokaż harmonogram płatności w druku,
+Currency Exchange Settings,Ustawienia wymiany walut,
+Allow Stale Exchange Rates,Zezwalaj na Stałe Kursy walut,
+Stale Days,Stale Dni,
+Report Settings,Ustawienia raportu,
+Use Custom Cash Flow Format,Użyj niestandardowego formatu przepływu środków pieniężnych,
+Allowed To Transact With,Zezwolono na zawieranie transakcji przy użyciu,
+SWIFT number,Numer swift,
+Branch Code,Kod oddziału,
+Address and Contact,Adres i Kontakt,
+Address HTML,Adres HTML,
+Contact HTML,HTML kontaktu,
+Data Import Configuration,Konfiguracja importu danych,
+Bank Transaction Mapping,Mapowanie transakcji bankowych,
+Plaid Access Token,Token dostępu do kratki,
+Company Account,Konto firmowe,
+Account Subtype,Podtyp konta,
+Is Default Account,Jest kontem domyślnym,
+Is Company Account,Jest kontem firmowym,
+Party Details,Strona Szczegóły,
+Account Details,Szczegóły konta,
+IBAN,IBAN,
+Bank Account No,Nr konta bankowego,
+Integration Details,Szczegóły integracji,
+Integration ID,Identyfikator integracji,
+Last Integration Date,Ostatnia data integracji,
+Change this date manually to setup the next synchronization start date,"Zmień tę datę ręcznie, aby ustawić następną datę rozpoczęcia synchronizacji",
+Mask,Maska,
+Bank Account Subtype,Podtyp konta bankowego,
+Bank Account Type,Typ konta bankowego,
+Bank Guarantee,Gwarancja bankowa,
+Bank Guarantee Type,Rodzaj gwarancji bankowej,
+Receiving,Odbieranie,
+Providing,Że,
+Reference Document Name,Nazwa dokumentu referencyjnego,
+Validity in Days,Ważność w dniach,
+Bank Account Info,Informacje o koncie bankowym,
+Clauses and Conditions,Klauzule i warunki,
+Other Details,Inne szczegóły,
+Bank Guarantee Number,Numer Gwarancji Bankowej,
+Name of Beneficiary,Imię beneficjenta,
+Margin Money,Marża pieniężna,
+Charges Incurred,Naliczone opłaty,
+Fixed Deposit Number,Naprawiono numer depozytu,
+Account Currency,Waluta konta,
+Select the Bank Account to reconcile.,Wybierz konto bankowe do uzgodnienia.,
+Include Reconciled Entries,Dołącz uzgodnione wpisy,
+Get Payment Entries,Uzyskaj Wpisy płatności,
+Payment Entries,Wpisy płatności,
+Update Clearance Date,Aktualizacja daty rozliczenia,
+Bank Reconciliation Detail,Uzgodnienia z wyciągiem bankowym - szczegóły,
+Cheque Number,Numer czeku,
+Cheque Date,Data czeku,
+Statement Header Mapping,Mapowanie nagłówków instrukcji,
+Statement Headers,Nagłówki instrukcji,
+Transaction Data Mapping,Mapowanie danych transakcji,
+Mapped Items,Zmapowane elementy,
+Bank Statement Settings Item,Ustawienia wyciągu bankowego Pozycja,
+Mapped Header,Mapowany nagłówek,
+Bank Header,Nagłówek banku,
+Bank Statement Transaction Entry,Wpis transakcji z wyciągu bankowego,
+Bank Transaction Entries,Wpisy transakcji bankowych,
+New Transactions,Nowe transakcje,
+Match Transaction to Invoices,Dopasuj transakcję do faktur,
+Create New Payment/Journal Entry,Utwórz nową pozycję płatności / księgowania,
+Submit/Reconcile Payments,Wpisz/Uzgodnij płatności,
+Matching Invoices,Dopasowanie faktur,
+Payment Invoice Items,Faktury z płatności,
+Reconciled Transactions,Uzgodnione transakcje,
+Bank Statement Transaction Invoice Item,Wyciąg z rachunku bankowego,
+Payment Description,Opis płatności,
+Invoice Date,Data faktury,
+invoice,faktura,
+Bank Statement Transaction Payment Item,Wyciąg z transakcji bankowych,
+outstanding_amount,pozostająca kwota,
+Payment Reference,Referencje płatności,
+Bank Statement Transaction Settings Item,Ustawienia transakcji bankowych Pozycja,
+Bank Data,Dane bankowe,
+Mapped Data Type,Zmapowany typ danych,
+Mapped Data,Zmapowane dane,
+Bank Transaction,Transakcja bankowa,
+ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
+Transaction ID,Identyfikator transakcji,
+Unallocated Amount,Kwota nieprzydzielone,
+Field in Bank Transaction,Pole w transakcji bankowej,
+Column in Bank File,Kolumna w pliku banku,
+Bank Transaction Payments,Płatności transakcji bankowych,
+Control Action,Działanie kontrolne,
+Applicable on Material Request,Obowiązuje na wniosek materiałowy,
+Action if Annual Budget Exceeded on MR,"Działanie, jeśli budżet roczny przekroczy MR",
+Warn,Ostrzeż,
+Ignore,Ignoruj,
+Action if Accumulated Monthly Budget Exceeded on MR,"Działanie, jeżeli skumulowany budżet miesięczny przekroczył MR",
+Applicable on Purchase Order,Obowiązuje w przypadku zamówienia zakupu,
+Action if Annual Budget Exceeded on PO,"Działanie, jeśli budżet roczny został przekroczony dla zamówienia",
+Action if Accumulated Monthly Budget Exceeded on PO,"Działanie, jeśli skumulowany miesięczny budżet został przekroczony dla zamówienia",
+Applicable on booking actual expenses,Obowiązuje przy rezerwacji rzeczywistych wydatków,
+Action if Annual Budget Exceeded on Actual,"Działanie, jeśli budżet roczny przekroczyłby rzeczywisty",
+Action if Accumulated Monthly Budget Exceeded on Actual,"Działanie, jeżeli skumulowany budżet miesięczny przekroczył rzeczywisty",
+Budget Accounts,Rachunki ekonomiczne,
+Budget Account,Budżet Konta,
+Budget Amount,budżet Kwota,
+ACC-CF-.YYYY.-,ACC-CF-.RRRR.-,
+Received Date,Data Otrzymania,
+Quarter,Kwartał,
+I,ja,
+II,II,
+III,III,
+IV,IV,
+Invoice No,Nr faktury,
+Cash Flow Mapper,Mapper przepływu gotówki,
+Section Name,Nazwa sekcji,
+Section Header,Nagłówek sekcji,
+Section Leader,Kierownik sekcji,
+e.g Adjustments for:,np. korekty dla:,
+Section Subtotal,Podsuma sekcji,
+Section Footer,Sekcja stopki,
+Position,Pozycja,
+Cash Flow Mapping,Mapowanie przepływów pieniężnych,
+Select Maximum Of 1,Wybierz Maksimum 1,
+Is Finance Cost,Koszt finansowy,
+Is Working Capital,Jest kapitałem obrotowym,
+Is Finance Cost Adjustment,Czy korekta kosztów finansowych,
+Is Income Tax Liability,Jest odpowiedzialnością z tytułu podatku dochodowego,
+Is Income Tax Expense,Jest kosztem podatku dochodowego,
+Cash Flow Mapping Accounts,Konta mapowania przepływów pieniężnych,
+account,Konto,
+Cash Flow Mapping Template,Szablon mapowania przepływów pieniężnych,
+Cash Flow Mapping Template Details,Szczegóły szablonu mapowania przepływu gotówki,
+POS-CLO-,POS-CLO-,
+Custody,Opieka,
+Net Amount,Kwota netto,
+Cashier Closing Payments,Kasjer Zamykanie płatności,
+Chart of Accounts Importer,Importer planu kont,
+Import Chart of Accounts from a csv file,Importuj plan kont z pliku csv,
+Attach custom Chart of Accounts file,Dołącz niestandardowy plik planu kont,
+Chart Preview,Podgląd wykresu,
+Chart Tree,Drzewo wykresów,
+Cheque Print Template,Sprawdź Szablon druku,
+Has Print Format,Ma format wydruku,
+Primary Settings,Ustawienia podstawowe,
+Cheque Size,Czek Rozmiar,
+Regular,Regularny,
+Starting position from top edge,stanowisko od górnej krawędzi Zaczynając,
+Cheque Width,Czek Szerokość,
+Cheque Height,Czek Wysokość,
+Scanned Cheque,zeskanowanych Czek,
+Is Account Payable,Czy Account Payable,
+Distance from top edge,Odległość od górnej krawędzi,
+Distance from left edge,Odległość od lewej krawędzi,
+Message to show,Wiadomość pokazać,
+Date Settings,Data Ustawienia,
+Starting location from left edge,Zaczynając od lewej krawędzi lokalizację,
+Payer Settings,Ustawienia płatnik,
+Width of amount in word,Szerokość kwoty w słowie,
+Line spacing for amount in words,Odstępy między wierszami dla kwoty w słowach,
+Amount In Figure,Kwota Na rysunku,
+Signatory Position,Sygnatariusz Pozycja,
+Closed Document,Zamknięty dokument,
+Track separate Income and Expense for product verticals or divisions.,Śledź oddzielnie przychody i koszty dla branż produktowych lub oddziałów.,
+Cost Center Name,Nazwa Centrum Kosztów,
+Parent Cost Center,Nadrzędny dział kalkulacji kosztów,
+lft,lft,
+rgt,rgt,
+Coupon Code,Kod kuponu,
+Coupon Name,Nazwa kuponu,
+"e.g. ""Summer Holiday 2019 Offer 20""",np. „Oferta na wakacje 2019 r. 20”,
+Coupon Type,Rodzaj kuponu,
+Promotional,Promocyjny,
+Gift Card,Karta podarunkowa,
+unique e.g. SAVE20  To be used to get discount,unikatowy np. SAVE20 Do wykorzystania w celu uzyskania rabatu,
+Validity and Usage,Ważność i użycie,
+Valid From,Ważne od,
+Valid Upto,Valid Upto,
+Maximum Use,Maksymalne wykorzystanie,
+Used,Używany,
+Coupon Description,Opis kuponu,
+Discounted Invoice,Zniżka na fakturze,
+Debit to,Obciąż do,
+Exchange Rate Revaluation,Przeszacowanie kursu wymiany,
+Get Entries,Uzyskaj wpisy,
+Exchange Rate Revaluation Account,Rachunek przeszacowania kursu wymiany,
+Total Gain/Loss,Całkowity wzrost / strata,
+Balance In Account Currency,Waluta konta w walucie,
+Current Exchange Rate,Aktualny kurs wymiany,
+Balance In Base Currency,Saldo w walucie podstawowej,
+New Exchange Rate,Nowy kurs wymiany,
+New Balance In Base Currency,Nowe saldo w walucie podstawowej,
+Gain/Loss,Zysk / strata,
+**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,** Rok finansowy** reprezentuje rok finansowy. Wszystkie zapisy księgowe oraz inne znaczące transakcje są śledzone przed ** roku podatkowego **.,
+Year Name,Nazwa roku,
+"For e.g. 2012, 2012-13","np. 2012, 2012-13",
+Year Start Date,Data początku roku,
+Year End Date,Data końca roku,
+Companies,Firmy,
+Auto Created,Automatycznie utworzone,
+Stock User,Użytkownik magazynu,
+Fiscal Year Company,Rok podatkowy firmy,
+Debit Amount,Kwota Debit,
+Credit Amount,Kwota kredytu,
+Debit Amount in Account Currency,Kwota debetową w walucie rachunku,
+Credit Amount in Account Currency,Kwota kredytu w walucie rachunku,
+Voucher Detail No,Nr Szczegółu Bonu,
+Is Opening,Otwiera się,
+Is Advance,Zaawansowany proces,
+To Rename,Aby zmienić nazwę,
+GST Account,Konto GST,
+CGST Account,Konto CGST,
+SGST Account,Konto SGST,
+IGST Account,Konto IGST,
+CESS Account,Konto CESS,
+Loan Start Date,Data rozpoczęcia pożyczki,
+Loan Period (Days),Okres pożyczki (dni),
+Loan End Date,Data zakończenia pożyczki,
+Bank Charges,Opłaty bankowe,
+Short Term Loan Account,Konto pożyczki krótkoterminowej,
+Bank Charges Account,Rachunek opłat bankowych,
+Accounts Receivable Credit Account,Rachunek kredytowy należności,
+Accounts Receivable Discounted Account,Konto z rabatem należności,
+Accounts Receivable Unpaid Account,Niezapłacone konto należności,
+Item Tax Template,Szablon podatku od towarów,
+Tax Rates,Wysokość podatków,
+Item Tax Template Detail,Szczegóły szablonu podatku od towarów,
+Entry Type,Rodzaj wpisu,
+Inter Company Journal Entry,Dziennik firmy Inter Company,
+Bank Entry,Operacja bankowa,
+Cash Entry,Wpis gotówkowy,
+Credit Card Entry,Karta kredytowa,
+Contra Entry,Odpis aktualizujący,
+Excise Entry,Akcyza Wejścia,
+Write Off Entry,Odpis,
+Opening Entry,Wpis początkowy,
+ACC-JV-.YYYY.-,ACC-JV-.RRRR.-,
+Accounting Entries,Zapisy księgowe,
+Total Debit,Całkowita kwota debetu,
+Total Credit,Całkowita kwota kredytu,
+Difference (Dr - Cr),Różnica (Dr - Cr),
+Make Difference Entry,Wprowadź różnicę,
+Total Amount Currency,Suma Waluta Kwota,
+Total Amount in Words,Wartość całkowita słownie,
+Remark,Uwaga,
+Paid Loan,Płatna pożyczka,
+Inter Company Journal Entry Reference,Wpis w dzienniku firmy Inter Company,
+Write Off Based On,Odpis bazowano na,
+Get Outstanding Invoices,Uzyskaj zaległą fakturę,
+Write Off Amount,Kwota odpisu,
+Printing Settings,Ustawienia drukowania,
+Pay To / Recd From,Zapłać / Rachunek od,
+Payment Order,Zlecenie płatnicze,
+Subscription Section,Sekcja subskrypcji,
+Journal Entry Account,Konto zapisu,
+Account Balance,Bilans konta,
+Party Balance,Bilans Grupy,
+Accounting Dimensions,Wymiary księgowe,
+If Income or Expense,Jeśli przychód lub koszt,
+Exchange Rate,Kurs wymiany,
+Debit in Company Currency,Debet w firmie Waluta,
+Credit in Company Currency,Kredyt w walucie Spółki,
+Payroll Entry,Wpis o płace,
+Employee Advance,Advance pracownika,
+Reference Due Date,Referencyjny termin płatności,
+Loyalty Program Tier,Poziom programu lojalnościowego,
+Redeem Against,Zrealizuj przeciw,
+Expiry Date,Data ważności,
+Loyalty Point Entry Redemption,Punkt wejścia do punktu lojalnościowego,
+Redemption Date,Data wykupu,
+Redeemed Points,Wykorzystane punkty,
+Loyalty Program Name,Nazwa programu lojalnościowego,
+Loyalty Program Type,Typ programu lojalnościowego,
+Single Tier Program,Program dla jednego poziomu,
+Multiple Tier Program,Program wielopoziomowy,
+Customer Territory,Terytorium klienta,
+Auto Opt In (For all customers),Automatyczne optowanie (dla wszystkich klientów),
+Collection Tier,Poziom kolekcji,
+Collection Rules,Zasady zbierania,
+Redemption,Odkupienie,
+Conversion Factor,Współczynnik konwersji,
+1 Loyalty Points = How much base currency?,1 punkty lojalnościowe = ile waluty bazowej?,
+Expiry Duration (in days),Okres ważności (w dniach),
+Help Section,Sekcja pomocy,
+Loyalty Program Help,Pomoc programu lojalnościowego,
+Loyalty Program Collection,Kolekcja programu lojalnościowego,
+Tier Name,Nazwa warstwy,
+Minimum Total Spent,Minimalna łączna kwota wydana,
+Collection Factor (=1 LP),Współczynnik zbierania (= 1 LP),
+For how much spent = 1 Loyalty Point,Za ile zużytego = 1 punkt lojalnościowy,
+Mode of Payment Account,Konto księgowe dla tego rodzaju płatności,
+Default Account,Domyślne konto,
+Default account will be automatically updated in POS Invoice when this mode is selected.,Domyślne konto zostanie automatycznie zaktualizowane na fakturze POS po wybraniu tego trybu.,
+**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,"** Miesięczna Dystrybucja ** pomaga rozłożyć budżet/cel w miesiącach, jeśli masz okresowość w firmie.",
+Distribution Name,Nazwa Dystrybucji,
+Name of the Monthly Distribution,Nazwa dystrybucji miesięcznej,
+Monthly Distribution Percentages,Miesięczne Procenty Dystrybucja,
+Monthly Distribution Percentage,Miesięczny rozkład procentowy,
+Percentage Allocation,Przydział Procentowy,
+Create Missing Party,Utwórz brakującą imprezę,
+Create missing customer or supplier.,Utwórz brakującego klienta lub dostawcę.,
+Opening Invoice Creation Tool Item,Otwieranie narzędzia tworzenia faktury,
+Temporary Opening Account,Tymczasowe konto otwarcia,
+Party Account,Konto Grupy,
+Type of Payment,Rodzaj płatności,
+ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
+Receive,Odbierać,
+Internal Transfer,Transfer wewnętrzny,
+Payment Order Status,Status zlecenia płatniczego,
+Payment Ordered,Płatność zamówiona,
+Payment From / To,Płatność Od / Do,
+Company Bank Account,Konto bankowe firmy,
+Party Bank Account,Party Bank Account,
+Account Paid From,Konto do płatności,
+Account Paid To,Konto do zapłaty,
+Paid Amount (Company Currency),Zapłacona kwota (waluta firmy),
+Received Amount,Kwota otrzymana,
+Received Amount (Company Currency),Otrzymaną kwotą (Spółka waluty),
+Get Outstanding Invoice,Uzyskaj wyjątkową fakturę,
+Payment References,Odniesienia płatności,
+Writeoff,Writeoff,
+Total Allocated Amount,Łączna kwota przyznanego wsparcia,
+Total Allocated Amount (Company Currency),Łączna kwota przyznanego wsparcia (Spółka waluty),
+Set Exchange Gain / Loss,Ustaw Exchange Zysk / strata,
+Difference Amount (Company Currency),Różnica Kwota (waluta firmy),
+Write Off Difference Amount,Różnica Kwota odpisuje,
+Deductions or Loss,Odliczenia lub strata,
+Payment Deductions or Loss,Odliczenia płatności lub strata,
+Cheque/Reference Date,Czek / Reference Data,
+Payment Entry Deduction,Płatność Wejście Odliczenie,
+Payment Entry Reference,Wejście Płatność referencyjny,
+Allocated,Przydzielone,
+Payment Gateway Account,Płatność konto Brama,
+Payment Account,Konto Płatność,
+Default Payment Request Message,Domyślnie Płatność Zapytanie Wiadomość,
+PMO-,PMO-,
+Payment Order Type,Typ zlecenia płatniczego,
+Payment Order Reference,Referencje dotyczące płatności,
+Bank Account Details,Szczegóły konta bankowego,
+Payment Reconciliation,Uzgodnienie płatności,
+Receivable / Payable Account,Konto Należności / Zobowiązań,
+Bank / Cash Account,Rachunek Bankowy/Kasowy,
+From Invoice Date,Od daty faktury,
+To Invoice Date,Aby Data faktury,
+Minimum Invoice Amount,Minimalna kwota faktury,
+Maximum Invoice Amount,Maksymalna kwota faktury,
+System will fetch all the entries if limit value is zero.,"System pobierze wszystkie wpisy, jeśli wartość graniczna wynosi zero.",
+Get Unreconciled Entries,Pobierz Wpisy nieuzgodnione,
+Unreconciled Payment Details,Szczegóły płatności nieuzgodnione,
+Invoice/Journal Entry Details,Szczegóły Faktury / Wpisu dziennika,
+Payment Reconciliation Invoice,Płatność Wyrównawcza Faktury,
+Invoice Number,Numer faktury,
+Payment Reconciliation Payment,Płatność Wyrównawcza Płatności,
+Reference Row,Odniesienie Row,
+Allocated amount,Przyznana kwota,
+Payment Request Type,Typ żądania płatności,
+Outward,Zewnętrzny,
+Inward,Wewnętrzny,
+ACC-PRQ-.YYYY.-,ACC-PRQ-.RRRR.-,
+Transaction Details,szczegóły transakcji,
+Amount in customer's currency,Kwota w walucie klienta,
+Is a Subscription,Jest subskrypcją,
+Transaction Currency,walucie transakcji,
+Subscription Plans,Plany subskrypcji,
+SWIFT Number,Numer SWIFT,
+Recipient Message And Payment Details,Odbiorca wiadomości i szczegóły płatności,
+Make Sales Invoice,Nowa faktura sprzedaży,
+Mute Email,Wyciszenie email,
+payment_url,payment_url,
+Payment Gateway Details,Payment Gateway Szczegóły,
+Payment Schedule,Harmonogram płatności,
+Invoice Portion,Fragment faktury,
+Payment Amount,Kwota płatności,
+Payment Term Name,Nazwa terminu płatności,
+Due Date Based On,Termin wykonania oparty na,
+Day(s) after invoice date,Dzień (dni) po dacie faktury,
+Day(s) after the end of the invoice month,Dzień (dni) po zakończeniu miesiąca faktury,
+Month(s) after the end of the invoice month,Miesiąc (y) po zakończeniu miesiąca faktury,
+Credit Months,Miesiące kredytowe,
+Allocate Payment Based On Payment Terms,Przydziel płatność na podstawie warunków płatności,
+"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Jeśli to pole wyboru jest zaznaczone, zapłacona kwota zostanie podzielona i przydzielona zgodnie z kwotami w harmonogramie płatności dla każdego terminu płatności",
+Payment Terms Template Detail,Warunki płatności Szczegóły szablonu,
+Closing Fiscal Year,Zamknięcie roku fiskalnego,
+"The account head under Liability or Equity, in which Profit/Loss will be booked","Głowica konto ramach odpowiedzialności lub kapitałowe, w których zysk / strata będzie zarezerwowane",
+POS Customer Group,POS Grupa klientów,
+POS Field,Pole POS,
+POS Item Group,POS Pozycja Grupy,
+Company Address,adres spółki,
+Update Stock,Aktualizuj Stan,
+Ignore Pricing Rule,Ignoruj zasadę ustalania cen,
+Applicable for Users,Dotyczy użytkowników,
+Sales Invoice Payment,Faktura sprzedaży Płatność,
+Item Groups,Pozycja Grupy,
+Only show Items from these Item Groups,Pokazuj tylko przedmioty z tych grup przedmiotów,
+Customer Groups,Grupy klientów,
+Only show Customer of these Customer Groups,Pokazuj tylko klientów tych grup klientów,
+Write Off Account,Konto Odpisu,
+Write Off Cost Center,Centrum Kosztów Odpisu,
+Account for Change Amount,Konto dla zmiany kwoty,
+Taxes and Charges,Podatki i opłaty,
+Apply Discount On,Zastosuj RABAT,
+POS Profile User,Użytkownik profilu POS,
+Apply On,Zastosuj Na,
+Price or Product Discount,Rabat na cenę lub produkt,
+Apply Rule On Item Code,Zastosuj regułę do kodu towaru,
+Apply Rule On Item Group,Zastosuj regułę dla grupy pozycji,
+Apply Rule On Brand,Zastosuj regułę do marki,
+Mixed Conditions,Warunki mieszane,
+Conditions will be applied on all the selected items combined. ,Warunki zostaną zastosowane do wszystkich wybranych elementów łącznie.,
+Is Cumulative,Jest kumulatywny,
+Coupon Code Based,Na podstawie kodu kuponu,
+Discount on Other Item,Rabat na inny przedmiot,
+Apply Rule On Other,Zastosuj regułę do innych,
+Party Information,Informacje o imprezie,
+Quantity and Amount,Ilość i kwota,
+Min Qty,Min. ilość,
+Max Qty,Maks. Ilość,
+Min Amt,Min Amt,
+Max Amt,Max Amt,
+Period Settings,Ustawienia okresu,
+Margin Type,margines Rodzaj,
+Margin Rate or Amount,Margines szybkości lub wielkości,
+Price Discount Scheme,System rabatów cenowych,
+Rate or Discount,Stawka lub zniżka,
+Discount Percentage,Procent zniżki,
+Discount Amount,Wartość zniżki,
+For Price List,Dla Listy Cen,
+Product Discount Scheme,Program rabatów na produkty,
+Same Item,Ten sam przedmiot,
+Free Item,Bezpłatny przedmiot,
+Threshold for Suggestion,Próg dla sugestii,
+System will notify to increase or decrease quantity or amount ,System powiadomi o zwiększeniu lub zmniejszeniu ilości lub ilości,
+"Higher the number, higher the priority","Im wyższa liczba, wyższy priorytet",
+Apply Multiple Pricing Rules,Zastosuj wiele zasad ustalania cen,
+Apply Discount on Rate,Zastosuj zniżkę na stawkę,
+Validate Applied Rule,Sprawdź poprawność zastosowanej reguły,
+Rule Description,Opis reguły,
+Pricing Rule Help,Pomoc dotycząca ustalania cen,
+Promotional Scheme Id,Program promocyjny Id,
+Promotional Scheme,Program promocyjny,
+Pricing Rule Brand,Zasady ustalania ceny marki,
+Pricing Rule Detail,Szczegóły reguły cenowej,
+Child Docname,Nazwa dziecka,
+Rule Applied,Stosowana reguła,
+Pricing Rule Item Code,Kod pozycji reguły cenowej,
+Pricing Rule Item Group,Grupa pozycji Reguły cenowe,
+Price Discount Slabs,Płyty z rabatem cenowym,
+Promotional Scheme Price Discount,Zniżka cenowa programu promocyjnego,
+Product Discount Slabs,Płyty z rabatem na produkty,
+Promotional Scheme Product Discount,Rabat na program promocyjny,
+Min Amount,Min. Kwota,
+Max Amount,Maksymalna kwota,
+Discount Type,Typ rabatu,
+ACC-PINV-.YYYY.-,ACC-PINV-.RRRR.-,
+Tax Withholding Category,Kategoria odwrotnego obciążenia,
+Edit Posting Date and Time,Zmodyfikuj datę i czas dokumentu,
+Is Paid,Zapłacone,
+Is Return (Debit Note),Jest zwrotem (nota debetowa),
+Apply Tax Withholding Amount,Zastosuj kwotę podatku u źródła,
+Accounting Dimensions ,Wymiary księgowe,
+Supplier Invoice Details,Dostawca Szczegóły faktury,
+Supplier Invoice Date,Data faktury dostawcy,
+Return Against Purchase Invoice,Powrót Against dowodu zakupu,
+Select Supplier Address,Wybierz adres dostawcy,
+Contact Person,Osoba kontaktowa,
+Select Shipping Address,Wybierz adres dostawy,
+Currency and Price List,Waluta i cennik,
+Price List Currency,Waluta cennika,
+Price List Exchange Rate,Cennik Kursowy,
+Set Accepted Warehouse,Ustaw przyjęty magazyn,
+Rejected Warehouse,Odrzucony Magazyn,
+Warehouse where you are maintaining stock of rejected items,Magazyn w którym zarządzasz odrzuconymi przedmiotami,
+Raw Materials Supplied,Dostarczone surowce,
+Supplier Warehouse,Magazyn dostawcy,
+Pricing Rules,Zasady ustalania cen,
+Supplied Items,Dostarczone przedmioty,
+Total (Company Currency),Razem (Spółka Waluta),
+Net Total (Company Currency),Łączna wartość netto (waluta firmy),
+Total Net Weight,Całkowita waga netto,
+Shipping Rule,Zasada dostawy,
+Purchase Taxes and Charges Template,Szablon podatków i opłat związanych z zakupami,
+Purchase Taxes and Charges,Podatki i opłaty kupna,
+Tax Breakup,Podział podatków,
+Taxes and Charges Calculation,Obliczanie podatków i opłat,
+Taxes and Charges Added (Company Currency),Dodano podatki i opłaty (Firmowe),
+Taxes and Charges Deducted (Company Currency),Podatki i opłaty potrącone (Firmowe),
+Total Taxes and Charges (Company Currency),Łączna kwota podatków i opłat (wg Firmy),
+Taxes and Charges Added,Dodano podatki i opłaty,
+Taxes and Charges Deducted,Podatki i opłaty potrącenia,
+Total Taxes and Charges,Łączna kwota podatków i opłat,
+Additional Discount,Dodatkowe Zniżki,
+Apply Additional Discount On,Zastosuj dodatkowe zniżki na,
+Additional Discount Amount (Company Currency),Dodatkowa kwota rabatu (waluta firmy),
+Additional Discount Percentage,Dodatkowy procent rabatu,
+Additional Discount Amount,Dodatkowa kwota rabatu,
+Grand Total (Company Currency),Całkowita suma (w walucie firmy),
+Rounding Adjustment (Company Currency),Korekta zaokrąglenia (waluta firmy),
+Rounded Total (Company Currency),Końcowa zaokrąglona kwota (waluta firmy),
+In Words (Company Currency),Słownie,
+Rounding Adjustment,Dopasowanie zaokrąglania,
+In Words,Słownie,
+Total Advance,Całość zaliczka,
+Disable Rounded Total,Wyłącz Zaokrąglanie Sumy,
+Cash/Bank Account,Konto Gotówka / Bank,
+Write Off Amount (Company Currency),Kwota Odpisu (Waluta Firmy),
+Set Advances and Allocate (FIFO),Ustaw Advances and Allocate (FIFO),
+Get Advances Paid,Uzyskaj opłacone zaliczki,
+Advances,Zaliczki,
+Terms,Warunki,
+Terms and Conditions1,Warunki1,
+Group same items,Grupa same pozycje,
+Print Language,Język drukowania,
+"Once set, this invoice will be on hold till the set date",Po ustawieniu faktura ta będzie zawieszona do wyznaczonej daty,
+Credit To,Kredytowane konto (Ma),
+Party Account Currency,Partia konto Waluta,
+Against Expense Account,Konto wydatków,
+Inter Company Invoice Reference,Numer referencyjny faktury firmy,
+Is Internal Supplier,Dostawca wewnętrzny,
+Start date of current invoice's period,Początek okresu rozliczeniowego dla faktury,
+End date of current invoice's period,Data zakończenia okresu bieżącej faktury,
+Update Auto Repeat Reference,Zaktualizuj Auto Repeat Reference,
+Purchase Invoice Advance,Wyślij Fakturę Zaliczkową / Proformę,
+Purchase Invoice Item,Przedmiot Faktury Zakupu,
+Quantity and Rate,Ilość i Wskaźnik,
+Received Qty,Otrzymana ilość,
+Accepted Qty,Akceptowana ilość,
+Rejected Qty,odrzucony szt,
+UOM Conversion Factor,Współczynnik konwersji jednostki miary,
+Discount on Price List Rate (%),Zniżka Cennik Oceń (%),
+Price List Rate (Company Currency),Wartość w cenniku (waluta firmy),
+Rate ,Stawka,
+Rate (Company Currency),Stawka (waluta firmy),
+Amount (Company Currency),Kwota (Waluta firmy),
+Is Free Item,Jest darmowym przedmiotem,
+Net Rate,Cena netto,
+Net Rate (Company Currency),Cena netto (Spółka Waluta),
+Net Amount (Company Currency),Kwota netto (Waluta Spółki),
+Item Tax Amount Included in Value,Pozycja Kwota podatku zawarta w wartości,
+Landed Cost Voucher Amount,Kwota Kosztu Voucheru,
+Raw Materials Supplied Cost,Koszt dostarczonych surowców,
+Accepted Warehouse,Przyjęty magazyn,
+Serial No,Nr seryjny,
+Rejected Serial No,Odrzucony Nr Seryjny,
+Expense Head,Szef Wydatków,
+Is Fixed Asset,Czy trwałego,
+Asset Location,Lokalizacja zasobów,
+Deferred Expense,Odroczony koszt,
+Deferred Expense Account,Rachunek odroczonego obciążenia,
+Service Stop Date,Data zatrzymania usługi,
+Enable Deferred Expense,Włącz odroczony koszt,
+Service Start Date,Data rozpoczęcia usługi,
+Service End Date,Data zakończenia usługi,
+Allow Zero Valuation Rate,Zezwalaj na zerową wartość wyceny,
+Item Tax Rate,Stawka podatku dla tej pozycji,
+Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Podatki pobierane z tabeli szczegółów mistrza poz jako ciąg znaków i przechowywane w tej dziedzinie.\n Służy do podatkach i opłatach,
+Purchase Order Item,Przedmiot Zamówienia Kupna,
+Purchase Receipt Detail,Szczegóły zakupu paragonu,
+Item Weight Details,Szczegóły dotyczące wagi przedmiotu,
+Weight Per Unit,Waga na jednostkę,
+Total Weight,Waga całkowita,
+Weight UOM,Waga jednostkowa,
+Page Break,Znak końca strony,
+Consider Tax or Charge for,Rozwać Podatek albo Opłatę za,
+Valuation and Total,Wycena i kwota całkowita,
+Valuation,Wycena,
+Add or Deduct,Dodatki lub Potrącenia,
+Deduct,Odlicz,
+On Item Quantity,Na ilość przedmiotu,
+Reference Row #,Rząd Odniesienia #,
+Is this Tax included in Basic Rate?,Czy podatek wliczony jest w opłaty?,
+"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","Jeśli zaznaczone, kwota podatku zostanie wliczona w cenie Drukuj Cenę / Drukuj Podsumowanie",
+Account Head,Konto główne,
+Tax Amount After Discount Amount,Kwota podatku po odliczeniu wysokości rabatu,
+Item Wise Tax Detail ,Mądre informacje podatkowe dotyczące przedmiotu,
+"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.","Standardowy szablon podatek, który może być stosowany do wszystkich transakcji kupna. Ten szablon może zawierać listę szefów podatkowych, a także innych głów wydatków jak ""Żegluga"", ""Ubezpieczenia"", ""Obsługa"" itp \n\n #### Uwaga \n\n stawki podatku zdefiniować tutaj będzie standardowa stawka podatku w odniesieniu do wszystkich pozycji ** **. Jeśli istnieją ** Pozycje **, które mają różne ceny, muszą być dodane w podatku od towaru ** ** tabeli w poz ** ** mistrza.\n\n #### Opis Kolumny \n\n 1. Obliczenie Typ: \n i - może to być na całkowita ** ** (to jest suma ilości wyjściowej).\n - ** Na Poprzedni Row Całkowita / Kwota ** (dla skumulowanych podatków lub opłat). Jeśli wybierzesz tę opcję, podatek będzie stosowana jako procent poprzedniego rzędu (w tabeli podatkowej) kwoty lub łącznie.\n - ** Rzeczywista ** (jak wspomniano).\n 2. Szef konta: księga konto, na którym podatek ten zostanie zaksięgowany \n 3. Centrum koszt: Jeżeli podatek / opłata jest dochód (jak wysyłką) lub kosztów musi zostać zaliczony na centrum kosztów.\n 4. Opis: Opis podatków (które będą drukowane w faktur / cudzysłowów).\n 5. Cena: Stawka podatku.\n 6. Kwota: Kwota podatku.\n 7. Razem: Zbiorcza sumie do tego punktu.\n 8. Wprowadź Row: Jeśli na podstawie ""Razem poprzedniego wiersza"" można wybrać numer wiersza, które będą brane jako baza do tego obliczenia (domyślnie jest to poprzednia wiersz).\n 9. Zastanów podatek lub opłatę za: W tej sekcji można określić, czy podatek / opłata jest tylko dla wyceny (nie jest częścią całości) lub tylko dla całości (nie dodaje wartości do elementu) lub oba.\n 10. Dodać lub odjąć: Czy chcesz dodać lub odjąć podatek.",
+Salary Component Account,Konto Wynagrodzenie Komponent,
+Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Domyślne konto bank / bankomat zostanie automatycznie zaktualizowana wynagrodzenia Journal Entry po wybraniu tego trybu.,
+ACC-SINV-.YYYY.-,ACC-SINV-.RRRR.-,
+Include Payment (POS),Obejmują płatności (POS),
+Offline POS Name,Offline POS Nazwa,
+Is Return (Credit Note),Jest zwrot (nota kredytowa),
+Return Against Sales Invoice,Powrót Against faktury sprzedaży,
+Update Billed Amount in Sales Order,Zaktualizuj kwotę rozliczenia w zleceniu sprzedaży,
+Customer PO Details,Szczegóły zamówienia klienta,
+Customer's Purchase Order,Klienta Zamówienia,
+Customer's Purchase Order Date,Data Zamówienia Zakupu Klienta,
+Customer Address,Adres klienta,
+Shipping Address Name,Adres do wysyłki Nazwa,
+Company Address Name,Nazwa firmy,
+Rate at which Customer Currency is converted to customer's base currency,Stawka przy użyciu której Waluta Klienta jest konwertowana do podstawowej waluty klienta,
+Rate at which Price list currency is converted to customer's base currency,Stawka przy użyciu której waluta Listy Cen jest konwertowana do podstawowej waluty klienta,
+Set Source Warehouse,Ustaw magazyn źródłowy,
+Packing List,Lista przedmiotów do spakowania,
+Packed Items,Przedmioty pakowane,
+Product Bundle Help,Produkt Bundle Pomoc,
+Time Sheet List,Czas Lista Sheet,
+Time Sheets,arkusze czasu,
+Total Billing Amount,Łączna kwota płatności,
+Sales Taxes and Charges Template,Podatki od sprzedaży i opłaty Szablon,
+Sales Taxes and Charges,Podatki i Opłaty od Sprzedaży,
+Loyalty Points Redemption,Odkupienie punktów lojalnościowych,
+Redeem Loyalty Points,Wykorzystaj punkty lojalnościowe,
+Redemption Account,Rachunek wykupu,
+Redemption Cost Center,Centrum kosztów odkupienia,
+In Words will be visible once you save the Sales Invoice.,"Słownie, będzie widoczne w fakturze sprzedaży, po zapisaniu",
+Allocate Advances Automatically (FIFO),Automatycznie przydzielaj zaliczki (FIFO),
+Get Advances Received,Uzyskaj otrzymane zaliczki,
+Base Change Amount (Company Currency),Kwota bazowa Change (Spółka waluty),
+Write Off Outstanding Amount,Nieuregulowana Wartość Odpisu,
+Terms and Conditions Details,Szczegóły regulaminu,
+Is Internal Customer,Jest klientem wewnętrznym,
+Is Discounted,Jest dyskontowany,
+Unpaid and Discounted,Nieopłacone i zniżki,
+Overdue and Discounted,Zaległe i zdyskontowane,
+Accounting Details,Dane księgowe,
+Debit To,Debetowane Konto (Winien),
+Commission Rate (%),Wartość prowizji (%),
+Sales Team1,Team Sprzedażowy1,
+Against Income Account,Konto przychodów,
+Sales Invoice Advance,Faktura Zaliczkowa,
+Advance amount,Kwota Zaliczki,
+Sales Invoice Item,Przedmiot Faktury Sprzedaży,
+Customer's Item Code,Kod Przedmiotu Klienta,
+Brand Name,Nazwa Marki,
+Qty as per Stock UOM,Ilość wg. Jednostki Miary,
+Discount and Margin,Rabat i marży,
+Rate With Margin,Rate With Margin,
+Discount (%) on Price List Rate with Margin,Zniżka (%) w Tabeli Cen Ceny z Marginesem,
+Rate With Margin (Company Currency),Stawka z depozytem zabezpieczającym (waluta spółki),
+Delivered By Supplier,Dostarczane przez Dostawcę,
+Deferred Revenue,Odroczone przychody,
+Deferred Revenue Account,Konto odroczonego przychodu,
+Enable Deferred Revenue,Włącz odroczone przychody,
+Stock Details,Zdjęcie Szczegóły,
+Customer Warehouse (Optional),Magazyn klienta (opcjonalnie),
+Available Batch Qty at Warehouse,Dostępne w Warehouse partii Ilość,
+Available Qty at Warehouse,Ilość dostępna w magazynie,
+Delivery Note Item,Przedmiot z dowodu dostawy,
+Base Amount (Company Currency),Kwota bazowa (Waluta firmy),
+Sales Invoice Timesheet,Faktura sprzedaży grafiku,
+Time Sheet,Czas Sheet,
+Billing Hours,Godziny billingowe,
+Timesheet Detail,Szczegółowy grafik,
+Tax Amount After Discount Amount (Company Currency),Kwota podatku po uwzględnieniu rabatu (waluta firmy),
+Parenttype,Typ Nadrzędności,
+"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.","Standardowy szablon podatek, który może być stosowany do wszystkich transakcji sprzedaży. Ten szablon może zawierać listę szefów podatkowych, a także innych głów koszty / dochodów jak ""Żegluga"", ""Ubezpieczenia"", ""Obsługa"" itp \n\n #### Uwaga \n\n Stopa Ciebie podatku definiujemy tu będzie standardowa stawka podatku w odniesieniu do wszystkich pozycji ** **. Jeśli istnieją ** Pozycje **, które mają różne ceny, muszą być dodane w podatku od towaru ** ** tabeli w poz ** ** mistrza.\n\n #### Opis Kolumny \n\n 1. Obliczenie Typ: \n i - może to być na całkowita ** ** (to jest suma ilości wyjściowej).\n - ** Na Poprzedni Row Całkowita / Kwota ** (dla skumulowanych podatków lub opłat). Jeśli wybierzesz tę opcję, podatek będzie stosowana jako procent poprzedniego rzędu (w tabeli podatkowej) kwoty lub łącznie.\n - ** Rzeczywista ** (jak wspomniano).\n 2. Szef konta: księga konto, na którym podatek ten zostanie zaksięgowany \n 3. Centrum koszt: Jeżeli podatek / opłata jest dochód (jak wysyłką) lub kosztów musi zostać zaliczony na centrum kosztów.\n 4. Opis: Opis podatków (które będą drukowane w faktur / cudzysłowów).\n 5. Cena: Stawka podatku.\n 6. Kwota: Kwota podatku.\n 7. Razem: Zbiorcza sumie do tego punktu.\n 8. Wprowadź Row: Jeśli na podstawie ""Razem poprzedniego wiersza"" można wybrać numer wiersza, które będą brane jako baza do tego obliczenia (domyślnie jest to poprzednia wiersz).\n 9. Czy to podatki zawarte w podstawowej stawki ?: Jeśli to sprawdzić, oznacza to, że podatek ten nie będzie wyświetlany pod tabelą pozycji, ale będą włączone do stawki podstawowej w głównej tabeli poz. Jest to przydatne, gdy chcesz dać cenę mieszkania (z uwzględnieniem wszystkich podatków) cenę do klientów.",
+* Will be calculated in the transaction.,* Zostanie policzony dla transakcji.,
+From No,Od Nie,
+To No,Do Nie,
+Is Company,Czy firma,
+Current State,Stan aktulany,
+Purchased,Zakupione,
+From Shareholder,Od Akcjonariusza,
+From Folio No,Z Folio nr,
+To Shareholder,Do Akcjonariusza,
+To Folio No,Do Folio Nie,
+Equity/Liability Account,Rachunek akcyjny / zobowiązanie,
+Asset Account,Konto aktywów,
+(including),(włącznie z),
+ACC-SH-.YYYY.-,ACC-SH-.RRRR.-,
+Folio no.,Numer folio,
+Address and Contacts,Adres i kontakty,
+Contact List,Lista kontaktów,
+Hidden list maintaining the list of contacts linked to Shareholder,Ukryta lista z listą kontaktów powiązanych z Akcjonariuszem,
+Specify conditions to calculate shipping amount,Określ warunki do obliczenia kwoty wysyłki,
+Shipping Rule Label,Etykieta z zasadami wysyłki i transportu,
+example: Next Day Shipping,przykład: Wysyłka następnego dnia,
+Shipping Rule Type,Typ reguły wysyłki,
+Shipping Account,Konto dostawy,
+Calculate Based On,Obliczone na podstawie,
+Fixed,Naprawiony,
+Net Weight,Waga netto,
+Shipping Amount,Ilość dostawy,
+Shipping Rule Conditions,Warunki zasady dostawy,
+Restrict to Countries,Ogranicz do krajów,
+Valid for Countries,Ważny dla krajów,
+Shipping Rule Condition,Warunek zasady dostawy,
+A condition for a Shipping Rule,Warunki wysyłki,
+From Value,Od wartości,
+To Value,Określ wartość,
+Shipping Rule Country,Zasada Wysyłka Kraj,
+Subscription Period,Okres subskrypcji,
+Subscription Start Date,Data rozpoczęcia subskrypcji,
+Cancelation Date,Data Anulowania,
+Trial Period Start Date,Data rozpoczęcia okresu próbnego,
+Trial Period End Date,Termin zakończenia okresu próbnego,
+Current Invoice Start Date,Aktualna data rozpoczęcia faktury,
+Current Invoice End Date,Aktualna data zakończenia faktury,
+Days Until Due,Dni do końca,
+Number of days that the subscriber has to pay invoices generated by this subscription,"Liczba dni, w których subskrybent musi płacić faktury wygenerowane w ramach tej subskrypcji",
+Cancel At End Of Period,Anuluj na koniec okresu,
+Generate Invoice At Beginning Of Period,Wygeneruj fakturę na początku okresu,
+Plans,Plany,
+Discounts,Rabaty,
+Additional DIscount Percentage,Dodatkowy rabat procentowy,
+Additional DIscount Amount,Kwota dodatkowego rabatu,
+Subscription Invoice,Faktura subskrypcyjna,
+Subscription Plan,Abonament abonamentowy,
+Cost,Koszt,
+Billing Interval,Okres rozliczeniowy,
+Billing Interval Count,Liczba interwałów rozliczeń,
+"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","Liczba interwałów dla pola interwałowego, np. Jeśli Interwał to &quot;Dni&quot;, a liczba interwałów rozliczeń to 3, faktury będą generowane co 3 dni",
+Payment Plan,Plan płatności,
+Subscription Plan Detail,Szczegóły abonamentu,
+Plan,Plan,
+Subscription Settings,Ustawienia subskrypcji,
+Grace Period,Okres łaski,
+Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Liczba dni po dacie faktury upłynęła przed anulowaniem subskrypcji lub oznaczenia subskrypcji jako niepłatne,
+Prorate,Prorate,
+Tax Rule,Reguła podatkowa,
+Tax Type,Rodzaj podatku,
+Use for Shopping Cart,Służy do koszyka,
+Billing City,Rozliczenia Miasto,
+Billing County,Powiat,
+Billing State,Stan Billing,
+Billing Zipcode,Kod pocztowy do rozliczeń,
+Billing Country,Kraj fakturowania,
+Shipping City,Wysyłka Miasto,
+Shipping County,Dostawa County,
+Shipping State,Stan zakupu,
+Shipping Zipcode,Kod pocztowy wysyłki,
+Shipping Country,Wysyłka Kraj,
+Tax Withholding Account,Rachunek potrącenia podatku u źródła,
+Tax Withholding Rates,Podatki potrącane u źródła,
+Rates,Stawki,
+Tax Withholding Rate,Podatek u źródła,
+Single Transaction Threshold,Próg pojedynczej transakcji,
+Cumulative Transaction Threshold,Skumulowany próg transakcji,
+Agriculture Analysis Criteria,Kryteria analizy rolnictwa,
+Linked Doctype,Połączony Doctype,
+Water Analysis,Analiza wody,
+Soil Analysis,Analiza gleby,
+Plant Analysis,Analiza roślin,
+Fertilizer,Nawóz,
+Soil Texture,Tekstura gleby,
+Weather,Pogoda,
+Agriculture Manager,Dyrektor ds. Rolnictwa,
+Agriculture User,Użytkownik rolnictwa,
+Agriculture Task,Zadanie rolnicze,
+Task Name,Nazwa zadania,
+Start Day,Rozpocząć dzień,
+End Day,Koniec dnia,
+Holiday Management,Zarządzanie wakacjami,
+Ignore holidays,Ignoruj święta,
+Previous Business Day,Poprzedni dzień roboczy,
+Next Business Day,Następny dzień roboczy,
+Urgent,Pilne,
+Crop,Przyciąć,
+Crop Name,Nazwa uprawy,
+Scientific Name,Nazwa naukowa,
+"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.. ","Możesz tu zdefiniować wszystkie zadania, które należy wykonać dla tego zbioru. Pole dnia jest używane do wskazania dnia, w którym należy wykonać zadanie, 1 oznacza pierwszy dzień itd.",
+Crop Spacing,Odstępy między plamami,
+Crop Spacing UOM,Odstępy między plamami UOM,
+Row Spacing,Rozstaw wierszy,
+Row Spacing UOM,Rozstaw rzędów UOM,
+Perennial,Bylina,
+Biennial,Dwuletni,
+Planting UOM,Sadzenie MOM,
+Planting Area,Obszar sadzenia,
+Yield UOM,Wydajność UOM,
+Materials Required,Wymagane materiały,
+Produced Items,Produkowane przedmioty,
+Produce,Produkować,
+Byproducts,Przez produkty,
+Linked Location,Powiązana lokalizacja,
+A link to all the Locations in which the Crop is growing,"Łącze do wszystkich lokalizacji, w których rośnie uprawa",
+This will be day 1 of the crop cycle,To będzie pierwszy dzień cyklu zbiorów,
+ISO 8601 standard,Norma ISO 8601,
+Cycle Type,Typ cyklu,
+Less than a year,Mniej niż rok,
+The minimum length between each plant in the field for optimum growth,Minimalna długość między każdą rośliną w polu dla optymalnego wzrostu,
+The minimum distance between rows of plants for optimum growth,Minimalna odległość między rzędami roślin dla optymalnego wzrostu,
+Detected Diseases,Wykryto choroby,
+List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,Lista chorób wykrytych na polu. Po wybraniu automatycznie doda listę zadań do radzenia sobie z chorobą,
+Detected Disease,Wykryto chorobę,
+LInked Analysis,Analiza LInked,
+Disease,Choroba,
+Tasks Created,Zadania utworzone,
+Common Name,Nazwa zwyczajowa,
+Treatment Task,Zadanie leczenia,
+Treatment Period,Okres leczenia,
+Fertilizer Name,Nazwa nawozu,
+Density (if liquid),Gęstość (jeśli ciecz),
+Fertilizer Contents,Zawartość nawozu,
+Fertilizer Content,Zawartość nawozu,
+Linked Plant Analysis,Połączona analiza roślin,
+Linked Soil Analysis,Powiązana analiza gleby,
+Linked Soil Texture,Połączona tekstura gleby,
+Collection Datetime,Kolekcja Datetime,
+Laboratory Testing Datetime,Testowanie laboratoryjne Datetime,
+Result Datetime,Wynik Datetime,
+Plant Analysis Criterias,Kryteria analizy roślin,
+Plant Analysis Criteria,Kryteria analizy roślin,
+Minimum Permissible Value,Minimalna dopuszczalna wartość,
+Maximum Permissible Value,Maksymalna dopuszczalna wartość,
+Ca/K,Ca / K,
+Ca/Mg,Ca / Mg,
+Mg/K,Mg / K,
+(Ca+Mg)/K,(Ca + Mg) / K,
+Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
+Soil Analysis Criterias,Kryteria analizy gleby,
+Soil Analysis Criteria,Kryteria analizy gleby,
+Soil Type,Typ gleby,
+Loamy Sand,Piasek gliniasty,
+Sandy Loam,Sandy Loam,
+Loam,Ił,
+Silt Loam,Silt Loam,
+Sandy Clay Loam,Sandy Clay Loam,
+Clay Loam,Clay Loam,
+Silty Clay Loam,Silty Clay Loam,
+Sandy Clay,Sandy Clay,
+Silty Clay,Silty Clay,
+Clay Composition (%),Skład gliny (%),
+Sand Composition (%),Skład piasku (%),
+Silt Composition (%),Skład mułu (%),
+Ternary Plot,Ternary Plot,
+Soil Texture Criteria,Kryteria tekstury gleby,
+Type of Sample,Rodzaj próbki,
+Container,Pojemnik,
+Origin,Pochodzenie,
+Collection Temperature ,Temperatura zbierania,
+Storage Temperature,Temperatura przechowywania,
+Appearance,Wygląd,
+Person Responsible,Osoba odpowiedzialna,
+Water Analysis Criteria,Kryteria analizy wody,
+Weather Parameter,Parametr pogody,
+ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
+Asset Owner,Właściciel zasobu,
+Asset Owner Company,Asset Owner Company,
+Custodian,Kustosz,
+Disposal Date,Utylizacja Data,
+Journal Entry for Scrap,Księgowanie na złom,
+Available-for-use Date,Data przydatności do użycia,
+Calculate Depreciation,Oblicz amortyzację,
+Allow Monthly Depreciation,Zezwalaj na miesięczną amortyzację,
+Number of Depreciations Booked,Ilość amortyzacją zarezerwowano,
+Finance Books,Finanse Książki,
+Straight Line,Linia prosta,
+Double Declining Balance,Podwójne Bilans Spadek,
+Manual,podręcznik,
+Value After Depreciation,Wartość po amortyzacji,
+Total Number of Depreciations,Całkowita liczba amortyzacją,
+Frequency of Depreciation (Months),Częstotliwość Amortyzacja (miesiące),
+Next Depreciation Date,Następny Amortyzacja Data,
+Depreciation Schedule,amortyzacja Harmonogram,
+Depreciation Schedules,Rozkłady amortyzacyjne,
+Insurance details,Szczegóły ubezpieczenia,
+Policy number,Numer polisy,
+Insurer,Ubezpieczający,
+Insured value,Wartość ubezpieczenia,
+Insurance Start Date,Data rozpoczęcia ubezpieczenia,
+Insurance End Date,Data zakończenia ubezpieczenia,
+Comprehensive Insurance,Kompleksowe ubezpieczenie,
+Maintenance Required,Wymagane czynności konserwacyjne,
+Check if Asset requires Preventive Maintenance or Calibration,"Sprawdź, czy Zasób wymaga konserwacji profilaktycznej lub kalibracji",
+Booked Fixed Asset,Zarezerwowany środek trwały,
+Purchase Receipt Amount,Kup kwotę odbioru,
+Default Finance Book,Domyślna księga finansowa,
+Quality Manager,Manager Jakości,
+Asset Category Name,Zaleta Nazwa kategorii,
+Depreciation Options,Opcje amortyzacji,
+Enable Capital Work in Progress Accounting,Włącz rachunkowość kapitału w toku,
+Finance Book Detail,Finanse Książka szczegółów,
+Asset Category Account,Konto Aktywów Kategoria,
+Fixed Asset Account,Konto trwałego,
+Accumulated Depreciation Account,Skumulowana Amortyzacja konta,
+Depreciation Expense Account,Konto amortyzacji wydatków,
+Capital Work In Progress Account,Kapitałowe konto w toku,
+Asset Finance Book,Książka o finansach aktywów,
+Written Down Value,Zapisana wartość,
+Expected Value After Useful Life,Przewidywany okres użytkowania wartości po,
+Rate of Depreciation,Stopa amortyzacji,
+In Percentage,W procentach,
+Maintenance Team,Zespół serwisowy,
+Maintenance Manager Name,Nazwa menedżera konserwacji,
+Maintenance Tasks,Zadania konserwacji,
+Manufacturing User,Produkcja użytkownika,
+Asset Maintenance Log,Dziennik konserwacji zasobów,
+ACC-AML-.YYYY.-,ACC-AML-.RRRR.-,
+Maintenance Type,Typ Konserwacji,
+Maintenance Status,Status Konserwacji,
+Planned,Zaplanowany,
+Has Certificate ,Posiada certyfikat,
+Certificate,Certyfikat,
+Actions performed,Wykonane akcje,
+Asset Maintenance Task,Zadanie utrzymania aktywów,
+Maintenance Task,Zadanie konserwacji,
+Preventive Maintenance,Konserwacja zapobiegawcza,
+Calibration,Kalibrowanie,
+2 Yearly,2 Rocznie,
+Certificate Required,Wymagany certyfikat,
+Assign to Name,Przypisz do nazwy,
+Next Due Date,Następna data płatności,
+Last Completion Date,Ostatnia data ukończenia,
+Asset Maintenance Team,Zespół ds. Utrzymania aktywów,
+Maintenance Team Name,Nazwa zespołu obsługi technicznej,
+Maintenance Team Members,Członkowie zespołu ds. Konserwacji,
+Purpose,Cel,
+Stock Manager,Kierownik magazynu,
+Asset Movement Item,Element ruchu zasobu,
+Source Location,Lokalizacja źródła,
+From Employee,Od pracownika,
+Target Location,Docelowa lokalizacja,
+To Employee,Do pracownika,
+Asset Repair,Naprawa aktywów,
+ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
+Failure Date,Data awarii,
+Assign To Name,Przypisywanie do nazwy,
+Repair Status,Status naprawy,
+Error Description,Opis błędu,
+Downtime,Przestój,
+Repair Cost,koszty naprawy,
+Manufacturing Manager,Kierownik Produkcji,
+Current Asset Value,Aktualna wartość aktywów,
+New Asset Value,Nowa wartość aktywów,
+Make Depreciation Entry,Bądź Amortyzacja Entry,
+Finance Book Id,Identyfikator książki finansowej,
+Location Name,Nazwa lokalizacji,
+Parent Location,Lokalizacja rodzica,
+Is Container,To kontener,
+Check if it is a hydroponic unit,"Sprawdź, czy to jednostka hydroponiczna",
+Location Details,Szczegóły lokalizacji,
+Latitude,Szerokość,
+Longitude,Długość geograficzna,
+Area,Powierzchnia,
+Area UOM,Obszar UOM,
+Tree Details,drzewo Szczegóły,
+Maintenance Team Member,Członek zespołu ds. Konserwacji,
+Team Member,Członek zespołu,
+Maintenance Role,Rola konserwacji,
+Buying Settings,Ustawienia zakupów,
+Settings for Buying Module,Ustawienia Zakup modułu,
+Supplier Naming By,Po nazwie dostawcy,
+Default Supplier Group,Domyślna grupa dostawców,
+Default Buying Price List,Domyślny cennik dla zakupów,
+Backflush Raw Materials of Subcontract Based On,Rozliczenie wsteczne materiałów podwykonawstwa,
+Material Transferred for Subcontract,Materiał przekazany do podwykonawstwa,
+Over Transfer Allowance (%),Nadwyżka limitu transferu (%),
+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.,"Procent, który możesz przekazać więcej w stosunku do zamówionej ilości. Na przykład: jeśli zamówiłeś 100 jednostek. a Twój zasiłek wynosi 10%, możesz przenieść 110 jednostek.",
+PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
+Get Items from Open Material Requests,Elementy z żądań Otwórz Materiał,
+Fetch items based on Default Supplier.,Pobierz elementy na podstawie domyślnego dostawcy.,
+Required By,Wymagane przez,
+Order Confirmation No,Potwierdzenie nr,
+Order Confirmation Date,Zamów datę potwierdzenia,
+Customer Mobile No,Komórka klienta Nie,
+Customer Contact Email,Kontakt z klientem e-mail,
+Set Target Warehouse,Ustaw magazyn docelowy,
+Sets 'Warehouse' in each row of the Items table.,Ustawia „Magazyn” w każdym wierszu tabeli Towary.,
+Supply Raw Materials,Zaopatrzenia w surowce,
+Purchase Order Pricing Rule,Reguła cenowa zamówienia zakupu,
+Set Reserve Warehouse,Ustaw Rezerwuj magazyn,
+In Words will be visible once you save the Purchase Order.,Słownie będzie widoczna w Zamówieniu po zapisaniu,
+Advance Paid,Zaliczka,
+Tracking,Śledzenie,
+% Billed,% rozliczonych,
+% Received,% Otrzymanych,
+Ref SQ,Ref SQ,
+Inter Company Order Reference,Informacje o zamówieniach między firmami,
+Supplier Part Number,Numer katalogowy dostawcy,
+Billed Amt,Rozliczona Ilość,
+Warehouse and Reference,Magazyn i punkt odniesienia,
+To be delivered to customer,Być dostarczone do klienta,
+Against Blanket Order,Przeciw Kocowi,
+Blanket Order,Formularz zamówienia,
+Blanket Order Rate,Ogólny koszt zamówienia,
+Returned Qty,Wrócił szt,
+Purchase Order Item Supplied,Dostarczony przedmiot zamówienia,
+BOM Detail No,BOM Numer,
+Stock Uom,Jednostka,
+Raw Material Item Code,Kod surowca,
+Supplied Qty,Dostarczane szt,
+Purchase Receipt Item Supplied,Rachunek Kupna Zaopatrzenia,
+Current Stock,Bieżący asortyment,
+PUR-RFQ-.YYYY.-,PUR-RFQ-.RRRR.-,
+For individual supplier,Dla indywidualnego dostawcy,
+Link to Material Requests,Link do żądań materiałów,
+Message for Supplier,Wiadomość dla dostawcy,
+Request for Quotation Item,Przedmiot zapytania ofertowego,
+Required Date,Data wymagana,
+Request for Quotation Supplier,Zapytanie ofertowe do dostawcy,
+Send Email,Wyślij E-mail,
+Quote Status,Status statusu,
+Download PDF,Pobierz PDF,
+Supplier of Goods or Services.,Dostawca towarów lub usług.,
+Name and Type,Nazwa i typ,
+SUP-.YYYY.-,SUP-.RRRR.-,
+Default Bank Account,Domyślne konto bankowe,
+Is Transporter,Dostarcza we własnym zakresie,
+Represents Company,Reprezentuje firmę,
+Supplier Type,Typ dostawcy,
+Allow Purchase Invoice Creation Without Purchase Order,Zezwalaj na tworzenie faktur zakupu bez zamówienia zakupu,
+Allow Purchase Invoice Creation Without Purchase Receipt,Zezwalaj na tworzenie faktur zakupu bez pokwitowania zakupu,
+Warn RFQs,Informuj o złożonych zapytaniach ofertowych,
+Warn POs,Informuj o złożonych zamówieniach,
+Prevent RFQs,Zapobiegaj złożeniu zapytania ofertowego,
+Prevent POs,Zapobiegaj złożeniu zamówienia,
+Billing Currency,Waluta rozliczenia,
+Default Payment Terms Template,Domyślny szablon warunków płatności,
+Block Supplier,Blokuj dostawcę,
+Hold Type,Hold Type,
+Leave blank if the Supplier is blocked indefinitely,"Pozostaw puste, jeśli dostawca jest blokowany na czas nieokreślony",
+Default Payable Accounts,Domyślne konta Rozrachunki z dostawcami,
+Mention if non-standard payable account,"Wspomnij, jeśli nietypowe konto płatne",
+Default Tax Withholding Config,Domyślna konfiguracja podatku u źródła,
+Supplier Details,Szczegóły dostawcy,
+Statutory info and other general information about your Supplier,Informacje prawne na temat dostawcy,
+PUR-SQTN-.YYYY.-,PUR-SQTN-.RRRR.-,
+Supplier Address,Adres dostawcy,
+Link to material requests,Link do żądań materialnych,
+Rounding Adjustment (Company Currency,Korekta zaokrągleń (waluta firmy,
+Auto Repeat Section,Sekcja automatycznego powtarzania,
+Is Subcontracted,Czy zlecony,
+Lead Time in days,Czas oczekiwania w dniach,
+Supplier Score,Ocena Dostawcy,
+Indicator Color,Kolor wskaźnika,
+Evaluation Period,Okres próbny,
+Per Week,Na tydzień,
+Per Month,Na miesiąc,
+Per Year,Na rok,
+Scoring Setup,Konfiguracja punktów,
+Weighting Function,Funkcja ważenia,
+"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","Mogą być stosowane zmienne kartoteki, a także: {total_score} (całkowity wynik z tego okresu), {period_number} (liczba okresów na dzień dzisiejszy)",
+Scoring Standings,Zaplanuj miejsca,
+Criteria Setup,Konfiguracja kryteriów,
+Load All Criteria,Załaduj wszystkie kryteria,
+Scoring Criteria,Kryteria oceny,
+Scorecard Actions,Działania kartoteki,
+Warn for new Request for Quotations,Ostrzegaj przed nowym żądaniem ofert,
+Warn for new Purchase Orders,Ostrzegaj o nowych zamówieniach zakupu,
+Notify Supplier,Powiadom o Dostawcy,
+Notify Employee,Powiadom o pracowniku,
+Supplier Scorecard Criteria,Kryteria oceny dostawcy Dostawcy,
+Criteria Name,Kryteria Nazwa,
+Max Score,Maksymalny wynik,
+Criteria Formula,Wzór Kryterium,
+Criteria Weight,Kryteria Waga,
+Supplier Scorecard Period,Okres kartoteki dostawcy,
+PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
+Period Score,Wynik okresu,
+Calculations,Obliczenia,
+Criteria,Kryteria,
+Variables,Zmienne,
+Supplier Scorecard Setup,Ustawienia karty wyników dostawcy,
+Supplier Scorecard Scoring Criteria,Kryteria oceny scoringowej dostawcy,
+Score,Wynik,
+Supplier Scorecard Scoring Standing,Dostawca Scorecard Stanowisko,
+Standing Name,Reputacja,
+Purple,Fioletowy,
+Yellow,Żółty,
+Orange,Pomarańczowy,
+Min Grade,Min. wynik,
+Max Grade,Maks. wynik,
+Warn Purchase Orders,Ostrzegaj Zamówienia Zakupu,
+Prevent Purchase Orders,Zapobiegaj zamówieniom zakupu,
+Employee ,Pracownik,
+Supplier Scorecard Scoring Variable,Dostawca Scorecard Zmienna scoringowa,
+Variable Name,Nazwa zmiennej,
+Parameter Name,Nazwa parametru,
+Supplier Scorecard Standing,Dostawca Scorecard Standing,
+Notify Other,Powiadamiaj inne,
+Supplier Scorecard Variable,Zmienną Scorecard dostawcy,
+Call Log,Rejestr połączeń,
+Received By,Otrzymane przez,
+Caller Information,Informacje o dzwoniącym,
+Contact Name,Nazwa kontaktu,
+Lead ,Prowadzić,
+Lead Name,Nazwa Tropu,
+Ringing,Dzwonienie,
+Missed,Nieodebrane,
+Call Duration in seconds,Czas trwania połączenia w sekundach,
+Recording URL,Adres URL nagrywania,
+Communication Medium,Środki komunikacji,
+Communication Medium Type,Typ medium komunikacyjnego,
+Voice,Głos,
+Catch All,Złap wszystkie,
+"If there is no assigned timeslot, then communication will be handled by this group","Jeśli nie ma przypisanej szczeliny czasowej, komunikacja będzie obsługiwana przez tę grupę",
+Timeslots,Szczeliny czasowe,
+Communication Medium Timeslot,Średni czas komunikacji,
+Employee Group,Grupa pracowników,
+Appointment,Spotkanie,
+Scheduled Time,Zaplanowany czas,
+Unverified,Niesprawdzony,
+Customer Details,Dane Klienta,
+Phone Number,Numer telefonu,
+Skype ID,Nazwa Skype,
+Linked Documents,Powiązane dokumenty,
+Appointment With,Spotkanie z,
+Calendar Event,Wydarzenie z kalendarza,
+Appointment Booking Settings,Ustawienia rezerwacji terminu,
+Enable Appointment Scheduling,Włącz harmonogram spotkań,
+Agent Details,Dane agenta,
+Availability Of Slots,Dostępność automatów,
+Number of Concurrent Appointments,Liczba jednoczesnych spotkań,
+Agents,Agenci,
+Appointment Details,Szczegóły terminu,
+Appointment Duration (In Minutes),Czas trwania spotkania (w minutach),
+Notify Via Email,Powiadom przez e-mail,
+Notify customer and agent via email on the day of the appointment.,Powiadom klienta i agenta za pośrednictwem poczty elektronicznej w dniu spotkania.,
+Number of days appointments can be booked in advance,Liczbę dni można umawiać z wyprzedzeniem,
+Success Settings,Ustawienia sukcesu,
+Success Redirect URL,Sukces Przekierowanie URL,
+"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Pozostaw puste w domu. Jest to względne w stosunku do adresu URL witryny, na przykład „about” przekieruje na „https://yoursitename.com/about”",
+Appointment Booking Slots,Terminy rezerwacji spotkań,
+Day Of Week,Dzień tygodnia,
+From Time ,Od czasu,
+Campaign Email Schedule,Harmonogram e-mailu kampanii,
+Send After (days),Wyślij po (dni),
+Signed,Podpisano,
+Party User,Użytkownik strony,
+Unsigned,Bez podpisu,
+Fulfilment Status,Status realizacji,
+N/A,Nie dotyczy,
+Unfulfilled,Niespełnione,
+Partially Fulfilled,Częściowo zrealizowane,
+Fulfilled,Spełniony,
+Lapsed,Nieaktualne,
+Contract Period,Okres umowy,
+Signee Details,Szczegóły dotyczące Signee,
+Signee,Signee,
+Signed On,Podpisano,
+Contract Details,Szczegóły umowy,
+Contract Template,Szablon umowy,
+Contract Terms,Warunki kontraktu,
+Fulfilment Details,Szczegóły realizacji,
+Requires Fulfilment,Wymaga spełnienia,
+Fulfilment Deadline,Termin realizacji,
+Fulfilment Terms,Warunki realizacji,
+Contract Fulfilment Checklist,Lista kontrolna realizacji kontraktu,
+Requirement,Wymaganie,
+Contract Terms and Conditions,Warunki umowy,
+Fulfilment Terms and Conditions,Spełnienie warunków,
+Contract Template Fulfilment Terms,Warunki realizacji szablonu umowy,
+Email Campaign,Kampania e-mailowa,
+Email Campaign For ,Kampania e-mailowa dla,
+Lead is an Organization,Ołów to organizacja,
+CRM-LEAD-.YYYY.-,CRM-LEAD-.RRRR.-,
+Person Name,Imię i nazwisko osoby,
+Lost Quotation,Przegrana notowań,
+Interested,Jestem zainteresowany,
+Converted,Przekształcono,
+Do Not Contact,Nie Kontaktuj,
+From Customer,Od klienta,
+Campaign Name,Nazwa kampanii,
+Follow Up,Zagryźć,
+Next Contact By,Następny Kontakt Po,
+Next Contact Date,Data Następnego Kontaktu,
+Ends On,Koniec w dniu,
+Address & Contact,Adres i kontakt,
+Mobile No.,Nr tel. Komórkowego,
+Lead Type,Typ Tropu,
+Consultant,Konsultant,
+Market Segment,Segment rynku,
+Industry,Przedsiębiorstwo,
+Request Type,Typ zapytania,
+Product Enquiry,Zapytanie o produkt,
+Request for Information,Prośba o informację,
+Suggestions,Sugestie,
+Blog Subscriber,Subskrybent Bloga,
+LinkedIn Settings,Ustawienia LinkedIn,
+Company ID,identyfikator firmy,
+OAuth Credentials,Poświadczenia OAuth,
+Consumer Key,Klucz klienta,
+Consumer Secret,Sekret konsumenta,
+User Details,Dane użytkownika,
+Person URN,Osoba URN,
+Session Status,Stan sesji,
+Lost Reason Detail,Szczegóły utraconego powodu,
+Opportunity Lost Reason,Możliwość utracona z powodu,
+Potential Sales Deal,Szczegóły potencjalnych sprzedaży,
+CRM-OPP-.YYYY.-,CRM-OPP-.RRRR.-,
+Opportunity From,Szansa od,
+Customer / Lead Name,Nazwa Klienta / Tropu,
+Opportunity Type,Typ szansy,
+Converted By,Przekształcony przez,
+Sales Stage,Etap sprzedaży,
+Lost Reason,Powód straty,
+Expected Closing Date,Oczekiwana data zamknięcia,
+To Discuss,Do omówienia,
+With Items,Z przedmiotami,
+Probability (%),Prawdopodobieństwo (%),
+Contact Info,Dane kontaktowe,
+Customer / Lead Address,Adres Klienta / Tropu,
+Contact Mobile No,Numer komórkowy kontaktu,
+Enter name of campaign if source of enquiry is campaign,Wpisz nazwę przeprowadzanej kampanii jeżeli źródło pytania jest kampanią,
+Opportunity Date,Data szansy,
+Opportunity Item,Przedmiot Szansy,
+Basic Rate,Podstawowy wskaźnik,
+Stage Name,Pseudonim artystyczny,
+Social Media Post,Post w mediach społecznościowych,
+Post Status,Stan publikacji,
+Posted,Wysłano,
+Share On,Podziel się na,
+Twitter,Świergot,
+LinkedIn,LinkedIn,
+Twitter Post Id,Identyfikator posta na Twitterze,
+LinkedIn Post Id,Identyfikator posta na LinkedIn,
+Tweet,Ćwierkać,
+Twitter Settings,Ustawienia Twittera,
+API Secret Key,Tajny klucz API,
+Term Name,Nazwa Term,
+Term Start Date,Termin Data rozpoczęcia,
+Term End Date,Term Data zakończenia,
+Academics User,Studenci,
+Academic Year Name,Nazwa Roku Akademickiego,
+Article,Artykuł,
+LMS User,Użytkownik LMS,
+Assessment Criteria Group,Kryteria oceny grupowej,
+Assessment Group Name,Nazwa grupy Assessment,
+Parent Assessment Group,Rodzic Assesment Group,
+Assessment Name,Nazwa ocena,
+Grading Scale,Skala ocen,
+Examiner,Egzaminator,
+Examiner Name,Nazwa Examiner,
+Supervisor,Kierownik,
+Supervisor Name,Nazwa Supervisor,
+Evaluate,Oceniać,
+Maximum Assessment Score,Maksymalny wynik oceny,
+Assessment Plan Criteria,Kryteria oceny planu,
+Maximum Score,Maksymalna liczba punktów,
+Result,Wynik,
+Total Score,Całkowity wynik,
+Grade,Stopień,
+Assessment Result Detail,Wynik oceny Szczegóły,
+Assessment Result Tool,Wynik oceny Narzędzie,
+Result HTML,wynik HTML,
+Content Activity,Aktywność treści,
+Last Activity ,Ostatnia aktywność,
+Content Question,Pytanie dotyczące treści,
+Question Link,Link do pytania,
+Course Name,Nazwa przedmiotu,
+Topics,Tematy,
+Hero Image,Obraz bohatera,
+Default Grading Scale,Domyślna skala ocen,
+Education Manager,Menedżer edukacji,
+Course Activity,Aktywność na kursie,
+Course Enrollment,Rejestracja kursu,
+Activity Date,Data aktywności,
+Course Assessment Criteria,Kryteria oceny kursu,
+Weightage,Waga/wiek,
+Course Content,Zawartość kursu,
+Quiz,Kartkówka,
+Program Enrollment,Rejestracja w programie,
+Enrollment Date,Data rejestracji,
+Instructor Name,Instruktor Nazwa,
+EDU-CSH-.YYYY.-,EDU-CSH-.RRRR.-,
+Course Scheduling Tool,Oczywiście Narzędzie Scheduling,
+Course Start Date,Data rozpoczęcia kursu,
+To TIme,Do czasu,
+Course End Date,Data zakończenia kursu,
+Course Topic,Temat kursu,
+Topic,Temat,
+Topic Name,Nazwa tematu,
+Education Settings,Ustawienia edukacji,
+Current Academic Year,Obecny Rok Akademicki,
+Current Academic Term,Obecny termin akademicki,
+Attendance Freeze Date,Data zamrożenia obecności,
+Validate Batch for Students in Student Group,Sprawdź partię dla studentów w grupie studentów,
+"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Dla grupy studentów opartej na partiach, partia ucznia zostanie zatwierdzona dla każdego ucznia z wpisu do programu.",
+Validate Enrolled Course for Students in Student Group,Zatwierdzić zapisany kurs dla studentów w grupie studentów,
+"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.",Dla Grupy Studenckiej na Kursie kurs zostanie sprawdzony dla każdego Uczestnika z zapisanych kursów w ramach Rejestracji Programu.,
+Make Academic Term Mandatory,Uczyń okres akademicki obowiązkowym,
+"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Jeśli opcja jest włączona, pole Akademickie oznaczenie będzie obowiązkowe w narzędziu rejestrowania programu.",
+Skip User creation for new Student,Pomiń tworzenie użytkownika dla nowego Studenta,
+"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.","Domyślnie dla każdego nowego Studenta tworzony jest nowy Użytkownik. Jeśli ta opcja jest włączona, żaden nowy Użytkownik nie zostanie utworzony po utworzeniu nowego Studenta.",
+Instructor Records to be created by,"Rekord instruktorski, który zostanie utworzony przez",
+Employee Number,Numer pracownika,
+Fee Category,opłata Kategoria,
+Fee Component,opłata Komponent,
+Fees Category,Opłaty Kategoria,
+Fee Schedule,Harmonogram opłat,
+Fee Structure,Struktura opłat,
+EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
+Fee Creation Status,Status tworzenia licencji,
+In Process,W trakcie,
+Send Payment Request Email,Wyślij e-mail z zapytaniem o płatność,
+Student Category,Student Kategoria,
+Fee Breakup for each student,Podział wynagrodzenia dla każdego ucznia,
+Total Amount per Student,Łączna kwota na jednego studenta,
+Institution,Instytucja,
+Fee Schedule Program,Program planu opłat,
+Student Batch,Batch Student,
+Total Students,Wszystkich studentów,
+Fee Schedule Student Group,Plan zajęć grupy studentów,
+EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
+EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
+Include Payment,Dołącz płatności,
+Send Payment Request,Wyślij żądanie płatności,
+Student Details,Szczegóły Uczniów,
+Student Email,E-mail dla studentów,
+Grading Scale Name,Skala ocen Nazwa,
+Grading Scale Intervals,Odstępy Skala ocen,
+Intervals,przedziały,
+Grading Scale Interval,Skala ocen Interval,
+Grade Code,Kod klasy,
+Threshold,Próg,
+Grade Description,Stopień Opis,
+Guardian,Opiekun,
+Guardian Name,Nazwa Stróża,
+Alternate Number,Alternatywny numer,
+Occupation,Zawód,
+Work Address,Adres miejsca pracy,
+Guardian Of ,Strażnik,
+Students,studenci,
+Guardian Interests,opiekun Zainteresowania,
+Guardian Interest,Strażnik Odsetki,
+Interest,Zainteresowanie,
+Guardian Student,opiekun studenta,
+EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
+Instructor Log,Dziennik instruktora,
+Other details,Pozostałe szczegóły,
+Option,Opcja,
+Is Correct,Jest poprawne,
+Program Name,Nazwa programu,
+Program Abbreviation,Skrót programu,
+Courses,Pola,
+Is Published,Jest opublikowany,
+Allow Self Enroll,Zezwalaj na samodzielne zapisywanie się,
+Is Featured,Jest zawarty,
+Intro Video,Intro Video,
+Program Course,Program kursu,
+School House,school House,
+Boarding Student,Student Wyżywienia,
+Check this if the Student is residing at the Institute's Hostel.,"Sprawdź, czy Student mieszka w Hostelu Instytutu.",
+Walking,Pieszy,
+Institute's Bus,Autobus Instytutu,
+Public Transport,Transport publiczny,
+Self-Driving Vehicle,Samochód osobowy,
+Pick/Drop by Guardian,Pick / Drop przez Guardian,
+Enrolled courses,Zaplanowane kursy,
+Program Enrollment Course,Kurs rekrutacji,
+Program Enrollment Fee,Program Rejestracji Opłata,
+Program Enrollment Tool,Rejestracja w programie Narzędzie,
+Get Students From,Uzyskaj studentów z,
+Student Applicant,Student Wnioskodawca,
+Get Students,Uzyskaj Studentów,
+Enrollment Details,Szczegóły rejestracji,
+New Program,Nowy program,
+New Student Batch,Nowa partia studencka,
+Enroll Students,zapisać studentów,
+New Academic Year,Nowy rok akademicki,
+New Academic Term,Nowy okres akademicki,
+Program Enrollment Tool Student,Rejestracja w programie Narzędzie Student,
+Student Batch Name,Student Batch Nazwa,
+Program Fee,Opłata Program,
+Question,Pytanie,
+Single Correct Answer,Pojedyncza poprawna odpowiedź,
+Multiple Correct Answer,Wielokrotna poprawna odpowiedź,
+Quiz Configuration,Konfiguracja quizu,
+Passing Score,Wynik pozytywny,
+Score out of 100,Wynik na 100,
+Max Attempts,Max Próby,
+Enter 0 to waive limit,"Wprowadź 0, aby zrezygnować z limitu",
+Grading Basis,Podstawa klasyfikacji,
+Latest Highest Score,Najnowszy najwyższy wynik,
+Latest Attempt,Ostatnia próba,
+Quiz Activity,Aktywność Quiz,
+Enrollment,Rekrutacja,
+Pass,Przechodzić,
+Quiz Question,Pytanie do quizu,
+Quiz Result,Wynik testu,
+Selected Option,Wybrana opcja,
+Correct,Poprawny,
+Wrong,Źle,
+Room Name,Nazwa pokoju,
+Room Number,Numer pokoju,
+Seating Capacity,Liczba miejsc,
+House Name,Nazwa domu,
+EDU-STU-.YYYY.-,EDU-STU-.RRRR.-,
+Student Mobile Number,Student Mobile Number,
+Joining Date,Data Dołączenia,
+Blood Group,Grupa Krwi,
+A+,A+,
+A-,A-,
+B+,B +,
+B-,B-,
+O+,O +,
+O-,O-,
+AB+,AB +,
+AB-,AB-,
+Nationality,Narodowość,
+Home Address,Adres domowy,
+Guardian Details,Szczegóły Stróża,
+Guardians,Strażnicy,
+Sibling Details,rodzeństwo Szczegóły,
+Siblings,Rodzeństwo,
+Exit,Wyjście,
+Date of Leaving,Data Pozostawiając,
+Leaving Certificate Number,Pozostawiając numer certyfikatu,
+Reason For Leaving,Powód odejścia,
+Student Admission,Wstęp Student,
+Admission Start Date,Wstęp Data rozpoczęcia,
+Admission End Date,Wstęp Data zakończenia,
+Publish on website,Opublikuj na stronie internetowej,
+Eligibility and Details,Kwalifikowalność i szczegóły,
+Student Admission Program,Studencki program przyjęć,
+Minimum Age,Minimalny wiek,
+Maximum Age,Maksymalny wiek,
+Application Fee,Opłata za zgłoszenie,
+Naming Series (for Student Applicant),Naming Series (dla Studenta Wnioskodawcy),
+LMS Only,Tylko LMS,
+EDU-APP-.YYYY.-,EDU-APP-.RRRR.-,
+Application Status,Status aplikacji,
+Application Date,Data złożenia wniosku,
+Student Attendance Tool,Obecność Student Narzędzie,
+Group Based On,Grupa oparta na,
+Students HTML,studenci HTML,
+Group Based on,Grupa oparta na,
+Student Group Name,Nazwa grupy studentów,
+Max Strength,Maksymalna siła,
+Set 0 for no limit,Ustaw 0 oznacza brak limitu,
+Instructors,instruktorzy,
+Student Group Creation Tool,Narzędzie tworzenia grupy studenta,
+Leave blank if you make students groups per year,"Zostaw puste, jeśli uczysz grupy studentów rocznie",
+Get Courses,Uzyskaj kursy,
+Separate course based Group for every Batch,Oddzielna grupa kursów dla każdej partii,
+Leave unchecked if you don't want to consider batch while making course based groups. ,"Opuść zaznaczenie, jeśli nie chcesz rozważyć partii przy jednoczesnym tworzeniu grup kursów.",
+Student Group Creation Tool Course,Kurs grupy studentów Stworzenie narzędzia,
+Course Code,Kod kursu,
+Student Group Instructor,Instruktor grupy studentów,
+Student Group Student,Student Grupa Student,
+Group Roll Number,Numer grupy,
+Student Guardian,Student Stróża,
+Relation,Relacja,
+Mother,Mama,
+Father,Ojciec,
+Student Language,Student Język,
+Student Leave Application,Student Application Leave,
+Mark as Present,Oznacz jako Present,
+Student Log,Dziennik studenta,
+Academic,Akademicki,
+Achievement,Osiągnięcie,
+Student Report Generation Tool,Narzędzie do generowania raportów uczniów,
+Include All Assessment Group,Uwzględnij całą grupę oceny,
+Show Marks,Pokaż znaczniki,
+Add letterhead,Dodaj papier firmowy,
+Print Section,Sekcja drukowania,
+Total Parents Teacher Meeting,Spotkanie nauczycieli wszystkich rodziców,
+Attended by Parents,Uczestniczyli w nim rodzice,
+Assessment Terms,Warunki oceny,
+Student Sibling,Student Rodzeństwo,
+Studying in Same Institute,Studia w sam instytut,
+NO,NIE,
+YES,Tak,
+Student Siblings,Rodzeństwo studenckie,
+Topic Content,Treść tematu,
+Amazon MWS Settings,Ustawienia Amazon MWS,
+ERPNext Integrations,Integracje ERPNext,
+Enable Amazon,Włącz Amazon,
+MWS Credentials,Poświadczenia MWS,
+Seller ID,ID sprzedawcy,
+AWS Access Key ID,AWS Access Key ID,
+MWS Auth Token,MWh Auth Token,
+Market Place ID,Identyfikator rynku,
+AE,AE,
+AU,AU,
+BR,BR,
+CA,CA,
+CN,CN,
+DE,DE,
+ES,ES,
+FR,FR,
+IN,W,
+JP,JP,
+IT,TO,
+MX,MX,
+UK,Wielka Brytania,
+US,NAS,
+Customer Type,typ klienta,
+Market Place Account Group,Grupa konta rynkowego,
+After Date,Po dacie,
+Amazon will synch data updated after this date,Amazon zsynchronizuje dane zaktualizowane po tej dacie,
+Sync Taxes and Charges,Synchronizuj podatki i opłaty,
+Get financial breakup of Taxes and charges data by Amazon ,Uzyskaj rozpad finansowy danych podatkowych i obciążeń przez Amazon,
+Sync Products,Synchronizuj produkty,
+Always sync your products from Amazon MWS before synching the Orders details,Zawsze synchronizuj swoje produkty z Amazon MWS przed zsynchronizowaniem szczegółów Zamówienia,
+Sync Orders,Synchronizuj zamówienia,
+Click this button to pull your Sales Order data from Amazon MWS.,"Kliknij ten przycisk, aby pobrać dane zamówienia sprzedaży z Amazon MWS.",
+Enable Scheduled Sync,Włącz zaplanowaną synchronizację,
+Check this to enable a scheduled Daily synchronization routine via scheduler,"Zaznacz to ustawienie, aby włączyć zaplanowaną codzienną procedurę synchronizacji za pośrednictwem programu planującego",
+Max Retry Limit,Maksymalny limit ponownych prób,
+Exotel Settings,Ustawienia Exotel,
+Account SID,SID konta,
+API Token,Token API,
+GoCardless Mandate,Upoważnienie GoCardless,
+Mandate,Mandat,
+GoCardless Customer,Klient bez karty,
+GoCardless Settings,Ustawienia bez karty,
+Webhooks Secret,Sekret Webhooks,
+Plaid Settings,Ustawienia Plaid,
+Synchronize all accounts every hour,Synchronizuj wszystkie konta co godzinę,
+Plaid Client ID,Identyfikator klienta w kratkę,
+Plaid Secret,Plaid Secret,
+Plaid Environment,Plaid Environment,
+sandbox,piaskownica,
+development,rozwój,
+production,produkcja,
+QuickBooks Migrator,QuickBooks Migrator,
+Application Settings,Ustawienia aplikacji,
+Token Endpoint,Token Endpoint,
+Scope,Zakres,
+Authorization Settings,Ustawienia autoryzacji,
+Authorization Endpoint,Punkt końcowy autoryzacji,
+Authorization URL,Adres URL autoryzacji,
+Quickbooks Company ID,Quickbooks Identyfikator firmy,
+Company Settings,Ustawienia firmy,
+Default Shipping Account,Domyślne konto wysyłkowe,
+Default Warehouse,Domyślny magazyn,
+Default Cost Center,Domyślne Centrum Kosztów,
+Undeposited Funds Account,Rachunek nierozliczonych funduszy,
+Shopify Log,Shopify Log,
+Request Data,Żądaj danych,
+Shopify Settings,Zmień ustawienia,
+status html,status html,
+Enable Shopify,Włącz Shopify,
+App Type,Typ aplikacji,
+Last Sync Datetime,Ostatnia synchronizacja Datetime,
+Shop URL,URL sklepu,
+eg: frappe.myshopify.com,np .: frappe.myshopify.com,
+Shared secret,Wspólny sekret,
+Webhooks Details,Szczegóły Webhooks,
+Webhooks,Webhooks,
+Customer Settings,Ustawienia klienta,
+Default Customer,Domyślny klient,
+Customer Group will set to selected group while syncing customers from Shopify,Grupa klientów ustawi wybraną grupę podczas synchronizowania klientów z Shopify,
+For Company,Dla firmy,
+Cash Account will used for Sales Invoice creation,Konto gotówkowe zostanie użyte do utworzenia faktury sprzedaży,
+Update Price from Shopify To ERPNext Price List,Zaktualizuj cenę z Shopify To ERPNext Price List,
+Default Warehouse to to create Sales Order and Delivery Note,"Domyślny magazyn, aby utworzyć zamówienie sprzedaży i dostawę",
+Sales Order Series,Seria zamówień sprzedaży,
+Import Delivery Notes from Shopify on Shipment,Importuj notatki dostawy z Shopify w przesyłce,
+Delivery Note Series,Seria notatek dostawy,
+Import Sales Invoice from Shopify if Payment is marked,"Importuj fakturę sprzedaży z Shopify, jeśli płatność została zaznaczona",
+Sales Invoice Series,Seria faktur sprzedaży,
+Shopify Tax Account,Shopify Tax Account,
+Shopify Tax/Shipping Title,Kupuj podatek / tytuł dostawy,
+ERPNext Account,ERPNext Konto,
+Shopify Webhook Detail,Szczegółowe informacje o Shophook,
+Webhook ID,Identyfikator Webhooka,
+Tally Migration,Tally Migration,
+Master Data,Dane podstawowe,
+"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Dane wyeksportowane z Tally, które obejmują plan kont, klientów, dostawców, adresy, towary i jednostki miary",
+Is Master Data Processed,Czy przetwarzane są dane podstawowe,
+Is Master Data Imported,Czy importowane są dane podstawowe,
+Tally Creditors Account,Tally Credit Accounts,
+Creditors Account set in Tally,Konto wierzycieli ustawione w Tally,
+Tally Debtors Account,Rachunek Dłużników Tally,
+Debtors Account set in Tally,Konto dłużników ustawione w Tally,
+Tally Company,Firma Tally,
+Company Name as per Imported Tally Data,Nazwa firmy zgodnie z zaimportowanymi danymi Tally,
+Default UOM,Domyślna jednostka miary,
+UOM in case unspecified in imported data,JM w przypadku nieokreślonego w importowanych danych,
+ERPNext Company,ERPNext Company,
+Your Company set in ERPNext,Twoja firma ustawiona w ERPNext,
+Processed Files,Przetworzone pliki,
+Parties,Strony,
+UOMs,Jednostki miary,
+Vouchers,Kupony,
+Round Off Account,Konto kwot zaokrągleń,
+Day Book Data,Dane książki dziennej,
+Day Book Data exported from Tally that consists of all historic transactions,"Dane księgi dziennej wyeksportowane z Tally, które zawierają wszystkie historyczne transakcje",
+Is Day Book Data Processed,Czy przetwarzane są dane dzienników,
+Is Day Book Data Imported,Importowane są dane dzienników,
+Woocommerce Settings,Ustawienia Woocommerce,
+Enable Sync,Włącz synchronizację,
+Woocommerce Server URL,URL serwera Woocommerce,
+Secret,Sekret,
+API consumer key,Klucz konsumenta API,
+API consumer secret,Tajny klucz klienta API,
+Tax Account,Konto podatkowe,
+Freight and Forwarding Account,Konto spedycyjne i spedycyjne,
+Creation User,Użytkownik tworzenia,
+"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Użytkownik, który będzie używany do tworzenia klientów, towarów i zleceń sprzedaży. Ten użytkownik powinien mieć odpowiednie uprawnienia.",
+"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Ten magazyn będzie używany do tworzenia zamówień sprzedaży. Magazyn zapasowy to „Sklepy”.,
+"The fallback series is ""SO-WOO-"".",Seria awaryjna to „SO-WOO-”.,
+This company will be used to create Sales Orders.,Ta firma będzie używana do tworzenia zamówień sprzedaży.,
+Delivery After (Days),Dostawa po (dni),
+This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Jest to domyślne przesunięcie (dni) dla daty dostawy w zamówieniach sprzedaży. Przesunięcie awaryjne wynosi 7 dni od daty złożenia zamówienia.,
+"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Jest to domyślna jednostka miary używana dla elementów i zamówień sprzedaży. Rezerwowym UOM jest „Nos”.,
+Endpoints,Punkty końcowe,
+Endpoint,Punkt końcowy,
+Antibiotic Name,Nazwa antybiotyku,
+Healthcare Administrator,Administrator Ochrony Zdrowia,
+Laboratory User,Użytkownik Laboratorium,
+Is Inpatient,Jest hospitalizowany,
+Default Duration (In Minutes),Domyślny czas trwania (w minutach),
+Body Part,Część ciała,
+Body Part Link,Link do części ciała,
+HLC-CPR-.YYYY.-,HLC-CPR-.RRRR.-,
+Procedure Template,Szablon procedury,
+Procedure Prescription,Procedura Recepta,
+Service Unit,Jednostka serwisowa,
+Consumables,Materiały eksploatacyjne,
+Consume Stock,Zużyj zapasy,
+Invoice Consumables Separately,Fakturuj oddzielnie materiały eksploatacyjne,
+Consumption Invoiced,Zużycie fakturowane,
+Consumable Total Amount,Łączna ilość materiałów eksploatacyjnych,
+Consumption Details,Szczegóły zużycia,
+Nursing User,Pielęgniarka,
+Clinical Procedure Item,Procedura postępowania klinicznego,
+Invoice Separately as Consumables,Faktura oddzielnie jako materiał eksploatacyjny,
+Transfer Qty,Przenieś ilość,
+Actual Qty (at source/target),Rzeczywista Ilość (u źródła/celu),
+Is Billable,Jest rozliczalny,
+Allow Stock Consumption,Zezwalaj na zużycie zapasów,
+Sample UOM,Przykładowa jednostka miary,
+Collection Details,Szczegóły kolekcji,
+Change In Item,Zmiana w pozycji,
+Codification Table,Tabela kodyfikacji,
+Complaints,Uskarżanie się,
+Dosage Strength,Siła dawkowania,
+Strength,Wytrzymałość,
+Drug Prescription,Na receptę,
+Drug Name / Description,Nazwa / opis leku,
+Dosage,Dawkowanie,
+Dosage by Time Interval,Dawkowanie według przedziału czasu,
+Interval,Interwał,
+Interval UOM,Interwał UOM,
+Hour,Godzina,
+Update Schedule,Zaktualizuj harmonogram,
+Exercise,Ćwiczenie,
+Difficulty Level,Poziom trudności,
+Counts Target,Liczy cel,
+Counts Completed,Liczenie zakończone,
+Assistance Level,Poziom pomocy,
+Active Assist,Aktywna pomoc,
+Exercise Name,Nazwa ćwiczenia,
+Body Parts,Części ciała,
+Exercise Instructions,Instrukcje do ćwiczeń,
+Exercise Video,Ćwiczenia wideo,
+Exercise Steps,Kroki ćwiczeń,
+Steps,Kroki,
+Steps Table,Tabela kroków,
+Exercise Type Step,Krok typu ćwiczenia,
+Max number of visit,Maksymalna liczba wizyt,
+Visited yet,Jeszcze odwiedziłem,
+Reference Appointments,Spotkania referencyjne,
+Valid till,Obowiązuje do,
+Fee Validity Reference,Odniesienie do ważności opłat,
+Basic Details,Podstawowe szczegóły,
+HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
+Mobile,mobilny,
+Phone (R),Telefon (R),
+Phone (Office),Telefon (Biuro),
+Employee and User Details,Dane pracownika i użytkownika,
+Hospital,Szpital,
+Appointments,Terminy,
+Practitioner Schedules,Harmonogramy praktyków,
+Charges,Opłaty,
+Out Patient Consulting Charge,Opłata za konsultacje z pacjentem zewnętrznym,
+Default Currency,Domyślna waluta,
+Healthcare Schedule Time Slot,Schemat czasu opieki zdrowotnej,
+Parent Service Unit,Jednostka usług dla rodziców,
+Service Unit Type,Rodzaj jednostki usługi,
+Allow Appointments,Zezwalaj na spotkania,
+Allow Overlap,Zezwalaj na Nakładanie,
+Inpatient Occupancy,Zajęcia stacjonarne,
+Occupancy Status,Status obłożenia,
+Vacant,Pusty,
+Occupied,Zajęty,
+Item Details,Szczegóły produktu,
+UOM Conversion in Hours,Konwersja UOM w godzinach,
+Rate / UOM,Rate / UOM,
+Change in Item,Zmień pozycję,
+Out Patient Settings,Out Ustawienia pacjenta,
+Patient Name By,Nazwisko pacjenta,
+Patient Name,Imię pacjenta,
+Link Customer to Patient,Połącz klienta z pacjentem,
+"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.","Jeśli zostanie zaznaczone, zostanie utworzony klient, który będzie mapowany na pacjenta. Dla tego klienta powstanie faktury pacjenta. Można również wybrać istniejącego klienta podczas tworzenia pacjenta.",
+Default Medical Code Standard,Domyślny standard kodu medycznego,
+Collect Fee for Patient Registration,Zbierz opłatę za rejestrację pacjenta,
+Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Zaznaczenie tej opcji spowoduje utworzenie nowych pacjentów ze statusem Wyłączony domyślnie i będzie włączone dopiero po zafakturowaniu Opłaty rejestracyjnej.,
+Registration Fee,Opłata za rejestrację,
+Automate Appointment Invoicing,Zautomatyzuj fakturowanie spotkań,
+Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Zarządzaj fakturą Powołania automatycznie przesyłaj i anuluj spotkanie z pacjentem,
+Enable Free Follow-ups,Włącz bezpłatne obserwacje,
+Number of Patient Encounters in Valid Days,Liczba spotkań pacjentów w ważne dni,
+The number of free follow ups (Patient Encounters in valid days) allowed,Dozwolona liczba bezpłatnych obserwacji (spotkań pacjentów w ważnych dniach),
+Valid Number of Days,Ważna liczba dni,
+Time period (Valid number of days) for free consultations,Okres (ważna liczba dni) na bezpłatne konsultacje,
+Default Healthcare Service Items,Domyślne pozycje usług opieki zdrowotnej,
+"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Można skonfigurować pozycje domyślne w celu rozliczenia opłat za konsultacje, pozycji dotyczących zużycia procedur i wizyt szpitalnych",
+Clinical Procedure Consumable Item,Procedura kliniczna Materiały eksploatacyjne,
+Default Accounts,Konta domyślne,
+Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,"Konta z domyślnymi dochodami, które mają być używane, jeśli nie są ustawione w Healthcare Practitioner, aby zarezerwować opłaty za spotkanie.",
+Default receivable accounts to be used to book Appointment charges.,"Domyślne konta należności, które mają być używane do księgowania opłat za spotkanie.",
+Out Patient SMS Alerts,Wypisuj alerty SMS dla pacjentów,
+Patient Registration,Rejestracja pacjenta,
+Registration Message,Wiadomość rejestracyjna,
+Confirmation Message,Wiadomość potwierdzająca,
+Avoid Confirmation,Unikaj Potwierdzenia,
+Do not confirm if appointment is created for the same day,"Nie potwierdzaj, czy spotkanie zostanie utworzone na ten sam dzień",
+Appointment Reminder,Przypomnienie o spotkaniu,
+Reminder Message,Komunikat Przypomnienia,
+Remind Before,Przypomnij wcześniej,
+Laboratory Settings,Ustawienia laboratoryjne,
+Create Lab Test(s) on Sales Invoice Submission,Utwórz testy laboratoryjne podczas przesyłania faktur sprzedaży,
+Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Zaznaczenie tego spowoduje utworzenie testów laboratoryjnych określonych na fakturze sprzedaży podczas przesyłania.,
+Create Sample Collection document for Lab Test,Utwórz dokument pobierania próbek do testu laboratoryjnego,
+Checking this will create a Sample Collection document  every time you create a Lab Test,"Zaznaczenie tego spowoduje utworzenie dokumentu pobierania próbek za każdym razem, gdy utworzysz test laboratoryjny",
+Employee name and designation in print,Nazwisko pracownika i oznaczenie w druku,
+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.,"Zaznacz tę opcję, jeśli chcesz, aby nazwa i oznaczenie pracownika skojarzone z użytkownikiem przesyłającym dokument zostały wydrukowane w raporcie z testu laboratoryjnego.",
+Do not print or email Lab Tests without Approval,Nie drukuj ani nie wysyłaj e-mailem testów laboratoryjnych bez zgody,
+Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Zaznaczenie tego ograniczy drukowanie i wysyłanie pocztą elektroniczną dokumentów testów laboratoryjnych, chyba że mają one status Zatwierdzone.",
+Custom Signature in Print,Podpis niestandardowy w druku,
+Laboratory SMS Alerts,Laboratorium SMS Alerts,
+Result Printed Message,Wynik wydrukowany komunikat,
+Result Emailed Message,Wiadomość e-mail z wynikami,
+Check In,Zameldować się,
+Check Out,Sprawdzić,
+HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
+A Positive,Pozytywny,
+A Negative,Negatywny,
+AB Positive,AB Pozytywne,
+AB Negative,AB Negatywne,
+B Positive,B dodatni,
+B Negative,B Negatywne,
+O Positive,O pozytywne,
+O Negative,O negatywne,
+Date of birth,Data urodzenia,
+Admission Scheduled,Wstęp Zaplanowany,
+Discharge Scheduled,Rozładowanie Zaplanowane,
+Discharged,Rozładowany,
+Admission Schedule Date,Harmonogram przyjęcia,
+Admitted Datetime,Przyjęto Datetime,
+Expected Discharge,Oczekiwany zrzut,
+Discharge Date,Data rozładowania,
+Lab Prescription,Lekarz na receptę,
+Lab Test Name,Nazwa testu laboratoryjnego,
+Test Created,Utworzono test,
+Submitted Date,Zaakceptowana Data,
+Approved Date,Zatwierdzona data,
+Sample ID,Identyfikator wzorcowy,
+Lab Technician,Technik laboratoryjny,
+Report Preference,Preferencje raportu,
+Test Name,Nazwa testu,
+Test Template,Szablon testu,
+Test Group,Grupa testowa,
+Custom Result,Wynik niestandardowy,
+LabTest Approver,Przybliżenie LabTest,
+Add Test,Dodaj test,
+Normal Range,Normalny zakres,
+Result Format,Format wyników,
+Single,Pojedynczy,
+Compound,Złożony,
+Descriptive,Opisowy,
+Grouped,Zgrupowane,
+No Result,Brak wyników,
+This value is updated in the Default Sales Price List.,Ta wartość jest aktualizowana w Domyślnym Cenniku Sprzedaży.,
+Lab Routine,Lab Rutyna,
+Result Value,Wartość wyniku,
+Require Result Value,Wymagaj wartości,
+Normal Test Template,Normalny szablon testu,
+Patient Demographics,Dane demograficzne pacjenta,
+HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
+Middle Name (optional),Drugie imię (opcjonalnie),
+Inpatient Status,Status stacjonarny,
+"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.","Jeśli w Ustawieniach opieki zdrowotnej zaznaczono opcję „Połącz klienta z pacjentem”, a istniejący klient nie zostanie wybrany, zostanie utworzony klient dla tego pacjenta w celu rejestrowania transakcji w module kont.",
+Personal and Social History,Historia osobista i społeczna,
+Marital Status,Stan cywilny,
+Married,Żonaty / Zamężna,
+Divorced,Rozwiedziony,
+Widow,Wdowa,
+Patient Relation,Relacja pacjenta,
+"Allergies, Medical and Surgical History","Alergie, historia medyczna i chirurgiczna",
+Allergies,Alergie,
+Medication,Lek,
+Medical History,Historia medyczna,
+Surgical History,Historia chirurgiczna,
+Risk Factors,Czynniki ryzyka,
+Occupational Hazards and Environmental Factors,Zagrożenia zawodowe i czynniki środowiskowe,
+Other Risk Factors,Inne czynniki ryzyka,
+Patient Details,Szczegóły pacjenta,
+Additional information regarding the patient,Dodatkowe informacje dotyczące pacjenta,
+HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
+Patient Age,Wiek pacjenta,
+Get Prescribed Clinical Procedures,Uzyskaj przepisane procedury kliniczne,
+Therapy,Terapia,
+Get Prescribed Therapies,Uzyskaj przepisane terapie,
+Appointment Datetime,Data spotkania,
+Duration (In Minutes),Czas trwania (w minutach),
+Reference Sales Invoice,Referencyjna faktura sprzedaży,
+More Info,Więcej informacji,
+Referring Practitioner,Polecający praktykujący,
+Reminded,Przypomnij,
+HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
+Assessment Template,Szablon oceny,
+Assessment Datetime,Czas oceny,
+Assessment Description,Opis oceny,
+Assessment Sheet,Arkusz oceny,
+Total Score Obtained,Całkowity wynik uzyskany,
+Scale Min,Skala min,
+Scale Max,Skala Max,
+Patient Assessment Detail,Szczegóły oceny pacjenta,
+Assessment Parameter,Parametr oceny,
+Patient Assessment Parameter,Parametr oceny pacjenta,
+Patient Assessment Sheet,Arkusz oceny pacjenta,
+Patient Assessment Template,Szablon oceny pacjenta,
+Assessment Parameters,Parametry oceny,
+Parameters,Parametry,
+Assessment Scale,Skala oceny,
+Scale Minimum,Minimalna skala,
+Scale Maximum,Skala maksymalna,
+HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
+Encounter Date,Data spotkania,
+Encounter Time,Czas spotkania,
+Encounter Impression,Encounter Impression,
+Symptoms,Objawy,
+In print,W druku,
+Medical Coding,Kodowanie medyczne,
+Procedures,Procedury,
+Therapies,Terapie,
+Review Details,Szczegóły oceny,
+Patient Encounter Diagnosis,Diagnoza spotkania pacjenta,
+Patient Encounter Symptom,Objaw spotkania pacjenta,
+HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
+Attach Medical Record,Dołącz dokumentację medyczną,
+Reference DocType,Odniesienie do DocType,
+Spouse,Małżonka,
+Family,Rodzina,
+Schedule Details,Szczegóły harmonogramu,
+Schedule Name,Nazwa harmonogramu,
+Time Slots,Szczeliny czasowe,
+Practitioner Service Unit Schedule,Harmonogram jednostki służby zdrowia,
+Procedure Name,Nazwa procedury,
+Appointment Booked,Spotkanie zarezerwowane,
+Procedure Created,Procedura Utworzono,
+HLC-SC-.YYYY.-,HLC-SC-.RRRR.-,
+Collected By,Zbierane przez,
+Particulars,Szczegóły,
+Result Component,Komponent wyników,
+HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
+Therapy Plan Details,Szczegóły planu terapii,
+Total Sessions,Całkowita liczba sesji,
+Total Sessions Completed,Całkowita liczba ukończonych sesji,
+Therapy Plan Detail,Szczegóły planu terapii,
+No of Sessions,Liczba sesji,
+Sessions Completed,Sesje zakończone,
+Tele,Tele,
+Exercises,Ćwiczenia,
+Therapy For,Terapia dla,
+Add Exercises,Dodaj ćwiczenia,
+Body Temperature,Temperatura ciała,
+Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Obecność gorączki (temp.&gt; 38,5 ° C / 101,3 ° F lub trwała temperatura&gt; 38 ° C / 100,4 ° F)",
+Heart Rate / Pulse,Częstość tętna / impuls,
+Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Częstość tętna wynosi od 50 do 80 uderzeń na minutę.,
+Respiratory rate,Oddechowy,
+Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Normalny zakres referencyjny dla dorosłych wynosi 16-20 oddech / minutę (RCP 2012),
+Tongue,Język,
+Coated,Pokryty,
+Very Coated,Bardzo powlekane,
+Normal,Normalna,
+Furry,Futrzany,
+Cuts,Cięcia,
+Abdomen,Brzuch,
+Bloated,Nadęty,
+Fluid,Płyn,
+Constipated,Mający zaparcie,
+Reflexes,Odruchy,
+Hyper,Hyper,
+Very Hyper,Bardzo Hyper,
+One Sided,Jednostronny,
+Blood Pressure (systolic),Ciśnienie krwi (skurczowe),
+Blood Pressure (diastolic),Ciśnienie krwi (rozkurczowe),
+Blood Pressure,Ciśnienie krwi,
+"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Normalne spoczynkowe ciśnienie krwi u dorosłych wynosi około 120 mmHg skurczowe, a rozkurczowe 80 mmHg, skrócone &quot;120/80 mmHg&quot;",
+Nutrition Values,Wartości odżywcze,
+Height (In Meter),Wysokość (w metrze),
+Weight (In Kilogram),Waga (w kilogramach),
+BMI,BMI,
+Hotel Room,Pokój hotelowy,
+Hotel Room Type,Rodzaj pokoju hotelowego,
+Capacity,Pojemność,
+Extra Bed Capacity,Wydajność dodatkowego łóżka,
+Hotel Manager,Kierownik hotelu,
+Hotel Room Amenity,Udogodnienia w pokoju hotelowym,
+Billable,Rozliczalny,
+Hotel Room Package,Pakiet hotelowy,
+Amenities,Udogodnienia,
+Hotel Room Pricing,Ceny pokoi w hotelu,
+Hotel Room Pricing Item,Cennik pokoi hotelowych,
+Hotel Room Pricing Package,Pakiet cen pokoi hotelowych,
+Hotel Room Reservation,Rezerwacja pokoju hotelowego,
+Guest Name,Imię gościa,
+Late Checkin,Późne zameldowanie,
+Booked,Zarezerwowane,
+Hotel Reservation User,Użytkownik rezerwacji hotelu,
+Hotel Room Reservation Item,Rezerwacja pokoju hotelowego,
+Hotel Settings,Ustawienia hotelu,
+Default Taxes and Charges,Domyślne podatków i opłat,
+Default Invoice Naming Series,Domyślna seria nazewnictwa faktur,
+Additional Salary,Dodatkowe wynagrodzenie,
+HR,HR,
+HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
+Salary Component,Wynagrodzenie Komponent,
+Overwrite Salary Structure Amount,Nadpisz ilość wynagrodzenia,
+Deduct Full Tax on Selected Payroll Date,Odliczenie pełnego podatku od wybranej daty płac,
+Payroll Date,Data płacy,
+Date on which this component is applied,Data zastosowania tego komponentu,
+Salary Slip,Pasek wynagrodzenia,
+Salary Component Type,Typ składnika wynagrodzenia,
+HR User,Kadry - użytkownik,
+Appointment Letter,List z terminem spotkania,
+Job Applicant,Aplikujący o pracę,
+Applicant Name,Imię Aplikanta,
+Appointment Date,Data spotkania,
+Appointment Letter Template,Szablon listu z terminami,
+Body,Ciało,
+Closing Notes,Uwagi końcowe,
+Appointment Letter content,Treść listu z terminem,
+Appraisal,Ocena,
+HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
+Appraisal Template,Szablon oceny,
+For Employee Name,Dla Imienia Pracownika,
+Goals,Cele,
+Total Score (Out of 5),Łączny wynik (w skali do 5),
+"Any other remarks, noteworthy effort that should go in the records.","Wszelkie inne uwagi, zauważyć, że powinien iść nakładu w ewidencji.",
+Appraisal Goal,Cel oceny,
+Key Responsibility Area,Kluczowy obszar obowiązków,
+Weightage (%),Waga/wiek (%),
+Score (0-5),Wynik (0-5),
+Score Earned,Ilość zdobytych punktów,
+Appraisal Template Title,Tytuł szablonu oceny,
+Appraisal Template Goal,Cel szablonu oceny,
+KRA,KRA,
+Key Performance Area,Kluczowy obszar wyników,
+HR-ATT-.YYYY.-,HR-ATT-.RRRR.-,
+On Leave,Na urlopie,
+Work From Home,Praca w domu,
+Leave Application,Wniosek o Nieobecność,
+Attendance Date,Data usługi,
+Attendance Request,Żądanie obecności,
+Late Entry,Późne wejście,
+Early Exit,Wczesne wyjście,
+Half Day Date,Pół Dzień Data,
+On Duty,Na służbie,
+Explanation,Wyjaśnienie,
+Compensatory Leave Request,Wniosek o urlop Wyrównawczy,
+Leave Allocation,Alokacja Nieobecności,
+Worked On Holiday,Pracowałem w wakacje,
+Work From Date,Praca od daty,
+Work End Date,Data zakończenia pracy,
+Email Sent To,Email wysłany do,
+Select Users,Wybierz użytkowników,
+Send Emails At,Wyślij pocztę elektroniczną w,
+Reminder,Przypomnienie,
+Daily Work Summary Group User,Codzienny użytkownik grupy roboczej,
+email,e-mail,
+Parent Department,Departament rodziców,
+Leave Block List,Lista Blokowanych Nieobecności,
+Days for which Holidays are blocked for this department.,Dni kiedy urlop jest zablokowany dla tego departamentu,
+Leave Approver,Zatwierdzający Nieobecność,
+Expense Approver,Osoba zatwierdzająca wydatki,
+Department Approver,Departament zatwierdzający,
+Approver,Osoba zatwierdzająca,
+Required Skills,Wymagane umiejętności,
+Skills,Umiejętności,
+Designation Skill,Umiejętność oznaczania,
+Skill,Umiejętność,
+Driver,Kierowca,
+HR-DRI-.YYYY.-,HR-DRI-.RRRR.-,
+Suspended,Zawieszony,
+Transporter,Transporter,
+Applicable for external driver,Dotyczy zewnętrznego sterownika,
+Cellphone Number,numer telefonu komórkowego,
+License Details,Szczegóły licencji,
+License Number,Numer licencji,
+Issuing Date,Data emisji,
+Driving License Categories,Kategorie prawa jazdy,
+Driving License Category,Kategoria prawa jazdy,
+Fleet Manager,Menedżer floty,
+Driver licence class,Klasa prawa jazdy,
+HR-EMP-,HR-EMP-,
+Employment Type,Typ zatrudnienia,
+Emergency Contact,Kontakt na wypadek nieszczęśliwych wypadków,
+Emergency Contact Name,kontakt do osoby w razie wypadku,
+Emergency Phone,Telefon bezpieczeństwa,
+ERPNext User,ERPNext Użytkownik,
+"System User (login) ID. If set, it will become default for all HR forms.","Użytkownik systemu (login) ID. Jeśli ustawiono, stanie się on domyślnym dla wszystkich formularzy HR",
+Create User Permission,Utwórz uprawnienia użytkownika,
+This will restrict user access to other employee records,To ograniczy dostęp użytkowników do innych rekordów pracowników,
+Joining Details,Łączenie szczegółów,
+Offer Date,Data oferty,
+Confirmation Date,Data potwierdzenia,
+Contract End Date,Data końcowa kontraktu,
+Notice (days),Wymówienie (dni),
+Date Of Retirement,Data przejścia na emeryturę,
+Department and Grade,Wydział i stopień,
+Reports to,Raporty do,
+Attendance and Leave Details,Frekwencja i szczegóły urlopu,
+Leave Policy,Polityka Nieobecności,
+Attendance Device ID (Biometric/RF tag ID),Identyfikator urządzenia obecności (identyfikator biometryczny / RF),
+Applicable Holiday List,Stosowna Lista Urlopów,
+Default Shift,Domyślne przesunięcie,
+Salary Details,Szczegóły wynagrodzeń,
+Salary Mode,Moduł Wynagrodzenia,
+Bank A/C No.,Numer rachunku bankowego,
+Health Insurance,Ubezpieczenie zdrowotne,
+Health Insurance Provider,Dostawca ubezpieczenia zdrowotnego,
+Health Insurance No,Numer ubezpieczenia zdrowotnego,
+Prefered Email,Zalecany email,
+Personal Email,Osobisty E-mail,
+Permanent Address Is,Stały adres to,
+Rented,Wynajęty,
+Owned,Zawłaszczony,
+Permanent Address,Stały adres,
+Prefered Contact Email,Preferowany kontakt e-mail,
+Company Email,Email do firmy,
+Provide Email Address registered in company,Podać adres e-mail zarejestrowany w firmie,
+Current Address Is,Obecny adres to,
+Current Address,Obecny adres,
+Personal Bio,Personal Bio,
+Bio / Cover Letter,Bio / List motywacyjny,
+Short biography for website and other publications.,Krótka notka na stronę i do innych publikacji,
+Passport Number,Numer Paszportu,
+Date of Issue,Data wydania,
+Place of Issue,Miejsce wydania,
+Widowed,Wdowiec / Wdowa,
+Family Background,Tło rodzinne,
+Health Details,Szczegóły Zdrowia,
+"Here you can maintain height, weight, allergies, medical concerns etc","Tutaj wypełnij i przechowaj dane takie jak wzrost, waga, alergie, problemy medyczne itd",
+Educational Qualification,Kwalifikacje edukacyjne,
+Previous Work Experience,Poprzednie doświadczenie zawodowe,
+External Work History,Historia Zewnętrzna Pracy,
+History In Company,Historia Firmy,
+Internal Work History,Wewnętrzne Historia Pracuj,
+Resignation Letter Date,Data wypowiedzenia,
+Relieving Date,Data zwolnienia,
+Reason for Leaving,Powód odejścia,
+Leave Encashed?,"Jesteś pewien, że chcesz wyjść z Wykupinych?",
+Encashment Date,Data Inkaso,
+New Workplace,Nowe Miejsce Pracy,
+HR-EAD-.YYYY.-,HR-EAD-.RRRR.-,
+Returned Amount,Zwrócona kwota,
+Claimed,Roszczenie,
+Advance Account,Rachunek zaawansowany,
+Employee Attendance Tool,Narzędzie Frekwencji,
+Unmarked Attendance,Obecność nieoznaczona,
+Employees HTML,Pracownicy HTML,
+Marked Attendance,Zaznaczona Obecność,
+Marked Attendance HTML,Zaznaczona Obecność HTML,
+Employee Benefit Application,Świadczenie pracownicze,
+Max Benefits (Yearly),Maksymalne korzyści (rocznie),
+Remaining Benefits (Yearly),Pozostałe korzyści (rocznie),
+Payroll Period,Okres płacy,
+Benefits Applied,Korzyści zastosowane,
+Dispensed Amount (Pro-rated),Dawka dodana (zaszeregowana),
+Employee Benefit Application Detail,Szczegóły zastosowania świadczeń pracowniczych,
+Earning Component,Zarabianie na komponent,
+Pay Against Benefit Claim,Zapłać na poczet zasiłku,
+Max Benefit Amount,Kwota maksymalnego świadczenia,
+Employee Benefit Claim,Świadczenie pracownicze,
+Claim Date,Data roszczenia,
+Benefit Type and Amount,Rodzaj świadczenia i kwota,
+Claim Benefit For,Zasiłek roszczenia dla,
+Max Amount Eligible,Maksymalna kwota kwalifikująca się,
+Expense Proof,Dowód wydatków,
+Employee Boarding Activity,Działalność Boarding pracownika,
+Activity Name,Nazwa działania,
+Task Weight,Zadanie waga,
+Required for Employee Creation,Wymagany w przypadku tworzenia pracowników,
+Applicable in the case of Employee Onboarding,Ma zastosowanie w przypadku wprowadzenia pracownika na rynek,
+Employee Checkin,Checkin pracownika,
+Log Type,Typ dziennika,
+OUT,NA ZEWNĄTRZ,
+Location / Device ID,Lokalizacja / identyfikator urządzenia,
+Skip Auto Attendance,Pomiń automatyczne uczestnictwo,
+Shift Start,Shift Start,
+Shift End,Shift End,
+Shift Actual Start,Shift Actual Start,
+Shift Actual End,Shift Actual End,
+Employee Education,Wykształcenie pracownika,
+School/University,Szkoła/Uniwersytet,
+Graduate,Absolwent,
+Post Graduate,Podyplomowe,
+Under Graduate,Absolwent,
+Year of Passing,Mijający rok,
+Major/Optional Subjects,Główne/Opcjonalne Tematy,
+Employee External Work History,Historia zatrudnienia pracownika poza firmą,
+Total Experience,Całkowita kwota wydatków,
+Default Leave Policy,Domyślna Polityka Nieobecności,
+Default Salary Structure,Domyślna struktura wynagrodzenia,
+Employee Group Table,Tabela grup pracowników,
+ERPNext User ID,ERPNext Identyfikator użytkownika,
+Employee Health Insurance,Ubezpieczenie zdrowotne pracownika,
+Health Insurance Name,Nazwa ubezpieczenia zdrowotnego,
+Employee Incentive,Zachęta dla pracowników,
+Incentive Amount,Kwota motywacyjna,
+Employee Internal Work History,Historia zatrudnienia pracownika w firmie,
+Employee Onboarding,Wprowadzanie pracowników,
+Notify users by email,Powiadom użytkowników pocztą e-mail,
+Employee Onboarding Template,Szablon do wprowadzania pracowników,
+Activities,Zajęcia,
+Employee Onboarding Activity,Aktywność pracownika na pokładzie,
+Employee Other Income,Inne dochody pracownika,
+Employee Promotion,Promocja pracowników,
+Promotion Date,Data promocji,
+Employee Promotion Details,Szczegóły promocji pracowników,
+Employee Promotion Detail,Szczegóły promocji pracowników,
+Employee Property History,Historia nieruchomości pracownika,
+Employee Separation,Separacja pracowników,
+Employee Separation Template,Szablon separacji pracowników,
+Exit Interview Summary,Wyjdź z podsumowania wywiadu,
+Employee Skill,Umiejętność pracownika,
+Proficiency,Biegłość,
+Evaluation Date,Data oceny,
+Employee Skill Map,Mapa umiejętności pracowników,
+Employee Skills,Umiejętności pracowników,
+Trainings,Szkolenia,
+Employee Tax Exemption Category,Kategoria zwolnienia z podatku dochodowego od pracowników,
+Max Exemption Amount,Maksymalna kwota zwolnienia,
+Employee Tax Exemption Declaration,Deklaracja zwolnienia z podatku od pracowników,
+Declarations,Deklaracje,
+Total Declared Amount,Całkowita zadeklarowana kwota,
+Total Exemption Amount,Całkowita kwota zwolnienia,
+Employee Tax Exemption Declaration Category,Kategoria deklaracji zwolnienia podatkowego dla pracowników,
+Exemption Sub Category,Kategoria zwolnienia,
+Exemption Category,Kategoria zwolnienia,
+Maximum Exempted Amount,Maksymalna kwota zwolniona,
+Declared Amount,Zadeklarowana kwota,
+Employee Tax Exemption Proof Submission,Świadectwo zwolnienia podatkowego dla pracowników,
+Submission Date,Termin składania,
+Tax Exemption Proofs,Dowody zwolnienia podatkowego,
+Total Actual Amount,Całkowita rzeczywista kwota,
+Employee Tax Exemption Proof Submission Detail,Szczegółowe informacje dotyczące złożenia zeznania podatkowego dla pracowników,
+Maximum Exemption Amount,Maksymalna kwota zwolnienia,
+Type of Proof,Rodzaj dowodu,
+Actual Amount,Rzeczywista kwota,
+Employee Tax Exemption Sub Category,Podkategoria zwolnień podatkowych dla pracowników,
+Tax Exemption Category,Kategoria zwolnienia podatkowego,
+Employee Training,Szkolenie pracowników,
+Training Date,Data szkolenia,
+Employee Transfer,Przeniesienie pracownika,
+Transfer Date,Data przeniesienia,
+Employee Transfer Details,Dane dotyczące przeniesienia pracownika,
+Employee Transfer Detail,Dane dotyczące przeniesienia pracownika,
+Re-allocate Leaves,Realokuj Nieobeności,
+Create New Employee Id,Utwórz nowy identyfikator pracownika,
+New Employee ID,Nowy identyfikator pracownika,
+Employee Transfer Property,Usługa przenoszenia pracowniczych,
+HR-EXP-.YYYY.-,HR-EXP-.RRRR.-,
+Expense Taxes and Charges,Podatki i opłaty z tytułu kosztów,
+Total Sanctioned Amount,Całkowita kwota uznań,
+Total Advance Amount,Łączna kwota zaliczki,
+Total Claimed Amount,Całkowita kwota roszczeń,
+Total Amount Reimbursed,Całkowitej kwoty zwrotów,
+Vehicle Log,pojazd Log,
+Employees Email Id,Email ID pracownika,
+More Details,Więcej szczegółów,
+Expense Claim Account,Konto Koszty Roszczenie,
+Expense Claim Advance,Advance Claim Advance,
+Unclaimed amount,Nie zgłoszona kwota,
+Expense Claim Detail,Szczegóły o zwrotach kosztów,
+Expense Date,Data wydatku,
+Expense Claim Type,Typ Zwrotu Kosztów,
+Holiday List Name,Nazwa dla Listy Świąt,
+Total Holidays,Suma dni świątecznych,
+Add Weekly Holidays,Dodaj cotygodniowe święta,
+Weekly Off,Tygodniowy wyłączony,
+Add to Holidays,Dodaj do świąt,
+Holidays,Wakacje,
+Clear Table,Wyczyść tabelę,
+HR Settings,Ustawienia HR,
+Employee Settings,Ustawienia pracownika,
+Retirement Age,Wiek emerytalny,
+Enter retirement age in years,Podaj wiek emerytalny w latach,
+Stop Birthday Reminders,Zatrzymaj przypomnienia o urodzinach,
+Expense Approver Mandatory In Expense Claim,Potwierdzenie wydatków Obowiązkowe w rachunku kosztów,
+Payroll Settings,Ustawienia Listy Płac,
+Leave,Pozostawiać,
+Max working hours against Timesheet,Maksymalny czas pracy przed grafiku,
+Include holidays in Total no. of Working Days,Dolicz święta do całkowitej liczby dni pracujących,
+"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","Jeśli zaznaczone, Całkowita liczba Dni Roboczych obejmie święta, a to zmniejsza wartość Wynagrodzenie za dzień",
+"If checked, hides and disables Rounded Total field in Salary Slips","Jeśli zaznaczone, ukrywa i wyłącza pole Zaokrąglona suma w kuponach wynagrodzeń",
+The fraction of daily wages to be paid for half-day attendance,Część dziennego wynagrodzenia za obecność na pół dnia,
+Email Salary Slip to Employee,Email Wynagrodzenie Slip pracownikowi,
+Emails salary slip to employee based on preferred email selected in Employee,Emaile wynagrodzenia poślizgu pracownikowi na podstawie wybranego w korzystnej email Pracownika,
+Encrypt Salary Slips in Emails,Szyfruj poświadczenia wynagrodzenia w wiadomościach e-mail,
+"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Ślad wynagrodzenia przesłany pocztą elektroniczną do pracownika będzie chroniony hasłem, hasło zostanie wygenerowane na podstawie polityki haseł.",
+Password Policy,Polityka haseł,
+<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Przykład:</b> SAL- {first_name} - {date_of_birth.year} <br> Spowoduje to wygenerowanie hasła takiego jak SAL-Jane-1972,
+Leave Settings,Ustawienia Nieobecności,
+Leave Approval Notification Template,Pozostaw szablon powiadomienia o zatwierdzeniu,
+Leave Status Notification Template,Pozostaw szablon powiadomienia o statusie,
+Role Allowed to Create Backdated Leave Application,Rola dozwolona do utworzenia aplikacji urlopowej z datą wsteczną,
+Leave Approver Mandatory In Leave Application,Pozostaw zatwierdzającego obowiązkowo w aplikacji opuszczającej,
+Show Leaves Of All Department Members In Calendar,Pokaż Nieobecności Wszystkich Członków Działu w Kalendarzu,
+Auto Leave Encashment,Auto Leave Encashment,
+Hiring Settings,Ustawienia wynajmu,
+Check Vacancies On Job Offer Creation,Sprawdź oferty pracy w tworzeniu oferty pracy,
+Identification Document Type,Typ dokumentu tożsamości,
+Effective from,Obowiązuje od,
+Allow Tax Exemption,Zezwalaj na zwolnienie z podatku,
+"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Jeśli ta opcja jest włączona, deklaracja zwolnienia z podatku będzie brana pod uwagę przy obliczaniu podatku dochodowego.",
+Standard Tax Exemption Amount,Kwota zwolnienia z podatku standardowego,
+Taxable Salary Slabs,Podatki podlegające opodatkowaniu,
+Taxes and Charges on Income Tax,Podatki i opłaty od podatku dochodowego,
+Other Taxes and Charges,Inne podatki i opłaty,
+Income Tax Slab Other Charges,Płyta podatku dochodowego Inne opłaty,
+Min Taxable Income,Min. Dochód podlegający opodatkowaniu,
+Max Taxable Income,Maksymalny dochód podlegający opodatkowaniu,
+Applicant for a Job,Aplikant do Pracy,
+Accepted,Przyjęte,
+Job Opening,Otwarcie naboru na stanowisko,
+Cover Letter,List motywacyjny,
+Resume Attachment,W skrócie Załącznik,
+Job Applicant Source,Źródło wniosku o pracę,
+Applicant Email Address,Adres e-mail wnioskodawcy,
+Awaiting Response,Oczekuje na Odpowiedź,
+Job Offer Terms,Warunki oferty pracy,
+Select Terms and Conditions,Wybierz Regulamin,
+Printing Details,Szczegóły Wydruku,
+Job Offer Term,Okres oferty pracy,
+Offer Term,Oferta Term,
+Value / Description,Wartość / Opis,
+Description of a Job Opening,Opis Ogłoszenia o Pracę,
+Job Title,Nazwa stanowiska pracy,
+Staffing Plan,Plan zatrudnienia,
+Planned number of Positions,Planowana liczba pozycji,
+"Job profile, qualifications required etc.","Profil stanowiska pracy, wymagane kwalifikacje itp.",
+HR-LAL-.YYYY.-,HR-LAL-.RRRR.-,
+Allocation,Przydział,
+New Leaves Allocated,Nowe Nieobecności Zaalokowane,
+Add unused leaves from previous allocations,Dodaj niewykorzystane nieobecności z poprzednich alokacji,
+Unused leaves,Niewykorzystane Nieobecności,
+Total Leaves Allocated,Całkowita ilość przyznanych dni zwolnienia od pracy,
+Total Leaves Encashed,Total Leaves Encashed,
+Leave Period,Okres Nieobecności,
+Apply / Approve Leaves,Zastosuj / Zatwierdź Nieobecności,
+HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
+Leave Balance Before Application,Status Nieobecności przed Wnioskiem,
+Total Leave Days,Całkowita liczba Dni Nieobecności,
+Leave Approver Name,Nazwa Zatwierdzającego Nieobecność,
+Follow via Email,Odpowiedz za pomocą E-maila,
+Block Holidays on important days.,Blok Wakacje na ważne dni.,
+Leave Block List Name,Nazwa Listy Blokowanych Nieobecności,
+Applies to Company,Dotyczy Firmy,
+"If not checked, the list will have to be added to each Department where it has to be applied.","Jeśli nie jest zaznaczone, lista będzie musiała być dodana do każdego Działu, w którym ma zostać zastosowany.",
+Block Days,Zablokowany Dzień,
+Stop users from making Leave Applications on following days.,Zatrzymaj możliwość składania zwolnienia chorobowego użytkownikom w następujące dni.,
+Leave Block List Dates,Daty dopuszczenia na Liście Blokowanych Nieobecności,
+Allow Users,Zezwól Użytkownikom,
+Leave Block List Allowed,Dopuszczone na Liście Blokowanych Nieobecności,
+Leave Block List Allow,Dopuść na Liście Blokowanych Nieobecności,
+Allow User,Zezwól Użytkownikowi,
+Leave Block List Date,Data dopuszczenia na Liście Blokowanych Nieobecności,
+Block Date,Zablokowana Data,
+Leave Control Panel,Panel do obsługi Nieobecności,
+Select Employees,Wybierz Pracownicy,
+Employment Type (optional),Rodzaj zatrudnienia (opcjonalnie),
+Branch (optional),Oddział (opcjonalnie),
+Department (optional),Dział (opcjonalnie),
+Designation (optional),Oznaczenie (opcjonalnie),
+Employee Grade (optional),Stopień pracownika (opcjonalnie),
+Employee (optional),Pracownik (opcjonalnie),
+Allocate Leaves,Przydziel liście,
+Carry Forward,Przeniesienie,
+Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Proszę wybrać Przeniesienie jeżeli chcesz uwzględnić balans poprzedniego roku rozliczeniowego do tego roku rozliczeniowego,
+New Leaves Allocated (In Days),Nowe Nieobecności Zaalokowane (W Dniach),
+Allocate,Przydziel,
+Leave Balance,Pozostaw saldo,
+Encashable days,Szykowne dni,
+Encashment Amount,Kwota rabatu,
+Leave Ledger Entry,Pozostaw wpis księgi głównej,
+Transaction Name,Nazwa transakcji,
+Is Expired,Straciła ważność,
+Is Leave Without Pay,jest Urlopem Bezpłatnym,
+Holiday List for Optional Leave,Lista urlopowa dla Opcjonalnej Nieobecności,
+Leave Allocations,Alokacje Nieobecności,
+Leave Policy Details,Szczegóły Polityki Nieobecności,
+Leave Policy Detail,Szczegół Polityki Nieobecności,
+Annual Allocation,Roczna alokacja,
+Leave Type Name,Nazwa Typu Urlopu,
+Max Leaves Allowed,"Maksymalna, dozwolona liczba Nieobecności",
+Applicable After (Working Days),Dotyczy After (dni robocze),
+Maximum Continuous Days Applicable,Maksymalne ciągłe dni obowiązujące,
+Is Optional Leave,jest Nieobecnością Opcjonalną,
+Allow Negative Balance,Dozwolony ujemny bilans,
+Include holidays within leaves as leaves,Uwzględniaj święta w ramach Nieobecności,
+Is Compensatory,Jest kompensacyjny,
+Maximum Carry Forwarded Leaves,Maksymalna liczba przeniesionych liści,
+Expire Carry Forwarded Leaves (Days),Wygasają przenoszenie przekazanych liści (dni),
+Calculated in days,Obliczany w dniach,
+Encashment,Napad,
+Allow Encashment,Zezwól na Osadzanie,
+Encashment Threshold Days,Progi prolongaty,
+Earned Leave,Urlop w ramach nagrody,
+Is Earned Leave,jest Urlopem w ramach Nagrody,
+Earned Leave Frequency,Częstotliwość Urlopu w ramach nagrody,
+Rounding,Zaokrąglanie,
+Payroll Employee Detail,Szczegóły dotyczące kadry płacowej,
+Payroll Frequency,Częstotliwość Płace,
+Fortnightly,Dwutygodniowy,
+Bimonthly,Dwumiesięczny,
+Employees,Pracowników,
+Number Of Employees,Liczba pracowników,
+Validate Attendance,Zweryfikuj Frekfencję,
+Salary Slip Based on Timesheet,Slip Wynagrodzenie podstawie grafiku,
+Select Payroll Period,Wybierz Okres Payroll,
+Deduct Tax For Unclaimed Employee Benefits,Odliczanie podatku za nieodebrane świadczenia pracownicze,
+Deduct Tax For Unsubmitted Tax Exemption Proof,Odliczanie podatku za nieprzedstawiony dowód zwolnienia podatkowego,
+Select Payment Account to make Bank Entry,Wybierz Konto Płatność aby bankowego Entry,
+Salary Slips Created,Utworzono zarobki,
+Salary Slips Submitted,Przesłane wynagrodzenie,
+Payroll Periods,Okresy płac,
+Payroll Period Date,Okres listy płac,
+Purpose of Travel,Cel podróży,
+Retention Bonus,Premia z zatrzymania,
+Bonus Payment Date,Data wypłaty bonusu,
+Bonus Amount,Kwota Bonusu,
+Abbr,Skrót,
+Depends on Payment Days,Zależy od dni płatności,
+Is Tax Applicable,Podatek obowiązuje,
+Variable Based On Taxable Salary,Zmienna oparta na podlegającym opodatkowaniu wynagrodzeniu,
+Exempted from Income Tax,Zwolnione z podatku dochodowego,
+Round to the Nearest Integer,Zaokrąglij do najbliższej liczby całkowitej,
+Statistical Component,Składnik statystyczny,
+"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. ","Jeśli zostanie wybrana, wartość określona lub obliczona w tym składniku nie przyczyni się do zarobków ani odliczeń. Jednak wartością tę można odwoływać się do innych składników, które można dodawać lub potrącać.",
+Do Not Include in Total,Nie uwzględniaj w sumie,
+Flexible Benefits,Elastyczne korzyści,
+Is Flexible Benefit,Elastyczna korzyść,
+Max Benefit Amount (Yearly),Kwota maksymalnego świadczenia (rocznie),
+Only Tax Impact (Cannot Claim But Part of Taxable Income),Tylko wpływ podatkowy (nie można domagać się części dochodu podlegającego opodatkowaniu),
+Create Separate Payment Entry Against Benefit Claim,Utwórz oddzielne zgłoszenie wpłaty na poczet roszczenia o zasiłek,
+Condition and Formula,Stan i wzór,
+Amount based on formula,Kwota wg wzoru,
+Formula,Formuła,
+Salary Detail,Wynagrodzenie Szczegóły,
+Component,Składnik,
+Do not include in total,Nie obejmują łącznie,
+Default Amount,Domyślnie Kwota,
+Additional Amount,Dodatkowa ilość,
+Tax on flexible benefit,Podatek od elastycznej korzyści,
+Tax on additional salary,Podatek od dodatkowego wynagrodzenia,
+Salary Structure,Struktura Wynagrodzenia,
+Working Days,Dni robocze,
+Salary Slip Timesheet,Slip Wynagrodzenie grafiku,
+Total Working Hours,Całkowita liczba godzin pracy,
+Hour Rate,Stawka godzinowa,
+Bank Account No.,Nr konta bankowego,
+Earning & Deduction,Dochód i Odliczenie,
+Earnings,Dochody,
+Deductions,Odliczenia,
+Loan repayment,Spłata pożyczki,
+Employee Loan,pracownik Kredyt,
+Total Principal Amount,Łączna kwota główna,
+Total Interest Amount,Łączna kwota odsetek,
+Total Loan Repayment,Suma spłaty kredytu,
+net pay info,Informacje o wynagrodzeniu netto,
+Gross Pay - Total Deduction - Loan Repayment,Gross Pay - Razem Odliczenie - Spłata kredytu,
+Total in words,Ogółem słownie,
+Net Pay (in words) will be visible once you save the Salary Slip.,Wynagrodzenie netto (słownie) będzie widoczna po zapisaniu na Liście Płac.,
+Salary Component for timesheet based payroll.,Składnik wynagrodzenia za płac opartego grafik.,
+Leave Encashment Amount Per Day,Zostaw kwotę za dzieło na dzień,
+Max Benefits (Amount),Maksymalne korzyści (kwota),
+Salary breakup based on Earning and Deduction.,Średnie wynagrodzenie w oparciu o zarobki i odliczenia,
+Total Earning,Całkowita kwota zarobku,
+Salary Structure Assignment,Przydział struktury wynagrodzeń,
+Shift Assignment,Przydział Shift,
+Shift Type,Typ zmiany,
+Shift Request,Żądanie zmiany,
+Enable Auto Attendance,Włącz automatyczne uczestnictwo,
+Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Oznacz obecność na podstawie „Checkin pracownika” dla pracowników przypisanych do tej zmiany.,
+Auto Attendance Settings,Ustawienia automatycznej obecności,
+Determine Check-in and Check-out,Określ odprawę i wymeldowanie,
+Alternating entries as IN and OUT during the same shift,Naprzemienne wpisy jako IN i OUT podczas tej samej zmiany,
+Strictly based on Log Type in Employee Checkin,Ściśle na podstawie typu dziennika w Checkin pracownika,
+Working Hours Calculation Based On,Obliczanie godzin pracy na podstawie,
+First Check-in and Last Check-out,Pierwsze zameldowanie i ostatnie wymeldowanie,
+Every Valid Check-in and Check-out,Każde ważne zameldowanie i wymeldowanie,
+Begin check-in before shift start time (in minutes),Rozpocznij odprawę przed czasem rozpoczęcia zmiany (w minutach),
+The time before the shift start time during which Employee Check-in is considered for attendance.,"Czas przed rozpoczęciem zmiany, podczas którego odprawa pracownicza jest brana pod uwagę przy uczestnictwie.",
+Allow check-out after shift end time (in minutes),Zezwól na wymeldowanie po zakończeniu czasu zmiany (w minutach),
+Time after the end of shift during which check-out is considered for attendance.,"Czas po zakończeniu zmiany, w trakcie którego wymeldowanie jest brane pod uwagę.",
+Working Hours Threshold for Half Day,Próg godzin pracy na pół dnia,
+Working hours below which Half Day is marked. (Zero to disable),"Godziny pracy, poniżej których zaznaczono pół dnia. (Zero, aby wyłączyć)",
+Working Hours Threshold for Absent,Próg godzin pracy dla nieobecności,
+Working hours below which Absent is marked. (Zero to disable),"Godziny pracy poniżej których nieobecność jest zaznaczona. (Zero, aby wyłączyć)",
+Process Attendance After,Uczestnictwo w procesie po,
+Attendance will be marked automatically only after this date.,Obecność zostanie oznaczona automatycznie dopiero po tej dacie.,
+Last Sync of Checkin,Ostatnia synchronizacja odprawy,
+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.,"Ostatnia znana udana synchronizacja odprawy pracownika. Zresetuj to tylko wtedy, gdy masz pewność, że wszystkie dzienniki są synchronizowane ze wszystkich lokalizacji. Nie zmieniaj tego, jeśli nie jesteś pewien.",
+Grace Period Settings For Auto Attendance,Ustawienia okresu Grace dla automatycznej obecności,
+Enable Entry Grace Period,Włącz okres ważności wpisu,
+Late Entry Grace Period,Okres późnego wejścia,
+The time after the shift start time when check-in is considered as late (in minutes).,"Czas po godzinie rozpoczęcia zmiany, gdy odprawa jest uważana za późną (w minutach).",
+Enable Exit Grace Period,Włącz okres wyjścia Grace,
+Early Exit Grace Period,Wczesny okres wyjścia z inwestycji,
+The time before the shift end time when check-out is considered as early (in minutes).,"Czas przed czasem zakończenia zmiany, gdy wymeldowanie jest uważane za wczesne (w minutach).",
+Skill Name,Nazwa umiejętności,
+Staffing Plan Details,Szczegółowy plan zatrudnienia,
+Staffing Plan Detail,Szczegółowy plan zatrudnienia,
+Total Estimated Budget,Całkowity szacunkowy budżet,
+Vacancies,Wakaty,
+Estimated Cost Per Position,Szacowany koszt na stanowisko,
+Total Estimated Cost,Całkowity szacunkowy koszt,
+Current Count,Bieżąca liczba,
+Current Openings,Aktualne otwarcia,
+Number Of Positions,Liczba pozycji,
+Taxable Salary Slab,Podatki podlegające opodatkowaniu,
+From Amount,Od kwoty,
+To Amount,Do kwoty,
+Percent Deduction,Odliczenie procentowe,
+Training Program,Program treningowy,
+Event Status,zdarzenia,
+Has Certificate,Ma certyfikat,
+Seminar,Seminarium,
+Theory,Teoria,
+Workshop,Warsztat,
+Conference,Konferencja,
+Exam,Egzamin,
+Internet,Internet,
+Self-Study,Samokształcenie,
+Advance,Zaliczka,
+Trainer Name,Nazwa Trainer,
+Trainer Email,Trener email,
+Attendees,Uczestnicy,
+Employee Emails,E-maile z pracownikami,
+Training Event Employee,Training Event urzędnik,
+Invited,Zaproszony,
+Feedback Submitted,Zgłoszenie Zgłoszony,
+Optional,Opcjonalny,
+Training Result Employee,Wynik szkolenia pracowników,
+Travel Itinerary,Plan podróży,
+Travel From,Podróżuj z,
+Travel To,Podróż do,
+Mode of Travel,Tryb podróży,
+Flight,Lot,
+Train,Pociąg,
+Taxi,Taxi,
+Rented Car,Wynajęty samochód,
+Meal Preference,Preferencje Posiłków,
+Vegetarian,Wegetariański,
+Non-Vegetarian,Nie wegetarianskie,
+Gluten Free,Bezglutenowe,
+Non Diary,Non Diary,
+Travel Advance Required,Wymagane wcześniejsze podróżowanie,
+Departure Datetime,Data wyjazdu Datetime,
+Arrival Datetime,Przybycie Datetime,
+Lodging Required,Wymagane zakwaterowanie,
+Preferred Area for Lodging,Preferowany obszar zakwaterowania,
+Check-in Date,Sprawdź w terminie,
+Check-out Date,Sprawdź datę,
+Travel Request,Wniosek o podróż,
+Travel Type,Rodzaj podróży,
+Domestic,Krajowy,
+International,Międzynarodowy,
+Travel Funding,Finansowanie podróży,
+Require Full Funding,Wymagaj pełnego finansowania,
+Fully Sponsored,W pełni sponsorowane,
+"Partially Sponsored, Require Partial Funding","Częściowo sponsorowane, wymagające częściowego finansowania",
+Copy of Invitation/Announcement,Kopia zaproszenia / ogłoszenia,
+"Details of Sponsor (Name, Location)","Dane sponsora (nazwa, lokalizacja)",
+Identification Document Number,Numer identyfikacyjny dokumentu,
+Any other details,Wszelkie inne szczegóły,
+Costing Details,Szczegóły dotyczące kalkulacji kosztów,
+Costing,Zestawienie kosztów,
+Event Details,Szczegóły wydarzenia,
+Name of Organizer,Nazwa organizatora,
+Address of Organizer,Adres Organizatora,
+Travel Request Costing,Koszt wniosku podróży,
+Expense Type,Typ wydatków,
+Sponsored Amount,Sponsorowana kwota,
+Funded Amount,Kwota dofinansowania,
+Upload Attendance,Wyślij obecność,
+Attendance From Date,Obecność od Daty,
+Attendance To Date,Obecność do Daty,
+Get Template,Pobierz szablon,
+Import Attendance,Importuj Frekwencję,
+Upload HTML,Wyślij HTML,
+Vehicle,Pojazd,
+License Plate,Tablica rejestracyjna,
+Odometer Value (Last),Drogomierz Wartość (Ostatni),
+Acquisition Date,Data nabycia,
+Chassis No,Podwozie Nie,
+Vehicle Value,Wartość pojazdu,
+Insurance Details,Szczegóły ubezpieczenia,
+Insurance Company,Firma ubezpieczeniowa,
+Policy No,Polityka nr,
+Additional Details,Dodatkowe Szczegóły,
+Fuel Type,Typ paliwa,
+Petrol,Benzyna,
+Diesel,Diesel,
+Natural Gas,Gazu ziemnego,
+Electric,Elektryczny,
+Fuel UOM,Jednostka miary paliwa,
+Last Carbon Check,Ostatni Carbon Sprawdź,
+Wheels,Koła,
+Doors,drzwi,
+HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
+Odometer Reading,Stan licznika,
+Current Odometer value ,Aktualna wartość licznika przebiegu,
+last Odometer Value ,ostatnia wartość licznika przebiegu,
+Refuelling Details,Szczegóły tankowania,
+Invoice Ref,faktura Ref,
+Service Details,Szczegóły usługi,
+Service Detail,Szczegóły usługi,
+Vehicle Service,Obsługa pojazdu,
+Service Item,service Element,
+Brake Oil,Olej hamulcowy,
+Brake Pad,Klocek hamulcowy,
+Clutch Plate,sprzęgło,
+Engine Oil,Olej silnikowy,
+Oil Change,Wymiana oleju,
+Inspection,Kontrola,
+Mileage,Przebieg,
+Hub Tracked Item,Hub Tracked Item,
+Hub Node,Hub Węzeł,
+Image List,Lista obrazów,
+Item Manager,Pozycja menedżera,
+Hub User,Użytkownik centrum,
+Hub Password,Hasło koncentratora,
+Hub Users,Użytkownicy centrum,
+Marketplace Settings,Ustawienia Marketplace,
+Disable Marketplace,Wyłącz Marketplace,
+Marketplace URL (to hide and update label),Adres URL rynku (aby ukryć i zaktualizować etykietę),
+Registered,Zarejestrowany,
+Sync in Progress,Synchronizacja w toku,
+Hub Seller Name,Nazwa sprzedawcy Hub,
+Custom Data,Dane niestandardowe,
+Member,Członek,
+Partially Disbursed,częściowo wypłacona,
+Loan Closure Requested,Zażądano zamknięcia pożyczki,
+Repay From Salary,Spłaty z pensji,
+Loan Details,pożyczka Szczegóły,
+Loan Type,Rodzaj kredytu,
+Loan Amount,Kwota kredytu,
+Is Secured Loan,Jest zabezpieczona pożyczka,
+Rate of Interest (%) / Year,Stopa procentowa (% / rok),
+Disbursement Date,wypłata Data,
+Disbursed Amount,Kwota wypłacona,
+Is Term Loan,Jest pożyczką terminową,
+Repayment Method,Sposób spłaty,
+Repay Fixed Amount per Period,Spłacić ustaloną kwotę za okres,
+Repay Over Number of Periods,Spłaty przez liczbę okresów,
+Repayment Period in Months,Spłata Okres w miesiącach,
+Monthly Repayment Amount,Miesięczna kwota spłaty,
+Repayment Start Date,Data rozpoczęcia spłaty,
+Loan Security Details,Szczegóły bezpieczeństwa pożyczki,
+Maximum Loan Value,Maksymalna wartość pożyczki,
+Account Info,Informacje o koncie,
+Loan Account,Konto kredytowe,
+Interest Income Account,Konto przychodów odsetkowych,
+Penalty Income Account,Rachunek dochodów z kar,
+Repayment Schedule,Harmonogram spłaty,
+Total Payable Amount,Całkowita należna kwota,
+Total Principal Paid,Łącznie wypłacone główne zlecenie,
+Total Interest Payable,Razem odsetki płatne,
+Total Amount Paid,Łączna kwota zapłacona,
+Loan Manager,Menedżer pożyczek,
+Loan Info,pożyczka Info,
+Rate of Interest,Stopa procentowa,
+Proposed Pledges,Proponowane zobowiązania,
+Maximum Loan Amount,Maksymalna kwota kredytu,
+Repayment Info,Informacje spłata,
+Total Payable Interest,Całkowita zapłata odsetek,
+Against Loan ,Przed pożyczką,
+Loan Interest Accrual,Narosłe odsetki od pożyczki,
+Amounts,Kwoty,
+Pending Principal Amount,Oczekująca kwota główna,
+Payable Principal Amount,Kwota główna do zapłaty,
+Paid Principal Amount,Zapłacona kwota główna,
+Paid Interest Amount,Kwota zapłaconych odsetek,
+Process Loan Interest Accrual,Przetwarzanie naliczonych odsetek od kredytu,
+Repayment Schedule Name,Nazwa harmonogramu spłaty,
+Regular Payment,Regularna płatność,
+Loan Closure,Zamknięcie pożyczki,
+Payment Details,Szczegóły płatności,
+Interest Payable,Odsetki płatne,
+Amount Paid,Kwota zapłacona,
+Principal Amount Paid,Kwota główna wypłacona,
+Repayment Details,Szczegóły spłaty,
+Loan Repayment Detail,Szczegóły spłaty pożyczki,
+Loan Security Name,Nazwa zabezpieczenia pożyczki,
+Unit Of Measure,Jednostka miary,
+Loan Security Code,Kod bezpieczeństwa pożyczki,
+Loan Security Type,Rodzaj zabezpieczenia pożyczki,
+Haircut %,Strzyżenie%,
+Loan  Details,Szczegóły pożyczki,
+Unpledged,Niepowiązane,
+Pledged,Obiecał,
+Partially Pledged,Częściowo obiecane,
+Securities,Papiery wartościowe,
+Total Security Value,Całkowita wartość bezpieczeństwa,
+Loan Security Shortfall,Niedobór bezpieczeństwa pożyczki,
+Loan ,Pożyczka,
+Shortfall Time,Czas niedoboru,
+America/New_York,America / New_York,
+Shortfall Amount,Kwota niedoboru,
+Security Value ,Wartość bezpieczeństwa,
+Process Loan Security Shortfall,Niedobór bezpieczeństwa pożyczki procesowej,
+Loan To Value Ratio,Wskaźnik pożyczki do wartości,
+Unpledge Time,Unpledge Time,
+Loan Name,pożyczka Nazwa,
+Rate of Interest (%) Yearly,Stopa procentowa (%) Roczne,
+Penalty Interest Rate (%) Per Day,Kara odsetkowa (%) dziennie,
+Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Kara odsetkowa naliczana jest codziennie od oczekującej kwoty odsetek w przypadku opóźnionej spłaty,
+Grace Period in Days,Okres karencji w dniach,
+No. of days from due date until which penalty won't be charged in case of delay in loan repayment,"Liczba dni od daty wymagalności, do której kara nie będzie naliczana w przypadku opóźnienia w spłacie kredytu",
+Pledge,Zastaw,
+Post Haircut Amount,Kwota po ostrzyżeniu,
+Process Type,Typ procesu,
+Update Time,Czas aktualizacji,
+Proposed Pledge,Proponowane zobowiązanie,
+Total Payment,Całkowita płatność,
+Balance Loan Amount,Kwota salda kredytu,
+Is Accrued,Jest naliczony,
+Salary Slip Loan,Salary Slip Loan,
+Loan Repayment Entry,Wpis spłaty kredytu,
+Sanctioned Loan Amount,Kwota udzielonej sankcji,
+Sanctioned Amount Limit,Sankcjonowany limit kwoty,
+Unpledge,Unpledge,
+Haircut,Ostrzyżenie,
+MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
+Generate Schedule,Utwórz Harmonogram,
+Schedules,Harmonogramy,
+Maintenance Schedule Detail,Szczegóły Planu Konserwacji,
+Scheduled Date,Zaplanowana Data,
+Actual Date,Rzeczywista Data,
+Maintenance Schedule Item,Przedmiot Planu Konserwacji,
+Random,Losowy,
+No of Visits,Numer wizyt,
+MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
+Maintenance Date,Data Konserwacji,
+Maintenance Time,Czas Konserwacji,
+Completion Status,Status ukończenia,
+Partially Completed,Częściowo Ukończony,
+Fully Completed,Całkowicie ukończono,
+Unscheduled,Nieplanowany,
+Breakdown,Rozkład,
+Purposes,Cele,
+Customer Feedback,Informacja zwrotna Klienta,
+Maintenance Visit Purpose,Cel Wizyty Konserwacji,
+Work Done,Praca wykonana,
+MFG-BLR-.YYYY.-,MFG-BLR-.RRRR.-,
+Order Type,Typ zamówienia,
+Blanket Order Item,Koc Zamówienie przedmiotu,
+Ordered Quantity,Zamówiona Ilość,
+Item to be manufactured or repacked,"Produkt, który ma zostać wyprodukowany lub przepakowany",
+Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Ilość produktu otrzymanego po produkcji / przepakowaniu z podanych ilości surowców,
+Set rate of sub-assembly item based on BOM,Ustaw stawkę pozycji podzakresu na podstawie BOM,
+Allow Alternative Item,Zezwalaj na alternatywną pozycję,
+Item UOM,Jednostka miary produktu,
+Conversion Rate,Współczynnik konwersji,
+Rate Of Materials Based On,Stawka Materiałów Wzorowana na,
+With Operations,Wraz z działaniami,
+Manage cost of operations,Zarządzaj kosztami działań,
+Transfer Material Against,Materiał transferowy przeciwko,
+Routing,Routing,
+Materials,Materiały,
+Quality Inspection Required,Wymagana kontrola jakości,
+Quality Inspection Template,Szablon kontroli jakości,
+Scrap,Skrawek,
+Scrap Items,złom przedmioty,
+Operating Cost,Koszty Operacyjne,
+Raw Material Cost,Koszt surowców,
+Scrap Material Cost,Złom Materiał Koszt,
+Operating Cost (Company Currency),Koszty operacyjne (Spółka waluty),
+Raw Material Cost (Company Currency),Koszt surowców (waluta spółki),
+Scrap Material Cost(Company Currency),Złom koszt materiału (Spółka waluty),
+Total Cost,Koszt całkowity,
+Total Cost (Company Currency),Koszt całkowity (waluta firmy),
+Materials Required (Exploded),Materiał Wymaga (Rozdzielony),
+Exploded Items,Przedmioty wybuchowe,
+Show in Website,Pokaż w witrynie,
+Item Image (if not slideshow),Element Obrazek (jeśli nie slideshow),
+Thumbnail,Miniaturka,
+Website Specifications,Specyfikacja strony WWW,
+Show Items,jasnowidze,
+Show Operations,Pokaż Operations,
+Website Description,Opis strony WWW,
+Qty Consumed Per Unit,Ilość skonsumowana na Jednostkę,
+Include Item In Manufacturing,Dołącz przedmiot do produkcji,
+Item operation,Obsługa przedmiotu,
+Rate & Amount,Stawka i kwota,
+Basic Rate (Company Currency),Podstawowy wskaźnik (Waluta Firmy),
+Original Item,Oryginalna pozycja,
+BOM Operation,BOM Operacja,
+Operation Time ,Czas operacji,
+In minutes,W minutach,
+Batch Size,Wielkość partii,
+Base Hour Rate(Company Currency),Baza Hour Rate (Spółka waluty),
+Operating Cost(Company Currency),Koszty operacyjne (Spółka waluty),
+BOM Scrap Item,BOM Złom Item,
+Basic Amount (Company Currency),Kwota podstawowa (Spółka waluty),
+BOM Update Tool,Narzędzie aktualizacji BOM,
+"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.","Zastąp wymień płytę BOM we wszystkich pozostałych zestawieniach, w których jest używany. Zastąpi stary link BOM, aktualizuje koszt i zregeneruje tabelę &quot;BOM Explosion Item&quot; w nowym zestawieniu firm. Uaktualnia także najnowszą cenę we wszystkich materiałach.",
+Replace BOM,Wymień moduł,
+Current BOM,Obecny BOM,
+The BOM which will be replaced,BOM zostanie zastąpiony,
+The new BOM after replacement,Nowy BOM po wymianie,
+Replace,Zamień,
+Update latest price in all BOMs,Zaktualizuj ostatnią cenę we wszystkich biuletynach,
+BOM Website Item,BOM Website Element,
+BOM Website Operation,BOM Operacja WWW,
+Operation Time,Czas operacji,
+PO-JOB.#####,PO-JOB. #####,
+Timing Detail,Szczegóły dotyczące czasu,
+Time Logs,Logi czasu,
+Total Time in Mins,Całkowity czas w minutach,
+Operation ID,Identyfikator operacji,
+Transferred Qty,Przeniesione ilości,
+Job Started,Rozpoczęto pracę,
+Started Time,Rozpoczęty czas,
+Current Time,Obecny czas,
+Job Card Item,Element karty pracy,
+Job Card Time Log,Dziennik czasu pracy karty,
+Time In Mins,Czas w minutach,
+Completed Qty,Ukończona wartość,
+Manufacturing Settings,Ustawienia produkcyjne,
+Raw Materials Consumption,Zużycie surowców,
+Allow Multiple Material Consumption,Zezwalaj na wielokrotne zużycie materiałów,
+Backflush Raw Materials Based On,Płukanie surowce na podstawie,
+Material Transferred for Manufacture,Materiał Przeniesiony do Produkcji,
+Capacity Planning,Planowanie Pojemności,
+Disable Capacity Planning,Wyłącz planowanie wydajności,
+Allow Overtime,Pozwól na Nadgodziny,
+Allow Production on Holidays,Pozwól Produkcja na święta,
+Capacity Planning For (Days),Planowanie Pojemności Dla (dni),
+Default Warehouses for Production,Domyślne magazyny do produkcji,
+Default Work In Progress Warehouse,Domyślnie Work In Progress Warehouse,
+Default Finished Goods Warehouse,Magazyn wyrobów gotowych domyślne,
+Default Scrap Warehouse,Domyślny magazyn złomu,
+Overproduction Percentage For Sales Order,Procent nadprodukcji dla zamówienia sprzedaży,
+Overproduction Percentage For Work Order,Nadwyżka produkcyjna Procent zamówienia na pracę,
+Other Settings,Inne ustawienia,
+Update BOM Cost Automatically,Zaktualizuj automatycznie koszt BOM,
+Material Request Plan Item,Material Request Plan Item,
+Material Request Type,Typ zamówienia produktu,
+Material Issue,Wydanie materiałów,
+Customer Provided,Dostarczony Klient,
+Minimum Order Quantity,Minimalna ilość zamówienia,
+Default Workstation,Domyślne miejsce pracy,
+Production Plan,Plan produkcji,
+MFG-PP-.YYYY.-,MFG-PP-.RRRR.-,
+Get Items From,Pobierz zawartość z,
+Get Sales Orders,Pobierz zamówienia sprzedaży,
+Material Request Detail,Szczegółowy wniosek o materiał,
+Get Material Request,Uzyskaj Materiał Zamówienie,
+Material Requests,materiał Wnioski,
+Get Items For Work Order,Zdobądź przedmioty na zlecenie pracy,
+Material Request Planning,Planowanie zapotrzebowania materiałowego,
+Include Non Stock Items,Uwzględnij pozycje niepubliczne,
+Include Subcontracted Items,Uwzględnij elementy podwykonawstwa,
+Ignore Existing Projected Quantity,Ignoruj istniejącą przewidywaną ilość,
+"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>.","Aby dowiedzieć się więcej o przewidywanej ilości, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">kliknij tutaj</a> .",
+Download Required Materials,Pobierz wymagane materiały,
+Get Raw Materials For Production,Zdobądź surowce do produkcji,
+Total Planned Qty,Całkowita planowana ilość,
+Total Produced Qty,Całkowita ilość wyprodukowanej,
+Material Requested,Żądany materiał,
+Production Plan Item,Przedmiot planu produkcji,
+Make Work Order for Sub Assembly Items,Wykonaj zlecenie pracy dla elementów podzespołu,
+"If enabled, system will create the work order for the exploded items against which BOM is available.","Jeśli ta opcja jest włączona, system utworzy zlecenie pracy dla rozstrzelonych elementów, dla których dostępna jest LM.",
+Planned Start Date,Planowana data rozpoczęcia,
+Quantity and Description,Ilość i opis,
+material_request_item,material_request_item,
+Product Bundle Item,Pakiet produktów Artykuł,
+Production Plan Material Request,Produkcja Plan Materiał Zapytanie,
+Production Plan Sales Order,Zamówienie sprzedaży plany produkcji,
+Sales Order Date,Data Zlecenia,
+Routing Name,Nazwa trasy,
+MFG-WO-.YYYY.-,MFG-WO-.RRRR.-,
+Item To Manufacture,Rzecz do wyprodukowania,
+Material Transferred for Manufacturing,Materiał Przeniesiony do Produkowania,
+Manufactured Qty,Ilość wyprodukowanych,
+Use Multi-Level BOM,Używaj wielopoziomowych zestawień materiałowych,
+Plan material for sub-assemblies,Materiał plan podzespołów,
+Skip Material Transfer to WIP Warehouse,Pomiń transfer materiałów do magazynu WIP,
+Check if material transfer entry is not required,"Sprawdź, czy nie ma konieczności wczytywania materiału",
+Backflush Raw Materials From Work-in-Progress Warehouse,Surowiec do płukania zwrotnego z magazynu w toku,
+Update Consumed Material Cost In Project,Zaktualizuj zużyty koszt materiałowy w projekcie,
+Warehouses,Magazyny,
+This is a location where raw materials are available.,"Jest to miejsce, w którym dostępne są surowce.",
+Work-in-Progress Warehouse,Magazyn z produkcją w toku,
+This is a location where operations are executed.,"Jest to miejsce, w którym wykonywane są operacje.",
+This is a location where final product stored.,"Jest to miejsce, w którym przechowywany jest produkt końcowy.",
+Scrap Warehouse,złom Magazyn,
+This is a location where scraped materials are stored.,"Jest to miejsce, w którym przechowywane są zeskrobane materiały.",
+Required Items,wymagane przedmioty,
+Actual Start Date,Rzeczywista data rozpoczęcia,
+Planned End Date,Planowana data zakończenia,
+Actual End Date,Rzeczywista Data Zakończenia,
+Operation Cost,Koszt operacji,
+Planned Operating Cost,Planowany koszt operacyjny,
+Actual Operating Cost,Rzeczywisty koszt operacyjny,
+Additional Operating Cost,Dodatkowy koszt operacyjny,
+Total Operating Cost,Całkowity koszt operacyjny,
+Manufacture against Material Request,Wytwarzanie przeciwko Materiały Zamówienie,
+Work Order Item,Pozycja zlecenia pracy,
+Available Qty at Source Warehouse,Dostępne ilości w magazynie źródłowym,
+Available Qty at WIP Warehouse,Dostępne ilości w magazynie WIP,
+Work Order Operation,Działanie zlecenia pracy,
+Operation Description,Opis operacji,
+Operation completed for how many finished goods?,Operacja zakończona na jak wiele wyrobów gotowych?,
+Work in Progress,Produkty w toku,
+Estimated Time and Cost,Szacowany czas i koszt,
+Planned Start Time,Planowany czas rozpoczęcia,
+Planned End Time,Planowany czas zakończenia,
+in Minutes,W ciągu kilku minut,
+Actual Time and Cost,Rzeczywisty Czas i Koszt,
+Actual Start Time,Rzeczywisty Czas Rozpoczęcia,
+Actual End Time,Rzeczywisty czas zakończenia,
+Updated via 'Time Log',"Aktualizowana przez ""Czas Zaloguj""",
+Actual Operation Time,Rzeczywisty Czas pracy,
+in Minutes\nUpdated via 'Time Log',"w minutach \n Aktualizacja poprzez ""Czas Zaloguj""",
+(Hour Rate / 60) * Actual Operation Time,(Godzina Kursy / 60) * Rzeczywista Czas pracy,
+Workstation Name,Nazwa stacji roboczej,
+Production Capacity,Moce produkcyjne,
+Operating Costs,Koszty operacyjne,
+Electricity Cost,Koszt energii elekrycznej,
+per hour,na godzinę,
+Consumable Cost,Koszt Konsumpcyjny,
+Rent Cost,Koszt Wynajmu,
+Wages,Zarobki,
+Wages per hour,Zarobki na godzinę,
+Net Hour Rate,Stawka godzinowa Netto,
+Workstation Working Hour,Godziny robocze Stacji Roboczej,
+Certification Application,Aplikacja certyfikacyjna,
+Name of Applicant,Nazwa wnioskodawcy,
+Certification Status,Status certyfikacji,
+Yet to appear,Jeszcze się pojawi,
+Certified,Atestowany,
+Not Certified,Brak certyfikatu,
+USD,USD,
+INR,INR,
+Certified Consultant,Certyfikowany konsultant,
+Name of Consultant,Imię i nazwisko konsultanta,
+Certification Validity,Ważność certyfikacji,
+Discuss ID,Omów ID,
+GitHub ID,Identyfikator GitHub,
+Non Profit Manager,Non Profit Manager,
+Chapter Head,Rozdział Głowy,
+Meetup Embed HTML,Meetup Osadź HTML,
+chapters/chapter_name\nleave blank automatically set after saving chapter.,rozdziały / chapter_name pozostaw puste puste automatycznie ustawione po zapisaniu rozdziału.,
+Chapter Members,Członkowie rozdziału,
+Members,Członkowie,
+Chapter Member,Członek rozdziału,
+Website URL,URL strony WWW,
+Leave Reason,Powód Nieobecności,
+Donor Name,Nazwa dawcy,
+Donor Type,Rodzaj dawcy,
+Withdrawn,Zamknięty w sobie,
+Grant Application Details ,Przyznaj szczegóły aplikacji,
+Grant Description,Opis dotacji,
+Requested Amount,Wnioskowana kwota,
+Has any past Grant Record,Ma jakąkolwiek przeszłość Grant Record,
+Show on Website,Pokaż na stronie internetowej,
+Assessment  Mark (Out of 10),Ocena (na 10),
+Assessment  Manager,Menedżer oceny,
+Email Notification Sent,Wysłane powiadomienie e-mail,
+NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
+Membership Expiry Date,Data wygaśnięcia członkostwa,
+Razorpay Details,Szczegóły Razorpay,
+Subscription ID,Identyfikator subskrypcji,
+Customer ID,Identyfikator klienta,
+Subscription Activated,Subskrypcja aktywowana,
+Subscription Start ,Rozpocznij subskrypcję,
+Subscription End,Koniec subskrypcji,
+Non Profit Member,Członek non profit,
+Membership Status,Status członkostwa,
+Member Since,Członek od,
+Payment ID,Identyfikator płatności,
+Membership Settings,Ustawienia członkostwa,
+Enable RazorPay For Memberships,Włącz RazorPay dla członkostwa,
+RazorPay Settings,Ustawienia RazorPay,
+Billing Cycle,Cykl rozliczeniowy,
+Billing Frequency,Częstotliwość rozliczeń,
+"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.","Liczba cykli rozliczeniowych, za które klient powinien zostać obciążony. Na przykład, jeśli klient kupuje roczne członkostwo, które powinno być rozliczane co miesiąc, ta wartość powinna wynosić 12.",
+Razorpay Plan ID,Identyfikator planu Razorpay,
+Volunteer Name,Nazwisko wolontariusza,
+Volunteer Type,Typ wolontariusza,
+Availability and Skills,Dostępność i umiejętności,
+Availability,Dostępność,
+Weekends,Weekendy,
+Availability Timeslot,Dostępność Timeslot,
+Morning,Ranek,
+Afternoon,Popołudnie,
+Evening,Wieczór,
+Anytime,W każdej chwili,
+Volunteer Skills,Umiejętności ochotnicze,
+Volunteer Skill,Wolontariat,
+Homepage,Strona główna,
+Hero Section Based On,Sekcja bohatera na podstawie,
+Homepage Section,Sekcja strony głównej,
+Hero Section,Sekcja bohatera,
+Tag Line,Slogan reklamowy,
+Company Tagline for website homepage,Slogan reklamowy firmy na głównej stronie,
+Company Description for website homepage,Opis firmy na stronie głównej,
+Homepage Slideshow,Pokaz slajdów na stronie głównej,
+"URL for ""All Products""",URL do wszystkich produktów,
+Products to be shown on website homepage,Produkty przeznaczone do pokazania na głównej stronie,
+Homepage Featured Product,Ciekawa Strona produktu,
+route,trasa,
+Section Based On,Sekcja na podstawie,
+Section Cards,Karty sekcji,
+Number of Columns,Liczba kolumn,
+Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,"Liczba kolumn dla tej sekcji. 3 wiersze zostaną wyświetlone w wierszu, jeśli wybierzesz 3 kolumny.",
+Section HTML,Sekcja HTML,
+Use this field to render any custom HTML in the section.,To pole służy do renderowania dowolnego niestandardowego kodu HTML w sekcji.,
+Section Order,Kolejność sekcji,
+"Order in which sections should appear. 0 is first, 1 is second and so on.","Kolejność, w której sekcje powinny się pojawić. 0 jest pierwsze, 1 jest drugie i tak dalej.",
+Homepage Section Card,Strona główna Karta sekcji,
+Subtitle,Podtytuł,
+Products Settings,produkty Ustawienia,
+Home Page is Products,Strona internetowa firmy jest produktem,
+"If checked, the Home page will be the default Item Group for the website","Jeśli zaznaczone, strona główna będzie Grupa domyślna pozycja na stronie",
+Show Availability Status,Pokaż status dostępności,
+Product Page,Strona produktu,
+Products per Page,Produkty na stronę,
+Enable Field Filters,Włącz filtry pola,
+Item Fields,Pola przedmiotów,
+Enable Attribute Filters,Włącz filtry atrybutów,
+Attributes,Atrybuty,
+Hide Variants,Ukryj warianty,
+Website Attribute,Atrybut strony,
+Attribute,Atrybut,
+Website Filter Field,Pole filtru witryny,
+Activity Cost,Aktywny Koszt,
+Billing Rate,Kursy rozliczeniowe,
+Costing Rate,Wskaźnik zestawienia kosztów,
+title,tytuł,
+Projects User,Użytkownik projektu,
+Default Costing Rate,Domyślnie Costing Cena,
+Default Billing Rate,Domyślnie Cena płatności,
+Dependent Task,Zadanie zależne,
+Project Type,Typ projektu,
+% Complete Method,Kompletna Metoda%,
+Task Completion,zadanie Zakończenie,
+Task Progress,Postęp wykonywania zadania,
+% Completed,% ukończone,
+From Template,Z szablonu,
+Project will be accessible on the website to these users,Projekt będzie dostępny na stronie internetowej dla tych użytkowników,
+Copied From,Skopiowano z,
+Start and End Dates,Daty rozpoczęcia i zakończenia,
+Actual Time in Hours (via Timesheet),Rzeczywisty czas (w godzinach),
+Costing and Billing,Kalkulacja kosztów i fakturowanie,
+Total Costing Amount (via Timesheet),Łączna kwota kosztów (za pośrednictwem kart pracy),
+Total Expense Claim (via Expense Claim),Łączny koszt roszczenie (przez zwrot kosztów),
+Total Purchase Cost (via Purchase Invoice),Całkowity koszt zakupu (faktura zakupu za pośrednictwem),
+Total Sales Amount (via Sales Order),Całkowita kwota sprzedaży (poprzez zamówienie sprzedaży),
+Total Billable Amount (via Timesheet),Całkowita kwota do naliczenia (za pośrednictwem kart pracy),
+Total Billed Amount (via Sales Invoice),Całkowita kwota faktury (za pośrednictwem faktur sprzedaży),
+Total Consumed Material Cost (via Stock Entry),Całkowity koszt materiałów konsumpcyjnych (poprzez wprowadzenie do magazynu),
+Gross Margin,Marża brutto,
+Gross Margin %,Marża brutto %,
+Monitor Progress,Monitorowanie postępu,
+Collect Progress,Zbierz postęp,
+Frequency To Collect Progress,Częstotliwość zbierania postępów,
+Twice Daily,Dwa razy dziennie,
+First Email,Pierwszy e-mail,
+Second Email,Drugi e-mail,
+Time to send,Czas wysłać,
+Day to Send,Dzień na wysłanie,
+Message will be sent to the users to get their status on the Project,Wiadomość zostanie wysłana do użytkowników w celu uzyskania ich statusu w Projekcie,
+Projects Manager,Kierownik Projektów,
+Project Template,Szablon projektu,
+Project Template Task,Zadanie szablonu projektu,
+Begin On (Days),Rozpocznij od (dni),
+Duration (Days),Czas trwania (dni),
+Project Update,Aktualizacja projektu,
+Project User,Użytkownik projektu,
+View attachments,Wyświetl załączniki,
+Projects Settings,Ustawienia projektów,
+Ignore Workstation Time Overlap,Zignoruj nakładanie się czasu w stacji roboczej,
+Ignore User Time Overlap,Zignoruj nakładanie się czasu użytkownika,
+Ignore Employee Time Overlap,Zignoruj nakładanie się czasu pracownika,
+Weight,Waga,
+Parent Task,Zadanie rodzica,
+Timeline,Oś czasu,
+Expected Time (in hours),Oczekiwany czas (w godzinach),
+% Progress,% Postęp,
+Is Milestone,Jest Milestone,
+Task Description,Opis zadania,
+Dependencies,Zależności,
+Dependent Tasks,Zadania zależne,
+Depends on Tasks,Zależy Zadania,
+Actual Start Date (via Timesheet),Faktyczna data rozpoczęcia (przez czas arkuszu),
+Actual Time in Hours (via Timesheet),Rzeczywisty czas (w godzinach),
+Actual End Date (via Timesheet),Faktyczna data zakończenia (przez czas arkuszu),
+Total Expense Claim (via Expense Claim),Razem zwrot kosztów (przez zwrot kosztów),
+Review Date,Data Przeglądu,
+Closing Date,Data zamknięcia,
+Task Depends On,Zadanie zależne od,
+Task Type,Typ zadania,
+TS-.YYYY.-,TS-.YYYY.-,
+Employee Detail,Szczegóły urzędnik,
+Billing Details,Szczegóły płatności,
+Total Billable Hours,Całkowita liczba godzin rozliczanych,
+Total Billed Hours,Wszystkich Zafakturowane Godziny,
+Total Costing Amount,Łączna kwota Costing,
+Total Billable Amount,Całkowita kwota podlegająca rozliczeniom,
+Total Billed Amount,Kwota całkowita Zapowiadane,
+% Amount Billed,% wartości rozliczonej,
+Hrs,godziny,
+Costing Amount,Kwota zestawienia kosztów,
+Corrective/Preventive,Korygujące / zapobiegawcze,
+Corrective,Poprawczy,
+Preventive,Zapobiegawczy,
+Resolution,Rozstrzygnięcie,
+Resolutions,Postanowienia,
+Quality Action Resolution,Rezolucja dotycząca jakości działania,
+Quality Feedback Parameter,Parametr sprzężenia zwrotnego jakości,
+Quality Feedback Template Parameter,Parametr szablonu opinii o jakości,
+Quality Goal,Cel jakości,
+Monitoring Frequency,Monitorowanie częstotliwości,
+Weekday,Dzień powszedni,
+Objectives,Cele,
+Quality Goal Objective,Cel celu jakości,
+Objective,Cel,
+Agenda,Program,
+Minutes,Minuty,
+Quality Meeting Agenda,Agenda spotkania jakości,
+Quality Meeting Minutes,Protokół spotkania jakości,
+Minute,Minuta,
+Parent Procedure,Procedura rodzicielska,
+Processes,Procesy,
+Quality Procedure Process,Proces procedury jakości,
+Process Description,Opis procesu,
+Link existing Quality Procedure.,Połącz istniejącą procedurę jakości.,
+Additional Information,Dodatkowe informacje,
+Quality Review Objective,Cel przeglądu jakości,
+DATEV Settings,Ustawienia DATEV,
+Regional,Regionalny,
+Consultant ID,ID konsultanta,
+GST HSN Code,Kod GST HSN,
+HSN Code,Kod HSN,
+GST Settings,Ustawienia GST,
+GST Summary,Podsumowanie GST,
+GSTIN Email Sent On,Wysłano pocztę GSTIN,
+GST Accounts,Konta GST,
+B2C Limit,Limit B2C,
+Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Ustaw wartość faktury dla B2C. B2CL i B2CS obliczane na podstawie tej wartości faktury.,
+GSTR 3B Report,Raport GSTR 3B,
+January,styczeń,
+February,luty,
+March,Marsz,
+April,kwiecień,
+May,Maj,
+June,czerwiec,
+July,lipiec,
+August,sierpień,
+September,wrzesień,
+October,październik,
+November,listopad,
+December,grudzień,
+JSON Output,Wyjście JSON,
+Invoices with no Place Of Supply,Faktury bez miejsca dostawy,
+Import Supplier Invoice,Importuj fakturę od dostawcy,
+Invoice Series,Seria faktur,
+Upload XML Invoices,Prześlij faktury XML,
+Zip File,Plik zip,
+Import Invoices,Importuj faktury,
+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.,Kliknij przycisk Importuj faktury po dołączeniu pliku zip do dokumentu. Wszelkie błędy związane z przetwarzaniem zostaną wyświetlone w dzienniku błędów.,
+Lower Deduction Certificate,Certyfikat niższego potrącenia,
+Certificate Details,Szczegóły certyfikatu,
+194A,194A,
+194C,194C,
+194D,194D,
+194H,194H,
+194I,194I,
+194J,194J,
+194LA,194LA,
+194LBB,194LBB,
+194LBC,194LBC,
+Certificate No,Certyfikat nr,
+Deductee Details,Szczegóły dotyczące odliczonego,
+PAN No,Nr PAN,
+Validity Details,Szczegóły dotyczące ważności,
+Rate Of TDS As Per Certificate,Stawka TDS zgodnie z certyfikatem,
+Certificate Limit,Limit certyfikatu,
+Invoice Series Prefix,Prefiks serii faktur,
+Active Menu,Aktywne menu,
+Restaurant Menu,Menu restauracji,
+Price List (Auto created),Cennik (utworzony automatycznie),
+Restaurant Manager,Menadżer restauracji,
+Restaurant Menu Item,Menu restauracji,
+Restaurant Order Entry,Wprowadzanie do restauracji,
+Restaurant Table,Stolik Restauracyjny,
+Click Enter To Add,Kliknij Enter To Add,
+Last Sales Invoice,Ostatnia sprzedaż faktury,
+Current Order,Aktualne zamówienie,
+Restaurant Order Entry Item,Restauracja Order Entry Pozycja,
+Served,Serwowane,
+Restaurant Reservation,Rezerwacja restauracji,
+Waitlisted,Na liście Oczekujących,
+No Show,Brak pokazu,
+No of People,Liczba osób,
+Reservation Time,Czas rezerwacji,
+Reservation End Time,Rezerwacja Koniec czasu,
+No of Seats,Liczba miejsc,
+Minimum Seating,Minimalne miejsce siedzące,
+"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Śledź kampanię sprzedażową. Śledź Tropy, Wyceny, Zamówienia Sprzedaży etc. z kampanii by zmierzyć zwrot z inwestycji.",
+SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
+Campaign Schedules,Harmonogramy kampanii,
+Buyer of Goods and Services.,Nabywca Towarów i Usług.,
+CUST-.YYYY.-,CUST-.YYYY.-.-,
+Default Company Bank Account,Domyślne firmowe konto bankowe,
+From Lead,Od śladu,
+Account Manager,Menadżer konta,
+Allow Sales Invoice Creation Without Sales Order,Zezwalaj na tworzenie faktur sprzedaży bez zamówienia sprzedaży,
+Allow Sales Invoice Creation Without Delivery Note,Zezwalaj na tworzenie faktur sprzedaży bez potwierdzenia dostawy,
+Default Price List,Domyślny cennik,
+Primary Address and Contact Detail,Główny adres i dane kontaktowe,
+"Select, to make the customer searchable with these fields","Wybierz, aby klient mógł wyszukać za pomocą tych pól",
+Customer Primary Contact,Kontakt główny klienta,
+"Reselect, if the chosen contact is edited after save","Ponownie wybierz, jeśli wybrany kontakt jest edytowany po zapisaniu",
+Customer Primary Address,Główny adres klienta,
+"Reselect, if the chosen address is edited after save","Ponownie wybierz, jeśli wybrany adres jest edytowany po zapisaniu",
+Primary Address,adres główny,
+Mention if non-standard receivable account,"Wskazać, jeśli niestandardowe konto należności",
+Credit Limit and Payment Terms,Limit kredytowy i warunki płatności,
+Additional information regarding the customer.,Dodatkowe informacje na temat klienta.,
+Sales Partner and Commission,Partner sprzedaży i Prowizja,
+Commission Rate,Wartość prowizji,
+Sales Team Details,Szczegóły dotyczące Teamu Sprzedażowego,
+Customer POS id,Identyfikator punktu sprzedaży klienta,
+Customer Credit Limit,Limit kredytu klienta,
+Bypass Credit Limit Check at Sales Order,Pomiń limit kredytowy w zleceniu klienta,
+Industry Type,Typ Przedsiębiorstwa,
+MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
+Installation Date,Data instalacji,
+Installation Time,Czas instalacji,
+Installed Qty,Liczba instalacji,
+Period Start Date,Data rozpoczęcia okresu,
+Period End Date,Data zakończenia okresu,
+Cashier,Kasjer,
+Difference,Różnica,
+Modes of Payment,Tryby płatności,
+Linked Invoices,Powiązane faktury,
+POS Closing Voucher Details,Szczegóły kuponu zamykającego POS,
+Collected Amount,Zebrana kwota,
+Expected Amount,Oczekiwana kwota,
+POS Closing Voucher Invoices,Faktury z zamknięciem kuponu,
+Quantity of Items,Ilość przedmiotów,
+"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","Łączna grupa przedmioty ** ** ** Przedmiot do innego **. Jest to przydatne, jeśli łączenie pewnej ** przedmioty ** w pakiet i utrzymania zapasów pakowanych ** rzeczy ** a nie sumę ** rzecz **. Pakiet ** Pozycja ** będzie miał ""Czy Pozycja Zdjęcie"", jak ""Nie"" i ""Czy Sales Item"", jak ""Tak"". Dla przykładu: Jeśli sprzedajesz Laptopy i plecaki oddzielnie i mają specjalną cenę, jeśli klient kupuje oba, a następnie Laptop + Plecak będzie nowy Bundle wyrobów poz. Uwaga: ZM = Zestawienie Materiałów",
+Parent Item,Element nadrzędny,
+List items that form the package.,Lista elementów w pakiecie,
+SAL-QTN-.YYYY.-,SAL-QTN-.RRRR.-,
+Quotation To,Wycena dla,
+Rate at which customer's currency is converted to company's base currency,Stawka przy użyciu której Waluta Klienta jest konwertowana do podstawowej waluty firmy,
+Rate at which Price list currency is converted to company's base currency,Stawka przy użyciu której waluta Listy Cen jest konwertowana do podstawowej waluty firmy,
+Additional Discount and Coupon Code,Dodatkowy kod rabatowy i kuponowy,
+Referral Sales Partner,Polecony partner handlowy,
+Term Details,Szczegóły warunków,
+Quotation Item,Przedmiot oferty,
+Additional Notes,Dodatkowe uwagi,
+SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
+Skip Delivery Note,Pomiń dowód dostawy,
+In Words will be visible once you save the Sales Order.,"Słownie, będzie widoczne w Zamówieniu Sprzedaży, po zapisaniu",
+Track this Sales Order against any Project,Śledź zamówienie sprzedaży w każdym projekcie,
+Billing and Delivery Status,Fakturowanie i status dostawy,
+Not Delivered,Nie dostarczony,
+Fully Delivered,Całkowicie dostarczono,
+Partly Delivered,Częściowo Dostarczono,
+Not Applicable,Nie dotyczy,
+%  Delivered,% dostarczono,
+% of materials delivered against this Sales Order,% materiałów dostarczonych w ramach zlecenia sprzedaży,
+% of materials billed against this Sales Order,% materiałów rozliczonych w ramach tego zlecenia sprzedaży,
+Not Billed,Nie zaksięgowany,
+Fully Billed,Całkowicie Rozliczone,
+Partly Billed,Częściowo Zapłacono,
+Ensure Delivery Based on Produced Serial No,Zapewnij dostawę na podstawie wyprodukowanego numeru seryjnego,
+Supplier delivers to Customer,Dostawca dostarcza Klientowi,
+Delivery Warehouse,Magazyn Dostawa,
+Planned Quantity,Planowana ilość,
+For Production,Dla Produkcji,
+Work Order Qty,Ilość zlecenia pracy,
+Produced Quantity,Wyprodukowana ilość,
+Used for Production Plan,Używane do Planu Produkcji,
+Sales Partner Type,Typ partnera handlowego,
+Contact No.,Numer Kontaktu,
+Contribution (%),Udział (%),
+Selling Settings,Ustawienia sprzedaży,
+Settings for Selling Module,Ustawienia modułu sprzedaży,
+Campaign Naming By,Konwencja nazewnictwa Kampanii przez,
+Default Customer Group,Domyślna grupa klientów,
+Default Territory,Domyślne terytorium,
+Close Opportunity After Days,Po blisko Szansa Dni,
+Default Quotation Validity Days,Domyślna ważność oferty,
+Sales Update Frequency,Częstotliwość aktualizacji sprzedaży,
+Each Transaction,Każda transakcja,
+SMS Center,Centrum SMS,
+Send To,Wyślij do,
+All Contact,Wszystkie dane Kontaktu,
+All Customer Contact,Wszystkie dane kontaktowe klienta,
+All Supplier Contact,Dane wszystkich dostawców,
+All Sales Partner Contact,Wszystkie dane kontaktowe Partnera Sprzedaży,
+All Lead (Open),Wszystkie Leady (Otwarte),
+All Employee (Active),Wszyscy pracownicy (aktywni),
+All Sales Person,Wszyscy Sprzedawcy,
+Create Receiver List,Stwórz listę odbiorców,
+Receiver List,Lista odbiorców,
+Messages greater than 160 characters will be split into multiple messages,Wiadomości dłuższe niż 160 znaków zostaną podzielone na kilka wiadomości,
+Total Characters,Wszystkich Postacie,
+Total Message(s),Razem ilość wiadomości,
+Authorization Control,Kontrola Autoryzacji,
+Authorization Rule,Reguła autoryzacji,
+Average Discount,Średni Rabat,
+Customerwise Discount,Zniżka dla klienta,
+Itemwise Discount,Pozycja Rabat automatyczny,
+Customer or Item,Klient lub przedmiotu,
+Customer / Item Name,Klient / Nazwa Przedmiotu,
+Authorized Value,Autoryzowany Wartość,
+Applicable To (Role),Stosowne dla (Rola),
+Applicable To (Employee),Stosowne dla (Pracownik),
+Applicable To (User),Stosowne dla (Użytkownik),
+Applicable To (Designation),Stosowne dla (Nominacja),
+Approving Role (above authorized value),Zatwierdzanie rolę (powyżej dopuszczonego wartości),
+Approving User  (above authorized value),Zatwierdzanie autoryzowanego użytkownika (powyżej wartości),
+Brand Defaults,Domyślne marki,
+Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Osobowość prawna / Filia w oddzielny planu kont należących do Organizacji.,
+Change Abbreviation,Zmień Skrót,
+Parent Company,Przedsiębiorstwo macierzyste,
+Default Values,Domyślne wartości,
+Default Holiday List,Domyślna lista urlopowa,
+Default Selling Terms,Domyślne warunki sprzedaży,
+Default Buying Terms,Domyślne warunki zakupu,
+Create Chart Of Accounts Based On,Tworzenie planu kont w oparciu o,
+Standard Template,Szablon Standardowy,
+Existing Company,Istniejąca firma,
+Chart Of Accounts Template,Szablon planu kont,
+Existing Company ,istniejące firmy,
+Date of Establishment,Data założenia,
+Sales Settings,Ustawienia sprzedaży,
+Monthly Sales Target,Miesięczny cel sprzedaży,
+Sales Monthly History,Historia miesięczna sprzedaży,
+Transactions Annual History,Historia transakcji,
+Total Monthly Sales,Łączna miesięczna sprzedaż,
+Default Cash Account,Domyślne Konto Gotówkowe,
+Default Receivable Account,Domyślnie konto Rozrachunki z odbiorcami,
+Round Off Cost Center,Zaokrąglenia - Centrum Kosztów,
+Discount Allowed Account,Konto Dozwolone,
+Discount Received Account,Konto otrzymane z rabatem,
+Exchange Gain / Loss Account,Wymiana Zysk / strat,
+Unrealized Exchange Gain/Loss Account,Niezrealizowane konto zysku / straty z wymiany,
+Allow Account Creation Against Child Company,Zezwól na tworzenie konta przeciwko firmie podrzędnej,
+Default Payable Account,Domyślne konto Rozrachunki z dostawcami,
+Default Employee Advance Account,Domyślne konto Advance pracownika,
+Default Cost of Goods Sold Account,Domyślne Konto Wartości Dóbr Sprzedanych,
+Default Income Account,Domyślne konto przychodów,
+Default Deferred Revenue Account,Domyślne konto odroczonego przychodu,
+Default Deferred Expense Account,Domyślne konto odroczonego kosztu,
+Default Payroll Payable Account,Domyślny Płace Płatne konta,
+Default Expense Claim Payable Account,Rachunek wymagalny zapłaty domyślnego kosztu,
+Stock Settings,Ustawienia magazynu,
+Enable Perpetual Inventory,Włącz wieczne zapasy,
+Default Inventory Account,Domyślne konto zasobów reklamowych,
+Stock Adjustment Account,Konto korekty,
+Fixed Asset Depreciation Settings,Ustawienia Amortyzacja środka trwałego,
+Series for Asset Depreciation Entry (Journal Entry),Seria dla pozycji amortyzacji aktywów (wpis w czasopiśmie),
+Gain/Loss Account on Asset Disposal,Konto Zysk / Strata na Aktywów pozbywaniu,
+Asset Depreciation Cost Center,Zaleta Centrum Amortyzacja kosztów,
+Budget Detail,Szczegóły Budżetu,
+Exception Budget Approver Role,Rola zatwierdzającego wyjątku dla budżetu,
+Company Info,Informacje o firmie,
+For reference only.,Wyłącznie w celach informacyjnych.,
+Company Logo,Logo firmy,
+Date of Incorporation,Data przyłączenia,
+Date of Commencement,Data rozpoczęcia,
+Phone No,Nr telefonu,
+Company Description,Opis Firmy,
+Registration Details,Szczegóły Rejestracji,
+Delete Company Transactions,Usuń Transakcje Spółki,
+Currency Exchange,Wymiana Walut,
+Specify Exchange Rate to convert one currency into another,Określ Kursy walut konwersji jednej waluty w drugą,
+From Currency,Od Waluty,
+To Currency,Do przewalutowania,
+For Buying,Do kupienia,
+For Selling,Do sprzedania,
+Customer Group Name,Nazwa Grupy Klientów,
+Parent Customer Group,Nadrzędna Grupa Klientów,
+Mention if non-standard receivable account applicable,"Wspomnieć, jeśli nie standardowe konto należności dotyczy",
+Credit Limits,Limity kredytowe,
+Email Digest,przetwarzanie emaila,
+Send regular summary reports via Email.,Wyślij regularne raporty podsumowujące poprzez e-mail.,
+Email Digest Settings,ustawienia przetwarzania maila,
+How frequently?,Jak często?,
+Next email will be sent on:,Kolejny e-mali zostanie wysłany w dniu:,
+Note: Email will not be sent to disabled users,Uwaga: E-mail nie zostanie wysłany do nieaktywnych użytkowników,
+Profit & Loss,Rachunek zysków i strat,
+New Income,Nowy dochodowy,
+New Expenses,Nowe wydatki,
+Annual Income,Roczny dochód,
+Annual Expenses,roczne koszty,
+Bank Balance,Saldo bankowe,
+Bank Credit Balance,Saldo kredytu bankowego,
+Receivables,Należności,
+Payables,Zobowiązania,
+Sales Orders to Bill,Zlecenia sprzedaży do rachunku,
+Purchase Orders to Bill,Zamówienia zakupu do rachunku,
+Sales Orders to Deliver,Zlecenia sprzedaży do realizacji,
+Purchase Orders to Receive,Zamówienia zakupu do odbioru,
+New Purchase Invoice,Nowa faktura zakupu,
+New Quotations,Nowa oferta,
+Open Quotations,Otwarte oferty,
+Open Issues,Otwarte kwestie,
+Open Projects,Otwarte projekty,
+Purchase Orders Items Overdue,Przedmioty zamówienia przeterminowane,
+Upcoming Calendar Events,Nadchodzące wydarzenia w kalendarzu,
+Open To Do,Otwórz do zrobienia,
+Add Quote,Dodaj Cytat,
+Global Defaults,Globalne wartości domyślne,
+Default Company,Domyślna Firma,
+Current Fiscal Year,Obecny rok fiskalny,
+Default Distance Unit,Domyślna jednostka odległości,
+Hide Currency Symbol,Ukryj symbol walutowy,
+Do not show any symbol like $ etc next to currencies.,"Nie pokazuj żadnych symboli przy walutach, takich jak $",
+"If disable, 'Rounded Total' field will not be visible in any transaction","Jeśli wyłączone, pozycja 'Końcowa zaokrąglona suma' nie będzie widoczna w żadnej transakcji",
+Disable In Words,Wyłącz w słowach,
+"If disable, 'In Words' field will not be visible in any transaction",Jeśli wyłączyć &quot;w słowach&quot; pole nie będzie widoczne w każdej transakcji,
+Item Classification,Pozycja Klasyfikacja,
+General Settings,Ustawienia ogólne,
+Item Group Name,Element Nazwa grupy,
+Parent Item Group,Grupa Elementu nadrzędnego,
+Item Group Defaults,Domyślne grupy artykułów,
+Item Tax,Podatek dla tej pozycji,
+Check this if you want to show in website,Zaznacz czy chcesz uwidocznić to na stronie WWW,
+Show this slideshow at the top of the page,Pokaż slideshow na górze strony,
+HTML / Banner that will show on the top of product list.,"HTML / Banner, który pokaże się na górze listy produktów.",
+Set prefix for numbering series on your transactions,Ustaw prefiks dla numeracji serii na swoich transakcji,
+Setup Series,Konfigurowanie serii,
+Select Transaction,Wybierz Transakcję,
+Help HTML,Pomoc HTML,
+Series List for this Transaction,Lista serii dla tej transakcji,
+User must always select,Użytkownik musi zawsze zaznaczyć,
+Update Series,Zaktualizuj Serię,
+Change the starting / current sequence number of an existing series.,Zmień początkowy / obecny numer seryjny istniejącej serii.,
+Prefix,Prefiks,
+Current Value,Bieżąca Wartość,
+This is the number of the last created transaction with this prefix,Jest to numer ostatniej transakcji utworzonego z tym prefiksem,
+Update Series Number,Zaktualizuj Numer Serii,
+Quotation Lost Reason,Utracony Powód Wyceny,
+A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,"Dystrybutor strona trzecia / handlowiec / prowizji agenta / partner / sprzedawcę, który sprzedaje produkty firm z tytułu prowizji.",
+Sales Partner Name,Imię Partnera Sprzedaży,
+Partner Type,Typ Partnera,
+Address & Contacts,Adresy i kontakty,
+Address Desc,Opis adresu,
+Contact Desc,Opis kontaktu,
+Sales Partner Target,Cel Partnera Sprzedaży,
+Targets,Cele,
+Show In Website,Pokaż na stronie internetowej,
+Referral Code,kod polecającego,
+To Track inbound purchase,Aby śledzić zakupy przychodzące,
+Logo,Logo,
+Partner website,Strona partnera,
+All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,"Wszystkie transakcje sprzedaży mogą być oznaczone przed wieloma ** Osoby sprzedaży **, dzięki czemu można ustawić i monitorować cele.",
+Name and Employee ID,Imię i Identyfikator Pracownika,
+Sales Person Name,Imię Sprzedawcy,
+Parent Sales Person,Nadrzędny Przedstawiciel Handlowy,
+Select company name first.,Wybierz najpierw nazwę firmy,
+Sales Person Targets,Cele Sprzedawcy,
+Supplier Group Name,Nazwa grupy dostawcy,
+Parent Supplier Group,Rodzicielska grupa dostawców,
+Target Detail,Szczegóły celu,
+Target Qty,Ilość docelowa,
+Target  Amount,Kwota docelowa,
+Target Distribution,Dystrybucja docelowa,
+"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.","Standardowe Zasady i warunki, które mogą być dodawane do sprzedaży i zakupów.\n\n Przykłady: \n\n 1. Ważność oferty.\n 1. Warunki płatności (z góry, na kredyt, część zaliczki itp).\n 1. Co to jest ekstra (lub płatne przez Klienta).\n 1. Bezpieczeństwo / ostrzeżenie wykorzystanie.\n 1. Gwarancja jeśli w ogóle.\n 1. Zwraca Polityka.\n 1. Warunki wysyłki, jeśli dotyczy.\n 1. Sposobów rozwiązywania sporów, odszkodowania, odpowiedzialność itp \n 1. Adres i kontakt z Twojej firmy.",
+Applicable Modules,Odpowiednie moduły,
+Terms and Conditions Help,Warunki Pomoc,
+Classification of Customers by region,Klasyfikacja Klientów od regionu,
+Territory Name,Nazwa Regionu,
+Parent Territory,Nadrzędne terytorium,
+Territory Manager,Kierownik Regionalny,
+For reference,Dla referencji,
+Territory Targets,Cele Regionalne,
+UOM Name,Nazwa Jednostki Miary,
+Check this to disallow fractions. (for Nos),Zaznacz to by zakazać ułamków (dla liczby jednostek),
+Website Item Group,Grupa przedmiotów strony WWW,
+Cross Listing of Item in multiple groups,Krzyż Notowania pozycji w wielu grupach,
+Default settings for Shopping Cart,Domyślne ustawienia koszyku,
+Enable Shopping Cart,Włącz Koszyk,
+Show Public Attachments,Pokaż załączniki publiczne,
+Show Price,Pokaż cenę,
+Show Stock Availability,Pokaż dostępność zapasów,
+Show Contact Us Button,Pokaż przycisk Skontaktuj się z nami,
+Show Stock Quantity,Pokaż ilość zapasów,
+Show Apply Coupon Code,Pokaż zastosuj kod kuponu,
+Allow items not in stock to be added to cart,Zezwól na dodanie produktów niedostępnych w magazynie do koszyka,
+Prices will not be shown if Price List is not set,"Ceny nie będą wyświetlane, jeśli Cennik nie jest ustawiony",
+Quotation Series,Serie Wyeceny,
+Checkout Settings,Zamówienie Ustawienia,
+Enable Checkout,Włącz kasę,
+Payment Success Url,Płatność Sukces URL,
+After payment completion redirect user to selected page.,Po dokonaniu płatności przekierować użytkownika do wybranej strony.,
+Batch Details,Szczegóły partii,
+Batch ID,Identyfikator Partii,
+image,wizerunek,
+Parent Batch,Nadrzędna partia,
+Manufacturing Date,Data produkcji,
+Batch Quantity,Ilość partii,
+Batch UOM,UOM partii,
+Source Document Type,Typ dokumentu źródłowego,
+Source Document Name,Nazwa dokumentu źródłowego,
+Batch Description,Opis partii,
+Bin,Kosz,
+Reserved Quantity,Zarezerwowana ilość,
+Actual Quantity,Rzeczywista Ilość,
+Requested Quantity,Oczekiwana ilość,
+Reserved Qty for sub contract,Zarezerwowana ilość na podwykonawstwo,
+Moving Average Rate,Cena Średnia Ruchoma,
+FCFS Rate,Pierwsza rata,
+Customs Tariff Number,Numer taryfy celnej,
+Tariff Number,Numer taryfy,
+Delivery To,Dostawa do,
+MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
+Is Return,Czy Wróć,
+Issue Credit Note,Problem Uwaga kredytowa,
+Return Against Delivery Note,Powrót Przeciwko dostawy nocie,
+Customer's Purchase Order No,Numer Zamówienia Zakupu Klienta,
+Billing Address Name,Nazwa Adresu do Faktury,
+"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Jeśli utworzono standardowy szablon w podatku od sprzedaży i Prowizji szablonu, wybierz jedną i kliknij na przycisk poniżej.",
+Transporter Info,Informacje dotyczące przewoźnika,
+Driver Name,Imię kierowcy,
+Track this Delivery Note against any Project,Śledź potwierdzenie dostawy w każdym projekcie,
+Inter Company Reference,Referencje między firmami,
+Print Without Amount,Drukuj bez wartości,
+% Installed,% Zainstalowanych,
+% of materials delivered against this Delivery Note,% materiałów dostarczonych w stosunku do dowodu dostawy,
+Installation Status,Status instalacji,
+Excise Page Number,Akcyza numeru strony,
+Instructions,Instrukcje,
+From Warehouse,Z magazynu,
+Against Sales Order,Na podstawie zamówienia sprzedaży,
+Against Sales Order Item,Na podstawie pozycji zamówienia sprzedaży,
+Against Sales Invoice,Na podstawie faktury sprzedaży,
+Against Sales Invoice Item,Na podstawie pozycji faktury sprzedaży,
+Available Batch Qty at From Warehouse,Ilosc w serii dostępne z magazynu,
+Available Qty at From Warehouse,Dostępne szt co z magazynu,
+Delivery Settings,Ustawienia dostawy,
+Dispatch Settings,Ustawienia wysyłki,
+Dispatch Notification Template,Szablon powiadomienia o wysyłce,
+Dispatch Notification Attachment,Powiadomienie o wysyłce,
+Leave blank to use the standard Delivery Note format,"Pozostaw puste, aby używać standardowego formatu dokumentu dostawy",
+Send with Attachment,Wyślij z załącznikiem,
+Delay between Delivery Stops,Opóźnienie między przerwami w dostawie,
+Delivery Stop,Przystanek dostawy,
+Lock,Zamek,
+Visited,Odwiedzony,
+Order Information,Szczegóły zamówienia,
+Contact Information,Informacje kontaktowe,
+Email sent to,Email wysłany do,
+Dispatch Information,Informacje o wysyłce,
+Estimated Arrival,Szacowany przyjazd,
+MAT-DT-.YYYY.-,MAT-DT-.RRRR.-,
+Initial Email Notification Sent,Wstępne powiadomienie e-mail wysłane,
+Delivery Details,Szczegóły dostawy,
+Driver Email,Adres e-mail kierowcy,
+Driver Address,Adres kierowcy,
+Total Estimated Distance,Łączna przewidywana odległość,
+Distance UOM,Odległość UOM,
+Departure Time,Godzina odjazdu,
+Delivery Stops,Przerwy w dostawie,
+Calculate Estimated Arrival Times,Oblicz szacowany czas przyjazdu,
+Use Google Maps Direction API to calculate estimated arrival times,"Użyj interfejsu API Google Maps Direction, aby obliczyć szacowany czas przybycia",
+Optimize Route,Zoptymalizuj trasę,
+Use Google Maps Direction API to optimize route,"Użyj Google Maps Direction API, aby zoptymalizować trasę",
+In Transit,W tranzycie,
+Fulfillment User,Użytkownik spełniający wymagania,
+"A Product or a Service that is bought, sold or kept in stock.","Produkt lub usługa, która jest kupiona, sprzedana lub przechowywana w magazynie.",
+STO-ITEM-.YYYY.-,STO-ITEM-.RRRR.-,
+Variant Of,Wariant,
+"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Jeśli pozycja jest wariant innego elementu, a następnie opis, zdjęcia, ceny, podatki itp zostanie ustalony z szablonu, o ile nie określono wyraźnie",
+Is Item from Hub,Jest Przedmiot z Hubu,
+Default Unit of Measure,Domyślna jednostka miary,
+Maintain Stock,Utrzymanie Zapasów,
+Standard Selling Rate,Standardowy kurs sprzedaży,
+Auto Create Assets on Purchase,Automatycznie twórz zasoby przy zakupie,
+Asset Naming Series,Asset Naming Series,
+Over Delivery/Receipt Allowance (%),Over Delivery / Receipt Allowance (%),
+Barcodes,Kody kreskowe,
+Shelf Life In Days,Okres przydatności do spożycia w dniach,
+End of Life,Zakończenie okresu eksploatacji,
+Default Material Request Type,Domyślnie Materiał Typ żądania,
+Valuation Method,Metoda wyceny,
+FIFO,FIFO,
+Moving Average,Średnia Ruchoma,
+Warranty Period (in days),Okres gwarancji (w dniach),
+Auto re-order,Automatyczne ponowne zamówienie,
+Reorder level based on Warehouse,Zmiana kolejności w oparciu o poziom Magazynu,
+Will also apply for variants unless overrridden,"Również zostanie zastosowany do wariantów, chyba że zostanie nadpisany",
+Units of Measure,Jednostki miary,
+Will also apply for variants,Również zastosowanie do wariantów,
+Serial Nos and Batches,Numery seryjne i partie,
+Has Batch No,Posada numer partii (batch),
+Automatically Create New Batch,Automatyczne tworzenie nowych partii,
+Batch Number Series,Seria numerów partii,
+"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.","Przykład: ABCD. #####. Jeśli seria jest ustawiona, a numer partii nie jest wymieniony w transakcjach, na podstawie tej serii zostanie utworzony automatyczny numer partii. Jeśli zawsze chcesz wyraźnie podać numer partii dla tego produktu, pozostaw to pole puste. Uwaga: to ustawienie ma pierwszeństwo przed prefiksem serii nazw w Ustawieniach fotografii.",
+Has Expiry Date,Ma datę wygaśnięcia,
+Retain Sample,Zachowaj próbkę,
+Max Sample Quantity,Maksymalna ilość próbki,
+Maximum sample quantity that can be retained,"Maksymalna ilość próbki, którą można zatrzymać",
+Has Serial No,Posiada numer seryjny,
+Serial Number Series,Seria nr seryjnego,
+"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.","Przykład:. ABCD ##### \n Jeśli seria jest ustawiona i nr seryjny nie jest wymieniony w transakcjach, automatyczny numer seryjny zostanie utworzony na podstawie tej serii. Jeśli chcesz zawsze jednoznacznie ustawiać numery seryjne dla tej pozycji, pozostaw to pole puste.",
+Variants,Warianty,
+Has Variants,Ma Warianty,
+"If this item has variants, then it cannot be selected in sales orders etc.","Jeśli ten element ma warianty, to nie może być wybrany w zleceniach sprzedaży itp",
+Variant Based On,Wariant na podstawie,
+Item Attribute,Atrybut elementu,
+"Sales, Purchase, Accounting Defaults","Sprzedaż, zakup, domyślne ustawienia rachunkowości",
+Item Defaults,Domyślne elementy,
+"Purchase, Replenishment Details","Zakup, szczegóły uzupełnienia",
+Is Purchase Item,Jest pozycją kupowalną,
+Default Purchase Unit of Measure,Domyślna jednostka miary zakupów,
+Minimum Order Qty,Minimalna wartość zamówienia,
+Minimum quantity should be as per Stock UOM,Minimalna ilość powinna być zgodna z magazynową jednostką organizacyjną,
+Average time taken by the supplier to deliver,Średni czas podjęte przez dostawcę do dostarczenia,
+Is Customer Provided Item,Jest przedmiotem dostarczonym przez klienta,
+Delivered by Supplier (Drop Ship),Dostarczane przez Dostawcę (Drop Ship),
+Supplier Items,Dostawca przedmioty,
+Foreign Trade Details,Handlu Zagranicznego Szczegóły,
+Country of Origin,Kraj pochodzenia,
+Sales Details,Szczegóły sprzedaży,
+Default Sales Unit of Measure,Domyślna jednostka sprzedaży środka,
+Is Sales Item,Jest pozycją sprzedawalną,
+Max Discount (%),Maksymalny rabat (%),
+No of Months,Liczba miesięcy,
+Customer Items,Pozycje klientów,
+Inspection Criteria,Kryteria kontrolne,
+Inspection Required before Purchase,Wymagane Kontrola przed zakupem,
+Inspection Required before Delivery,Wymagane Kontrola przed dostawą,
+Default BOM,Domyślne Zestawienie Materiałów,
+Supply Raw Materials for Purchase,Dostawa surowce Skupu,
+If subcontracted to a vendor,Jeśli zlecona dostawcy,
+Customer Code,Kod Klienta,
+Default Item Manufacturer,Domyślny producent pozycji,
+Default Manufacturer Part No,Domyślny numer części producenta,
+Show in Website (Variant),Pokaż w Serwisie (Variant),
+Items with higher weightage will be shown higher,Produkty z wyższym weightage zostaną pokazane wyższe,
+Show a slideshow at the top of the page,Pokazuj slideshow na górze strony,
+Website Image,Obraz strony internetowej,
+Website Warehouse,Magazyn strony WWW,
+"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Pokazuj ""W magazynie"" lub ""Brak w magazynie"" bazując na ilości dostępnej w tym magazynie.",
+Website Item Groups,Grupy przedmiotów strony WWW,
+List this Item in multiple groups on the website.,Pokaż ten produkt w wielu grupach na stronie internetowej.,
+Copy From Item Group,Skopiuj z Grupy Przedmiotów,
+Website Content,Zawartość strony internetowej,
+You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Możesz użyć dowolnego poprawnego znacznika Bootstrap 4 w tym polu. Zostanie on wyświetlony na Twojej stronie przedmiotu.,
+Total Projected Qty,Łącznej prognozowanej szt,
+Hub Publishing Details,Szczegóły publikacji wydawnictwa Hub,
+Publish in Hub,Publikowanie w Hub,
+Publish Item to hub.erpnext.com,Publikacja na hub.erpnext.com,
+Hub Category to Publish,Kategoria ośrodka do opublikowania,
+Hub Warehouse,Magazyn Hub,
+"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",Opublikuj &quot;W magazynie&quot; lub &quot;Nie w magazynie&quot; w Hub na podstawie zapasów dostępnych w tym magazynie.,
+Synced With Hub,Synchronizowane z Hub,
+Item Alternative,Pozycja alternatywna,
+Alternative Item Code,Alternatywny kod towaru,
+Two-way,Dwukierunkowy,
+Alternative Item Name,Alternatywna nazwa przedmiotu,
+Attribute Name,Nazwa atrybutu,
+Numeric Values,Wartości liczbowe,
+From Range,Od zakresu,
+Increment,Przyrost,
+To Range,Do osiągnięcia,
+Item Attribute Values,Wartości atrybutu elementu,
+Item Attribute Value,Pozycja wartość atrybutu,
+Attribute Value,Wartość atrybutu,
+Abbreviation,Skrót,
+"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""","To będzie dołączany do Kodeksu poz wariantu. Na przykład, jeśli skrót to ""SM"", a kod element jest ""T-SHIRT"" Kod poz wariantu będzie ""T-SHIRT-SM""",
+Item Barcode,Kod kreskowy,
+Barcode Type,Typ kodu kreskowego,
+EAN,EAN,
+UPC-A,UPC-A,
+Item Customer Detail,Element Szczegóły klienta,
+"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Dla wygody klientów, te kody mogą być użyte w formacie drukowania jak faktury czy dowody dostawy",
+Ref Code,Ref kod,
+Item Default,Domyślny produkt,
+Purchase Defaults,Zakup domyślne,
+Default Buying Cost Center,Domyślne Centrum Kosztów Kupowania,
+Default Supplier,Domyślny dostawca,
+Default Expense Account,Domyślne konto rozchodów,
+Sales Defaults,Domyślne wartości sprzedaży,
+Default Selling Cost Center,Domyślne centrum kosztów sprzedaży,
+Item Manufacturer,pozycja Producent,
+Item Price,Cena,
+Packing Unit,Jednostka pakująca,
+Quantity  that must be bought or sold per UOM,"Ilość, która musi zostać kupiona lub sprzedana za MOM",
+Item Quality Inspection Parameter,Element Parametr Inspekcja Jakości,
+Acceptance Criteria,Kryteria akceptacji,
+Item Reorder,Element Zamów ponownie,
+Check in (group),Przyjazd (grupa),
+Request for,Wniosek o,
+Re-order Level,Próg ponowienia zamówienia,
+Re-order Qty,Ilość w ponowieniu zamówienia,
+Item Supplier,Dostawca,
+Item Variant,Pozycja Wersja,
+Item Variant Attribute,Pozycja Wersja Atrybut,
+Do not update variants on save,Nie aktualizuj wariantów przy zapisie,
+Fields will be copied over only at time of creation.,Pola będą kopiowane tylko w momencie tworzenia.,
+Allow Rename Attribute Value,Zezwalaj na zmianę nazwy wartości atrybutu,
+Rename Attribute Value in Item Attribute.,Zmień nazwę atrybutu w atrybucie elementu.,
+Copy Fields to Variant,Skopiuj pola do wariantu,
+Item Website Specification,Element Specyfikacja Strony,
+Table for Item that will be shown in Web Site,"Tabela dla pozycji, które zostaną pokazane w Witrynie",
+Landed Cost Item,Koszt Przedmiotu,
+Receipt Document Type,Otrzymanie Rodzaj dokumentu,
+Receipt Document,Otrzymanie dokumentu,
+Applicable Charges,Obowiązujące opłaty,
+Purchase Receipt Item,Przedmiot Potwierdzenia Zakupu,
+Landed Cost Purchase Receipt,Koszt kupionego przedmiotu,
+Landed Cost Taxes and Charges,Koszt podatków i opłat,
+Landed Cost Voucher,Koszt kuponu,
+MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
+Purchase Receipts,Potwierdzenia Zakupu,
+Purchase Receipt Items,Przedmioty Potwierdzenia Zakupu,
+Get Items From Purchase Receipts,Uzyskaj pozycje z potwierdzeń zakupu.,
+Distribute Charges Based On,Rozpowszechnianie opłat na podstawie,
+Landed Cost Help,Ugruntowany Koszt Pomocy,
+Manufacturers used in Items,Producenci używane w pozycji,
+Limited to 12 characters,Ograniczona do 12 znaków,
+MAT-MR-.YYYY.-,MAT-MR-.RRRR.-,
+Partially Ordered,Częściowo zamówione,
+Transferred,Przeniesiony,
+% Ordered,% Zamówione,
+Terms and Conditions Content,Zawartość regulaminu,
+Quantity and Warehouse,Ilość i magazyn,
+Lead Time Date,Termin realizacji,
+Min Order Qty,Min. wartość zamówienia,
+Packed Item,Przedmiot pakowany,
+To Warehouse (Optional),Aby Warehouse (opcjonalnie),
+Actual Batch Quantity,Rzeczywista ilość partii,
+Prevdoc DocType,Typ dokumentu dla poprzedniego dokumentu,
+Parent Detail docname,Nazwa dokumentu ze szczegółami nadrzędnego rodzica,
+"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Utwórz paski na opakowania do dostawy. Używane do informacji o numerze opakowania, zawartości i wadze.",
+Indicates that the package is a part of this delivery (Only Draft),"Wskazuje, że pakiet jest częścią tej dostawy (Tylko projektu)",
+MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
+From Package No.,Nr Przesyłki,
+Identification of the package for the delivery (for print),Nr identyfikujący paczkę do dostawy (do druku),
+To Package No.,Do zapakowania Nr,
+If more than one package of the same type (for print),Jeśli więcej niż jedna paczka tego samego typu (do druku),
+Package Weight Details,Informacje o wadze paczki,
+The net weight of this package. (calculated automatically as sum of net weight of items),Masa netto tego pakietu. (Obliczone automatycznie jako suma masy netto poszczególnych pozycji),
+Net Weight UOM,Jednostka miary wagi netto,
+Gross Weight,Waga brutto,
+The gross weight of the package. Usually net weight + packaging material weight. (for print),Waga brutto opakowania. Zazwyczaj waga netto + waga materiału z jakiego jest wykonane opakowanie. (Do druku),
+Gross Weight UOM,Waga brutto Jednostka miary,
+Packing Slip Item,Pozycja listu przewozowego,
+STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
+Material Transfer for Manufacture,Materiał transferu dla Produkcja,
+Qty of raw materials will be decided based on the qty of the Finished Goods Item,Ilość surowców zostanie ustalona na podstawie ilości produktu gotowego,
+Parent Warehouse,Dominująca Magazyn,
+Items under this warehouse will be suggested,Produkty w tym magazynie zostaną zasugerowane,
+Get Item Locations,Uzyskaj lokalizacje przedmiotów,
+Item Locations,Lokalizacje przedmiotów,
+Pick List Item,Wybierz element listy,
+Picked Qty,Wybrano ilość,
+Price List Master,Ustawienia Cennika,
+Price List Name,Nazwa cennika,
+Price Not UOM Dependent,Cena nie zależy od ceny,
+Applicable for Countries,Zastosowanie dla krajów,
+Price List Country,Cena Kraj,
+MAT-PRE-.YYYY.-,MAT-PRE-RAYY.-,
+Supplier Delivery Note,Uwagi do dostawy,
+Time at which materials were received,Data i czas otrzymania dostawy,
+Return Against Purchase Receipt,Powrót Przeciwko ZAKUPU,
+Rate at which supplier's currency is converted to company's base currency,Stawka przy użyciu której waluta dostawcy jest konwertowana do podstawowej waluty firmy,
+Sets 'Accepted Warehouse' in each row of the items table.,Ustawia „Zaakceptowany magazyn” w każdym wierszu tabeli towarów.,
+Sets 'Rejected Warehouse' in each row of the items table.,Ustawia „Magazyn odrzucony” w każdym wierszu tabeli towarów.,
+Raw Materials Consumed,Zużyte surowce,
+Get Current Stock,Pobierz aktualny stan magazynowy,
+Consumed Items,Zużyte przedmioty,
+Auto Repeat Detail,Auto Repeat Detail,
+Transporter Details,Szczegóły transportu,
+Vehicle Number,Numer pojazdu,
+Vehicle Date,Pojazd Data,
+Received and Accepted,Otrzymano i zaakceptowano,
+Accepted Quantity,Przyjęta Ilość,
+Rejected Quantity,Odrzucona Ilość,
+Accepted Qty as per Stock UOM,Zaakceptowana ilość zgodnie z JM zapasów,
+Sample Quantity,Ilość próbki,
+Rate and Amount,Stawka i Ilość,
+MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
+Report Date,Data raportu,
+Inspection Type,Typ kontroli,
+Item Serial No,Nr seryjny,
+Sample Size,Wielkość próby,
+Inspected By,Skontrolowane przez,
+Readings,Odczyty,
+Quality Inspection Reading,Odczyt kontroli jakości,
+Reading 1,Odczyt 1,
+Reading 2,Odczyt 2,
+Reading 3,Odczyt 3,
+Reading 4,Odczyt 4,
+Reading 5,Odczyt 5,
+Reading 6,Odczyt 6,
+Reading 7,Odczyt 7,
+Reading 8,Odczyt 8,
+Reading 9,Odczyt 9,
+Reading 10,Odczyt 10,
+Quality Inspection Template Name,Nazwa szablonu kontroli jakości,
+Quick Stock Balance,Szybkie saldo zapasów,
+Available Quantity,Dostępna Ilość,
+Distinct unit of an Item,Odrębna jednostka przedmiotu,
+Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Magazyn może być tylko zmieniony poprzez Wpis Asortymentu / Notę Dostawy / Potwierdzenie zakupu,
+Purchase / Manufacture Details,Szczegóły Zakupu / Produkcji,
+Creation Date,Data utworzenia,
+Creation Time,Czas utworzenia,
+Asset Details,Szczegóły dotyczące aktywów,
+Asset Status,Status zasobu,
+Delivery Document Type,Typ dokumentu dostawy,
+Delivery Document No,Nr dokumentu dostawy,
+Delivery Time,Czas dostawy,
+Invoice Details,Dane do faktury,
+Warranty / AMC Details,Gwarancja / AMC Szczegóły,
+Warranty Expiry Date,Data upływu gwarancji,
+AMC Expiry Date,AMC Data Ważności,
+Under Warranty,Pod Gwarancją,
+Out of Warranty,Brak Gwarancji,
+Under AMC,Pod AMC,
+Warranty Period (Days),Okres gwarancji (dni),
+Serial No Details,Szczegóły numeru seryjnego,
+MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
+Stock Entry Type,Rodzaj wejścia na magazyn,
+Stock Entry (Outward GIT),Wjazd na giełdę (GIT zewnętrzny),
+Material Consumption for Manufacture,Zużycie materiału do produkcji,
+Repack,Przepakowanie,
+Send to Subcontractor,Wyślij do Podwykonawcy,
+Delivery Note No,Nr dowodu dostawy,
+Sales Invoice No,Nr faktury sprzedaży,
+Purchase Receipt No,Nr Potwierdzenia Zakupu,
+Inspection Required,Wymagana kontrola,
+From BOM,Od BOM,
+For Quantity,Dla Ilości,
+Including items for sub assemblies,W tym elementów dla zespołów sub,
+Default Source Warehouse,Domyślny magazyn źródłowy,
+Source Warehouse Address,Adres hurtowni,
+Default Target Warehouse,Domyślny magazyn docelowy,
+Target Warehouse Address,Docelowy adres hurtowni,
+Update Rate and Availability,Aktualizuj cenę i dostępność,
+Total Incoming Value,Całkowita wartość przychodów,
+Total Outgoing Value,Całkowita wartość wychodząca,
+Total Value Difference (Out - In),Całkowita Wartość Różnica (Out - In),
+Additional Costs,Dodatkowe koszty,
+Total Additional Costs,Wszystkich Dodatkowe koszty,
+Customer or Supplier Details,Szczegóły klienta lub dostawcy,
+Per Transferred,Na przeniesione,
+Stock Entry Detail,Szczególy zapisu magazynowego,
+Basic Rate (as per Stock UOM),Stawki podstawowej (zgodnie Stock UOM),
+Basic Amount,Kwota podstawowa,
+Additional Cost,Dodatkowy koszt,
+Serial No / Batch,Nr seryjny / partia,
+Subcontracted Item,Element podwykonawstwa,
+Against Stock Entry,Przeciwko wprowadzeniu akcji,
+Stock Entry Child,Dziecko do wejścia na giełdę,
+PO Supplied Item,PO Dostarczony przedmiot,
+Reference Purchase Receipt,Odbiór zakupu referencyjnego,
+Stock Ledger Entry,Zapis w księdze zapasów,
+Outgoing Rate,Wychodzące Cena,
+Actual Qty After Transaction,Rzeczywista Ilość Po Transakcji,
+Stock Value Difference,Różnica wartości zapasów,
+Stock Reconciliation,Uzgodnienia stanu,
+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.,To narzędzie pomaga uaktualnić lub ustalić ilość i wycenę akcji w systemie. To jest zwykle używany do synchronizacji wartości systemowych i co rzeczywiście istnieje w magazynach.,
+MAT-RECO-.YYYY.-,MAT-RECO-.RRRR.-,
+Reconciliation JSON,Wyrównywanie JSON,
+Stock Reconciliation Item,Uzgodnienia Stanu Pozycja,
+Before reconciliation,Przed pojednania,
+Current Serial No,Aktualny numer seryjny,
+Current Valuation Rate,Aktualny Wycena Cena,
+Current Amount,Aktualny Kwota,
+Quantity Difference,Ilość Różnica,
+Amount Difference,kwota różnicy,
+Item Naming By,Element Nazwy przez,
+Default Item Group,Domyślna grupa elementów,
+Default Stock UOM,Domyślna jednostka miary Asortymentu,
+Sample Retention Warehouse,Przykładowy magazyn retencyjny,
+Default Valuation Method,Domyślna metoda wyceny,
+Show Barcode Field,Pokaż pole kodu kreskowego,
+Convert Item Description to Clean HTML,"Konwertuj opis elementu, aby wyczyścić HTML",
+Allow Negative Stock,Dozwolony ujemny stan,
+Automatically Set Serial Nos based on FIFO,Nr seryjny automatycznie ustawiony w oparciu o FIFO,
+Auto Material Request,Zapytanie Auto Materiał,
+Inter Warehouse Transfer Settings,Ustawienia transferu między magazynami,
+Freeze Stock Entries,Zamroź Wpisy do Asortymentu,
+Stock Frozen Upto,Zamroź zapasy do,
+Batch Identification,Identyfikacja partii,
+Use Naming Series,Użyj serii nazw,
+Naming Series Prefix,Prefiks serii nazw,
+UOM Category,Kategoria UOM,
+UOM Conversion Detail,Szczegóły konwersji jednostki miary,
+Variant Field,Pole wariantu,
+A logical Warehouse against which stock entries are made.,Logiczny Magazyn przeciwny do zapisów.,
+Warehouse Detail,Szczegóły magazynu,
+Warehouse Name,Nazwa magazynu,
+Warehouse Contact Info,Dane kontaktowe dla magazynu,
+PIN,PIN,
+ISS-.YYYY.-,ISS-.YYYY.-,
+Raised By (Email),Wywołany przez (Email),
+Issue Type,rodzaj zagadnienia,
+Issue Split From,Wydanie Split From,
+Service Level,Poziom usług,
+Response By,Odpowiedź wg,
+Response By Variance,Odpowiedź według wariancji,
+Ongoing,Trwający,
+Resolution By,Rozdzielczość wg,
+Resolution By Variance,Rozdzielczość przez wariancję,
+Service Level Agreement Creation,Tworzenie umowy o poziomie usług,
+First Responded On,Data pierwszej odpowiedzi,
+Resolution Details,Szczegóły Rozstrzygnięcia,
+Opening Date,Data Otwarcia,
+Opening Time,Czas Otwarcia,
+Resolution Date,Data Rozstrzygnięcia,
+Via Customer Portal,Przez portal klienta,
+Support Team,Support Team,
+Issue Priority,Priorytet wydania,
+Service Day,Dzień obsługi,
+Workday,Dzień roboczy,
+Default Priority,Domyślny priorytet,
+Priorities,Priorytety,
+Support Hours,Godziny Wsparcia,
+Support and Resolution,Wsparcie i rozdzielczość,
+Default Service Level Agreement,Domyślna umowa o poziomie usług,
+Entity,Jednostka,
+Agreement Details,Szczegóły umowy,
+Response and Resolution Time,Czas odpowiedzi i rozdzielczości,
+Service Level Priority,Priorytet poziomu usług,
+Resolution Time,Czas rozdzielczości,
+Support Search Source,Wspieraj źródło wyszukiwania,
+Source Type,rodzaj źródła,
+Query Route String,Ciąg trasy zapytania,
+Search Term Param Name,Szukane słowo Nazwa Param,
+Response Options,Opcje odpowiedzi,
+Response Result Key Path,Kluczowa ścieżka odpowiedzi,
+Post Route String,Wpisz ciąg trasy,
+Post Route Key List,Opublikuj listę kluczy,
+Post Title Key,Post Title Key,
+Post Description Key,Klucz opisu postu,
+Link Options,Opcje linku,
+Source DocType,Źródło DocType,
+Result Title Field,Pole wyniku wyniku,
+Result Preview Field,Pole podglądu wyników,
+Result Route Field,Wynik Pole trasy,
+Service Level Agreements,Umowy o poziomie usług,
+Track Service Level Agreement,Śledź umowę o poziomie usług,
+Allow Resetting Service Level Agreement,Zezwalaj na resetowanie umowy o poziomie usług,
+Close Issue After Days,Po blisko Issue Dni,
+Auto close Issue after 7 days,Auto blisko Issue po 7 dniach,
+Support Portal,Portal wsparcia,
+Get Started Sections,Pierwsze kroki,
+Show Latest Forum Posts,Pokaż najnowsze posty na forum,
+Forum Posts,Posty na forum,
+Forum URL,URL forum,
+Get Latest Query,Pobierz najnowsze zapytanie,
+Response Key List,Lista kluczy odpowiedzi,
+Post Route Key,Wpisz klucz trasy,
+Search APIs,Wyszukaj interfejsy API,
+SER-WRN-.YYYY.-,SER-WRN-.RRRR.-,
+Issue Date,Data zdarzenia,
+Item and Warranty Details,Przedmiot i gwarancji Szczegóły,
+Warranty / AMC Status,Gwarancja / AMC Status,
+Resolved By,Rozstrzygnięte przez,
+Service Address,Adres usługi,
+If different than customer address,Jeśli jest inny niż adres klienta,
+Raised By,Wywołany przez,
+From Company,Od Firmy,
+Rename Tool,Zmień nazwę narzędzia,
+Utilities,Usługi komunalne,
+Type of document to rename.,"Typ dokumentu, którego zmieniasz nazwę",
+File to Rename,Plik to zmiany nazwy,
+"Attach .csv file with two columns, one for the old name and one for the new name","Dołączyć plik .csv z dwoma kolumnami, po jednym dla starej nazwy i jeden dla nowej nazwy",
+Rename Log,Zmień nazwę dziennika,
+SMS Log,Dziennik zdarzeń SMS,
+Sender Name,Nazwa Nadawcy,
+Sent On,Wysłano w,
+No of Requested SMS,Numer wymaganego SMS,
+Requested Numbers,Wymagane numery,
+No of Sent SMS,Numer wysłanego Sms,
+Sent To,Wysłane Do,
+Absent Student Report,Raport Nieobecności Studenta,
+Assessment Plan Status,Status planu oceny,
+Asset Depreciation Ledger,Księga amortyzacji,
+Asset Depreciations and Balances,Aktywów Amortyzacja i salda,
+Available Stock for Packing Items,Dostępne ilości dla materiałów opakunkowych,
+Bank Clearance Summary,Rozliczenia bankowe,
+Bank Remittance,Przelew bankowy,
+Batch Item Expiry Status,Batch Przedmiot status ważności,
+BOM Explorer,Eksplorator BOM,
+BOM Search,BOM Szukaj,
+BOM Stock Calculated,BOM Stock Obliczono,
+BOM Variance Report,Raport wariancji BOM,
+Campaign Efficiency,Skuteczność Kampanii,
+Cash Flow,Przepływy pieniężne,
+Completed Work Orders,Zrealizowane zlecenia pracy,
+To Produce,Do produkcji,
+Produced,Wyprodukowany,
+Consolidated Financial Statement,Skonsolidowane sprawozdanie finansowe,
+Course wise Assessment Report,Szeregowy raport oceny,
+Customer Credit Balance,Saldo kredytowe klienta,
+Customer Ledger Summary,Podsumowanie księgi klienta,
+Customer-wise Item Price,Cena przedmiotu pod względem klienta,
+Customers Without Any Sales Transactions,Klienci bez żadnych transakcji sprzedaży,
+Daily Timesheet Summary,Codzienne grafiku Podsumowanie,
+Daily Work Summary Replies,Podsumowanie codziennej pracy,
+DATEV,DATEV,
+Delayed Item Report,Raport o opóźnionych przesyłkach,
+Delayed Order Report,Raport o opóźnionym zamówieniu,
+Delivered Items To Be Billed,Dostarczone przedmioty oczekujące na fakturowanie,
+Delivery Note Trends,Trendy Dowodów Dostawy,
+Electronic Invoice Register,Rejestr faktur elektronicznych,
+Employee Advance Summary,Podsumowanie zaliczek pracowników,
+Employee Billing Summary,Podsumowanie płatności dla pracowników,
+Employee Birthday,Data urodzenia pracownika,
+Employee Information,Informacja o pracowniku,
+Employee Leave Balance,Bilans Nieobecności Pracownika,
+Employee Leave Balance Summary,Podsumowanie salda urlopu pracownika,
+Employees working on a holiday,Pracownicy zatrudnieni na wakacje,
+Eway Bill,Eway Bill,
+Expiring Memberships,Wygaśnięcie członkostwa,
+Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptables [FEC],
+Final Assessment Grades,Oceny końcowe,
+Fixed Asset Register,Naprawiono rejestr aktywów,
+Gross and Net Profit Report,Raport zysku brutto i netto,
+GST Itemised Purchase Register,GST Wykaz zamówień zakupu,
+GST Itemised Sales Register,Wykaz numerów sprzedaży produktów GST,
+GST Purchase Register,Rejestr zakupów GST,
+GST Sales Register,Rejestr sprzedaży GST,
+GSTR-1,GSTR-1,
+GSTR-2,GSTR-2,
+Hotel Room Occupancy,Pokój hotelowy,
+HSN-wise-summary of outward supplies,Podsumowanie HSN dostaw zewnętrznych,
+Inactive Customers,Nieaktywne Klienci,
+Inactive Sales Items,Nieaktywne elementy sprzedaży,
+IRS 1099,IRS 1099,
+Issued Items Against Work Order,Wydane przedmioty na zlecenie pracy,
+Projected Quantity as Source,Prognozowana ilość jako źródło,
+Item Balance (Simple),Bilans przedmiotu (prosty),
+Item Price Stock,Pozycja Cena towaru,
+Item Prices,Ceny,
+Item Shortage Report,Element Zgłoś Niedobór,
+Item Variant Details,Szczegóły wariantu przedmiotu,
+Reserved,Zarezerwowany,
+Itemwise Recommended Reorder Level,Pozycja Zalecany poziom powtórnego zamówienia,
+Lead Details,Dane Tropu,
+Lead Owner Efficiency,Skuteczność właściciela wiodącego,
+Loan Repayment and Closure,Spłata i zamknięcie pożyczki,
+Loan Security Status,Status zabezpieczenia pożyczki,
+Lost Opportunity,Stracona szansa,
+Maintenance Schedules,Plany Konserwacji,
+Monthly Attendance Sheet,Miesięczna karta obecności,
+Open Work Orders,Otwórz zlecenia pracy,
+Qty to Deliver,Ilość do dostarczenia,
+Patient Appointment Analytics,Analiza wizyt pacjentów,
+Payment Period Based On Invoice Date,Termin Płatności oparty na dacie faktury,
+Pending SO Items For Purchase Request,Oczekiwane elementy Zamówień Sprzedaży na Prośbę Zakupu,
+Procurement Tracker,Śledzenie zamówień,
+Product Bundle Balance,Bilans pakietu produktów,
+Production Analytics,Analizy produkcyjne,
+Profit and Loss Statement,Rachunek zysków i strat,
+Profitability Analysis,Analiza rentowności,
+Project Billing Summary,Podsumowanie płatności za projekt,
+Project wise Stock Tracking,Śledzenie zapasów według projektu,
+Prospects Engaged But Not Converted,"Perspektywy zaręczone, ale nie przekształcone",
+Purchase Analytics,Analiza Zakupów,
+Purchase Invoice Trends,Trendy Faktur Zakupów,
+Qty to Receive,Ilość do otrzymania,
+Received Qty Amount,Otrzymana ilość,
+Billed Qty,Rozliczona ilość,
+Purchase Order Trends,Trendy Zamówienia Kupna,
+Purchase Receipt Trends,Trendy Potwierdzenia Zakupu,
+Purchase Register,Rejestracja Zakupu,
+Quotation Trends,Trendy Wyceny,
+Received Items To Be Billed,Otrzymane przedmioty czekające na zaksięgowanie,
+Qty to Order,Ilość do zamówienia,
+Requested Items To Be Transferred,Proszę o Przetranferowanie Przedmiotów,
+Qty to Transfer,Ilość do transferu,
+Salary Register,wynagrodzenie Rejestracja,
+Sales Analytics,Analityka sprzedaży,
+Sales Partner Commission Summary,Podsumowanie Komisji ds. Sprzedaży,
+Sales Partner Target Variance based on Item Group,Zmienna docelowa partnera handlowego na podstawie grupy pozycji,
+Sales Partner Transaction Summary,Podsumowanie transakcji partnera handlowego,
+Sales Partners Commission,Prowizja Partnera Sprzedaży,
+Invoiced Amount (Exclusive Tax),Kwota zafakturowana (bez podatku),
+Average Commission Rate,Średnia Prowizja,
+Sales Payment Summary,Podsumowanie płatności za sprzedaż,
+Sales Person Commission Summary,Osoba odpowiedzialna za sprzedaż,
+Sales Person Target Variance Based On Item Group,Zmienna docelowa osoby sprzedaży na podstawie grupy pozycji,
+Sales Register,Rejestracja Sprzedaży,
+Serial No Service Contract Expiry,Umowa serwisowa o nr seryjnym wygasa,
+Serial No Status,Status nr seryjnego,
+Serial No Warranty Expiry,Gwarancja o nr seryjnym wygasa,
+Stock Ageing,Starzenie się zapasów,
+Stock and Account Value Comparison,Porównanie wartości zapasów i konta,
+Stock Projected Qty,Przewidywana ilość zapasów,
+Student and Guardian Contact Details,Uczeń i opiekun Dane kontaktowe,
+Student Batch-Wise Attendance,Partiami Student frekwencja,
+Student Fee Collection,Student Opłata Collection,
+Student Monthly Attendance Sheet,Student miesięczny Obecność Sheet,
+Subcontracted Item To Be Received,Przedmiot podwykonawstwa do odbioru,
+Subcontracted Raw Materials To Be Transferred,"Podwykonawstwo Surowce, które mają zostać przekazane",
+Supplier Ledger Summary,Podsumowanie księgi dostawców,
+Support Hour Distribution,Dystrybucja godzin wsparcia,
+TDS Computation Summary,Podsumowanie obliczeń TDS,
+TDS Payable Monthly,Miesięczny płatny TDS,
+Territory Target Variance Based On Item Group,Territory Target Variance Based On Item Item,
+Territory-wise Sales,Sprzedaż terytorialna,
+Total Stock Summary,Całkowity podsumowanie zasobów,
+Trial Balance,Zestawienie obrotów i sald,
+Trial Balance (Simple),Bilans próbny (prosty),
+Trial Balance for Party,Trial Balance for Party,
+Unpaid Expense Claim,Niepłatny Koszty Zastrzeżenie,
+Warehouse wise Item Balance Age and Value,Magazyn mądry Pozycja Bilans Wiek i wartość,
+Work Order Stock Report,Raport o stanie zlecenia pracy,
+Work Orders in Progress,Zlecenia robocze w toku,
+Validation Error,Błąd walidacji,
+Automatically Process Deferred Accounting Entry,Automatycznie przetwarzaj odroczony zapis księgowy,
+Bank Clearance,Rozliczenie bankowe,
+Bank Clearance Detail,Szczegóły dotyczące rozliczeń bankowych,
+Update Cost Center Name / Number,Zaktualizuj nazwę / numer centrum kosztów,
+Journal Entry Template,Szablon wpisu do dziennika,
+Template Title,Tytuł szablonu,
+Journal Entry Type,Typ pozycji dziennika,
+Journal Entry Template Account,Konto szablonu zapisów księgowych,
+Process Deferred Accounting,Rozliczanie odroczone procesu,
+Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Nie można utworzyć ręcznego wpisu! Wyłącz automatyczne wprowadzanie odroczonych księgowań w ustawieniach kont i spróbuj ponownie,
+End date cannot be before start date,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia,
+Total Counts Targeted,Łączna liczba docelowa,
+Total Counts Completed,Całkowita liczba zakończonych,
+Counts Targeted: {0},Docelowe liczby: {0},
+Payment Account is mandatory,Konto płatnicze jest obowiązkowe,
+"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Jeśli zaznaczone, pełna kwota zostanie odliczona od dochodu podlegającego opodatkowaniu przed obliczeniem podatku dochodowego bez składania deklaracji lub dowodów.",
+Disbursement Details,Szczegóły wypłaty,
+Material Request Warehouse,Magazyn żądań materiałowych,
+Select warehouse for material requests,Wybierz magazyn dla zapytań materiałowych,
+Transfer Materials For Warehouse {0},Przenieś materiały do magazynu {0},
+Production Plan Material Request Warehouse,Plan produkcji Magazyn żądań materiałowych,
+Sets 'Source Warehouse' in each row of the items table.,Ustawia „Magazyn źródłowy” w każdym wierszu tabeli towarów.,
+Sets 'Target Warehouse' in each row of the items table.,Ustawia „Magazyn docelowy” w każdym wierszu tabeli towarów.,
+Show Cancelled Entries,Pokaż anulowane wpisy,
+Backdated Stock Entry,Zapis akcji z datą wsteczną,
+Row #{}: Currency of {} - {} doesn't matches company currency.,Wiersz nr {}: waluta {} - {} nie odpowiada walucie firmy.,
+{} Assets created for {},{} Zasoby utworzone dla {},
+{0} Number {1} is already used in {2} {3},{0} Numer {1} jest już używany w {2} {3},
+Update Bank Clearance Dates,Zaktualizuj daty rozliczeń bankowych,
+Healthcare Practitioner: ,Lekarz:,
+Lab Test Conducted: ,Przeprowadzony test laboratoryjny:,
+Lab Test Event: ,Wydarzenie testów laboratoryjnych:,
+Lab Test Result: ,Wynik testu laboratoryjnego:,
+Clinical Procedure conducted: ,Przeprowadzona procedura kliniczna:,
+Therapy Session Charges: {0},Opłaty za sesję terapeutyczną: {0},
+Therapy: ,Terapia:,
+Therapy Plan: ,Plan terapii:,
+Total Counts Targeted: ,Łączna liczba docelowa:,
+Total Counts Completed: ,Łączna liczba zakończonych:,
+Andaman and Nicobar Islands,Wyspy Andaman i Nicobar,
+Andhra Pradesh,Andhra Pradesh,
+Arunachal Pradesh,Arunachal Pradesh,
+Assam,Assam,
+Bihar,Bihar,
+Chandigarh,Chandigarh,
+Chhattisgarh,Chhattisgarh,
+Dadra and Nagar Haveli,Dadra i Nagar Haveli,
+Daman and Diu,Daman i Diu,
+Delhi,Delhi,
+Goa,Goa,
+Gujarat,Gujarat,
+Haryana,Haryana,
+Himachal Pradesh,Himachal Pradesh,
+Jammu and Kashmir,Dżammu i Kaszmir,
+Jharkhand,Jharkhand,
+Karnataka,Karnataka,
+Kerala,Kerala,
+Lakshadweep Islands,Wyspy Lakshadweep,
+Madhya Pradesh,Madhya Pradesh,
+Maharashtra,Maharashtra,
+Manipur,Manipur,
+Meghalaya,Meghalaya,
+Mizoram,Mizoram,
+Nagaland,Nagaland,
+Odisha,Odisha,
+Other Territory,Inne terytorium,
+Pondicherry,Puducherry,
+Punjab,Pendżab,
+Rajasthan,Rajasthan,
+Sikkim,Sikkim,
+Tamil Nadu,Tamil Nadu,
+Telangana,Telangana,
+Tripura,Tripura,
+Uttar Pradesh,Uttar Pradesh,
+Uttarakhand,Uttarakhand,
+West Bengal,Bengal Zachodni,
+Is Mandatory,Jest obowiązkowe,
+Published on,Opublikowano,
+Service Received But Not Billed,"Usługa otrzymana, ale niezafakturowana",
+Deferred Accounting Settings,Odroczone ustawienia księgowania,
+Book Deferred Entries Based On,Rezerwuj wpisy odroczone na podstawie,
+Days,Dni,
+Months,Miesięcy,
+Book Deferred Entries Via Journal Entry,Rezerwuj wpisy odroczone za pośrednictwem wpisu do dziennika,
+Submit Journal Entries,Prześlij wpisy do dziennika,
+If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Jeśli ta opcja nie jest zaznaczona, wpisy do dziennika zostaną zapisane jako wersja robocza i będą musiały zostać przesłane ręcznie",
+Enable Distributed Cost Center,Włącz rozproszone centrum kosztów,
+Distributed Cost Center,Rozproszone centrum kosztów,
+Dunning,Dunning,
+DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
+Overdue Days,Zaległe dni,
+Dunning Type,Typ monitu,
+Dunning Fee,Opłata za monitowanie,
+Dunning Amount,Kwota monitu,
+Resolved,Zdecydowany,
+Unresolved,Nie rozwiązany,
+Printing Setting,Ustawienie drukowania,
+Body Text,Body Text,
+Closing Text,Tekst zamykający,
+Resolve,Rozwiązać,
+Dunning Letter Text,Tekst listu monitującego,
+Is Default Language,Jest językiem domyślnym,
+Letter or Email Body Text,Treść listu lub wiadomości e-mail,
+Letter or Email Closing Text,List lub e-mail zamykający tekst,
+Body and Closing Text Help,Pomoc dotycząca treści i tekstu zamykającego,
+Overdue Interval,Zaległy interwał,
+Dunning Letter,List monitujący,
+"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.","W tej sekcji użytkownik może ustawić treść i treść listu upominającego dla typu monitu w oparciu o język, którego można używać w druku.",
+Reference Detail No,Numer referencyjny odniesienia,
+Custom Remarks,Uwagi niestandardowe,
+Please select a Company first.,Najpierw wybierz firmę.,
+"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Wiersz nr {0}: typem dokumentu referencyjnego musi być zamówienie sprzedaży, faktura sprzedaży, zapis księgowy lub monit",
+POS Closing Entry,Zamknięcie POS,
+POS Opening Entry,Otwarcie POS,
+POS Transactions,Transakcje POS,
+POS Closing Entry Detail,Szczegóły wejścia zamknięcia POS,
+Opening Amount,Kwota otwarcia,
+Closing Amount,Kwota zamknięcia,
+POS Closing Entry Taxes,Podatki przy wejściu przy zamykaniu POS,
+POS Invoice,Faktura POS,
+ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
+Consolidated Sales Invoice,Skonsolidowana faktura sprzedaży,
+Return Against POS Invoice,Zwrot na podstawie faktury POS,
+Consolidated,Skonsolidowany,
+POS Invoice Item,Pozycja faktury POS,
+POS Invoice Merge Log,Dziennik scalania faktur POS,
+POS Invoices,Faktury POS,
+Consolidated Credit Note,Skonsolidowana nota kredytowa,
+POS Invoice Reference,Numer faktury POS,
+Set Posting Date,Ustaw datę księgowania,
+Opening Balance Details,Szczegóły salda otwarcia,
+POS Opening Entry Detail,Szczegóły wejścia do punktu sprzedaży,
+POS Payment Method,Metoda płatności POS,
+Payment Methods,Metody Płatności,
+Process Statement Of Accounts,Przetwarzaj wyciągi z kont,
+General Ledger Filters,Filtry księgi głównej,
+Customers,Klienci,
+Select Customers By,Wybierz klientów według,
+Fetch Customers,Pobierz klientów,
+Send To Primary Contact,Wyślij do głównej osoby kontaktowej,
+Print Preferences,Preferencje drukowania,
+Include Ageing Summary,Uwzględnij podsumowanie starzenia się,
+Enable Auto Email,Włącz automatyczne e-maile,
+Filter Duration (Months),Czas trwania filtra (miesiące),
+CC To,CC To,
+Help Text,Tekst pomocy,
+Emails Queued,E-maile w kolejce,
+Process Statement Of Accounts Customer,Przetwarzaj wyciąg z kont Klient,
+Billing Email,E-mail rozliczeniowy,
+Primary Contact Email,Adres e-mail głównej osoby kontaktowej,
+PSOA Cost Center,Centrum kosztów PSOA,
+PSOA Project,Projekt PSOA,
+ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
+Supplier GSTIN,Dostawca GSTIN,
+Place of Supply,Miejsce dostawy,
+Select Billing Address,Wybierz Adres rozliczeniowy,
+GST Details,Szczegóły dotyczące podatku GST,
+GST Category,Kategoria podatku GST,
+Registered Regular,Zarejestrowany Regularny,
+Registered Composition,Zarejestrowany skład,
+Unregistered,Niezarejestrowany,
+SEZ,SSE,
+Overseas,Za granicą,
+UIN Holders,Posiadacze UIN,
+With Payment of Tax,Z zapłatą podatku,
+Without Payment of Tax,Bez zapłaty podatku,
+Invoice Copy,Kopia faktury,
+Original for Recipient,Oryginał dla Odbiorcy,
+Duplicate for Transporter,Duplikat dla Transportera,
+Duplicate for Supplier,Duplikat dla dostawcy,
+Triplicate for Supplier,Potrójny egzemplarz dla dostawcy,
+Reverse Charge,Opłata zwrotna,
+Y,Y,
+N,N,
+E-commerce GSTIN,GSTIN dla handlu elektronicznego,
+Reason For Issuing document,Przyczyna wystawienia dokumentu,
+01-Sales Return,01-Zwrot sprzedaży,
+02-Post Sale Discount,02-zniżka po sprzedaży,
+03-Deficiency in services,03-Niedobór usług,
+04-Correction in Invoice,04-Korekta na fakturze,
+05-Change in POS,05-Zmiana w POS,
+06-Finalization of Provisional assessment,06-Zakończenie wstępnej oceny,
+07-Others,07-Inne,
+Eligibility For ITC,Kwalifikowalność do ITC,
+Input Service Distributor,Dystrybutor usług wejściowych,
+Import Of Service,Import usług,
+Import Of Capital Goods,Import dóbr kapitałowych,
+Ineligible,Którego nie można wybrać,
+All Other ITC,Wszystkie inne ITC,
+Availed ITC Integrated Tax,Dostępny podatek zintegrowany ITC,
+Availed ITC Central Tax,Zastosowany podatek centralny ITC,
+Availed ITC State/UT Tax,Dostępny podatek stanowy ITC / UT,
+Availed ITC Cess,Dostępny podatek ITC,
+Is Nil Rated or Exempted,Brak oceny lub zwolnienie,
+Is Non GST,Nie zawiera podatku GST,
+ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
+E-Way Bill No.,E-Way Bill No.,
+Is Consolidated,Jest skonsolidowane,
+Billing Address GSTIN,Adres rozliczeniowy GSTIN,
+Customer GSTIN,GSTIN klienta,
+GST Transporter ID,Identyfikator przewoźnika GST,
+Distance (in km),Odległość (w km),
+Road,Droga,
+Air,Powietrze,
+Rail,Szyna,
+Ship,Statek,
+GST Vehicle Type,Typ pojazdu z podatkiem VAT,
+Over Dimensional Cargo (ODC),Ładunki ponadwymiarowe (ODC),
+Consumer,Konsument,
+Deemed Export,Uważany za eksport,
+Port Code,Kod portu,
+ Shipping Bill Number,Numer rachunku za wysyłkę,
+Shipping Bill Date,Data rachunku za wysyłkę,
+Subscription End Date,Data zakończenia subskrypcji,
+Follow Calendar Months,Śledź miesiące kalendarzowe,
+If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Jeśli ta opcja jest zaznaczona, kolejne nowe faktury będą tworzone w datach rozpoczęcia miesiąca kalendarzowego i kwartału, niezależnie od daty rozpoczęcia aktualnej faktury",
+Generate New Invoices Past Due Date,Wygeneruj nowe faktury przeterminowane,
+New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Nowe faktury będą generowane zgodnie z harmonogramem, nawet jeśli bieżące faktury są niezapłacone lub przeterminowane",
+Document Type ,typ dokumentu,
+Subscription Price Based On,Cena subskrypcji na podstawie,
+Fixed Rate,Stała stawka,
+Based On Price List,Na podstawie cennika,
+Monthly Rate,Opłata miesięczna,
+Cancel Subscription After Grace Period,Anuluj subskrypcję po okresie prolongaty,
+Source State,Stan źródłowy,
+Is Inter State,Jest międzystanowe,
+Purchase Details,Szczegóły zakupu,
+Depreciation Posting Date,Data księgowania amortyzacji,
+"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","Domyślnie nazwa dostawcy jest ustawiona zgodnie z wprowadzoną nazwą dostawcy. Jeśli chcesz, aby dostawcy byli nazwani przez rozszerzenie",
+ choose the 'Naming Series' option.,wybierz opcję „Naming Series”.,
+Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Skonfiguruj domyślny Cennik podczas tworzenia nowej transakcji zakupu. Ceny pozycji zostaną pobrane z tego Cennika.,
+"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.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury zakupu lub paragonu bez wcześniejszego tworzenia zamówienia. Tę konfigurację można zastąpić dla określonego dostawcy, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur zakupu bez zamówienia” w karcie głównej dostawcy.",
+"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.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury zakupu bez uprzedniego tworzenia paragonu zakupu. Tę konfigurację można zastąpić dla określonego dostawcy, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur zakupu bez potwierdzenia zakupu” we wzorcu dostawcy.",
+Quantity & Stock,Ilość i stan magazynowy,
+Call Details,Szczegóły połączenia,
+Authorised By,Zaautoryzowany przez,
+Signee (Company),Signee (firma),
+Signed By (Company),Podpisane przez (firma),
+First Response Time,Czas pierwszej odpowiedzi,
+Request For Quotation,Zapytanie ofertowe,
+Opportunity Lost Reason Detail,Szczegóły utraconego powodu możliwości,
+Access Token Secret,Dostęp do klucza tajnego,
+Add to Topics,Dodaj do tematów,
+...Adding Article to Topics,... Dodawanie artykułu do tematów,
+Add Article to Topics,Dodaj artykuł do tematów,
+This article is already added to the existing topics,Ten artykuł jest już dodany do istniejących tematów,
+Add to Programs,Dodaj do programów,
+Programs,Programy,
+...Adding Course to Programs,... Dodawanie kursu do programów,
+Add Course to Programs,Dodaj kurs do programów,
+This course is already added to the existing programs,Ten kurs jest już dodany do istniejących programów,
+Learning Management System Settings,Ustawienia systemu zarządzania nauką,
+Enable Learning Management System,Włącz system zarządzania nauką,
+Learning Management System Title,Tytuł systemu zarządzania nauczaniem,
+...Adding Quiz to Topics,... Dodawanie quizu do tematów,
+Add Quiz to Topics,Dodaj quiz do tematów,
+This quiz is already added to the existing topics,Ten quiz został już dodany do istniejących tematów,
+Enable Admission Application,Włącz aplikację o przyjęcie,
+EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
+Marking attendance,Oznaczanie obecności,
+Add Guardians to Email Group,Dodaj opiekunów do grupy e-mailowej,
+Attendance Based On,Frekwencja na podstawie,
+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,"Zaznacz to, aby oznaczyć ucznia jako obecnego na wypadek, gdyby student nie uczęszczał do instytutu, aby w żadnym wypadku uczestniczyć lub reprezentować instytut.",
+Add to Courses,Dodaj do kursów,
+...Adding Topic to Courses,... Dodawanie tematu do kursów,
+Add Topic to Courses,Dodaj temat do kursów,
+This topic is already added to the existing courses,Ten temat jest już dodany do istniejących kursów,
+"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","Jeśli Shopify nie ma klienta w zamówieniu, to podczas synchronizacji zamówień system weźmie pod uwagę domyślnego klienta dla zamówienia",
+The accounts are set by the system automatically but do confirm these defaults,"Konta są ustawiane przez system automatycznie, ale potwierdzają te ustawienia domyślne",
+Default Round Off Account,Domyślne konto zaokrągleń,
+Failed Import Log,Nieudany import dziennika,
+Fixed Error Log,Naprawiono dziennik błędów,
+Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Firma {0} już istnieje. Kontynuacja spowoduje nadpisanie firmy i planu kont,
+Meta Data,Metadane,
+Unresolve,Nierozwiązane,
+Create Document,Utwórz dokument,
+Mark as unresolved,Oznacz jako nierozwiązane,
+TaxJar Settings,Ustawienia TaxJar,
+Sandbox Mode,Tryb piaskownicy,
+Enable Tax Calculation,Włącz obliczanie podatku,
+Create TaxJar Transaction,Utwórz transakcję TaxJar,
+Credentials,Kwalifikacje,
+Live API Key,Aktywny klucz API,
+Sandbox API Key,Klucz API piaskownicy,
+Configuration,Konfiguracja,
+Tax Account Head,Szef konta podatkowego,
+Shipping Account Head,Szef konta wysyłkowego,
+Practitioner Name,Nazwisko lekarza,
+Enter a name for the Clinical Procedure Template,Wprowadź nazwę szablonu procedury klinicznej,
+Set the Item Code which will be used for billing the Clinical Procedure.,"Ustaw kod pozycji, który będzie używany do rozliczenia procedury klinicznej.",
+Select an Item Group for the Clinical Procedure Item.,Wybierz grupę pozycji dla pozycji procedury klinicznej.,
+Clinical Procedure Rate,Częstość zabiegów klinicznych,
+Check this if the Clinical Procedure is billable and also set the rate.,"Sprawdź, czy procedura kliniczna podlega opłacie, a także ustaw stawkę.",
+Check this if the Clinical Procedure utilises consumables. Click ,"Sprawdź to, jeśli procedura kliniczna wykorzystuje materiały eksploatacyjne. Kliknij",
+ to know more,wiedzieć więcej,
+"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.","Możesz również ustawić dział medyczny dla szablonu. Po zapisaniu dokumentu pozycja zostanie automatycznie utworzona do rozliczenia tej procedury klinicznej. Możesz następnie użyć tego szablonu podczas tworzenia procedur klinicznych dla pacjentów. Szablony chronią Cię przed zapełnianiem zbędnych danych za każdym razem. Możesz także tworzyć szablony dla innych operacji, takich jak testy laboratoryjne, sesje terapeutyczne itp.",
+Descriptive Test Result,Opisowy wynik testu,
+Allow Blank,Pozwól puste,
+Descriptive Test Template,Opisowy szablon testu,
+"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Jeśli chcesz śledzić listę płac i inne operacje HRMS dla praktyka, utwórz pracownika i połącz go tutaj.",
+Set the Practitioner Schedule you just created. This will be used while booking appointments.,Ustaw właśnie utworzony harmonogram lekarza. Będzie on używany podczas rezerwacji spotkań.,
+Create a service item for Out Patient Consulting.,Utwórz pozycję usługi dla konsultacji z pacjentami zewnętrznymi.,
+"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Jeśli ten pracownik służby zdrowia pracuje dla oddziału szpitalnego, utwórz pozycję usługi dla wizyt szpitalnych.",
+Set the Out Patient Consulting Charge for this Practitioner.,Ustaw opłatę za konsultacje pacjenta zewnętrznego dla tego lekarza.,
+"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","Jeśli ten lekarz pracuje również dla oddziału szpitalnego, ustal opłatę za wizytę w szpitalu dla tego lekarza.",
+"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.","Jeśli zaznaczone, dla każdego Pacjenta zostanie utworzony klient. Dla tego klienta zostaną utworzone faktury dla pacjenta. Możesz także wybrać istniejącego klienta podczas tworzenia pacjenta. To pole jest domyślnie zaznaczone.",
+Collect Registration Fee,Pobrać opłatę rejestracyjną,
+"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.","Jeśli Twoja placówka medyczna wystawia rachunki za rejestracje pacjentów, możesz to sprawdzić i ustawić Opłatę rejestracyjną w polu poniżej. Zaznaczenie tej opcji spowoduje domyślnie utworzenie nowych pacjentów ze statusem Wyłączony i będzie włączone dopiero po zafakturowaniu Opłaty rejestracyjnej.",
+Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,"Zaznaczenie tego spowoduje automatyczne utworzenie faktury sprzedaży za każdym razem, gdy zostanie zarezerwowane spotkanie dla Pacjenta.",
+Healthcare Service Items,Elementy usług opieki zdrowotnej,
+"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 ","Możesz utworzyć pozycję usługi dla opłaty za wizytę szpitalną i ustawić ją tutaj. Podobnie, w tej sekcji możesz skonfigurować inne pozycje usług opieki zdrowotnej do rozliczeń. Kliknij",
+Set up default Accounts for the Healthcare Facility,Skonfiguruj domyślne konta dla placówki opieki zdrowotnej,
+"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Jeśli chcesz zastąpić domyślne ustawienia kont i skonfigurować konta dochodów i należności dla służby zdrowia, możesz to zrobić tutaj.",
+Out Patient SMS alerts,Alerty SMS dla pacjenta,
+"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 ","Jeśli chcesz wysłać powiadomienie SMS o rejestracji pacjenta, możesz włączyć tę opcję. Podobnie, w tej sekcji możesz skonfigurować alerty SMS dla pacjentów wychodzących dla innych funkcji. Kliknij",
+Admission Order Details,Szczegóły zlecenia przyjęcia,
+Admission Ordered For,Wstęp zamówiony dla,
+Expected Length of Stay,Oczekiwana długość pobytu,
+Admission Service Unit Type,Typ jednostki obsługi przyjęcia,
+Healthcare Practitioner (Primary),Lekarz (główna),
+Healthcare Practitioner (Secondary),Lekarz (średnia),
+Admission Instruction,Instrukcja przyjęcia,
+Chief Complaint,Główny zarzut,
+Medications,Leki,
+Investigations,Dochodzenia,
+Discharge Detials,Absolutorium Detials,
+Discharge Ordered Date,Data zamówienia wypisu,
+Discharge Instructions,Instrukcje dotyczące absolutorium,
+Follow Up Date,Data kontynuacji,
+Discharge Notes,Notatki absolutorium,
+Processing Inpatient Discharge,Przetwarzanie wypisu z szpitala,
+Processing Patient Admission,Przetwarzanie przyjęcia pacjenta,
+Check-in time cannot be greater than the current time,Czas zameldowania nie może być dłuższy niż aktualny czas,
+Process Transfer,Przetwarzanie transferu,
+HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
+Expected Result Date,Oczekiwana data wyniku,
+Expected Result Time,Oczekiwany czas wyniku,
+Printed on,Nadrukowany na,
+Requesting Practitioner,Praktykant,
+Requesting Department,Dział składania wniosków,
+Employee (Lab Technician),Pracownik (technik laboratoryjny),
+Lab Technician Name,Nazwisko technika laboratoryjnego,
+Lab Technician Designation,Oznaczenie technika laboratoryjnego,
+Compound Test Result,Wynik testu złożonego,
+Organism Test Result,Wynik testu organizmu,
+Sensitivity Test Result,Wynik testu wrażliwości,
+Worksheet Print,Drukuj arkusz roboczy,
+Worksheet Instructions,Instrukcje arkusza roboczego,
+Result Legend Print,Wydruk legendy wyników,
+Print Position,Pozycja drukowania,
+Bottom,Dolny,
+Top,Top,
+Both,Obie,
+Result Legend,Legenda wyników,
+Lab Tests,Testy laboratoryjne,
+No Lab Tests found for the Patient {0},Nie znaleziono testów laboratoryjnych dla pacjenta {0},
+"Did not send SMS, missing patient mobile number or message content.","Nie wysłano SMS-a, brak numeru telefonu komórkowego pacjenta lub treści wiadomości.",
+No Lab Tests created,Nie utworzono testów laboratoryjnych,
+Creating Lab Tests...,Tworzenie testów laboratoryjnych ...,
+Lab Test Group Template,Szablon grupy testów laboratoryjnych,
+Add New Line,Dodaj nową linię,
+Secondary UOM,Druga jednostka miary,
+"<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>Pojedynczy</b> : wyniki wymagające tylko jednego wprowadzenia.<br> <b>Złożone</b> : wyniki wymagające wielu wejść zdarzeń.<br> <b>Opisowe</b> : testy, które mają wiele składników wyników z ręcznym wprowadzaniem wyników.<br> <b>Zgrupowane</b> : szablony testów, które są grupą innych szablonów testów.<br> <b>Brak wyników</b> : Testy bez wyników można zamówić i zafakturować, ale nie zostaną utworzone żadne testy laboratoryjne. na przykład. Testy podrzędne dla wyników zgrupowanych",
+"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Jeśli odznaczone, pozycja nie będzie dostępna na fakturach sprzedaży do fakturowania, ale może być używana do tworzenia testów grupowych.",
+Description ,Opis,
+Descriptive Test,Test opisowy,
+Group Tests,Testy grupowe,
+Instructions to be printed on the worksheet,Instrukcje do wydrukowania w arkuszu,
+"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Informacje ułatwiające interpretację raportu z testu zostaną wydrukowane jako część wyniku testu laboratoryjnego.,
+Normal Test Result,Normalny wynik testu,
+Secondary UOM Result,Dodatkowy wynik UOM,
+Italic,italski,
+Underline,Podkreślać,
+Organism,Organizm,
+Organism Test Item,Przedmiot badania organizmu,
+Colony Population,Populacja kolonii,
+Colony UOM,Colony UOM,
+Tobacco Consumption (Past),Zużycie tytoniu (w przeszłości),
+Tobacco Consumption (Present),Zużycie tytoniu (obecne),
+Alcohol Consumption (Past),Spożycie alkoholu (w przeszłości),
+Alcohol Consumption (Present),Spożycie alkoholu (obecne),
+Billing Item,Pozycja rozliczeniowa,
+Medical Codes,Kody medyczne,
+Clinical Procedures,Procedury kliniczne,
+Order Admission,Zamów wstęp,
+Scheduling Patient Admission,Planowanie przyjęcia pacjenta,
+Order Discharge,Zamów rozładunek,
+Sample Details,Przykładowe szczegóły,
+Collected On,Zebrano dnia,
+No. of prints,Liczba wydruków,
+Number of prints required for labelling the samples,Liczba odbitek wymaganych do oznakowania próbek,
+HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
+In Time,W samą porę,
+Out Time,Out Time,
+Payroll Cost Center,Centrum kosztów listy płac,
+Approvers,Osoby zatwierdzające,
+The first Approver in the list will be set as the default Approver.,Pierwsza osoba zatwierdzająca na liście zostanie ustawiona jako domyślna osoba zatwierdzająca.,
+Shift Request Approver,Zatwierdzający prośbę o zmianę,
+PAN Number,Numer PAN,
+Provident Fund Account,Konto funduszu rezerwowego,
+MICR Code,Kod MICR,
+Repay unclaimed amount from salary,Zwróć nieodebraną kwotę z wynagrodzenia,
+Deduction from salary,Odliczenie od wynagrodzenia,
+Expired Leaves,Wygasłe liście,
+Reference No,Nr referencyjny,
+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.,"Procent redukcji wartości to różnica procentowa między wartością rynkową Papieru Wartościowego Kredytu a wartością przypisaną temu Papierowi Wartościowemu Kredytowemu, gdy jest stosowany jako zabezpieczenie tej pożyczki.",
+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 ,"Wskaźnik kredytu do wartości jest stosunkiem kwoty kredytu do wartości zastawionego zabezpieczenia. Niedobór zabezpieczenia pożyczki zostanie wyzwolony, jeśli spadnie poniżej określonej wartości dla jakiejkolwiek pożyczki",
+If this is not checked the loan by default will be considered as a Demand Loan,"Jeśli opcja ta nie zostanie zaznaczona, pożyczka domyślnie zostanie uznana za pożyczkę na żądanie",
+This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"To konto służy do księgowania spłat pożyczki od pożyczkobiorcy, a także do wypłaty pożyczki pożyczkobiorcy",
+This account is capital account which is used to allocate capital for loan disbursal account ,"Rachunek ten jest rachunkiem kapitałowym, który służy do alokacji kapitału na rachunek wypłat pożyczki",
+This account will be used for booking loan interest accruals,To konto będzie używane do księgowania narosłych odsetek od kredytu,
+This account will be used for booking penalties levied due to delayed repayments,To konto będzie wykorzystywane do księgowania kar pobieranych z powodu opóźnionych spłat,
+Variant BOM,Wariant BOM,
+Template Item,Element szablonu,
+Select template item,Wybierz element szablonu,
+Select variant item code for the template item {0},Wybierz kod pozycji wariantu dla elementu szablonu {0},
+Downtime Entry,Wejście na czas przestoju,
+DT-,DT-,
+Workstation / Machine,Stacja robocza / maszyna,
+Operator,Operator,
+In Mins,W min,
+Downtime Reason,Przyczyna przestoju,
+Stop Reason,Stop Reason,
+Excessive machine set up time,Zbyt długi czas konfiguracji maszyny,
+Unplanned machine maintenance,Nieplanowana konserwacja maszyny,
+On-machine press checks,Kontrola prasy na maszynie,
+Machine operator errors,Błędy operatora maszyny,
+Machine malfunction,Awaria maszyny,
+Electricity down,Brak prądu,
+Operation Row Number,Numer wiersza operacji,
+Operation {0} added multiple times in the work order {1},Operacja {0} dodana wiele razy w zleceniu pracy {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.","Jeśli zaznaczone, w jednym zleceniu pracy można użyć wielu materiałów. Jest to przydatne, jeśli wytwarzany jest jeden lub więcej czasochłonnych produktów.",
+Backflush Raw Materials,Surowce do płukania wstecznego,
+"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.","Wpis magazynowy typu „Produkcja” jest znany jako przepłukiwanie wsteczne. Surowce zużywane do produkcji wyrobów gotowych nazywa się płukaniem wstecznym.<br><br> Podczas tworzenia wpisu produkcji, pozycje surowców są przepłukiwane wstecznie na podstawie BOM pozycji produkcyjnej. Jeśli chcesz, aby pozycje surowców były wypłukiwane wstecznie na podstawie wpisu przeniesienia materiału dokonanego w ramach tego zlecenia pracy, możesz ustawić go w tym polu.",
+Work In Progress Warehouse,Magazyn Work In Progress,
+This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Ten magazyn będzie automatycznie aktualizowany w polu Work In Progress Warehouse w Work Orders.,
+Finished Goods Warehouse,Magazyn Wyrobów Gotowych,
+This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Ten magazyn zostanie automatycznie zaktualizowany w polu Magazyn docelowy zlecenia pracy.,
+"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Jeśli zaznaczone, koszt BOM zostanie automatycznie zaktualizowany na podstawie kursu wyceny / kursu cennika / ostatniego kursu zakupu surowców.",
+Source Warehouses (Optional),Magazyny źródłowe (opcjonalnie),
+"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","System odbierze materiały z wybranych magazynów. Jeśli nie zostanie określony, system utworzy zapytanie o materiał do zakupu.",
+Lead Time,Czas oczekiwania,
+PAN Details,Szczegóły PAN,
+Create Customer,Utwórz klienta,
+Invoicing,Fakturowanie,
+Enable Auto Invoicing,Włącz automatyczne fakturowanie,
+Send Membership Acknowledgement,Wyślij potwierdzenie członkostwa,
+Send Invoice with Email,Wyślij fakturę e-mailem,
+Membership Print Format,Format wydruku członkostwa,
+Invoice Print Format,Format wydruku faktury,
+Revoke <Key></Key>,Unieważnić&lt;Key&gt;&lt;/Key&gt;,
+You can learn more about memberships in the manual. ,Więcej informacji na temat członkostwa można znaleźć w instrukcji.,
+ERPNext Docs,Dokumenty ERPNext,
+Regenerate Webhook Secret,Zregeneruj sekret Webhooka,
+Generate Webhook Secret,Wygeneruj klucz Webhook,
+Copy Webhook URL,Skopiuj adres URL webhooka,
+Linked Item,Powiązany element,
+Is Recurring,Powtarza się,
+HRA Exemption,Zwolnienie z HRA,
+Monthly House Rent,Miesięczny czynsz za dom,
+Rented in Metro City,Wynajęte w Metro City,
+HRA as per Salary Structure,HRA zgodnie ze strukturą wynagrodzeń,
+Annual HRA Exemption,Coroczne zwolnienie z HRA,
+Monthly HRA Exemption,Miesięczne zwolnienie z HRA,
+House Rent Payment Amount,Kwota spłaty czynszu za dom,
+Rented From Date,Wypożyczone od daty,
+Rented To Date,Wypożyczone do dnia,
+Monthly Eligible Amount,Kwota kwalifikowana miesięcznie,
+Total Eligible HRA Exemption,Całkowite kwalifikujące się zwolnienie z HRA,
+Validating Employee Attendance...,Weryfikacja obecności pracowników ...,
+Submitting Salary Slips and creating Journal Entry...,Przesyłanie odcinków wynagrodzenia i tworzenie zapisów księgowych ...,
+Calculate Payroll Working Days Based On,Oblicz dni robocze listy płac na podstawie,
+Consider Unmarked Attendance As,Rozważ nieoznaczoną obecność jako,
+Fraction of Daily Salary for Half Day,Część dziennego wynagrodzenia za pół dnia,
+Component Type,Typ komponentu,
+Provident Fund,Fundusz emerytalny,
+Additional Provident Fund,Dodatkowy fundusz emerytalny,
+Provident Fund Loan,Pożyczka z funduszu emerytalnego,
+Professional Tax,Podatek zawodowy,
+Is Income Tax Component,Składnik podatku dochodowego,
+Component properties and references ,Właściwości i odniesienia komponentów,
+Additional Salary ,Dodatkowe wynagrodzenie,
+Unmarked days,Nieoznakowane dni,
+Absent Days,Nieobecne dni,
+Conditions and Formula variable and example,Warunki i zmienna formuły oraz przykład,
+Feedback By,Informacje zwrotne od,
+Manufacturing Section,Sekcja Produkcyjna,
+"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Domyślnie nazwa klienta jest ustawiona zgodnie z wprowadzoną pełną nazwą. Jeśli chcesz, aby klienci byli nazwani przez",
+Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Skonfiguruj domyślny Cennik podczas tworzenia nowej transakcji sprzedaży. Ceny pozycji zostaną pobrane z tego Cennika.,
+"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.","Jeśli ta opcja jest skonfigurowana jako „Tak”, ERPNext uniemożliwi utworzenie faktury sprzedaży lub dokumentu dostawy bez wcześniejszego tworzenia zamówienia sprzedaży. Tę konfigurację można zastąpić dla konkretnego klienta, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur sprzedaży bez zamówienia sprzedaży” w karcie głównej Klient.",
+"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.","Jeśli ta opcja jest skonfigurowana jako `` Tak &#39;&#39;, ERPNext uniemożliwi utworzenie faktury sprzedaży bez uprzedniego utworzenia dowodu dostawy. Tę konfigurację można zastąpić dla konkretnego klienta, zaznaczając pole wyboru „Zezwalaj na tworzenie faktur sprzedaży bez dowodu dostawy” we wzorcu klienta.",
+Default Warehouse for Sales Return,Domyślny magazyn do zwrotu sprzedaży,
+Default In Transit Warehouse,Domyślnie w magazynie tranzytowym,
+Enable Perpetual Inventory For Non Stock Items,Włącz ciągłe zapasy dla pozycji nie będących na stanie,
+HRA Settings,Ustawienia HRA,
+Basic Component,Element podstawowy,
+HRA Component,Komponent HRA,
+Arrear Component,Składnik zaległości,
+Please enter the company name to confirm,"Wprowadź nazwę firmy, aby potwierdzić",
+Quotation Lost Reason Detail,Szczegóły dotyczące utraconego powodu oferty,
+Enable Variants,Włącz warianty,
+Save Quotations as Draft,Zapisz oferty jako wersję roboczą,
+MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
+Please Select a Customer,Wybierz klienta,
+Against Delivery Note Item,Za list przewozowy,
+Is Non GST ,Nie zawiera podatku GST,
+Image Description,Opis obrazu,
+Transfer Status,Status transferu,
+MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
+Track this Purchase Receipt against any Project,Śledź ten dowód zakupu w dowolnym projekcie,
+Please Select a Supplier,Wybierz dostawcę,
+Add to Transit,Dodaj do transportu publicznego,
+Set Basic Rate Manually,Ustaw ręcznie stawkę podstawową,
+"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","Domyślnie nazwa pozycji jest ustawiona zgodnie z wprowadzonym kodem pozycji. Jeśli chcesz, aby elementy miały nazwę",
+Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Ustaw domyślny magazyn dla transakcji magazynowych. Zostanie to przeniesione do domyślnego magazynu w głównym module.,
+"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.","Umożliwi to wyświetlanie pozycji magazynowych w wartościach ujemnych. Korzystanie z tej opcji zależy od przypadku użycia. Gdy ta opcja jest odznaczona, system ostrzega przed zablokowaniem transakcji powodującej ujemny stan zapasów.",
+Choose between FIFO and Moving Average Valuation Methods. Click ,Wybierz metodę wyceny FIFO i ruchomą średnią wycenę. Kliknij,
+ to know more about them.,aby dowiedzieć się o nich więcej.,
+Show 'Scan Barcode' field above every child table to insert Items with ease.,"Pokaż pole „Skanuj kod kreskowy” nad każdą tabelą podrzędną, aby z łatwością wstawiać elementy.",
+"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.","Numery seryjne dla zapasów zostaną ustawione automatycznie na podstawie pozycji wprowadzonych w oparciu o pierwsze weszło pierwsze wyszło w transakcjach, takich jak faktury zakupu / sprzedaży, dowody dostawy itp.",
+"If blank, parent Warehouse Account or company default will be considered in transactions","Jeśli puste, nadrzędne konto magazynu lub wartość domyślna firmy będą brane pod uwagę w transakcjach",
+Service Level Agreement Details,Szczegóły umowy dotyczącej poziomu usług,
+Service Level Agreement Status,Status umowy dotyczącej poziomu usług,
+On Hold Since,Wstrzymane od,
+Total Hold Time,Całkowity czas wstrzymania,
+Response Details,Szczegóły odpowiedzi,
+Average Response Time,Średni czas odpowiedzi,
+User Resolution Time,Czas rozwiązania użytkownika,
+SLA is on hold since {0},Umowa SLA została wstrzymana od {0},
+Pause SLA On Status,Wstrzymaj status SLA,
+Pause SLA On,Wstrzymaj SLA,
+Greetings Section,Sekcja Pozdrowienia,
+Greeting Title,Tytuł powitania,
+Greeting Subtitle,Podtytuł powitania,
+Youtube ID,Identyfikator YouTube,
+Youtube Statistics,Statystyki YouTube,
+Views,Wyświetlenia,
+Dislikes,Nie lubi,
+Video Settings,Ustawienia wideo,
+Enable YouTube Tracking,Włącz śledzenie w YouTube,
+30 mins,30 minut,
+1 hr,1 godz,
+6 hrs,6 godz,
+Patient Progress,Postęp pacjenta,
+Targetted,Ukierunkowane,
+Score Obtained,Wynik uzyskany,
+Sessions,Sesje,
+Average Score,Średni wynik,
+Select Assessment Template,Wybierz szablon oceny,
+ out of ,poza,
+Select Assessment Parameter,Wybierz parametr oceny,
+Gender: ,Płeć:,
+Contact: ,Kontakt:,
+Total Therapy Sessions: ,Sesje terapeutyczne:,
+Monthly Therapy Sessions: ,Comiesięczne sesje terapeutyczne:,
+Patient Profile,Profil pacjenta,
+Point Of Sale,Punkt sprzedaży,
+Email sent successfully.,E-mail wysłany pomyślnie.,
+Search by invoice id or customer name,Wyszukaj według identyfikatora faktury lub nazwy klienta,
+Invoice Status,Status faktury,
+Filter by invoice status,Filtruj według statusu faktury,
+Select item group,Wybierz grupę towarów,
+No items found. Scan barcode again.,Nie znaleziono żadnych przedmiotów. Ponownie zeskanuj kod kreskowy.,
+"Search by customer name, phone, email.","Szukaj według nazwy klienta, telefonu, adresu e-mail.",
+Enter discount percentage.,Wpisz procent rabatu.,
+Discount cannot be greater than 100%,Rabat nie może być większy niż 100%,
+Enter customer's email,Wpisz adres e-mail klienta,
+Enter customer's phone number,Wpisz numer telefonu klienta,
+Customer contact updated successfully.,Kontakt z klientem został zaktualizowany pomyślnie.,
+Item will be removed since no serial / batch no selected.,"Pozycja zostanie usunięta, ponieważ nie wybrano numeru seryjnego / partii.",
+Discount (%),Zniżka (%),
+You cannot submit the order without payment.,Nie możesz złożyć zamówienia bez zapłaty.,
+You cannot submit empty order.,Nie możesz złożyć pustego zamówienia.,
+To Be Paid,Do zapłacenia,
+Create POS Opening Entry,Utwórz wpis otwarcia POS,
+Please add Mode of payments and opening balance details.,Proszę dodać tryb płatności i szczegóły bilansu otwarcia.,
+Toggle Recent Orders,Przełącz ostatnie zamówienia,
+Save as Draft,Zapisz jako szkic,
+You must add atleast one item to save it as draft.,"Musisz dodać co najmniej jeden element, aby zapisać go jako wersję roboczą.",
+There was an error saving the document.,Wystąpił błąd podczas zapisywania dokumentu.,
+You must select a customer before adding an item.,Przed dodaniem pozycji musisz wybrać klienta.,
+Please Select a Company,Wybierz firmę,
+Active Leads,Aktywni leady,
+Please Select a Company.,Wybierz firmę.,
+BOM Operations Time,Czas operacji BOM,
+BOM ID,ID BOM,
+BOM Item Code,Kod pozycji BOM,
+Time (In Mins),Czas (w minutach),
+Sub-assembly BOM Count,Liczba BOM podzespołów,
+View Type,Typ widoku,
+Total Delivered Amount,Całkowita dostarczona kwota,
+Downtime Analysis,Analiza przestojów,
+Machine,Maszyna,
+Downtime (In Hours),Przestój (w godzinach),
+Employee Analytics,Analizy pracowników,
+"""From date"" can not be greater than or equal to ""To date""",„Data od” nie może być większa niż lub równa „Do dnia”,
+Exponential Smoothing Forecasting,Prognozowanie wygładzania wykładniczego,
+First Response Time for Issues,Czas pierwszej reakcji na problemy,
+First Response Time for Opportunity,Czas pierwszej reakcji na okazję,
+Depreciatied Amount,Kwota umorzona,
+Period Based On,Okres oparty na,
+Date Based On,Data na podstawie,
+{0} and {1} are mandatory,{0} i {1} są obowiązkowe,
+Consider Accounting Dimensions,Rozważ wymiary księgowe,
+Income Tax Deductions,Potrącenia podatku dochodowego,
+Income Tax Component,Składnik podatku dochodowego,
+Income Tax Amount,Kwota podatku dochodowego,
+Reserved Quantity for Production,Zarezerwowana ilość do produkcji,
+Projected Quantity,Prognozowana ilość,
+ Total Sales Amount,Całkowita kwota sprzedaży,
+Job Card Summary,Podsumowanie karty pracy,
+Id,ID,
+Time Required (In Mins),Wymagany czas (w minutach),
+From Posting Date,Od daty księgowania,
+To Posting Date,Do daty wysłania,
+No records found,Nic nie znaleziono,
+Customer/Lead Name,Nazwa klienta / potencjalnego klienta,
+Unmarked Days,Nieoznaczone dni,
+Jan,Jan,
+Feb,Luty,
+Mar,Zniszczyć,
+Apr,Kwi,
+Aug,Sie,
+Sep,Wrz,
+Oct,Paź,
+Nov,Lis,
+Dec,Dec,
+Summarized View,Podsumowanie,
+Production Planning Report,Raport planowania produkcji,
+Order Qty,Zamówiona ilość,
+Raw Material Code,Kod surowca,
+Raw Material Name,Nazwa surowca,
+Allotted Qty,Przydzielona ilość,
+Expected Arrival Date,Oczekiwana data przyjazdu,
+Arrival Quantity,Ilość przybycia,
+Raw Material Warehouse,Magazyn surowców,
+Order By,Zamów przez,
+Include Sub-assembly Raw Materials,Uwzględnij surowce podzespołów,
+Professional Tax Deductions,Profesjonalne potrącenia podatkowe,
+Program wise Fee Collection,Programowe pobieranie opłat,
+Fees Collected,Pobrane opłaty,
+Project Summary,Podsumowanie projektu,
+Total Tasks,Całkowita liczba zadań,
+Tasks Completed,Zadania zakończone,
+Tasks Overdue,Zadania zaległe,
+Completion,Ukończenie,
+Provident Fund Deductions,Potrącenia z funduszu rezerwowego,
+Purchase Order Analysis,Analiza zamówienia,
+From and To Dates are required.,Wymagane są daty od i do.,
+To Date cannot be before From Date.,Data do nie może być wcześniejsza niż data początkowa.,
+Qty to Bill,Ilość do rachunku,
+Group by Purchase Order,Grupuj według zamówienia,
+ Purchase Value,Wartość zakupu,
+Total Received Amount,Całkowita otrzymana kwota,
+Quality Inspection Summary,Podsumowanie kontroli jakości,
+ Quoted Amount,Kwota podana,
+Lead Time (Days),Czas realizacji (dni),
+Include Expired,Uwzględnij wygasły,
+Recruitment Analytics,Analizy rekrutacyjne,
+Applicant name,Nazwa wnioskodawcy,
+Job Offer status,Status oferty pracy,
+On Date,Na randkę,
+Requested Items to Order and Receive,Żądane pozycje do zamówienia i odbioru,
+Salary Payments Based On Payment Mode,Płatności wynagrodzeń w zależności od trybu płatności,
+Salary Payments via ECS,Wypłaty wynagrodzenia za pośrednictwem ECS,
+Account No,Nr konta,
+IFSC,IFSC,
+MICR,MICR,
+Sales Order Analysis,Analiza zleceń sprzedaży,
+Amount Delivered,Dostarczona kwota,
+Delay (in Days),Opóźnienie (w dniach),
+Group by Sales Order,Grupuj według zamówienia sprzedaży,
+ Sales Value,Wartość sprzedaży,
+Stock Qty vs Serial No Count,Ilość w magazynie a numer seryjny,
+Serial No Count,Numer seryjny,
+Work Order Summary,Podsumowanie zlecenia pracy,
+Produce Qty,Wyprodukuj ilość,
+Lead Time (in mins),Czas realizacji (w minutach),
+Charts Based On,Wykresy na podstawie,
+YouTube Interactions,Interakcje w YouTube,
+Published Date,Data publikacji,
+Barnch,Barnch,
+Select a Company,Wybierz firmę,
+Opportunity {0} created,Możliwość {0} została utworzona,
+Kindly select the company first,Najpierw wybierz firmę,
+Please enter From Date and To Date to generate JSON,"Wprowadź datę początkową i datę końcową, aby wygenerować JSON",
+PF Account,Konto PF,
+PF Amount,Kwota PF,
+Additional PF,Dodatkowe PF,
+PF Loan,Pożyczka PF,
+Download DATEV File,Pobierz plik DATEV,
+Numero has not set in the XML file,Numero nie ustawił w pliku XML,
+Inward Supplies(liable to reverse charge),Dostawy przychodzące (podlegające odwrotnemu obciążeniu),
+This is based on the course schedules of this Instructor,Jest to oparte na harmonogramach kursów tego instruktora,
+Course and Assessment,Kurs i ocena,
+Course {0} has been added to all the selected programs successfully.,Kurs {0} został pomyślnie dodany do wszystkich wybranych programów.,
+Programs updated,Programy zaktualizowane,
+Program and Course,Program i kurs,
+{0} or {1} is mandatory,{0} lub {1} jest obowiązkowe,
+Mandatory Fields,Pola obowiązkowe,
+Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} nie należy do grupy uczniów {2},
+Student Attendance record {0} already exists against the Student {1},Rekord frekwencji {0} dla ucznia {1} już istnieje,
+Duplicate Entry,Zduplikowana wartość,
+Course and Fee,Kurs i opłata,
+Not eligible for the admission in this program as per Date Of Birth,Nie kwalifikuje się do przyjęcia w tym programie według daty urodzenia,
+Topic {0} has been added to all the selected courses successfully.,Temat {0} został pomyślnie dodany do wszystkich wybranych kursów.,
+Courses updated,Kursy zostały zaktualizowane,
+{0} {1} has been added to all the selected topics successfully.,Temat {0} {1} został pomyślnie dodany do wszystkich wybranych tematów.,
+Topics updated,Zaktualizowano tematy,
+Academic Term and Program,Okres akademicki i program,
+Please remove this item and try to submit again or update the posting time.,Usuń ten element i spróbuj przesłać go ponownie lub zaktualizuj czas publikacji.,
+Failed to Authenticate the API key.,Nie udało się uwierzytelnić klucza API.,
+Invalid Credentials,Nieprawidłowe dane logowania,
+URL can only be a string,URL może być tylko ciągiem,
+"Here is your webhook secret, this will be shown to you only once.","Oto Twój sekret webhooka, zostanie on pokazany tylko raz.",
+The payment for this membership is not paid. To generate invoice fill the payment details,Opłata za to członkostwo nie jest opłacana. Aby wygenerować fakturę wypełnij szczegóły płatności,
+An invoice is already linked to this document,Faktura jest już połączona z tym dokumentem,
+No customer linked to member {},Żaden klient nie jest powiązany z członkiem {},
+You need to set <b>Debit Account</b> in Membership Settings,Musisz ustawić <b>konto debetowe</b> w ustawieniach członkostwa,
+You need to set <b>Default Company</b> for invoicing in Membership Settings,Musisz ustawić <b>domyślną firmę</b> do fakturowania w ustawieniach członkostwa,
+You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Musisz włączyć <b>wysyłanie wiadomości e-mail z potwierdzeniem</b> w ustawieniach członkostwa,
+Error creating membership entry for {0},Błąd podczas tworzenia wpisu członkowskiego dla {0},
+A customer is already linked to this Member,Klient jest już powiązany z tym członkiem,
+End Date must not be lesser than Start Date,Data zakończenia nie może być wcześniejsza niż data rozpoczęcia,
+Employee {0} already has Active Shift {1}: {2},Pracownik {0} ma już aktywną zmianę {1}: {2},
+ from {0},od {0},
+ to {0},do {0},
+Please select Employee first.,Najpierw wybierz pracownika.,
+Please set {0} for the Employee or for Department: {1},Ustaw {0} dla pracownika lub działu: {1},
+To Date should be greater than From Date,Data do powinna być większa niż Data początkowa,
+Employee Onboarding: {0} is already for Job Applicant: {1},Dołączanie pracowników: {0} jest już dla kandydatów o pracę: {1},
+Job Offer: {0} is already for Job Applicant: {1},Oferta pracy: {0} jest już dla osoby ubiegającej się o pracę: {1},
+Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Można przesłać tylko żądanie zmiany ze statusem „Zatwierdzono” i „Odrzucono”,
+Shift Assignment: {0} created for Employee: {1},Przydział zmiany: {0} utworzony dla pracownika: {1},
+You can not request for your Default Shift: {0},Nie możesz zażądać zmiany domyślnej: {0},
+Only Approvers can Approve this Request.,Tylko osoby zatwierdzające mogą zatwierdzić tę prośbę.,
+Asset Value Analytics,Analiza wartości aktywów,
+Category-wise Asset Value,Wartość aktywów według kategorii,
+Total Assets,Aktywa ogółem,
+New Assets (This Year),Nowe zasoby (w tym roku),
+Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Wiersz nr {}: Data księgowania amortyzacji nie powinna być równa dacie dostępności do użycia.,
+Incorrect Date,Nieprawidłowa data,
+Invalid Gross Purchase Amount,Nieprawidłowa kwota zakupu brutto,
+There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Aktywna konserwacja lub naprawy są aktywne. Musisz je wszystkie wypełnić przed anulowaniem zasobu.,
+% Complete,% Ukończone,
+Back to Course,Powrót do kursu,
+Finish Topic,Zakończ temat,
+Mins,Min,
+by,przez,
+Back to,Wrócić do,
+Enrolling...,Rejestracja ...,
+You have successfully enrolled for the program ,Z powodzeniem zapisałeś się do programu,
+Enrolled,Zarejestrowany,
+Watch Intro,Obejrzyj wprowadzenie,
+We're here to help!,"Jesteśmy tutaj, aby pomóc!",
+Frequently Read Articles,Często czytane artykuły,
+Please set a default company address,Ustaw domyślny adres firmy,
+{0} is not a valid state! Check for typos or enter the ISO code for your state.,"{0} nie jest prawidłowym stanem! Sprawdź, czy nie ma literówek lub wprowadź kod ISO swojego stanu.",
+Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,"Wystąpił błąd podczas analizowania planu kont: upewnij się, że żadne dwa konta nie mają tej samej nazwy",
+Plaid invalid request error,Błąd żądania nieprawidłowego kratki,
+Please check your Plaid client ID and secret values,Sprawdź identyfikator klienta Plaid i tajne wartości,
+Bank transaction creation error,Błąd tworzenia transakcji bankowej,
+Unit of Measurement,Jednostka miary,
+Fiscal Year {0} Does Not Exist,Rok podatkowy {0} nie istnieje,
+Row # {0}: Returned Item {1} does not exist in {2} {3},Wiersz nr {0}: zwrócona pozycja {1} nie istnieje w {2} {3},
+Valuation type charges can not be marked as Inclusive,Opłaty związane z rodzajem wyceny nie mogą być oznaczone jako zawierające,
+You do not have permissions to {} items in a {}.,Nie masz uprawnień do {} elementów w {}.,
+Insufficient Permissions,Niewystarczające uprawnienia,
+You are not allowed to update as per the conditions set in {} Workflow.,Nie możesz aktualizować zgodnie z warunkami określonymi w {} Przepływie pracy.,
+Expense Account Missing,Brak konta wydatków,
+{0} is not a valid Value for Attribute {1} of Item {2}.,{0} nie jest prawidłową wartością atrybutu {1} elementu {2}.,
+Invalid Value,Niewłaściwa wartość,
+The value {0} is already assigned to an existing Item {1}.,Wartość {0} jest już przypisana do istniejącego elementu {1}.,
+"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Aby nadal edytować tę wartość atrybutu, włącz opcję {0} w ustawieniach wariantu elementu.",
+Edit Not Allowed,Edycja niedozwolona,
+Row #{0}: Item {1} is already fully received in Purchase Order {2},Wiersz nr {0}: pozycja {1} jest już w całości otrzymana w zamówieniu {2},
+You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Nie można tworzyć ani anulować żadnych zapisów księgowych w zamkniętym okresie rozliczeniowym {0},
+POS Invoice should have {} field checked.,Faktura POS powinna mieć zaznaczone pole {}.,
+Invalid Item,Nieprawidłowy przedmiot,
+Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,"Wiersz nr {}: nie można dodać ilości dodatnich do faktury zwrotnej. Usuń przedmiot {}, aby dokończyć zwrot.",
+The selected change account {} doesn't belongs to Company {}.,Wybrane konto zmiany {} nie należy do firmy {}.,
+Atleast one invoice has to be selected.,Należy wybrać przynajmniej jedną fakturę.,
+Payment methods are mandatory. Please add at least one payment method.,Metody płatności są obowiązkowe. Dodaj co najmniej jedną metodę płatności.,
+Please select a default mode of payment,Wybierz domyślny sposób płatności,
+You can only select one mode of payment as default,Możesz wybrać tylko jeden sposób płatności jako domyślny,
+Missing Account,Brakujące konto,
+Customers not selected.,Klienci nie wybrani.,
+Statement of Accounts,Wyciąg z konta,
+Ageing Report Based On ,Raport dotyczący starzenia na podstawie,
+Please enter distributed cost center,Wprowadź rozproszone centrum kosztów,
+Total percentage allocation for distributed cost center should be equal to 100,Całkowita alokacja procentowa dla rozproszonego centrum kosztów powinna wynosić 100,
+Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Nie można włączyć rozproszonego miejsca powstawania kosztów dla centrum kosztów już przydzielonego w innym rozproszonym miejscu kosztów,
+Parent Cost Center cannot be added in Distributed Cost Center,Nadrzędnego miejsca powstawania kosztów nie można dodać do rozproszonego miejsca powstawania kosztów,
+A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Nie można dodać Distributed Cost Center do tabeli alokacji Distributed Cost Center.,
+Cost Center with enabled distributed cost center can not be converted to group,Centrum kosztów z włączonym rozproszonym centrum kosztów nie może zostać przekonwertowane na grupę,
+Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Centrum kosztów już alokowane w rozproszonym miejscu powstawania kosztów nie może zostać przekonwertowane na grupę,
+Trial Period Start date cannot be after Subscription Start Date,Data rozpoczęcia okresu próbnego nie może być późniejsza niż data rozpoczęcia subskrypcji,
+Subscription End Date must be after {0} as per the subscription plan,Data zakończenia subskrypcji musi przypadać po {0} zgodnie z planem subskrypcji,
+Subscription End Date is mandatory to follow calendar months,"Data zakończenia subskrypcji jest obowiązkowa, aby przestrzegać miesięcy kalendarzowych",
+Row #{}: POS Invoice {} is not against customer {},Wiersz nr {}: faktura POS {} nie jest skierowana przeciwko klientowi {},
+Row #{}: POS Invoice {} is not submitted yet,Wiersz nr {}: faktura POS {} nie została jeszcze przesłana,
+Row #{}: POS Invoice {} has been {},Wiersz nr {}: faktura POS {} została {},
+No Supplier found for Inter Company Transactions which represents company {0},Nie znaleziono dostawcy dla transakcji międzyfirmowych reprezentującego firmę {0},
+No Customer found for Inter Company Transactions which represents company {0},Nie znaleziono klienta dla transakcji międzyfirmowych reprezentującego firmę {0},
+Invalid Period,Nieprawidłowy okres,
+Selected POS Opening Entry should be open.,Wybrane wejście otwierające POS powinno być otwarte.,
+Invalid Opening Entry,Nieprawidłowy wpis otwierający,
+Please set a Company,Ustaw firmę,
+"Sorry, this coupon code's validity has not started","Przepraszamy, ważność tego kodu kuponu jeszcze się nie rozpoczęła",
+"Sorry, this coupon code's validity has expired","Przepraszamy, ważność tego kuponu wygasła",
+"Sorry, this coupon code is no longer valid","Przepraszamy, ten kod kuponu nie jest już ważny",
+For the 'Apply Rule On Other' condition the field {0} is mandatory,W przypadku warunku „Zastosuj regułę do innej” pole {0} jest obowiązkowe,
+{1} Not in Stock,{1} Niedostępny,
+Only {0} in Stock for item {1},Tylko {0} w magazynie dla produktu {1},
+Please enter a coupon code,Wprowadź kod kuponu,
+Please enter a valid coupon code,Wpisz prawidłowy kod kuponu,
+Invalid Child Procedure,Nieprawidłowa procedura podrzędna,
+Import Italian Supplier Invoice.,Import włoskiej faktury dostawcy.,
+"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.",Stawka wyceny dla przedmiotu {0} jest wymagana do zapisów księgowych dla {1} {2}.,
+ Here are the options to proceed:,"Oto opcje, aby kontynuować:",
+"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.","Jeśli przedmiot jest przedmiotem transakcji jako pozycja z zerową wartością wyceny w tym wpisie, włącz opcję „Zezwalaj na zerową stawkę wyceny” w {0} tabeli pozycji.",
+"If not, you can Cancel / Submit this entry ","Jeśli nie, możesz anulować / przesłać ten wpis",
+ performing either one below:,wykonując jedną z poniższych czynności:,
+Create an incoming stock transaction for the Item.,Utwórz przychodzącą transakcję magazynową dla towaru.,
+Mention Valuation Rate in the Item master.,W głównym elemencie przedmiotu należy wspomnieć o współczynniku wyceny.,
+Valuation Rate Missing,Brak kursu wyceny,
+Serial Nos Required,Wymagane numery seryjne,
+Quantity Mismatch,Niedopasowanie ilości,
+"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Uzupełnij pozycje i zaktualizuj listę wyboru, aby kontynuować. Aby przerwać, anuluj listę wyboru.",
+Out of Stock,Obecnie brak na stanie,
+{0} units of Item {1} is not available.,{0} jednostki produktu {1} nie są dostępne.,
+Item for row {0} does not match Material Request,Pozycja w wierszu {0} nie pasuje do żądania materiału,
+Warehouse for row {0} does not match Material Request,Magazyn dla wiersza {0} nie jest zgodny z żądaniem materiałowym,
+Accounting Entry for Service,Wpis księgowy za usługę,
+All items have already been Invoiced/Returned,Wszystkie pozycje zostały już zafakturowane / zwrócone,
+All these items have already been Invoiced/Returned,Wszystkie te pozycje zostały już zafakturowane / zwrócone,
+Stock Reconciliations,Uzgodnienia zapasów,
+Merge not allowed,Scalanie niedozwolone,
+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.,"Następujące usunięte atrybuty istnieją w wariantach, ale nie istnieją w szablonie. Możesz usunąć warianty lub zachować atrybut (y) w szablonie.",
+Variant Items,Elementy wariantowe,
+Variant Attribute Error,Błąd atrybutu wariantu,
+The serial no {0} does not belong to item {1},Numer seryjny {0} nie należy do produktu {1},
+There is no batch found against the {0}: {1},Nie znaleziono partii dla {0}: {1},
+Completed Operation,Operacja zakończona,
+Work Order Analysis,Analiza zlecenia pracy,
+Quality Inspection Analysis,Analiza kontroli jakości,
+Pending Work Order,Oczekujące zlecenie pracy,
+Last Month Downtime Analysis,Analiza przestojów w zeszłym miesiącu,
+Work Order Qty Analysis,Analiza ilości zleceń,
+Job Card Analysis,Analiza karty pracy,
+Monthly Total Work Orders,Miesięczne zamówienia łącznie,
+Monthly Completed Work Orders,Wykonane co miesiąc zamówienia,
+Ongoing Job Cards,Karty trwającej pracy,
+Monthly Quality Inspections,Comiesięczne kontrole jakości,
+(Forecast),(Prognoza),
+Total Demand (Past Data),Całkowity popyt (poprzednie dane),
+Total Forecast (Past Data),Prognoza całkowita (dane z przeszłości),
+Total Forecast (Future Data),Prognoza całkowita (dane przyszłe),
+Based On Document,Na podstawie dokumentu,
+Based On Data ( in years ),Na podstawie danych (w latach),
+Smoothing Constant,Stała wygładzania,
+Please fill the Sales Orders table,Prosimy o wypełnienie tabeli Zamówienia sprzedaży,
+Sales Orders Required,Wymagane zamówienia sprzedaży,
+Please fill the Material Requests table,Proszę wypełnić tabelę zamówień materiałowych,
+Material Requests Required,Wymagane żądania materiałów,
+Items to Manufacture are required to pull the Raw Materials associated with it.,Przedmioty do produkcji są zobowiązane do ściągnięcia związanych z nimi surowców.,
+Items Required,Wymagane elementy,
+Operation {0} does not belong to the work order {1},Operacja {0} nie należy do zlecenia pracy {1},
+Print UOM after Quantity,Drukuj UOM po Quantity,
+Set default {0} account for perpetual inventory for non stock items,Ustaw domyślne konto {0} dla ciągłych zapasów dla pozycji spoza magazynu,
+Loan Security {0} added multiple times,Bezpieczeństwo pożyczki {0} zostało dodane wiele razy,
+Loan Securities with different LTV ratio cannot be pledged against one loan,Dłużne Papiery Wartościowe o różnym wskaźniku LTV nie mogą być przedmiotem zastawu na jedną pożyczkę,
+Qty or Amount is mandatory for loan security!,Ilość lub kwota jest obowiązkowa dla zabezpieczenia kredytu!,
+Only submittted unpledge requests can be approved,Zatwierdzać można tylko przesłane żądania niezwiązane z próbą,
+Interest Amount or Principal Amount is mandatory,Kwota odsetek lub kwota główna jest obowiązkowa,
+Disbursed Amount cannot be greater than {0},Wypłacona kwota nie może być większa niż {0},
+Row {0}: Loan Security {1} added multiple times,Wiersz {0}: Bezpieczeństwo pożyczki {1} został dodany wiele razy,
+Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Wiersz nr {0}: Element podrzędny nie powinien być pakietem produktów. Usuń element {1} i zapisz,
+Credit limit reached for customer {0},Osiągnięto limit kredytowy dla klienta {0},
+Could not auto create Customer due to the following missing mandatory field(s):,Nie można automatycznie utworzyć klienta z powodu następujących brakujących pól obowiązkowych:,
+Please create Customer from Lead {0}.,Utwórz klienta z potencjalnego klienta {0}.,
+Mandatory Missing,Obowiązkowy brak,
+Please set Payroll based on in Payroll settings,Ustaw listę płac na podstawie w ustawieniach listy płac,
+Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Dodatkowe wynagrodzenie: {0} już istnieje dla składnika wynagrodzenia: {1} za okres {2} i {3},
+From Date can not be greater than To Date.,Data początkowa nie może być większa niż data początkowa.,
+Payroll date can not be less than employee's joining date.,Data wypłaty nie może być wcześniejsza niż data przystąpienia pracownika.,
+From date can not be less than employee's joining date.,Data początkowa nie może być wcześniejsza niż data przystąpienia pracownika.,
+To date can not be greater than employee's relieving date.,Do tej pory nie może być późniejsza niż data zwolnienia pracownika.,
+Payroll date can not be greater than employee's relieving date.,Data wypłaty nie może być późniejsza niż data zwolnienia pracownika.,
+Row #{0}: Please enter the result value for {1},Wiersz nr {0}: wprowadź wartość wyniku dla {1},
+Mandatory Results,Obowiązkowe wyniki,
+Sales Invoice or Patient Encounter is required to create Lab Tests,Do tworzenia testów laboratoryjnych wymagana jest faktura sprzedaży lub spotkanie z pacjentami,
+Insufficient Data,Niedostateczna ilość danych,
+Lab Test(s) {0} created successfully,Test (y) laboratoryjne {0} zostały utworzone pomyślnie,
+Test :,Test:,
+Sample Collection {0} has been created,Utworzono zbiór próbek {0},
+Normal Range: ,Normalny zakres:,
+Row #{0}: Check Out datetime cannot be less than Check In datetime,Wiersz nr {0}: Data i godzina wyewidencjonowania nie może być mniejsza niż data i godzina wyewidencjonowania,
+"Missing required details, did not create Inpatient Record","Brak wymaganych szczegółów, nie utworzono rekordu pacjenta",
+Unbilled Invoices,Niezafakturowane faktury,
+Standard Selling Rate should be greater than zero.,Standardowa cena sprzedaży powinna być większa niż zero.,
+Conversion Factor is mandatory,Współczynnik konwersji jest obowiązkowy,
+Row #{0}: Conversion Factor is mandatory,Wiersz nr {0}: współczynnik konwersji jest obowiązkowy,
+Sample Quantity cannot be negative or 0,Ilość próbki nie może być ujemna ani 0,
+Invalid Quantity,Nieprawidłowa ilość,
+"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Ustaw wartości domyślne dla grupy klientów, terytorium i cennika sprzedaży w Ustawieniach sprzedaży",
+{0} on {1},{0} na {1},
+{0} with {1},{0} z {1},
+Appointment Confirmation Message Not Sent,Wiadomość z potwierdzeniem spotkania nie została wysłana,
+"SMS not sent, please check SMS Settings","SMS nie został wysłany, sprawdź ustawienia SMS",
+Healthcare Service Unit Type cannot have both {0} and {1},Typ jednostki usług opieki zdrowotnej nie może mieć jednocześnie {0} i {1},
+Healthcare Service Unit Type must allow atleast one among {0} and {1},Typ jednostki usług opieki zdrowotnej musi dopuszczać co najmniej jedną spośród {0} i {1},
+Set Response Time and Resolution Time for Priority {0} in row {1}.,Ustaw czas odpowiedzi i czas rozwiązania dla priorytetu {0} w wierszu {1}.,
+Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Czas odpowiedzi dla {0} priorytetu w wierszu {1} nie może być dłuższy niż czas rozwiązania.,
+{0} is not enabled in {1},{0} nie jest włączony w {1},
+Group by Material Request,Grupuj według żądania materiału,
+Email Sent to Supplier {0},Wiadomość e-mail wysłana do dostawcy {0},
+"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Dostęp do zapytania ofertowego z portalu jest wyłączony. Aby zezwolić na dostęp, włącz go w ustawieniach portalu.",
+Supplier Quotation {0} Created,Oferta dostawcy {0} została utworzona,
+Valid till Date cannot be before Transaction Date,Data ważności do nie może być wcześniejsza niż data transakcji,
+Unlink Advance Payment on Cancellation of Order,Odłącz przedpłatę przy anulowaniu zamówienia,
+"Simple Python Expression, Example: territory != 'All Territories'","Proste wyrażenie w Pythonie, przykład: terytorium! = &#39;Wszystkie terytoria&#39;",
+Sales Contributions and Incentives,Składki na sprzedaż i zachęty,
+Sourced by Supplier,Źródło: Dostawca,
+Total weightage assigned should be 100%.<br>It is {0},Łączna przypisana waga powinna wynosić 100%.<br> To jest {0},
+Account {0} exists in parent company {1}.,Konto {0} istnieje w firmie macierzystej {1}.,
+"To overrule this, enable '{0}' in company {1}","Aby to zmienić, włącz „{0}” w firmie {1}",
+Invalid condition expression,Nieprawidłowe wyrażenie warunku,
+Please Select a Company First,Najpierw wybierz firmę,
+Please Select Both Company and Party Type First,Najpierw wybierz firmę i typ strony,
+Provide the invoice portion in percent,Podaj część faktury w procentach,
+Give number of days according to prior selection,Podaj liczbę dni według wcześniejszego wyboru,
+Email Details,Szczegóły wiadomości e-mail,
+"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Wybierz powitanie dla odbiorcy. Np. Pan, Pani itp.",
+Preview Email,Podgląd wiadomości e-mail,
+Please select a Supplier,Wybierz dostawcę,
+Supplier Lead Time (days),Czas oczekiwania dostawcy (dni),
+"Home, Work, etc.","Dom, praca itp.",
+Exit Interview Held On,Zakończ rozmowę kwalifikacyjną wstrzymaną,
+Condition and formula,Stan i formuła,
+Sets 'Target Warehouse' in each row of the Items table.,Ustawia „Magazyn docelowy” w każdym wierszu tabeli Towary.,
+Sets 'Source Warehouse' in each row of the Items table.,Ustawia „Magazyn źródłowy” w każdym wierszu tabeli Towary.,
+POS Register,Rejestr POS,
+"Can not filter based on POS Profile, if grouped by POS Profile","Nie można filtrować na podstawie profilu POS, jeśli są pogrupowane według profilu POS",
+"Can not filter based on Customer, if grouped by Customer","Nie można filtrować na podstawie klienta, jeśli jest pogrupowany według klienta",
+"Can not filter based on Cashier, if grouped by Cashier","Nie można filtrować na podstawie Kasjera, jeśli jest pogrupowane według Kasjera",
+Payment Method,Metoda płatności,
+"Can not filter based on Payment Method, if grouped by Payment Method","Nie można filtrować na podstawie metody płatności, jeśli są pogrupowane według metody płatności",
+Supplier Quotation Comparison,Porównanie ofert dostawców,
+Price per Unit (Stock UOM),Cena za jednostkę (JM z magazynu),
+Group by Supplier,Grupuj według dostawcy,
+Group by Item,Grupuj według pozycji,
+Remember to set {field_label}. It is required by {regulation}.,"Pamiętaj, aby ustawić {field_label}. Jest to wymagane przez {przepis}.",
+Enrollment Date cannot be before the Start Date of the Academic Year {0},Data rejestracji nie może być wcześniejsza niż data rozpoczęcia roku akademickiego {0},
+Enrollment Date cannot be after the End Date of the Academic Term {0},Data rejestracji nie może być późniejsza niż data zakończenia okresu akademickiego {0},
+Enrollment Date cannot be before the Start Date of the Academic Term {0},Data rejestracji nie może być wcześniejsza niż data rozpoczęcia semestru akademickiego {0},
+Future Posting Not Allowed,Niedozwolone publikowanie w przyszłości,
+"To enable Capital Work in Progress Accounting, ","Aby włączyć księgowość produkcji w toku,",
+you must select Capital Work in Progress Account in accounts table,w tabeli kont należy wybrać Rachunek kapitałowy w toku,
+You can also set default CWIP account in Company {},Możesz także ustawić domyślne konto CWIP w firmie {},
+The Request for Quotation can be accessed by clicking on the following button,"Dostęp do zapytania ofertowego można uzyskać, klikając poniższy przycisk",
+Regards,pozdrowienia,
+Please click on the following button to set your new password,"Kliknij poniższy przycisk, aby ustawić nowe hasło",
+Update Password,Aktualizować hasło,
+Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Wiersz nr {}: współczynnik sprzedaży dla przedmiotu {} jest niższy niż jego {}. Sprzedawanie {} powinno wynosić co najmniej {},
+You can alternatively disable selling price validation in {} to bypass this validation.,"Alternatywnie możesz wyłączyć weryfikację ceny sprzedaży w {}, aby ominąć tę weryfikację.",
+Invalid Selling Price,Nieprawidłowa cena sprzedaży,
+Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adres musi być powiązany z firmą. Dodaj wiersz Firma w tabeli Łącza.,
+Company Not Linked,Firma niepowiązana,
+Import Chart of Accounts from CSV / Excel files,Importuj plan kont z plików CSV / Excel,
+Completed Qty cannot be greater than 'Qty to Manufacture',Ukończona ilość nie może być większa niż „Ilość do wyprodukowania”,
+"Row {0}: For Supplier {1}, Email Address is Required to send an email",Wiersz {0}: W przypadku dostawcy {1} do wysłania wiadomości e-mail wymagany jest adres e-mail,
+"If enabled, the system will post accounting entries for inventory automatically","Jeśli jest włączona, system automatycznie zaksięguje zapisy księgowe dotyczące zapasów",
+Accounts Frozen Till Date,Konta zamrożone do daty,
+Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,Do tej daty zapisy księgowe są zamrożone. Nikt nie może tworzyć ani modyfikować wpisów z wyjątkiem użytkowników z rolą określoną poniżej,
+Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rola dozwolona do ustawiania zamrożonych kont i edycji zamrożonych wpisów,
+Address used to determine Tax Category in transactions,Adres używany do określenia kategorii podatku w transakcjach,
+"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 ","Procent, w jakim możesz zwiększyć rachunek od zamówionej kwoty. Na przykład, jeśli wartość zamówienia wynosi 100 USD za towar, a tolerancja jest ustawiona na 10%, możesz wystawić rachunek do 110 USD",
+This role is allowed to submit transactions that exceed credit limits,Ta rola umożliwia zgłaszanie transakcji przekraczających limity kredytowe,
+"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","Jeśli zostanie wybrana opcja „Miesiące”, stała kwota zostanie zaksięgowana jako odroczone przychody lub wydatki dla każdego miesiąca, niezależnie od liczby dni w miesiącu. Zostanie naliczona proporcjonalnie, jeśli odroczone przychody lub wydatki nie zostaną zaksięgowane na cały miesiąc",
+"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Jeśli ta opcja nie jest zaznaczona, zostaną utworzone bezpośrednie wpisy GL w celu zaksięgowania odroczonych przychodów lub kosztów",
+Show Inclusive Tax in Print,Pokaż podatek wliczony w cenę w druku,
+Only select this if you have set up the Cash Flow Mapper documents,"Wybierz tę opcję tylko wtedy, gdy skonfigurowałeś dokumenty Cash Flow Mapper",
+Payment Channel,Kanał płatności,
+Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Czy do wystawienia faktury i paragonu zakupu wymagane jest zamówienie zakupu?,
+Is Purchase Receipt Required for Purchase Invoice Creation?,Czy do utworzenia faktury zakupu jest wymagany dowód zakupu?,
+Maintain Same Rate Throughout the Purchase Cycle,Utrzymuj tę samą stawkę w całym cyklu zakupu,
+Allow Item To Be Added Multiple Times in a Transaction,Zezwalaj na wielokrotne dodawanie przedmiotu w transakcji,
+Suppliers,Dostawcy,
+Send Emails to Suppliers,Wyślij e-maile do dostawców,
+Select a Supplier,Wybierz dostawcę,
+Cannot mark attendance for future dates.,Nie można oznaczyć obecności na przyszłe daty.,
+Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Czy chcesz zaktualizować frekwencję?<br> Obecnie: {0}<br> Nieobecny: {1},
+Mpesa Settings,Ustawienia Mpesa,
+Initiator Name,Nazwa inicjatora,
+Till Number,Do numeru,
+Sandbox,Piaskownica,
+ Online PassKey,Online PassKey,
+Security Credential,Poświadczenie bezpieczeństwa,
+Get Account Balance,Sprawdź saldo konta,
+Please set the initiator name and the security credential,Ustaw nazwę inicjatora i poświadczenia bezpieczeństwa,
+Inpatient Medication Entry,Wpis leków szpitalnych,
+HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
+Item Code (Drug),Kod pozycji (lek),
+Medication Orders,Zamówienia na lekarstwa,
+Get Pending Medication Orders,Uzyskaj oczekujące zamówienia na leki,
+Inpatient Medication Orders,Zamówienia na leki szpitalne,
+Medication Warehouse,Magazyn leków,
+Warehouse from where medication stock should be consumed,"Magazyn, z którego należy skonsumować zapasy leków",
+Fetching Pending Medication Orders,Pobieranie oczekujących zamówień na leki,
+Inpatient Medication Entry Detail,Szczegóły dotyczące przyjmowania leków szpitalnych,
+Medication Details,Szczegóły leków,
+Drug Code,Kod leku,
+Drug Name,Nazwa leku,
+Against Inpatient Medication Order,Nakaz przeciwdziałania lekom szpitalnym,
+Against Inpatient Medication Order Entry,Wpis zamówienia przeciwko lekarstwom szpitalnym,
+Inpatient Medication Order,Zamówienie na leki szpitalne,
+HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
+Total Orders,Całkowita liczba zamówień,
+Completed Orders,Zrealizowane zamówienia,
+Add Medication Orders,Dodaj zamówienia na leki,
+Adding Order Entries,Dodawanie wpisów zamówienia,
+{0} medication orders completed,Zrealizowano {0} zamówień na leki,
+{0} medication order completed,Zrealizowano {0} zamówienie na lek,
+Inpatient Medication Order Entry,Wpis zamówienia leków szpitalnych,
+Is Order Completed,Zamówienie zostało zrealizowane,
+Employee Records to Be Created By,Dokumentacja pracowników do utworzenia przez,
+Employee records are created using the selected field,Rekordy pracowników są tworzone przy użyciu wybranego pola,
+Don't send employee birthday reminders,Nie wysyłaj pracownikom przypomnień o urodzinach,
+Restrict Backdated Leave Applications,Ogranicz aplikacje urlopowe z datą wsteczną,
+Sequence ID,Identyfikator sekwencji,
+Sequence Id,Id. Sekwencji,
+Allow multiple material consumptions against a Work Order,Zezwalaj na wielokrotne zużycie materiałów w ramach zlecenia pracy,
+Plan time logs outside Workstation working hours,Planuj dzienniki czasu poza godzinami pracy stacji roboczej,
+Plan operations X days in advance,Planuj operacje z X-dniowym wyprzedzeniem,
+Time Between Operations (Mins),Czas między operacjami (min),
+Default: 10 mins,Domyślnie: 10 min,
+Overproduction for Sales and Work Order,Nadprodukcja dla sprzedaży i zlecenia pracy,
+"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Aktualizuj koszt BOM automatycznie za pomocą harmonogramu, na podstawie ostatniego kursu wyceny / kursu cennika / ostatniego kursu zakupu surowców",
+Purchase Order already created for all Sales Order items,Zamówienie zakupu zostało już utworzone dla wszystkich pozycji zamówienia sprzedaży,
+Select Items,Wybierz elementy,
+Against Default Supplier,Wobec domyślnego dostawcy,
+Auto close Opportunity after the no. of days mentioned above,Automatyczne zamknięcie Okazja po nr. dni wymienionych powyżej,
+Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Czy do tworzenia faktur sprzedaży i dokumentów dostawy wymagane jest zamówienie sprzedaży?,
+Is Delivery Note Required for Sales Invoice Creation?,Czy do utworzenia faktury sprzedaży jest wymagany dowód dostawy?,
+How often should Project and Company be updated based on Sales Transactions?,Jak często należy aktualizować projekt i firmę na podstawie transakcji sprzedaży?,
+Allow User to Edit Price List Rate in Transactions,Pozwól użytkownikowi edytować stawkę cennika w transakcjach,
+Allow Item to Be Added Multiple Times in a Transaction,Zezwalaj na wielokrotne dodawanie przedmiotu w transakcji,
+Allow Multiple Sales Orders Against a Customer's Purchase Order,Zezwalaj na wiele zamówień sprzedaży w ramach zamówienia klienta,
+Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Sprawdź cenę sprzedaży przedmiotu w stosunku do kursu zakupu lub kursu wyceny,
+Hide Customer's Tax ID from Sales Transactions,Ukryj identyfikator podatkowy klienta w transakcjach sprzedaży,
+"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.","Procent, jaki możesz otrzymać lub dostarczyć więcej w stosunku do zamówionej ilości. Na przykład, jeśli zamówiłeś 100 jednostek, a Twój dodatek wynosi 10%, możesz otrzymać 110 jednostek.",
+Action If Quality Inspection Is Not Submitted,"Działanie, jeśli kontrola jakości nie zostanie przesłana",
+Auto Insert Price List Rate If Missing,"Automatycznie wstaw stawkę cennika, jeśli brakuje",
+Automatically Set Serial Nos Based on FIFO,Automatycznie ustaw numery seryjne w oparciu o FIFO,
+Set Qty in Transactions Based on Serial No Input,Ustaw ilość w transakcjach na podstawie numeru seryjnego,
+Raise Material Request When Stock Reaches Re-order Level,"Podnieś żądanie materiałowe, gdy zapasy osiągną poziom ponownego zamówienia",
+Notify by Email on Creation of Automatic Material Request,Powiadamiaj e-mailem o utworzeniu automatycznego wniosku o materiał,
+Allow Material Transfer from Delivery Note to Sales Invoice,Zezwól na przeniesienie materiału z potwierdzenia dostawy do faktury sprzedaży,
+Allow Material Transfer from Purchase Receipt to Purchase Invoice,Zezwól na przeniesienie materiału z paragonu zakupu do faktury zakupu,
+Freeze Stocks Older Than (Days),Zatrzymaj zapasy starsze niż (dni),
+Role Allowed to Edit Frozen Stock,Rola uprawniona do edycji zamrożonych zapasów,
+The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Nieprzydzielona kwota wpisu płatności {0} jest większa niż nieprzydzielona kwota transakcji bankowej,
+Payment Received,Otrzymano zapłatę,
+Attendance cannot be marked outside of Academic Year {0},Nie można oznaczyć obecności poza rokiem akademickim {0},
+Student is already enrolled via Course Enrollment {0},Student jest już zapisany za pośrednictwem rejestracji na kurs {0},
+Attendance cannot be marked for future dates.,Nie można zaznaczyć obecności na przyszłe daty.,
+Please add programs to enable admission application.,"Dodaj programy, aby włączyć aplikację o przyjęcie.",
+The following employees are currently still reporting to {0}:,Następujący pracownicy nadal podlegają obecnie {0}:,
+Please make sure the employees above report to another Active employee.,"Upewnij się, że powyżsi pracownicy zgłaszają się do innego aktywnego pracownika.",
+Cannot Relieve Employee,Nie można zwolnić pracownika,
+Please enter {0},Wprowadź {0},
+Please select another payment method. Mpesa does not support transactions in currency '{0}',Wybierz inną metodę płatności. MPesa nie obsługuje transakcji w walucie „{0}”,
+Transaction Error,Błąd transakcji,
+Mpesa Express Transaction Error,Błąd transakcji Mpesa Express,
+"Issue detected with Mpesa configuration, check the error logs for more details","Wykryto problem z konfiguracją Mpesa, sprawdź dzienniki błędów, aby uzyskać więcej informacji",
+Mpesa Express Error,Błąd Mpesa Express,
+Account Balance Processing Error,Błąd przetwarzania salda konta,
+Please check your configuration and try again,Sprawdź konfigurację i spróbuj ponownie,
+Mpesa Account Balance Processing Error,Błąd przetwarzania salda konta Mpesa,
+Balance Details,Szczegóły salda,
+Current Balance,Aktualne saldo,
+Available Balance,Dostępne saldo,
+Reserved Balance,Zarezerwowane saldo,
+Uncleared Balance,Nierówna równowaga,
+Payment related to {0} is not completed,Płatność związana z {0} nie została zakończona,
+Row #{}: Item Code: {} is not available under warehouse {}.,Wiersz nr {}: kod towaru: {} nie jest dostępny w magazynie {}.,
+Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Wiersz nr {}: Niewystarczająca ilość towaru dla kodu towaru: {} w magazynie {}. Dostępna Ilość {}.,
+Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Wiersz nr {}: Wybierz numer seryjny i partię dla towaru: {} lub usuń je, aby zakończyć transakcję.",
+Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,"Wiersz nr {}: nie wybrano numeru seryjnego dla pozycji: {}. Wybierz jeden lub usuń go, aby zakończyć transakcję.",
+Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,"Wiersz nr {}: nie wybrano partii dla elementu: {}. Wybierz pakiet lub usuń go, aby zakończyć transakcję.",
+Payment amount cannot be less than or equal to 0,Kwota płatności nie może być mniejsza lub równa 0,
+Please enter the phone number first,Najpierw wprowadź numer telefonu,
+Row #{}: {} {} does not exist.,Wiersz nr {}: {} {} nie istnieje.,
+Row #{0}: {1} is required to create the Opening {2} Invoices,Wiersz nr {0}: {1} jest wymagany do utworzenia faktur otwarcia {2},
+You had {} errors while creating opening invoices. Check {} for more details,"Podczas otwierania faktur wystąpiło {} błędów. Sprawdź {}, aby uzyskać więcej informacji",
+Error Occured,Wystąpił błąd,
+Opening Invoice Creation In Progress,Otwieranie faktury w toku,
+Creating {} out of {} {},Tworzenie {} z {} {},
+(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,"(Nr seryjny: {0}) nie może zostać wykorzystany, ponieważ jest ponownie wysyłany w celu wypełnienia zamówienia sprzedaży {1}.",
+Item {0} {1},Przedmiot {0} {1},
+Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Ostatnia transakcja magazynowa dotycząca towaru {0} w magazynie {1} miała miejsce w dniu {2}.,
+Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Transakcje magazynowe dla pozycji {0} w magazynie {1} nie mogą być księgowane przed tą godziną.,
+Posting future stock transactions are not allowed due to Immutable Ledger,Księgowanie przyszłych transakcji magazynowych nie jest dozwolone ze względu na niezmienną księgę,
+A BOM with name {0} already exists for item {1}.,Zestawienie komponentów o nazwie {0} już istnieje dla towaru {1}.,
+{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Czy zmieniłeś nazwę elementu? Skontaktuj się z administratorem / pomocą techniczną,
+At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},W wierszu {0}: identyfikator sekwencji {1} nie może być mniejszy niż identyfikator sekwencji poprzedniego wiersza {2},
+The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) musi być równe {2} ({3}),
+"{0}, complete the operation {1} before the operation {2}.","{0}, zakończ operację {1} przed operacją {2}.",
+Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,"Nie można zapewnić dostawy według numeru seryjnego, ponieważ pozycja {0} jest dodawana zi bez opcji Zapewnij dostawę według numeru seryjnego.",
+Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Przedmiot {0} nie ma numeru seryjnego. Tylko przesyłki seryjne mogą być dostarczane na podstawie numeru seryjnego,
+No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nie znaleziono aktywnego zestawienia komponentów dla pozycji {0}. Nie można zagwarantować dostawy według numeru seryjnego,
+No pending medication orders found for selected criteria,Nie znaleziono oczekujących zamówień na leki dla wybranych kryteriów,
+From Date cannot be after the current date.,Data początkowa nie może być późniejsza niż data bieżąca.,
+To Date cannot be after the current date.,Data końcowa nie może być późniejsza niż data bieżąca.,
+From Time cannot be after the current time.,Od godziny nie może być późniejsza niż aktualna godzina.,
+To Time cannot be after the current time.,To Time nie może być późniejsze niż aktualna godzina.,
+Stock Entry {0} created and ,Utworzono wpis giełdowy {0} i,
+Inpatient Medication Orders updated successfully,Zamówienia na leki szpitalne zostały pomyślnie zaktualizowane,
+Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Wiersz {0}: Cannot create the Inpatient Medication Entry for an incpatient medication Order {1},
+Row {0}: This Medication Order is already marked as completed,Wiersz {0}: to zamówienie na lek jest już oznaczone jako zrealizowane,
+Quantity not available for {0} in warehouse {1},Ilość niedostępna dla {0} w magazynie {1},
+Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Włącz opcję Zezwalaj na ujemne zapasy w ustawieniach zapasów lub utwórz wpis zapasów, aby kontynuować.",
+No Inpatient Record found against patient {0},Nie znaleziono dokumentacji szpitalnej dotyczącej pacjenta {0},
+An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Istnieje już nakaz leczenia szpitalnego {0} przeciwko spotkaniu z pacjentami {1}.,
+Allow In Returns,Zezwalaj na zwroty,
+Hide Unavailable Items,Ukryj niedostępne elementy,
+Apply Discount on Discounted Rate,Zastosuj zniżkę na obniżoną stawkę,
+Therapy Plan Template,Szablon planu terapii,
+Fetching Template Details,Pobieranie szczegółów szablonu,
+Linked Item Details,Szczegóły połączonego elementu,
+Therapy Types,Rodzaje terapii,
+Therapy Plan Template Detail,Szczegóły szablonu planu terapii,
+Non Conformance,Niezgodność,
+Process Owner,Właściciel procesu,
+Corrective Action,Działania naprawcze,
+Preventive Action,Akcja prewencyjna,
+Problem,Problem,
+Responsible,Odpowiedzialny,
+Completion By,Zakończenie do,
+Process Owner Full Name,Imię i nazwisko właściciela procesu,
+Right Index,Prawy indeks,
+Left Index,Lewy indeks,
+Sub Procedure,Procedura podrzędna,
+Passed,Zdał,
+Print Receipt,Wydrukuj pokwitowanie,
+Edit Receipt,Edytuj rachunek,
+Focus on search input,Skoncentruj się na wyszukiwaniu,
+Focus on Item Group filter,Skoncentruj się na filtrze grupy przedmiotów,
+Checkout Order / Submit Order / New Order,Zamówienie do kasy / Prześlij zamówienie / Nowe zamówienie,
+Add Order Discount,Dodaj rabat na zamówienie,
+Item Code: {0} is not available under warehouse {1}.,Kod towaru: {0} nie jest dostępny w magazynie {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numery seryjne są niedostępne dla towaru {0} w magazynie {1}. Spróbuj zmienić magazyn.,
+Fetched only {0} available serial numbers.,Pobrano tylko {0} dostępnych numerów seryjnych.,
+Switch Between Payment Modes,Przełącz między trybami płatności,
+Enter {0} amount.,Wprowadź kwotę {0}.,
+You don't have enough points to redeem.,"Nie masz wystarczającej liczby punktów, aby je wymienić.",
+You can redeem upto {0}.,Możesz wykorzystać maksymalnie {0}.,
+Enter amount to be redeemed.,Wprowadź kwotę do wykupu.,
+You cannot redeem more than {0}.,Nie możesz wykorzystać więcej niż {0}.,
+Open Form View,Otwórz widok formularza,
+POS invoice {0} created succesfully,Faktura POS {0} została utworzona pomyślnie,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Za mało towaru dla kodu towaru: {0} w magazynie {1}. Dostępna ilość {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Nr seryjny: {0} został już sprzedany na inną fakturę POS.,
+Balance Serial No,Nr seryjny wagi,
+Warehouse: {0} does not belong to {1},Magazyn: {0} nie należy do {1},
+Please select batches for batched item {0},Wybierz partie dla produktu wsadowego {0},
+Please select quantity on row {0},Wybierz ilość w wierszu {0},
+Please enter serial numbers for serialized item {0},Wprowadź numery seryjne dla towaru z numerem seryjnym {0},
+Batch {0} already selected.,Wiązka {0} już wybrana.,
+Please select a warehouse to get available quantities,"Wybierz magazyn, aby uzyskać dostępne ilości",
+"For transfer from source, selected quantity cannot be greater than available quantity",W przypadku transferu ze źródła wybrana ilość nie może być większa niż ilość dostępna,
+Cannot find Item with this Barcode,Nie można znaleźć przedmiotu z tym kodem kreskowym,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} jest obowiązkowe. Być może rekord wymiany walut nie jest tworzony dla {1} do {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} przesłał zasoby z nim powiązane. Musisz anulować zasoby, aby utworzyć zwrot zakupu.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Nie można anulować tego dokumentu, ponieważ jest on powiązany z przesłanym zasobem {0}. Anuluj, aby kontynuować.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Wiersz nr {}: Numer seryjny {} został już przetworzony na inną fakturę POS. Proszę wybrać prawidłowy numer seryjny.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Wiersz nr {}: numery seryjne {} zostały już przetworzone na inną fakturę POS. Proszę wybrać prawidłowy numer seryjny.,
+Item Unavailable,Pozycja niedostępna,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Wiersz nr {}: nr seryjny {} nie może zostać zwrócony, ponieważ nie był przedmiotem transakcji na oryginalnej fakturze {}",
+Please set default Cash or Bank account in Mode of Payment {},Ustaw domyślne konto gotówkowe lub bankowe w trybie płatności {},
+Please set default Cash or Bank account in Mode of Payments {},Ustaw domyślne konto gotówkowe lub bankowe w Trybie płatności {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Upewnij się, że konto {} jest kontem bilansowym. Możesz zmienić konto nadrzędne na konto bilansowe lub wybrać inne konto.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Upewnij się, że konto {} jest kontem płatnym. Zmień typ konta na Płatne lub wybierz inne konto.",
+Row {}: Expense Head changed to {} ,Wiersz {}: nagłówek wydatków zmieniony na {},
+because account {} is not linked to warehouse {} ,ponieważ konto {} nie jest połączone z magazynem {},
+or it is not the default inventory account,lub nie jest to domyślne konto magazynowe,
+Expense Head Changed,Zmiana głowy wydatków,
+because expense is booked against this account in Purchase Receipt {},ponieważ wydatek jest księgowany na tym koncie na dowodzie zakupu {},
+as no Purchase Receipt is created against Item {}. ,ponieważ dla przedmiotu {} nie jest tworzony dowód zakupu.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Ma to na celu obsługę księgowania przypadków, w których paragon zakupu jest tworzony po fakturze zakupu",
+Purchase Order Required for item {},Wymagane zamówienie zakupu dla produktu {},
+To submit the invoice without purchase order please set {} ,"Aby przesłać fakturę bez zamówienia, należy ustawić {}",
+as {} in {},jak w {},
+Mandatory Purchase Order,Obowiązkowe zamówienie zakupu,
+Purchase Receipt Required for item {},Potwierdzenie zakupu jest wymagane dla przedmiotu {},
+To submit the invoice without purchase receipt please set {} ,"Aby przesłać fakturę bez dowodu zakupu, ustaw {}",
+Mandatory Purchase Receipt,Obowiązkowy dowód zakupu,
+POS Profile {} does not belongs to company {},Profil POS {} nie należy do firmy {},
+User {} is disabled. Please select valid user/cashier,Użytkownik {} jest wyłączony. Wybierz prawidłowego użytkownika / kasjera,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Wiersz nr {}: Oryginalna faktura {} faktury zwrotnej {} to {}.,
+Original invoice should be consolidated before or along with the return invoice.,Oryginał faktury należy skonsolidować przed lub wraz z fakturą zwrotną.,
+You can add original invoice {} manually to proceed.,"Aby kontynuować, możesz ręcznie dodać oryginalną fakturę {}.",
+Please ensure {} account is a Balance Sheet account. ,"Upewnij się, że konto {} jest kontem bilansowym.",
+You can change the parent account to a Balance Sheet account or select a different account.,Możesz zmienić konto nadrzędne na konto bilansowe lub wybrać inne konto.,
+Please ensure {} account is a Receivable account. ,"Upewnij się, że konto {} jest kontem należnym.",
+Change the account type to Receivable or select a different account.,Zmień typ konta na Odbywalne lub wybierz inne konto.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"Nie można anulować {}, ponieważ zebrane punkty lojalnościowe zostały wykorzystane. Najpierw anuluj {} Nie {}",
+already exists,już istnieje,
+POS Closing Entry {} against {} between selected period,Wejście zamknięcia POS {} względem {} między wybranym okresem,
+POS Invoice is {},Faktura POS to {},
+POS Profile doesn't matches {},Profil POS nie pasuje {},
+POS Invoice is not {},Faktura POS nie jest {},
+POS Invoice isn't created by user {},Faktura POS nie jest tworzona przez użytkownika {},
+Row #{}: {},Wiersz nr {}: {},
+Invalid POS Invoices,Nieprawidłowe faktury POS,
+Please add the account to root level Company - {},Dodaj konto do poziomu Firma - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Podczas tworzenia konta dla firmy podrzędnej {0} nie znaleziono konta nadrzędnego {1}. Utwórz konto rodzica w odpowiednim certyfikacie autentyczności,
+Account Not Found,Konto nie znalezione,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Podczas tworzenia konta dla Firmy podrzędnej {0} konto nadrzędne {1} zostało uznane za konto księgowe.,
+Please convert the parent account in corresponding child company to a group account.,Zmień konto nadrzędne w odpowiedniej firmie podrzędnej na konto grupowe.,
+Invalid Parent Account,Nieprawidłowe konto nadrzędne,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Zmiana nazwy jest dozwolona tylko za pośrednictwem firmy macierzystej {0}, aby uniknąć niezgodności.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",W przypadku {0} {1} ilości towaru {2} schemat {3} zostanie zastosowany do towaru.,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Jeśli {0} {1} cenisz przedmiot {2}, schemat {3} zostanie zastosowany do elementu.",
+"As the field {0} is enabled, the field {1} is mandatory.","Ponieważ pole {0} jest włączone, pole {1} jest obowiązkowe.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Ponieważ pole {0} jest włączone, wartość pola {1} powinna być większa niż 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Nie można dostarczyć numeru seryjnego {0} elementu {1}, ponieważ jest on zarezerwowany do realizacji zamówienia sprzedaży {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Zamówienie sprzedaży {0} ma rezerwację na produkt {1}, możesz dostarczyć zarezerwowane tylko {1} w ramach {0}.",
+{0} Serial No {1} cannot be delivered,Nie można dostarczyć {0} numeru seryjnego {1},
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Wiersz {0}: Pozycja podwykonawcza jest obowiązkowa dla surowca {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Ponieważ ilość surowców jest wystarczająca, żądanie materiałów nie jest wymagane dla magazynu {0}.",
+" If you still want to proceed, please enable {0}.","Jeśli nadal chcesz kontynuować, włącz {0}.",
+The item referenced by {0} - {1} is already invoiced,"Pozycja, do której odwołuje się {0} - {1}, została już zafakturowana",
+Therapy Session overlaps with {0},Sesja terapeutyczna pokrywa się z {0},
+Therapy Sessions Overlapping,Nakładanie się sesji terapeutycznych,
+Therapy Plans,Plany terapii,
+"Item Code, warehouse, quantity are required on row {0}","Kod pozycji, magazyn, ilość są wymagane w wierszu {0}",
+Get Items from Material Requests against this Supplier,Pobierz pozycje z żądań materiałowych od tego dostawcy,
+Enable European Access,Włącz dostęp w Europie,
+Creating Purchase Order ...,Tworzenie zamówienia zakupu ...,
+"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.","Wybierz dostawcę spośród domyślnych dostawców z poniższych pozycji. Po dokonaniu wyboru, Zamówienie zostanie złożone wyłącznie dla pozycji należących do wybranego Dostawcy.",
+Row #{}: You must select {} serial numbers for item {}.,Wiersz nr {}: należy wybrać {} numery seryjne dla towaru {}.,
diff --git a/erpnext/translations/ps.csv b/erpnext/translations/ps.csv
index 26cd0a9..5ddb375 100644
--- a/erpnext/translations/ps.csv
+++ b/erpnext/translations/ps.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,پروژه به د دغو کاروونکو په ویب پاڼه د السرسي وړ وي,
 Copied From,کاپي له,
 Start and End Dates,بیا او نیټی پای,
-Actual Time (in Hours),اصل وخت (ساعتونو کې),
+Actual Time in Hours (via Timesheet),اصل وخت (ساعتونو کې),
 Costing and Billing,لګښت او اولګښت,
-Total Costing Amount (via Timesheets),د ټول لګښت لګښت (د ټایټ شیټونو له لارې),
-Total Expense Claim (via Expense Claims),Total اخراجاتو ادعا (اخراجاتو د ادعا له لارې),
+Total Costing Amount (via Timesheet),د ټول لګښت لګښت (د ټایټ شیټونو له لارې),
+Total Expense Claim (via Expense Claim),Total اخراجاتو ادعا (اخراجاتو د ادعا له لارې),
 Total Purchase Cost (via Purchase Invoice),Total رانيول لګښت (له لارې رانيول صورتحساب),
 Total Sales Amount (via Sales Order),د پلور مجموعي مقدار (د پلور امر له الرې),
-Total Billable Amount (via Timesheets),د ټول وړ وړ مقدار (د ټایټ شیټونو له لارې),
-Total Billed Amount (via Sales Invoices),د بشپړې شوې پیسې (د پلور انوګانو له لارې),
-Total Consumed Material Cost  (via Stock Entry),د مصرف شوو موادو مجموعه لګښت (د ذخیرې ننوتلو له لارې),
+Total Billable Amount (via Timesheet),د ټول وړ وړ مقدار (د ټایټ شیټونو له لارې),
+Total Billed Amount (via Sales Invoice),د بشپړې شوې پیسې (د پلور انوګانو له لارې),
+Total Consumed Material Cost (via Stock Entry),د مصرف شوو موادو مجموعه لګښت (د ذخیرې ننوتلو له لارې),
 Gross Margin,Gross څنډی,
 Gross Margin %,د ناخالصه عايد٪,
 Monitor Progress,پرمختګ څارنه,
@@ -7521,12 +7521,10 @@
 Dependencies,انحصار,
 Dependent Tasks,انحصاري وظایف,
 Depends on Tasks,په دندې پورې تړاو لري,
-Actual Start Date (via Time Sheet),واقعي د پیل نیټه د (د وخت پاڼه له لارې),
-Actual Time (in hours),واقعي وخت (په ساعتونه),
-Actual End Date (via Time Sheet),واقعي د پای نیټه (د وخت پاڼه له لارې),
-Total Costing Amount (via Time Sheet),Total لګښت مقدار (د وخت پاڼه له لارې),
+Actual Start Date (via Timesheet),واقعي د پیل نیټه د (د وخت پاڼه له لارې),
+Actual Time in Hours (via Timesheet),واقعي وخت (په ساعتونه),
+Actual End Date (via Timesheet),واقعي د پای نیټه (د وخت پاڼه له لارې),
 Total Expense Claim (via Expense Claim),Total اخراجاتو ادعا (اخراجاتو ادعا له لارې),
-Total Billing Amount (via Time Sheet),Total اولګښت مقدار (د وخت پاڼه له لارې),
 Review Date,کتنه نېټه,
 Closing Date,بنديدو نېټه,
 Task Depends On,کاري پورې تړلی دی د,
diff --git a/erpnext/translations/pt-BR.csv b/erpnext/translations/pt-BR.csv
index edaaddd..551a852 100644
--- a/erpnext/translations/pt-BR.csv
+++ b/erpnext/translations/pt-BR.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projeto estará acessível no site para os usuários,
 Copied From,Copiado De,
 Start and End Dates,Datas de Início e Término,
-Actual Time (in Hours),Tempo Real (em Horas),
+Actual Time in Hours (via Timesheet),Tempo Real (em Horas),
 Costing and Billing,Custos e Faturamento,
-Total Costing Amount (via Timesheets),Montante Total de Custeio (via Timesheets),
-Total Expense Claim (via Expense Claims),Reivindicação de Despesa Total (via Relatórios de Despesas),
+Total Costing Amount (via Timesheet),Montante Total de Custeio (via Timesheets),
+Total Expense Claim (via Expense Claim),Reivindicação de Despesa Total (via Relatórios de Despesas),
 Total Purchase Cost (via Purchase Invoice),Custo Total de Compra (via Fatura de Compra),
 Total Sales Amount (via Sales Order),Valor Total Das Vendas (por Ordem do Cliente),
-Total Billable Amount (via Timesheets),Valor Billable Total (via Timesheets),
-Total Billed Amount (via Sales Invoices),Valor Total Faturado (através de Faturas de Vendas),
-Total Consumed Material Cost  (via Stock Entry),Custo Total de Material Consumido (via Entrada Em Estoque),
+Total Billable Amount (via Timesheet),Valor Billable Total (via Timesheets),
+Total Billed Amount (via Sales Invoice),Valor Total Faturado (através de Faturas de Vendas),
+Total Consumed Material Cost (via Stock Entry),Custo Total de Material Consumido (via Entrada Em Estoque),
 Gross Margin,Margem Bruta,
 Gross Margin %,Margem Bruta %,
 Monitor Progress,Monitorar o Progresso,
@@ -7521,12 +7521,10 @@
 Dependencies,Dependências,
 Dependent Tasks,Tarefas Dependentes,
 Depends on Tasks,Depende de Tarefas,
-Actual Start Date (via Time Sheet),Data de Início Real (via Registro de Tempo),
-Actual Time (in hours),Tempo Real (em horas),
-Actual End Date (via Time Sheet),Data Final Real (via Registro de Tempo),
-Total Costing Amount (via Time Sheet),Custo Total (via Registro de Tempo),
+Actual Start Date (via Timesheet),Data de Início Real (via Registro de Tempo),
+Actual Time in Hours (via Timesheet),Tempo Real (em horas),
+Actual End Date (via Timesheet),Data Final Real (via Registro de Tempo),
 Total Expense Claim (via Expense Claim),Reivindicação Despesa Total (via Despesa Claim),
-Total Billing Amount (via Time Sheet),Total Faturado (via Registro de Tempo),
 Review Date,Data da Revisão,
 Closing Date,Data de Encerramento,
 Task Depends On,Tarefa Depende De,
diff --git a/erpnext/translations/pt.csv b/erpnext/translations/pt.csv
index 5cc486d..7938906 100644
--- a/erpnext/translations/pt.csv
+++ b/erpnext/translations/pt.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,O projeto estará acessível no website para estes utilizadores,
 Copied From,Copiado de,
 Start and End Dates,Datas de início e Término,
-Actual Time (in Hours),Tempo real (em horas),
+Actual Time in Hours (via Timesheet),Tempo real (em horas),
 Costing and Billing,Custos e Faturação,
-Total Costing Amount (via Timesheets),Montante total de custeio (via timesheets),
-Total Expense Claim (via Expense Claims),Reivindicação de Despesa Total (através de Reinvidicações de Despesas),
+Total Costing Amount (via Timesheet),Montante total de custeio (via timesheets),
+Total Expense Claim (via Expense Claim),Reivindicação de Despesa Total (através de Reinvidicações de Despesas),
 Total Purchase Cost (via Purchase Invoice),Custo total de compra (através da Fatura de Compra),
 Total Sales Amount (via Sales Order),Valor total das vendas (por ordem do cliente),
-Total Billable Amount (via Timesheets),Valor Billable total (via timesheets),
-Total Billed Amount (via Sales Invoices),Valor total faturado (através de faturas de vendas),
-Total Consumed Material Cost  (via Stock Entry),Custo total de material consumido (via entrada em estoque),
+Total Billable Amount (via Timesheet),Valor Billable total (via timesheets),
+Total Billed Amount (via Sales Invoice),Valor total faturado (através de faturas de vendas),
+Total Consumed Material Cost (via Stock Entry),Custo total de material consumido (via entrada em estoque),
 Gross Margin,Margem Bruta,
 Gross Margin %,Margem Bruta %,
 Monitor Progress,Monitorar o progresso,
@@ -7521,12 +7521,10 @@
 Dependencies,Dependências,
 Dependent Tasks,Tarefas Dependentes,
 Depends on Tasks,Depende de Tarefas,
-Actual Start Date (via Time Sheet),Data de Início Efetiva (através da Folha de Presenças),
-Actual Time (in hours),Tempo Real (em Horas),
-Actual End Date (via Time Sheet),Data de Término Efetiva (através da Folha de Presenças),
-Total Costing Amount (via Time Sheet),Quantia de Custo Total (através da Folha de Serviço),
+Actual Start Date (via Timesheet),Data de Início Efetiva (através da Folha de Presenças),
+Actual Time in Hours (via Timesheet),Tempo Real (em Horas),
+Actual End Date (via Timesheet),Data de Término Efetiva (através da Folha de Presenças),
 Total Expense Claim (via Expense Claim),Reivindicação de Despesa Total (através de Reembolso de Despesas),
-Total Billing Amount (via Time Sheet),Montante de Faturação Total (através da Folha de Presenças),
 Review Date,Data de Revisão,
 Closing Date,Data de Encerramento,
 Task Depends On,A Tarefa Depende De,
diff --git a/erpnext/translations/ro.csv b/erpnext/translations/ro.csv
index 56a604c..c5eca3c 100644
--- a/erpnext/translations/ro.csv
+++ b/erpnext/translations/ro.csv
@@ -1,9837 +1,9837 @@
-"""Customer Provided Item"" cannot be Purchase Item also","""Elementul furnizat de client"" nu poate fi și articolul de cumpărare",
-"""Customer Provided Item"" cannot have Valuation Rate","""Elementul furnizat de client"" nu poate avea rata de evaluare",
-"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Este activ fix"" nu poate fi debifată deoarece există informații împotriva produsului",
-'Based On' and 'Group By' can not be same,'Bazat pe' și 'Grupat dupa' nu pot fi identice,
-'Days Since Last Order' must be greater than or equal to zero,'Zile de la ultima comandă' trebuie să fie mai mare sau egal cu zero,
-'Entries' cannot be empty,'Intrările' nu pot fi vide,
-'From Date' is required,'Din Data' este necesar,
-'From Date' must be after 'To Date','Din Data' trebuie să fie dupã 'Până în Data',
-'Has Serial No' can not be 'Yes' for non-stock item,'Are numãr de serie' nu poate fi 'Da' pentru articolele care nu au stoc,
-'Opening',&quot;Deschiderea&quot;,
-'To Case No.' cannot be less than 'From Case No.','Până la situația nr.' nu poate fi mai mică decât 'De la situația nr.',
-'To Date' is required,'Până la data' este necesară,
-'Total',&#39;Total&#39;,
-'Update Stock' can not be checked because items are not delivered via {0},"""Actualizare stoc"" nu poate fi activat, deoarece obiectele nu sunt livrate prin {0}",
-'Update Stock' cannot be checked for fixed asset sale,&quot;Actualizare stoc&quot; nu poate fi verificată de vânzare de active fixe,
-) for {0},) pentru {0},
-1 exact match.,1 potrivire exactă.,
-90-Above,90-si mai mult,
-A Customer Group exists with same name please change the Customer name or rename the Customer Group,Există un grup de clienți cu același nume; vă rugăm să schimbați numele clientului sau să redenumiți grupul de clienți,
-A Default Service Level Agreement already exists.,Există deja un Acord de nivel de serviciu implicit.,
-A Lead requires either a person's name or an organization's name,"Un conducător necesită fie numele unei persoane, fie numele unei organizații",
-A customer with the same name already exists,Un client cu același nume există deja,
-A question must have more than one options,O întrebare trebuie să aibă mai multe opțiuni,
-A qustion must have at least one correct options,O chestiune trebuie să aibă cel puțin o opțiune corectă,
-A {0} exists between {1} and {2} (,A {0} există între {1} și {2} (,
-A4,A4,
-API Endpoint,API Endpoint,
-API Key,Cheie API,
-Abbr can not be blank or space,Abr. nu poate fi gol sau spațiu,
-Abbreviation already used for another company,Abreviere deja folosita pentru o altă companie,
-Abbreviation cannot have more than 5 characters,Prescurtarea nu poate conține mai mult de 5 caractere,
-Abbreviation is mandatory,Abreviere este obligatorie,
-About the Company,Despre companie,
-About your company,Despre Compania ta,
-Above,Deasupra,
-Absent,Absent,
-Academic Term,Termen academic,
-Academic Term: ,Termen academic:,
-Academic Year,An academic,
-Academic Year: ,An academic:,
-Accepted + Rejected Qty must be equal to Received quantity for Item {0},Cant. acceptată + respinsă trebuie să fie egală cu cantitatea recepționată pentru articolul {0},
-Access Token,Acces Token,
-Accessable Value,Valoare accesibilă,
-Account,Cont,
-Account Number,Numar de cont,
-Account Number {0} already used in account {1},Numărul contului {0} deja utilizat în contul {1},
-Account Pay Only,Contul Plătiți numai,
-Account Type,Tipul Contului,
-Account Type for {0} must be {1},Tipul de cont pentru {0} trebuie să fie {1},
-"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Soldul contului este deja în credit, nu vă este permis să setați ""Balanța trebuie să fie"" drept ""Debit"".",
-"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Soldul contului este deja în credit, nu vă este permis să setați ""Balanța trebuie să fie"" drept ""Credit"".",
-Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Numărul contului pentru contul {0} nu este disponibil. <br> Vă rugăm să configurați corect planul de conturi.,
-Account with child nodes cannot be converted to ledger,Un cont cu noduri copil nu poate fi transformat în registru contabil,
-Account with child nodes cannot be set as ledger,Cont cu noduri copil nu poate fi setat ca Registru Contabil,
-Account with existing transaction can not be converted to group.,Un cont cu tranzacții existente nu poate fi transformat în grup.,
-Account with existing transaction can not be deleted,Un cont cu tranzacții existente nu poate fi șters,
-Account with existing transaction cannot be converted to ledger,Un cont cu tranzacții existente nu poate fi transformat în registru contabil,
-Account {0} does not belong to company: {1},Contul {0} nu aparține companiei: {1},
-Account {0} does not belongs to company {1},Contul {0} nu aparține companiei {1},
-Account {0} does not exist,Contul {0} nu există,
-Account {0} does not exists,Contul {0} nu există,
-Account {0} does not match with Company {1} in Mode of Account: {2},Contul {0} nu se potrivește cu Compania {1} în modul de cont: {2},
-Account {0} has been entered multiple times,Contul {0} a fost introdus de mai multe ori,
-Account {0} is added in the child company {1},Contul {0} este adăugat în compania copil {1},
-Account {0} is frozen,Contul {0} este Blocat,
-Account {0} is invalid. Account Currency must be {1},Contul {0} nu este valid. Valuta contului trebuie să fie {1},
-Account {0}: Parent account {1} can not be a ledger,Contul {0}: cont Părinte {1} nu poate fi un registru,
-Account {0}: Parent account {1} does not belong to company: {2},Contul {0}: cont Părinte {1} nu apartine companiei: {2},
-Account {0}: Parent account {1} does not exist,Contul {0}: cont părinte {1} nu există,
-Account {0}: You can not assign itself as parent account,Contul {0}: nu puteți atribui contului în sine calitatea de cont părinte,
-Account: {0} can only be updated via Stock Transactions,Contul: {0} poate fi actualizat doar prin Tranzacții stoc,
-Account: {0} with currency: {1} can not be selected,Contul: {0} cu moneda: {1} nu poate fi selectat,
-Accountant,Contabil,
-Accounting,Contabilitate,
-Accounting Entry for Asset,Înregistrare contabilă a activelor,
-Accounting Entry for Stock,Intrare Contabilă pentru Stoc,
-Accounting Entry for {0}: {1} can only be made in currency: {2},Intrarea contabila pentru {0}: {1} se poate face numai în valuta: {2},
-Accounting Ledger,Registru Jurnal,
-Accounting journal entries.,Inregistrari contabile de jurnal.,
-Accounts,Conturi,
-Accounts Manager,Manager de Conturi,
-Accounts Payable,Conturi de plată,
-Accounts Payable Summary,Rezumat conturi pentru plăți,
-Accounts Receivable,Conturi de Incasare,
-Accounts Receivable Summary,Rezumat conturi de încasare,
-Accounts User,Conturi de utilizator,
-Accounts table cannot be blank.,Planul de conturi nu poate fi gol.,
-Accrual Journal Entry for salaries from {0} to {1},Înregistrarea jurnalelor de angajare pentru salariile de la {0} la {1},
-Accumulated Depreciation,Amortizarea cumulată,
-Accumulated Depreciation Amount,Sumă Amortizarea cumulată,
-Accumulated Depreciation as on,Amortizarea ca pe acumulat,
-Accumulated Monthly,lunar acumulat,
-Accumulated Values,Valorile acumulate,
-Accumulated Values in Group Company,Valori acumulate în compania grupului,
-Achieved ({}),Realizat ({}),
-Action,Acțiune:,
-Action Initialised,Acțiune inițiată,
-Actions,Acțiuni,
-Active,Activ,
-Activity Cost exists for Employee {0} against Activity Type - {1},Există cost activitate pentru angajatul {0} comparativ tipului de activitate - {1},
-Activity Cost per Employee,Cost activitate per angajat,
-Activity Type,Tip Activitate,
-Actual Cost,Costul actual,
-Actual Delivery Date,Data de livrare efectivă,
-Actual Qty,Cant. Efectivă,
-Actual Qty is mandatory,Cantitatea efectivă este obligatorie,
-Actual Qty {0} / Waiting Qty {1},Cant. reală {0} / Cant. în așteptare {1},
-Actual Qty: Quantity available in the warehouse.,Cantitate Actuală: Cantitate disponibilă în depozit.,
-Actual qty in stock,Cant. efectivă în stoc,
-Actual type tax cannot be included in Item rate in row {0},Taxa efectivă de tip nu poate fi inclusă în tariful articolului din rândul {0},
-Add,Adaugă,
-Add / Edit Prices,Adăugați / editați preturi,
-Add Comment,Adăugă Comentariu,
-Add Customers,Adăugați clienți,
-Add Employees,Adăugă Angajați,
-Add Item,Adăugă Element,
-Add Items,Adăugă Elemente,
-Add Leads,Adaugă Oportunități,
-Add Multiple Tasks,Adăugă Sarcini Multiple,
-Add Row,Adăugă Rând,
-Add Sales Partners,Adăugă Parteneri de Vânzări,
-Add Serial No,Adăugaţi Nr. de Serie,
-Add Students,Adăugă Elevi,
-Add Suppliers,Adăugă Furnizori,
-Add Time Slots,Adăugă Intervale de Timp,
-Add Timesheets,Adăugă Pontaje,
-Add Timeslots,Adăugă Intervale de Timp,
-Add Users to Marketplace,Adăugă Utilizatori la Marketplace,
-Add a new address,Adăugați o adresă nouă,
-Add cards or custom sections on homepage,Adăugați carduri sau secțiuni personalizate pe pagina principală,
-Add more items or open full form,Adăugă mai multe elemente sau deschide formular complet,
-Add notes,Adăugați note,
-Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,"Adăugați restul organizației dvs. ca utilizatori. Puteți, de asemenea, invita Clienții în portal prin adăugarea acestora din Contacte",
-Add to Details,Adăugă la Detalii,
-Add/Remove Recipients,Adăugaţi/Stergeţi Destinatari,
-Added,Adăugat,
-Added to details,Adăugat la detalii,
-Added {0} users,{0} utilizatori adăugați,
-Additional Salary Component Exists.,Există o componentă suplimentară a salariului.,
-Address,Adresă,
-Address Line 2,Adresă Linie 2,
-Address Name,Numele adresei,
-Address Title,Titlu adresă,
-Address Type,Tip adresă,
-Administrative Expenses,Cheltuieli administrative,
-Administrative Officer,Ofițer administrativ,
-Administrator,Administrator,
-Admission,Admitere,
-Admission and Enrollment,Admitere și înscriere,
-Admissions for {0},Admitere pentru {0},
-Admit,admite,
-Admitted,Admis,
-Advance Amount,Sumă în avans,
-Advance Payments,Plățile în avans,
-Advance account currency should be same as company currency {0},Advance valuta contului ar trebui să fie aceeași ca moneda companiei {0},
-Advance amount cannot be greater than {0} {1},Suma avans nu poate fi mai mare decât {0} {1},
-Advertising,Publicitate,
-Aerospace,Spaţiul aerian,
-Against,Comparativ,
-Against Account,Comparativ contului,
-Against Journal Entry {0} does not have any unmatched {1} entry,Comparativ intrării {0} în jurnal nu are nici o intrare nepotrivită {1},
-Against Journal Entry {0} is already adjusted against some other voucher,Comparativ intrării {0} în jurnal este deja ajustată comparativ altui voucher,
-Against Supplier Invoice {0} dated {1},Contra facturii furnizorului {0} din data {1},
-Against Voucher,Contra voucherului,
-Against Voucher Type,Contra tipului de voucher,
-Age,Vârstă,
-Age (Days),Vârsta (zile),
-Ageing Based On,Uzură bazată pe,
-Ageing Range 1,Clasă de uzură 1,
-Ageing Range 2,Clasă de uzură 2,
-Ageing Range 3,Clasă de uzură 3,
-Agriculture,Agricultură,
-Agriculture (beta),Agricultura (beta),
-Airline,linie aeriană,
-All Accounts,Toate conturile,
-All Addresses.,Toate adresele.,
-All Assessment Groups,Toate grupurile de evaluare,
-All BOMs,toate BOM,
-All Contacts.,Toate contactele.,
-All Customer Groups,Toate grupurile de clienți,
-All Day,Toată ziua,
-All Departments,Toate departamentele,
-All Healthcare Service Units,Toate unitățile de servicii medicale,
-All Item Groups,Toate grupurile articolului,
-All Jobs,Toate locurile de muncă,
-All Products,Toate produsele,
-All Products or Services.,Toate produsele sau serviciile.,
-All Student Admissions,Toate Admitere Student,
-All Supplier Groups,Toate grupurile de furnizori,
-All Supplier scorecards.,Toate cardurile de evaluare ale furnizorilor.,
-All Territories,Toate Teritoriile,
-All Warehouses,toate Depozite,
-All communications including and above this shall be moved into the new Issue,"Toate comunicările, inclusiv și deasupra acestora, vor fi mutate în noua ediție",
-All items have already been transferred for this Work Order.,Toate articolele au fost deja transferate pentru această comandă de lucru.,
-All other ITC,Toate celelalte ITC,
-All the mandatory Task for employee creation hasn't been done yet.,Toate sarcinile obligatorii pentru crearea de angajați nu au fost încă încheiate.,
-Allocate Payment Amount,Alocați suma de plată,
-Allocated Amount,Sumă alocată,
-Allocated Leaves,Frunzele alocate,
-Allocating leaves...,Alocarea frunzelor ...,
-Already record exists for the item {0},Încă există înregistrare pentru articolul {0},
-"Already set default in pos profile {0} for user {1}, kindly disabled default","Deja a fost setat implicit în profilul pos {0} pentru utilizatorul {1}, dezactivat în mod prestabilit",
-Alternate Item,Articol alternativ,
-Alternative item must not be same as item code,Elementul alternativ nu trebuie să fie identic cu cel al articolului,
-Amended From,Modificat din,
-Amount,Sumă,
-Amount After Depreciation,Suma după amortizare,
-Amount of Integrated Tax,Suma impozitului integrat,
-Amount of TDS Deducted,Cantitatea de TDS dedusă,
-Amount should not be less than zero.,Suma nu trebuie să fie mai mică de zero.,
-Amount to Bill,Sumă pentru facturare,
-Amount {0} {1} against {2} {3},Suma {0} {1} împotriva {2} {3},
-Amount {0} {1} deducted against {2},Suma {0} {1} dedusă împotriva {2},
-Amount {0} {1} transferred from {2} to {3},Suma {0} {1} transferată de la {2} la {3},
-Amount {0} {1} {2} {3},Suma {0} {1} {2} {3},
-Amt,Suma,
-"An Item Group exists with same name, please change the item name or rename the item group","Există un grup de articole cu aceeaşi denumire, vă rugăm să schimbați denumirea articolului sau să redenumiţi grupul articolului",
-An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Un termen academic cu acest &quot;An universitar&quot; {0} și &quot;Numele Termenul&quot; {1} există deja. Vă rugăm să modificați aceste intrări și încercați din nou.,
-An error occurred during the update process,A apărut o eroare în timpul procesului de actualizare,
-"An item exists with same name ({0}), please change the item group name or rename the item","Există un articol cu aceeaşi denumire ({0}), vă rugăm să schimbați denumirea grupului articolului sau să redenumiţi articolul",
-Analyst,Analist,
-Analytics,Google Analytics,
-Annual Billing: {0},Facturare anuală: {0},
-Annual Salary,Salariu anual,
-Anonymous,Anonim,
-Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},O altă înregistrare bugetară {0} există deja pentru {1} &#39;{2}&#39; și contul &#39;{3}&#39; pentru anul fiscal {4},
-Another Period Closing Entry {0} has been made after {1},O altă intrare închidere de perioada {0} a fost efectuată după {1},
-Another Sales Person {0} exists with the same Employee id,Un alt Sales Person {0} există cu același ID Angajat,
-Antibiotic,Antibiotic,
-Apparel & Accessories,Îmbrăcăminte și accesorii,
-Applicable For,Aplicabil pentru,
-"Applicable if the company is SpA, SApA or SRL","Se aplică dacă compania este SpA, SApA sau SRL",
-Applicable if the company is a limited liability company,Se aplică dacă compania este o societate cu răspundere limitată,
-Applicable if the company is an Individual or a Proprietorship,Se aplică dacă compania este o persoană fizică sau o proprietate,
-Applicant,Solicitant,
-Applicant Type,Tipul solicitantului,
-Application of Funds (Assets),Aplicarea fondurilor (active),
-Application period cannot be across two allocation records,Perioada de aplicare nu poate fi cuprinsă între două înregistrări de alocare,
-Application period cannot be outside leave allocation period,Perioada de aplicare nu poate fi perioadă de alocare concediu în afara,
-Applied,Aplicat,
-Apply Now,Aplica acum,
-Appointment Confirmation,Confirmare programare,
-Appointment Duration (mins),Durata intalnire (minute),
-Appointment Type,Tip de întâlnire,
-Appointment {0} and Sales Invoice {1} cancelled,Mențiunea {0} și factura de vânzări {1} au fost anulate,
-Appointments and Encounters,Numiri și întâlniri,
-Appointments and Patient Encounters,Numiri și întâlniri cu pacienții,
-Appraisal {0} created for Employee {1} in the given date range,Expertiza {0} creată pentru angajatul {1} în intervalul de timp dat,
-Apprentice,Începător,
-Approval Status,Status aprobare,
-Approval Status must be 'Approved' or 'Rejected',"Statusul aprobării trebuie să fie ""Aprobat"" sau ""Respins""",
-Approve,Aproba,
-Approving Role cannot be same as role the rule is Applicable To,Aprobarea unui rol nu poate fi aceeaşi cu rolul. Regula este aplicabilă pentru,
-Approving User cannot be same as user the rule is Applicable To,Aprobarea unui utilizator nu poate fi aceeași cu utilizatorul. Regula este aplicabilă pentru,
-"Apps using current key won't be able to access, are you sure?","Aplicațiile care utilizează cheia curentă nu vor putea accesa, sunteți sigur?",
-Are you sure you want to cancel this appointment?,Sigur doriți să anulați această întâlnire?,
-Arrear,restanță,
-As Examiner,Ca Examiner,
-As On Date,Ca pe data,
-As Supervisor,Ca supraveghetor,
-As per rules 42 & 43 of CGST Rules,Conform regulilor 42 și 43 din Regulile CGST,
-As per section 17(5),În conformitate cu secțiunea 17 (5),
-As per your assigned Salary Structure you cannot apply for benefits,"În conformitate cu structura salarială atribuită, nu puteți aplica pentru beneficii",
-Assessment,Evaluare,
-Assessment Criteria,Criterii de evaluare,
-Assessment Group,Grup de evaluare,
-Assessment Group: ,Grup de evaluare:,
-Assessment Plan,Plan de evaluare,
-Assessment Plan Name,Numele planului de evaluare,
-Assessment Report,Raport de evaluare,
-Assessment Reports,Rapoarte de evaluare,
-Assessment Result,Rezultatul evaluării,
-Assessment Result record {0} already exists.,Inregistrarea Rezultatului evaluării {0} există deja.,
-Asset,activ,
-Asset Category,Categorie activ,
-Asset Category is mandatory for Fixed Asset item,Categorie Activ este obligatorie pentru articolul Activ Fix,
-Asset Maintenance,Întreținerea activelor,
-Asset Movement,Miscarea activelor,
-Asset Movement record {0} created,Mișcarea de înregistrare a activelor {0} creat,
-Asset Name,Denumire activ,
-Asset Received But Not Billed,"Activul primit, dar nu facturat",
-Asset Value Adjustment,Ajustarea valorii activelor,
-"Asset cannot be cancelled, as it is already {0}","Activul nu poate fi anulat, deoarece este deja {0}",
-Asset scrapped via Journal Entry {0},Activ casate prin Jurnal de intrare {0},
-"Asset {0} cannot be scrapped, as it is already {1}","Activul {0} nu poate fi scos din uz, deoarece este deja {1}",
-Asset {0} does not belong to company {1},Activul {0} nu aparține companiei {1},
-Asset {0} must be submitted,Activul {0} trebuie transmis,
-Assets,Active,
-Assign,Atribuiţi,
-Assign Salary Structure,Alocați structurii salariale,
-Assign To,Atribuţi pentru,
-Assign to Employees,Atribuie la Angajați,
-Assigning Structures...,Alocarea structurilor ...,
-Associate,Asociaţi,
-At least one mode of payment is required for POS invoice.,Cel puțin un mod de plată este necesar factura POS.,
-Atleast one item should be entered with negative quantity in return document,Cel puțin un articol ar trebui să fie introdus cu cantitate negativa în documentul de returnare,
-Atleast one of the Selling or Buying must be selected,Cel puţin una din opţiunile de vânzare sau cumpărare trebuie să fie selectată,
-Atleast one warehouse is mandatory,Cel puţin un depozit este obligatoriu,
-Attach Logo,Atașați logo,
-Attachment,Atașament,
-Attachments,Ataşamente,
-Attendance,prezență,
-Attendance From Date and Attendance To Date is mandatory,Prezenţa de la data și Prezența până la data sunt obligatorii,
-Attendance can not be marked for future dates,Prezenţa nu poate fi consemnată pentru date viitoare,
-Attendance date can not be less than employee's joining date,Data de prezență nu poate fi anteriara datii angajarii salariatului,
-Attendance for employee {0} is already marked,Prezenţa pentru angajatul {0} este deja consemnată,
-Attendance for employee {0} is already marked for this day,Prezența pentru angajatul {0} este deja marcată pentru această zi,
-Attendance has been marked successfully.,Prezența a fost marcată cu succes.,
-Attendance not submitted for {0} as it is a Holiday.,Participarea nu a fost trimisă pentru {0} deoarece este o sărbătoare.,
-Attendance not submitted for {0} as {1} on leave.,Participarea nu a fost trimisă pentru {0} ca {1} în concediu.,
-Attribute table is mandatory,Tabelul atribut este obligatoriu,
-Attribute {0} selected multiple times in Attributes Table,Atributul {0} este selectat de mai multe ori în tabelul Atribute,
-Author,Autor,
-Authorized Signatory,Semnatar autorizat,
-Auto Material Requests Generated,Cereri materiale Auto Generat,
-Auto Repeat,Auto Repetare,
-Auto repeat document updated,Documentul repetat automat a fost actualizat,
-Automotive,Autopropulsat,
-Available,Disponibil,
-Available Leaves,Frunzele disponibile,
-Available Qty,Cantitate disponibilă,
-Available Selling,Vânzări disponibile,
-Available for use date is required,Data de utilizare disponibilă pentru utilizare este necesară,
-Available slots,Sloturi disponibile,
-Available {0},Disponibile {0},
-Available-for-use Date should be after purchase date,Data disponibilă pentru utilizare ar trebui să fie după data achiziției,
-Average Age,Varsta medie,
-Average Rate,Rata medie,
-Avg Daily Outgoing,Ieșire zilnică medie,
-Avg. Buying Price List Rate,Med. Achiziționarea ratei listei de prețuri,
-Avg. Selling Price List Rate,Med. Rata de listare a prețurilor de vânzare,
-Avg. Selling Rate,Rată Medie de Vânzare,
-BOM,BOM,
-BOM Browser,BOM Browser,
-BOM No,Nr. BOM,
-BOM Rate,Rata BOM,
-BOM Stock Report,BOM Raport stoc,
-BOM and Manufacturing Quantity are required,BOM și cantitatea de producție sunt necesare,
-BOM does not contain any stock item,BOM nu conține nici un element de stoc,
-BOM {0} does not belong to Item {1},BOM {0} nu aparţine articolului {1},
-BOM {0} must be active,BOM {0} trebuie să fie activ,
-BOM {0} must be submitted,BOM {0} trebuie să fie introdus,
-Balance,Bilanţ,
-Balance (Dr - Cr),Sold (Dr-Cr),
-Balance ({0}),Sold ({0}),
-Balance Qty,Cantitate de bilanţ,
-Balance Sheet,Bilanț,
-Balance Value,Valoarea bilanţului,
-Balance for Account {0} must always be {1},Bilanţă pentru contul {0} trebuie să fie întotdeauna {1},
-Bank,bancă,
-Bank Account,Cont bancar,
-Bank Accounts,Conturi bancare,
-Bank Draft,Ciorna bancară,
-Bank Entries,Intrările bancare,
-Bank Name,Denumire bancă,
-Bank Overdraft Account,Descoperire cont bancar,
-Bank Reconciliation,Reconciliere bancară,
-Bank Reconciliation Statement,Extras de cont reconciliere bancară,
-Bank Statement,Extras de cont,
-Bank Statement Settings,Setările declarației bancare,
-Bank Statement balance as per General Ledger,Banca echilibru Declarație pe General Ledger,
-Bank account cannot be named as {0},Contul bancar nu poate fi numit ca {0},
-Bank/Cash transactions against party or for internal transfer,tranzacții bancare / numerar contra partidului sau pentru transfer intern,
-Banking,Bancar,
-Banking and Payments,Bancare și plăți,
-Barcode {0} already used in Item {1},Cod de bare {0} deja folosit pentru articolul {1},
-Barcode {0} is not a valid {1} code,Codul de bare {0} nu este un cod valid {1},
-Base,Baza,
-Base URL,URL-ul de bază,
-Based On,Bazat pe,
-Based On Payment Terms,Pe baza condițiilor de plată,
-Basic,Elementar,
-Batch,Lot,
-Batch Entries,Înregistrări pe lot,
-Batch ID is mandatory,ID-ul lotului este obligatoriu,
-Batch Inventory,Lot Inventarul,
-Batch Name,Nume lot,
-Batch No,Lot nr.,
-Batch number is mandatory for Item {0},Numărul aferent lotului este obligatoriu pentru articolul {0},
-Batch {0} of Item {1} has expired.,Lot {0} din {1} Postul a expirat.,
-Batch {0} of Item {1} is disabled.,Lotul {0} al elementului {1} este dezactivat.,
-Batch: ,Lot:,
-Batches,Sarjele,
-Become a Seller,Deveniți un vânzător,
-Beginner,Începător,
-Bill,Factură,
-Bill Date,Dată factură,
-Bill No,Factură nr.,
-Bill of Materials,Reţete de Producţie,
-Bill of Materials (BOM),Lista de materiale (BOM),
-Billable Hours,Ore Billable,
-Billed,Facturat,
-Billed Amount,Sumă facturată,
-Billing,Facturare,
-Billing Address,Adresa De Facturare,
-Billing Address is same as Shipping Address,Adresa de facturare este aceeași cu adresa de expediere,
-Billing Amount,Suma de facturare,
-Billing Status,Stare facturare,
-Billing currency must be equal to either default company's currency or party account currency,"Valuta de facturare trebuie să fie identica fie cu valuta implicită a companiei, fie cu moneda contului de partid",
-Bills raised by Suppliers.,Facturi cu valoarea ridicată de către furnizori.,
-Bills raised to Customers.,Facturi cu valoarea ridicată pentru clienți.,
-Biotechnology,Biotehnologie,
-Birthday Reminder,Amintirea zilei de naștere,
-Black,Negru,
-Blanket Orders from Costumers.,Comenzi cuverturi de la clienți.,
-Block Invoice,Blocați factura,
-Boms,BOM,
-Bonus Payment Date cannot be a past date,Data de plată Bonus nu poate fi o dată trecută,
-Both Trial Period Start Date and Trial Period End Date must be set,"Trebuie să fie setată atât data de începere a perioadei de încercare, cât și data de încheiere a perioadei de încercare",
-Both Warehouse must belong to same Company,Ambele Depozite trebuie să aparțină aceleiași companii,
-Branch,ramură,
-Broadcasting,Transminiune,
-Brokerage,brokeraj,
-Browse BOM,Navigare BOM,
-Budget Against,Buget împotriva,
-Budget List,Lista de bugete,
-Budget Variance Report,Raport de variaţie buget,
-Budget cannot be assigned against Group Account {0},Buget nu pot fi atribuite în Grupa Contul {0},
-"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bugetul nu pot fi atribuite în {0}, deoarece nu este un cont venituri sau cheltuieli",
-Buildings,Corpuri,
-Bundle items at time of sale.,Set de articole în momemntul vânzării.,
-Business Development Manager,Manager pentru Dezvoltarea Afacerilor,
-Buy,A cumpara,
-Buying,Cumpărare,
-Buying Amount,Sumă de cumpărare,
-Buying Price List,Achiziționarea listei de prețuri,
-Buying Rate,Rata de cumparare,
-"Buying must be checked, if Applicable For is selected as {0}","Destinat Cumpărării trebuie să fie bifat, dacă Se Aplica Pentru este selectat ca şi {0}",
-By {0},Până la {0},
-Bypass credit check at Sales Order ,Anulați verificarea creditului la Ordin de vânzări,
-C-Form records,Înregistrări formular-C,
-C-form is not applicable for Invoice: {0},Formularul C nu se aplică pentru factură: {0},
-CEO,CEO,
-CESS Amount,Suma CESS,
-CGST Amount,Suma CGST,
-CRM,CRM,
-CWIP Account,Contul CWIP,
-Calculated Bank Statement balance,Calculat Bank echilibru Declaratie,
-Calls,apeluri,
-Campaign,Campanie,
-Can be approved by {0},Poate fi aprobat/a de către {0},
-"Can not filter based on Account, if grouped by Account","Nu se poate filtra pe baza de cont, în cazul gruparii in functie de Cont",
-"Can not filter based on Voucher No, if grouped by Voucher","Nu se poate filtra pe baza voucher Nr., în cazul gruparii in functie de Voucher",
-"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Nu se poate marca evacuarea inpatientului, există facturi neachitate {0}",
-Can only make payment against unbilled {0},Plata se poate efectua numai în cazul factrilor neachitate {0},
-Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Se poate face referire la inregistrare numai dacă tipul de taxa este 'Suma inregistrare precedenta' sau 'Total inregistrare precedenta',
-"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Metoda de evaluare nu poate fi schimbată, deoarece există tranzacții împotriva anumitor elemente care nu au metoda de evaluare proprie",
-Can't create standard criteria. Please rename the criteria,Nu se pot crea criterii standard. Renunțați la criterii,
-Cancel,Anulează,
-Cancel Material Visit {0} before cancelling this Warranty Claim,Anulează Stivuitoare Vizitați {0} înainte de a anula acest revendicarea Garanție,
-Cancel Material Visits {0} before cancelling this Maintenance Visit,Anuleaza Vizite Material {0} înainte de a anula această Vizita de întreținere,
-Cancel Subscription,Anulează Abonament,
-Cancel the journal entry {0} first,Anulați mai întâi înregistrarea jurnalului {0},
-Canceled,Anulat,
-"Cannot Submit, Employees left to mark attendance","Nu se poate trimite, Angajații lăsați să marcheze prezența",
-Cannot be a fixed asset item as Stock Ledger is created.,"Nu poate fi un element de activ fix, deoarece este creat un registru de stoc.",
-Cannot cancel because submitted Stock Entry {0} exists,"Nu pot anula, deoarece a prezentat Bursa de intrare {0} există",
-Cannot cancel transaction for Completed Work Order.,Nu se poate anula tranzacția pentru comanda finalizată de lucru.,
-Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Nu se poate anula {0} {1} deoarece numărul de serie {2} nu aparține depozitului {3},
-Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Nu se poate modifica atributele după tranzacția de stoc. Creați un element nou și transferați stocul la noul element,
-Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Nu se poate schimba anul fiscal Data de începere și se termină anul fiscal Data odată ce anul fiscal este salvată.,
-Cannot change Service Stop Date for item in row {0},Nu se poate schimba data de începere a serviciului pentru elementul din rândul {0},
-Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Nu se pot modifica proprietățile Variant după tranzacția stoc. Va trebui să faceți un nou element pentru a face acest lucru.,
-"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Nu se poate schimba moneda implicita a companiei, deoarece există tranzacții in desfasurare. Tranzacțiile trebuie să fie anulate pentru a schimba moneda implicita.",
-Cannot change status as student {0} is linked with student application {1},Nu se poate schimba statutul de student ca {0} este legat cu aplicația de student {1},
-Cannot convert Cost Center to ledger as it has child nodes,"Nu se poate converti de cost Centrul de registru, deoarece are noduri copil",
-Cannot covert to Group because Account Type is selected.,Nu se poate sub acoperire la Grupul pentru că este selectată Tip cont.,
-Cannot create Retention Bonus for left Employees,Nu se poate crea Bonus de retenție pentru angajații stânga,
-Cannot create a Delivery Trip from Draft documents.,Nu se poate crea o călătorie de livrare din documentele Draft.,
-Cannot deactivate or cancel BOM as it is linked with other BOMs,"Nu se poate deactiva sau anula FDM, deoarece este conectat cu alte FDM-uri",
-"Cannot declare as lost, because Quotation has been made.","Nu se poate declara pierdut, pentru că Oferta a fost realizata.",
-Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Nu se poate deduce când categoria este de 'Evaluare' sau 'Evaluare și total',
-Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Nu se poate deduce atunci când este categoria de &quot;evaluare&quot; sau &quot;Vaulation și Total&quot;,
-"Cannot delete Serial No {0}, as it is used in stock transactions","Nu se poate șterge de serie nr {0}, așa cum este utilizat în tranzacțiile bursiere",
-Cannot enroll more than {0} students for this student group.,Nu se poate inscrie mai mult de {0} studenți pentru acest grup de studenți.,
-Cannot find active Leave Period,Nu se poate găsi perioada activă de plecare,
-Cannot produce more Item {0} than Sales Order quantity {1},Nu se pot produce mai multe Articole {0} decât cantitatea din Ordinul de Vânzări {1},
-Cannot promote Employee with status Left,Nu puteți promova angajatul cu starea Stânga,
-Cannot refer row number greater than or equal to current row number for this Charge type,Nu se poate face referire la un număr de inregistare mai mare sau egal cu numărul curent de inregistrare pentru acest tip de Incasare,
-Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Nu se poate selecta tipul de incasare ca 'Suma inregistrare precedenta' sau 'Total inregistrare precedenta' pentru prima inregistrare,
-Cannot set as Lost as Sales Order is made.,Nu se poate seta pierdut deoarece se intocmeste comandă de vânzări.,
-Cannot set authorization on basis of Discount for {0},Nu se poate seta autorizare pe baza de Discount pentru {0},
-Cannot set multiple Item Defaults for a company.,Nu se pot seta mai multe setări implicite pentru o companie.,
-Cannot set quantity less than delivered quantity,Cantitatea nu poate fi mai mică decât cea livrată,
-Cannot set quantity less than received quantity,Cantitatea nu poate fi mai mică decât cea primită,
-Cannot set the field <b>{0}</b> for copying in variants,Nu se poate seta câmpul <b>{0}</b> pentru copiere în variante,
-Cannot transfer Employee with status Left,Nu se poate transfera angajatul cu starea Stânga,
-Cannot {0} {1} {2} without any negative outstanding invoice,Nu se poate {0} {1} {2} in lipsa unei facturi negative restante,
-Capital Equipments,Echipamente de capital,
-Capital Stock,Capital Stock,
-Capital Work in Progress,Capitalul în curs de desfășurare,
-Cart,Coș,
-Cart is Empty,Cosul este gol,
-Case No(s) already in use. Try from Case No {0},Cazul nr. (s) este deja utilizat. Încercați din cazul nr. {s},
-Cash,Numerar,
-Cash Flow Statement,Situația fluxurilor de trezorerie,
-Cash Flow from Financing,Cash Flow de la finanțarea,
-Cash Flow from Investing,Cash Flow de la Investiții,
-Cash Flow from Operations,Cash Flow din Operațiuni,
-Cash In Hand,Bani în mână,
-Cash or Bank Account is mandatory for making payment entry,Pentru a face o inregistrare de plată este obligatoriu numerar sau cont bancar,
-Cashier Closing,Încheierea caselor,
-Casual Leave,Concediu Aleator,
-Category,Categorie,
-Category Name,Nume Categorie,
-Caution,Prudență,
-Central Tax,Impozitul central,
-Certification,Certificare,
-Cess,CESS,
-Change Amount,Sumă schimbare,
-Change Item Code,Modificați codul elementului,
-Change Release Date,Modificați data de lansare,
-Change Template Code,Schimbați codul de șablon,
-Changing Customer Group for the selected Customer is not allowed.,Schimbarea Grupului de Clienți pentru Clientul selectat nu este permisă.,
-Chapter,Capitol,
-Chapter information.,Informații despre capitol.,
-Charge of type 'Actual' in row {0} cannot be included in Item Rate,"Taxa de tip 'Efectiv' în inregistrarea {0} nu poate fi inclus în Rata Articol""",
-Chargeble,Chargeble,
-Charges are updated in Purchase Receipt against each item,Tarifele sunt actualizate în Primirea cumparare pentru fiecare articol,
-"Charges will be distributed proportionately based on item qty or amount, as per your selection","Taxele vor fi distribuite proporțional în funcție de produs Cantitate sau valoarea, ca pe dvs. de selecție",
-Chart of Cost Centers,Diagramă Centre de Cost,
-Check all,Selectați toate,
-Checkout,Verifică,
-Chemical,Chimic,
-Cheque,Cec,
-Cheque/Reference No,Cecul / de referință nr,
-Cheques Required,Verificări necesare,
-Cheques and Deposits incorrectly cleared,Cecuri și Depozite respingă incorect,
-Child Task exists for this Task. You can not delete this Task.,Sarcina pentru copii există pentru această sarcină. Nu puteți șterge această activitate.,
-Child nodes can be only created under 'Group' type nodes,noduri pentru copii pot fi create numai în noduri de tip &quot;grup&quot;,
-Child warehouse exists for this warehouse. You can not delete this warehouse.,Există depozit copil pentru acest depozit. Nu puteți șterge acest depozit.,
-Circular Reference Error,Eroare de referință Circular,
-City,Oraș,
-City/Town,Oras/Localitate,
-Claimed Amount,Suma solicitată,
-Clay,Lut,
-Clear filters,Șterge filtrele,
-Clear values,Valori clare,
-Clearance Date,Data Aprobare,
-Clearance Date not mentioned,Data Aprobare nespecificata,
-Clearance Date updated,Clearance-ul Data actualizat,
-Client,Client,
-Client ID,ID-ul clientului,
-Client Secret,Secret Client,
-Clinical Procedure,Procedura clinică,
-Clinical Procedure Template,Formularul procedurii clinice,
-Close Balance Sheet and book Profit or Loss.,Inchideti Bilanțul și registrul Profit sau Pierdere.,
-Close Loan,Împrumut închis,
-Close the POS,Închideți POS,
-Closed,Închis,
-Closed order cannot be cancelled. Unclose to cancel.,Pentru închis nu poate fi anulată. Pentru a anula redeschide.,
-Closing (Cr),De închidere (Cr),
-Closing (Dr),De închidere (Dr),
-Closing (Opening + Total),Închidere (Deschidere + Total),
-Closing Account {0} must be of type Liability / Equity,Contul {0} de închidere trebuie să fie de tip răspunderii / capitaluri proprii,
-Closing Balance,Soldul de încheiere,
-Code,Cod,
-Collapse All,Reduceți totul În această,
-Color,Culoare,
-Colour,Culoare,
-Combined invoice portion must equal 100%,Partea facturată combinată trebuie să fie egală cu 100%,
-Commercial,Comercial,
-Commission,Comision,
-Commission Rate %,Rata comisionului %,
-Commission on Sales,Comision pentru Vânzări,
-Commission rate cannot be greater than 100,Rata de comision nu poate fi mai mare decat 100,
-Community Forum,Community Forum,
-Company (not Customer or Supplier) master.,Directorul Companiei(nu al Clientului sau al Furnizorui).,
-Company Abbreviation,Abreviere Companie,
-Company Abbreviation cannot have more than 5 characters,Abrevierea companiei nu poate avea mai mult de 5 caractere,
-Company Name,Denumire Furnizor,
-Company Name cannot be Company,Numele Companiei nu poate fi Companie,
-Company currencies of both the companies should match for Inter Company Transactions.,Monedele companiilor ambelor companii ar trebui să se potrivească cu tranzacțiile Inter-Company.,
-Company is manadatory for company account,Compania este managerială pentru contul companiei,
-Company name not same,Numele companiei nu este același,
-Company {0} does not exist,Firma {0} nu există,
-Compensatory Off,Fara Masuri Compensatorii,
-Compensatory leave request days not in valid holidays,Plățile compensatorii pleacă în zilele de sărbători valabile,
-Complaint,Reclamație,
-Completion Date,Data Finalizare,
-Computer,Computer,
-Condition,Condiție,
-Configure,Configurarea,
-Configure {0},Configurare {0},
-Confirmed orders from Customers.,Comenzi confirmate de la clienți.,
-Connect Amazon with ERPNext,Conectați-vă la Amazon cu ERPNext,
-Connect Shopify with ERPNext,Conectați-vă la Shopify cu ERPNext,
-Connect to Quickbooks,Conectați-vă la agendele rapide,
-Connected to QuickBooks,Conectat la QuickBooks,
-Connecting to QuickBooks,Conectarea la QuickBooks,
-Consultation,Consultare,
-Consultations,consultări,
-Consulting,Consilia,
-Consumable,Consumabile,
-Consumed,Consumat,
-Consumed Amount,Consumat Suma,
-Consumed Qty,Cantitate consumată,
-Consumer Products,Produse consumator,
-Contact,Persoana de Contact,
-Contact Details,Detalii Persoana de Contact,
-Contact Number,Numar de contact,
-Contact Us,Contacteaza-ne,
-Content,Continut,
-Content Masters,Maeștri de conținut,
-Content Type,Tip Conținut,
-Continue Configuration,Continuați configurarea,
-Contract,Contract,
-Contract End Date must be greater than Date of Joining,Data de Incheiere Contract trebuie să fie ulterioara Datei Aderării,
-Contribution %,Contribuția%,
-Contribution Amount,Contribuția Suma,
-Conversion factor for default Unit of Measure must be 1 in row {0},Factor de Conversie pentru Unitatea de Măsură implicita trebuie să fie 1 pentru inregistrarea {0},
-Conversion rate cannot be 0 or 1,Rata de conversie nu poate fi 0 sau 1,
-Convert to Group,Transformă în grup,
-Convert to Non-Group,Converti la non-Group,
-Cosmetics,Cosmetică,
-Cost Center,Centrul de cost,
-Cost Center Number,Numărul centrului de costuri,
-Cost Center and Budgeting,Centrul de costuri și buget,
-Cost Center is required in row {0} in Taxes table for type {1},Centrul de Cost este necesar pentru inregistrarea {0} din tabelul Taxe pentru tipul {1},
-Cost Center with existing transactions can not be converted to group,Centrul de Cost cu tranzacții existente nu poate fi transformat în grup,
-Cost Center with existing transactions can not be converted to ledger,Centrul de Cost cu tranzacții existente nu poate fi transformat în registru contabil,
-Cost Centers,Centre de cost,
-Cost Updated,Cost actualizat,
-Cost as on,Cost cu o schimbare ca pe,
-Cost of Delivered Items,Costul de articole livrate,
-Cost of Goods Sold,Cost Bunuri Vândute,
-Cost of Issued Items,Costul de articole emise,
-Cost of New Purchase,Costul de achiziție nouă,
-Cost of Purchased Items,Costul de produsele cumparate,
-Cost of Scrapped Asset,Costul de active scoase din uz,
-Cost of Sold Asset,Costul de active vândute,
-Cost of various activities,Costul diverse activități,
-"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Nu s-a putut crea Nota de credit în mod automat, debifați &quot;Notați nota de credit&quot; și trimiteți-o din nou",
-Could not generate Secret,Nu am putut genera secret,
-Could not retrieve information for {0}.,Nu s-au putut obține informații pentru {0}.,
-Could not solve criteria score function for {0}. Make sure the formula is valid.,Nu s-a putut rezolva funcția de evaluare a criteriilor pentru {0}. Asigurați-vă că formula este validă.,
-Could not solve weighted score function. Make sure the formula is valid.,Nu s-a putut rezolva funcția de scor ponderat. Asigurați-vă că formula este validă.,
-Could not submit some Salary Slips,Nu am putut trimite unele Salariile,
-"Could not update stock, invoice contains drop shipping item.","Nu s-a putut actualiza stocul, factura conține elementul de expediere.",
-Country wise default Address Templates,Șabloanele țară înțelept adresa implicită,
-Course,Curs,
-Course Code: ,Codul cursului:,
-Course Enrollment {0} does not exists,Înscrierea la curs {0} nu există,
-Course Schedule,Program de curs de,
-Course: ,Curs:,
-Cr,Cr,
-Create,Creează,
-Create BOM,Creați BOM,
-Create Delivery Trip,Creați călătorie de livrare,
-Create Disbursement Entry,Creați intrare pentru dezbursare,
-Create Employee,Creați angajat,
-Create Employee Records,Crearea angajaților Records,
-"Create Employee records to manage leaves, expense claims and payroll","Crearea de înregistrări angajaților pentru a gestiona frunze, cheltuieli și salarizare creanțe",
-Create Fee Schedule,Creați programul de taxe,
-Create Fees,Creați taxe,
-Create Inter Company Journal Entry,Creați jurnalul companiei Inter,
-Create Invoice,Creați factură,
-Create Invoices,Creați facturi,
-Create Job Card,Creați carte de muncă,
-Create Journal Entry,Creați intrarea în jurnal,
-Create Lead,Creați Lead,
-Create Leads,Creează Piste,
-Create Maintenance Visit,Creați vizită de întreținere,
-Create Material Request,Creați solicitare de materiale,
-Create Multiple,Creați mai multe,
-Create Opening Sales and Purchase Invoices,Creați deschiderea vânzărilor și facturilor de achiziție,
-Create Payment Entries,Creați intrări de plată,
-Create Payment Entry,Creați intrare de plată,
-Create Print Format,Creați Format imprimare,
-Create Purchase Order,Creați comanda de aprovizionare,
-Create Purchase Orders,Creare comenzi de aprovizionare,
-Create Quotation,Creare Ofertă,
-Create Salary Slip,Crea Fluturasul de Salariul,
-Create Salary Slips,Creați buletine de salariu,
-Create Sales Invoice,Creați factură de vânzări,
-Create Sales Order,Creați o comandă de vânzări,
-Create Sales Orders to help you plan your work and deliver on-time,Creați comenzi de vânzare pentru a vă ajuta să vă planificați munca și să vă livrați la timp,
-Create Sample Retention Stock Entry,Creați intrare de stoc de reținere a eșantionului,
-Create Student,Creați student,
-Create Student Batch,Creați lot de elevi,
-Create Student Groups,Creați Grupurile de studenți,
-Create Supplier Quotation,Creați ofertă pentru furnizori,
-Create Tax Template,Creați șablonul fiscal,
-Create Timesheet,Creați o foaie de lucru,
-Create User,Creaza utilizator,
-Create Users,Creați utilizatori,
-Create Variant,Creați varianta,
-Create Variants,Creați variante,
-"Create and manage daily, weekly and monthly email digests.","Creare și gestionare rezumate e-mail zilnice, săptămânale și lunare.",
-Create customer quotes,Creați citate client,
-Create rules to restrict transactions based on values.,Creare reguli pentru restricționare tranzacții bazate pe valori.,
-Created {0} scorecards for {1} between: ,A creat {0} cărți de scor pentru {1} între:,
-Creating Company and Importing Chart of Accounts,Crearea companiei și importul graficului de conturi,
-Creating Fees,Crearea de taxe,
-Creating Payment Entries......,Crearea intrărilor de plată ......,
-Creating Salary Slips...,Crearea salvărilor salariale ...,
-Creating student groups,Crearea grupurilor de studenți,
-Creating {0} Invoice,Crearea facturii {0},
-Credit,Credit,
-Credit ({0}),Credit ({0}),
-Credit Account,Cont de credit,
-Credit Balance,Balanța de credit,
-Credit Card,Card de credit,
-Credit Days cannot be a negative number,Zilele de credit nu pot fi un număr negativ,
-Credit Limit,Limita de credit,
-Credit Note,Nota de credit,
-Credit Note Amount,Nota de credit Notă,
-Credit Note Issued,Nota de credit Eliberat,
-Credit Note {0} has been created automatically,Nota de credit {0} a fost creată automat,
-Credit limit has been crossed for customer {0} ({1}/{2}),Limita de credit a fost depășită pentru clientul {0} ({1} / {2}),
-Creditors,creditorii,
-Criteria weights must add up to 100%,Criteriile de greutate trebuie să adauge până la 100%,
-Crop Cycle,Ciclu de recoltare,
-Crops & Lands,Culturi și terenuri,
-Currency Exchange must be applicable for Buying or for Selling.,Cursul valutar trebuie să fie aplicabil pentru cumpărare sau pentru vânzare.,
-Currency can not be changed after making entries using some other currency,Moneda nu poate fi schimbat după efectuarea înregistrări folosind un altă valută,
-Currency exchange rate master.,Maestru cursului de schimb valutar.,
-Currency for {0} must be {1},Moneda pentru {0} trebuie să fie {1},
-Currency is required for Price List {0},Moneda este necesară pentru lista de prețuri {0},
-Currency of the Closing Account must be {0},Valuta contului de închidere trebuie să fie {0},
-Currency of the price list {0} must be {1} or {2},Moneda din lista de prețuri {0} trebuie să fie {1} sau {2},
-Currency should be same as Price List Currency: {0},Valuta trebuie sa fie aceeasi cu Moneda Preturilor: {0},
-Current,Actual,
-Current Assets,Active curente,
-Current BOM and New BOM can not be same,FDM-ul curent și FDM-ul nou nu pot fi identici,
-Current Job Openings,Locuri de munca disponibile,
-Current Liabilities,Raspunderi Curente,
-Current Qty,Cantitate curentă,
-Current invoice {0} is missing,Factura curentă {0} lipsește,
-Custom HTML,Personalizat HTML,
-Custom?,Personalizat?,
-Customer,Client,
-Customer Addresses And Contacts,Adrese de clienți și Contacte,
-Customer Contact,Clientul A lua legatura,
-Customer Database.,Baza de Date Client.,
-Customer Group,Grup Clienți,
-Customer LPO,Clientul LPO,
-Customer LPO No.,Client nr. LPO,
-Customer Name,Nume client,
-Customer POS Id,ID POS utilizator,
-Customer Service,Service Client,
-Customer and Supplier,Client și Furnizor,
-Customer is required,Clientul este necesar,
-Customer isn't enrolled in any Loyalty Program,Clientul nu este înscris în niciun program de loialitate,
-Customer required for 'Customerwise Discount',Client necesar pentru 'Reducere Client',
-Customer {0} does not belong to project {1},Clientul {0} nu aparține proiectului {1},
-Customer {0} is created.,Clientul {0} este creat.,
-Customers in Queue,Clienții din coadă,
-Customize Homepage Sections,Personalizați secțiunile homepage,
-Customizing Forms,Personalizare Formulare,
-Daily Project Summary for {0},Rezumatul zilnic al proiectului pentru {0},
-Daily Reminders,Memento de zi cu zi,
-Daily Work Summary,Sumar Zilnic de Lucru,
-Daily Work Summary Group,Grup de lucru zilnic de lucru,
-Data Import and Export,Datele de import și export,
-Data Import and Settings,Import de date și setări,
-Database of potential customers.,Bază de date cu clienți potențiali.,
-Date Format,Format Dată,
-Date Of Retirement must be greater than Date of Joining,Data Pensionare trebuie să fie ulterioara Datei Aderării,
-Date is repeated,Data se repetă,
-Date of Birth,Data Nașterii,
-Date of Birth cannot be greater than today.,Data Nașterii nu poate fi mai mare decât în prezent.,
-Date of Commencement should be greater than Date of Incorporation,Data de Începere ar trebui să fie mai mare decât data înființării,
-Date of Joining,Data aderării,
-Date of Joining must be greater than Date of Birth,Data Aderării trebuie să fie ulterioara Datei Nașterii,
-Date of Transaction,Data tranzacției,
-Datetime,DatăTimp,
-Day,Zi,
-Debit,Debit,
-Debit ({0}),Debit ({0}),
-Debit A/C Number,Număr de debit A / C,
-Debit Account,Cont Debit,
-Debit Note,Notă Debit,
-Debit Note Amount,Sumă Notă Debit,
-Debit Note Issued,Notă Debit Eliberată,
-Debit To is required,Pentru debit este necesar,
-Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debit și credit nu este egal pentru {0} # {1}. Diferența este {2}.,
-Debtors,Debitori,
-Debtors ({0}),Debitorilor ({0}),
-Declare Lost,Declar pierdut,
-Deduction,Deducere,
-Default Activity Cost exists for Activity Type - {0},Există implicit Activitate Cost de activitate de tip - {0},
-Default BOM ({0}) must be active for this item or its template,Implicit BOM ({0}) trebuie să fie activ pentru acest element sau șablon de,
-Default BOM for {0} not found,BOM implicit pentru {0} nu a fost găsit,
-Default BOM not found for Item {0} and Project {1},Implicit BOM nu a fost găsit pentru articolele {0} și proiectul {1},
-Default Letter Head,Implicit Scrisoare Șef,
-Default Tax Template,Implicit Template fiscal,
-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.,"Unitatea de măsură implicită pentru postul {0} nu poate fi schimbat direct, deoarece aveti si voi deja unele tranzacții (i) cu un alt UOM. Veți avea nevoie pentru a crea un nou element pentru a utiliza un alt implicit UOM.",
-Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Unitatea implicit de măsură pentru Variant &#39;{0} &quot;trebuie să fie la fel ca în Template&quot; {1} &quot;,
-Default settings for buying transactions.,Setări implicite pentru tranzacțiilor de achizitie.,
-Default settings for selling transactions.,Setări implicite pentru tranzacțiile de vânzare.,
-Default tax templates for sales and purchase are created.,Se creează șabloane fiscale predefinite pentru vânzări și achiziții.,
-Defaults,Implicite,
-Defense,Apărare,
-Define Project type.,Definiți tipul de proiect.,
-Define budget for a financial year.,Definiți bugetul pentru un exercițiu financiar.,
-Define various loan types,Definirea diferitelor tipuri de împrumut,
-Del,del,
-Delay in payment (Days),Întârziere de plată (zile),
-Delete all the Transactions for this Company,Ștergeți toate tranzacțiile de acest companie,
-Deletion is not permitted for country {0},Ștergerea nu este permisă pentru țara {0},
-Delivered,Livrat,
-Delivered Amount,Suma Pronunțată,
-Delivered Qty,Cantitate Livrata,
-Delivered: {0},Livrate: {0},
-Delivery,Livrare,
-Delivery Date,Data de Livrare,
-Delivery Note,Nota de Livrare,
-Delivery Note {0} is not submitted,Nota de Livrare {0} nu este introdusa,
-Delivery Note {0} must not be submitted,Nota de Livrare {0} nu trebuie sa fie introdusa,
-Delivery Notes {0} must be cancelled before cancelling this Sales Order,Nota de Livrare {0} trebuie sa fie anulată înainte de a anula aceasta Comandă de Vânzări,
-Delivery Notes {0} updated,Notele de livrare {0} sunt actualizate,
-Delivery Status,Starea de Livrare,
-Delivery Trip,Excursie la expediere,
-Delivery warehouse required for stock item {0},Depozit de livrare necesar pentru articol stoc {0},
-Department,Departament,
-Department Stores,Magazine Departament,
-Depreciation,Depreciere,
-Depreciation Amount,Sumă de amortizare,
-Depreciation Amount during the period,Suma de amortizare în timpul perioadei,
-Depreciation Date,Data de amortizare,
-Depreciation Eliminated due to disposal of assets,Amortizare Eliminată din cauza eliminării activelor,
-Depreciation Entry,amortizare intrare,
-Depreciation Method,Metoda de amortizare,
-Depreciation Row {0}: Depreciation Start Date is entered as past date,Rândul de amortizare {0}: Data de începere a amortizării este introdusă ca dată trecută,
-Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Rata de amortizare {0}: Valoarea estimată după viața utilă trebuie să fie mai mare sau egală cu {1},
-Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Rândul de amortizare {0}: Data următoarei amortizări nu poate fi înaintea datei disponibile pentru utilizare,
-Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Rata de amortizare {0}: Data următoare a amortizării nu poate fi înainte de data achiziției,
-Designer,proiectant,
-Detailed Reason,Motiv detaliat,
-Details,Detalii,
-Details of Outward Supplies and inward supplies liable to reverse charge,"Detalii despre consumabile externe și consumabile interioare, care pot fi percepute invers",
-Details of the operations carried out.,Detalii privind operațiunile efectuate.,
-Diagnosis,Diagnostic,
-Did not find any item called {0},Nu am gasit nici un element numit {0},
-Diff Qty,Cantitate diferențială,
-Difference Account,Diferența de Cont,
-"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Diferența cont trebuie să fie un cont de tip activ / pasiv, deoarece acest stoc Reconcilierea este un intrare de deschidere",
-Difference Amount,Diferență Sumă,
-Difference Amount must be zero,Diferența Suma trebuie să fie zero,
-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.,Un UOM diferit pentru articole va conduce la o valoare incorecta pentru Greutate Neta (Total). Asigurați-vă că Greutatea Netă a fiecărui articol este în același UOM.,
-Direct Expenses,Cheltuieli directe,
-Direct Income,Venituri Directe,
-Disable,Dezactivați,
-Disabled template must not be default template,șablon cu handicap nu trebuie să fie șablon implicit,
-Disburse Loan,Împrumut de debit,
-Disbursed,debursate,
-Disc,Disc,
-Discharge,descărcare,
-Discount,Reducere,
-Discount Percentage can be applied either against a Price List or for all Price List.,Procentul de reducere se poate aplica fie pe o listă de prețuri sau pentru toate lista de prețuri.,
-Discount must be less than 100,Reducerea trebuie să fie mai mică de 100,
-Diseases & Fertilizers,Boli și îngrășăminte,
-Dispatch,Expediere,
-Dispatch Notification,Notificare de expediere,
-Dispatch State,Statul de expediere,
-Distance,Distanţă,
-Distribution,distribuire,
-Distributor,Distribuitor,
-Dividends Paid,Dividendele plătite,
-Do you really want to restore this scrapped asset?,Sigur doriți să restabiliți acest activ casate?,
-Do you really want to scrap this asset?,Chiar vrei să resturi acest activ?,
-Do you want to notify all the customers by email?,Doriți să notificăți toți clienții prin e-mail?,
-Doc Date,Data Documentelor,
-Doc Name,Denumire Doc,
-Doc Type,Tip Doc,
-Docs Search,Căutare în Docs,
-Document Name,Document Nume,
-Document Status,Stare Document,
-Document Type,Tip Document,
-Domain,Domeniu,
-Domains,Domenii,
-Done,Făcut,
-Donor,Donator,
-Donor Type information.,Informații tip donator.,
-Donor information.,Informații despre donator.,
-Download JSON,Descărcați JSON,
-Draft,Proiect,
-Drop Ship,Drop navelor,
-Drug,Medicament,
-Due / Reference Date cannot be after {0},Datorită / Reference Data nu poate fi după {0},
-Due Date cannot be before Posting / Supplier Invoice Date,Data scadentă nu poate fi înainte de data de înregistrare / factură a furnizorului,
-Due Date is mandatory,Due Date este obligatorie,
-Duplicate Entry. Please check Authorization Rule {0},Inregistrare Duplicat. Vă rugăm să verificați Regula de Autorizare {0},
-Duplicate Serial No entered for Item {0},Nr. Serial introdus pentru articolul {0} este duplicat,
-Duplicate customer group found in the cutomer group table,grup de clienți dublu exemplar găsit în tabelul grupului cutomer,
-Duplicate entry,Inregistrare duplicat,
-Duplicate item group found in the item group table,Grup de element dublu exemplar găsit în tabelul de grup de elemente,
-Duplicate roll number for student {0},Numărul de rolă duplicat pentru student {0},
-Duplicate row {0} with same {1},Inregistrare {0} este duplicata cu aceeași {1},
-Duplicate {0} found in the table,Duplicat {0} găsit în tabel,
-Duration in Days,Durata în Zile,
-Duties and Taxes,Impozite și taxe,
-E-Invoicing Information Missing,Informații privind facturarea electronică lipsă,
-ERPNext Demo,ERPNext Demo,
-ERPNext Settings,Setări ERPNext,
-Earliest,cel mai devreme,
-Earnest Money,Banii cei mai castigati,
-Earning,Câștig Salarial,
-Edit,Editați | ×,
-Edit Publishing Details,Editați detaliile publicării,
-"Edit in full page for more options like assets, serial nos, batches etc.","Modificați pe pagina completă pentru mai multe opțiuni, cum ar fi active, numere de serie, loturi etc.",
-Education,Educaţie,
-Either location or employee must be required,Trebuie să fie necesară locația sau angajatul,
-Either target qty or target amount is mandatory,Cantitatea țintă sau valoarea țintă este obligatorie,
-Either target qty or target amount is mandatory.,Cantitatea țintă sau valoarea țintă este obligatorie.,
-Electrical,Electric,
-Electronic Equipments,Echipamente electronice,
-Electronics,Electronică,
-Eligible ITC,ITC eligibil,
-Email Account,Contul de e-mail,
-Email Address,Adresa de email,
-"Email Address must be unique, already exists for {0}","Adresa de e-mail trebuie să fie unic, există deja pentru {0}",
-Email Digest: ,Email Digest:,
-Email Reminders will be sent to all parties with email contacts,Mementourile de e-mail vor fi trimise tuturor părților cu contacte de e-mail,
-Email Sent,E-mail trimis,
-Email Template,Șablon de e-mail,
-Email not found in default contact,E-mailul nu a fost găsit în contactul implicit,
-Email sent to {0},E-mail trimis la {0},
-Employee,Angajat,
-Employee A/C Number,Numărul A / C al angajaților,
-Employee Advances,Avansuri ale angajaților,
-Employee Benefits,Beneficiile angajatului,
-Employee Grade,Clasa angajatilor,
-Employee ID,card de identitate al angajatului,
-Employee Lifecycle,Durata de viață a angajatului,
-Employee Name,Nume angajat,
-Employee Promotion cannot be submitted before Promotion Date ,Promovarea angajaților nu poate fi depusă înainte de data promoției,
-Employee Referral,Referirea angajaților,
-Employee Transfer cannot be submitted before Transfer Date ,Transferul angajaților nu poate fi depus înainte de data transferului,
-Employee cannot report to himself.,Angajat nu pot raporta la sine.,
-Employee relieved on {0} must be set as 'Left',Angajat eliberat din finctie pe {0} trebuie să fie setat ca 'Plecat',
-Employee {0} already submited an apllication {1} for the payroll period {2},Angajatul {0} a trimis deja o aplicație {1} pentru perioada de plată {2},
-Employee {0} has already applied for {1} between {2} and {3} : ,Angajatul {0} a solicitat deja {1} între {2} și {3}:,
-Employee {0} has no maximum benefit amount,Angajatul {0} nu are o valoare maximă a beneficiului,
-Employee {0} is not active or does not exist,Angajatul {0} nu este activ sau nu există,
-Employee {0} is on Leave on {1},Angajatul {0} este activat Lăsați pe {1},
-Employee {0} of grade {1} have no default leave policy,Angajații {0} ai clasei {1} nu au o politică de concediu implicită,
-Employee {0} on Half day on {1},Angajat {0} pe jumătate de zi pe {1},
-Enable,Activare,
-Enable / disable currencies.,Activare / dezactivare valute.,
-Enabled,Activat,
-"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Dacă activați opțiunea &quot;Utilizare pentru Cos de cumparaturi &#39;, ca Cosul de cumparaturi este activat și trebuie să existe cel puțin o regulă fiscală pentru Cos de cumparaturi",
-End Date,Dată finalizare,
-End Date can not be less than Start Date,Data de încheiere nu poate fi mai mică decât data de începere,
-End Date cannot be before Start Date.,Data de încheiere nu poate fi înainte de data de începere.,
-End Year,Anul de încheiere,
-End Year cannot be before Start Year,Sfârșitul anului nu poate fi înainte de Anul de început,
-End on,Terminați,
-End time cannot be before start time,Ora de încheiere nu poate fi înainte de ora de începere,
-Ends On date cannot be before Next Contact Date.,Sfârșitul de data nu poate fi înaintea datei următoarei persoane de contact.,
-Energy,Energie,
-Engineer,Inginer,
-Enough Parts to Build,Piese de schimb suficient pentru a construi,
-Enroll,A se inscrie,
-Enrolling student,student inregistrat,
-Enrolling students,Înscrierea studenților,
-Enter depreciation details,Introduceți detaliile de depreciere,
-Enter the Bank Guarantee Number before submittting.,Introduceți numărul de garanție bancară înainte de depunere.,
-Enter the name of the Beneficiary before submittting.,Introduceți numele Beneficiarului înainte de depunerea.,
-Enter the name of the bank or lending institution before submittting.,Introduceți numele băncii sau al instituției de credit înainte de depunere.,
-Enter value betweeen {0} and {1},Introduceți valoarea dintre {0} și {1},
-Entertainment & Leisure,Divertisment & Relaxare,
-Entertainment Expenses,Cheltuieli de Divertisment,
-Equity,echitate,
-Error Log,eroare Log,
-Error evaluating the criteria formula,Eroare la evaluarea formulei de criterii,
-Error in formula or condition: {0},Eroare în formulă sau o condiție: {0},
-Error: Not a valid id?,Eroare: Nu a id valid?,
-Estimated Cost,Cost estimat,
-Evaluation,Evaluare,
-"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Chiar dacă există mai multe reguli de stabilire a prețurilor, cu cea mai mare prioritate, se aplică apoi următoarele priorități interne:",
-Event,Eveniment,
-Event Location,Locația evenimentului,
-Event Name,Numele evenimentului,
-Exchange Gain/Loss,Cheltuiala / Venit din diferente de curs valutar,
-Exchange Rate Revaluation master.,Master reevaluarea cursului de schimb.,
-Exchange Rate must be same as {0} {1} ({2}),Cursul de schimb trebuie să fie același ca și {0} {1} ({2}),
-Excise Invoice,Factura acciza,
-Execution,Execuţie,
-Executive Search,Cautare executiva,
-Expand All,Extinde toate,
-Expected Delivery Date,Data de Livrare Preconizata,
-Expected Delivery Date should be after Sales Order Date,Data de livrare preconizată trebuie să fie după data de comandă de vânzare,
-Expected End Date,Data de Incheiere Preconizata,
-Expected Hrs,Se așteptau ore,
-Expected Start Date,Data de Incepere Preconizata,
-Expense,cheltuială,
-Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Cheltuială cont / Diferența ({0}) trebuie să fie un cont de ""profit sau pierdere""",
-Expense Account,Cont de cheltuieli,
-Expense Claim,Solicitare Cheltuială,
-Expense Claim for Vehicle Log {0},Solicitare Cheltuială pentru Log Vehicul {0},
-Expense Claim {0} already exists for the Vehicle Log,Solicitare Cheltuială {0} există deja pentru Log Vehicul,
-Expense Claims,Creanțe cheltuieli,
-Expense account is mandatory for item {0},Cont de cheltuieli este obligatoriu pentru articolul {0},
-Expenses,cheltuieli,
-Expenses Included In Asset Valuation,Cheltuieli incluse în evaluarea activelor,
-Expenses Included In Valuation,Cheltuieli incluse în evaluare,
-Expired Batches,Loturile expirate,
-Expires On,Expira la,
-Expiring On,Expirând On,
-Expiry (In Days),Expirării (în zile),
-Explore,Explorați,
-Export E-Invoices,Export facturi electronice,
-Extra Large,Extra mare,
-Extra Small,Extra Small,
-Fail,eșua,
-Failed,A eșuat,
-Failed to create website,Eroare la crearea site-ului,
-Failed to install presets,Eroare la instalarea presetărilor,
-Failed to login,Eroare la autentificare,
-Failed to setup company,Setarea companiei nu a reușit,
-Failed to setup defaults,Setările prestabilite nu au reușit,
-Failed to setup post company fixtures,Nu sa reușit configurarea posturilor companiei,
-Fax,Fax,
-Fee,taxă,
-Fee Created,Taxa a fost creată,
-Fee Creation Failed,Crearea de comisioane a eșuat,
-Fee Creation Pending,Crearea taxelor în așteptare,
-Fee Records Created - {0},Taxa de inregistrare Creat - {0},
-Feedback,Reactie,
-Fees,Taxele de,
-Female,Feminin,
-Fetch Data,Fetch Data,
-Fetch Subscription Updates,Actualizați abonamentul la preluare,
-Fetch exploded BOM (including sub-assemblies),Obtine FDM expandat (inclusiv subansamblurile),
-Fetching records......,Recuperarea înregistrărilor ......,
-Field Name,Nume câmp,
-Fieldname,Nume câmp,
-Fields,Câmpuri,
-Fill the form and save it,Completați formularul și salvați-l,
-Filter Employees By (Optional),Filtrați angajații după (opțional),
-"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Rândul câmpurilor de filtrare # {0}: Numele de câmp <b>{1}</b> trebuie să fie de tipul &quot;Link&quot; sau &quot;MultiSelect de tabel&quot;,
-Filter Total Zero Qty,Filtrați numărul total zero,
-Finance Book,Cartea de finanțe,
-Financial / accounting year.,An financiar / contabil.,
-Financial Services,Servicii financiare,
-Financial Statements,Situațiile financiare,
-Financial Year,An financiar,
-Finish,finalizarea,
-Finished Good,Terminat bine,
-Finished Good Item Code,Cod articol bun finalizat,
-Finished Goods,Produse finite,
-Finished Item {0} must be entered for Manufacture type entry,Postul terminat {0} trebuie să fie introdusă de intrare de tip fabricarea,
-Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Produsul finit <b>{0}</b> și Cantitatea <b>{1}</b> nu pot fi diferite,
-First Name,Prenume,
-"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Regimul fiscal este obligatoriu, vă rugăm să setați regimul fiscal în companie {0}",
-Fiscal Year,An fiscal,
-Fiscal Year End Date should be one year after Fiscal Year Start Date,Data de încheiere a anului fiscal trebuie să fie un an de la data începerii anului fiscal,
-Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Data începerii anului fiscal și se termină anul fiscal la data sunt deja stabilite în anul fiscal {0},
-Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Data de începere a anului fiscal ar trebui să fie cu un an mai devreme decât data de încheiere a anului fiscal,
-Fiscal Year {0} does not exist,Anul fiscal {0} nu există,
-Fiscal Year {0} is required,Anul fiscal {0} este necesară,
-Fiscal Year {0} not found,Anul fiscal {0} nu a fost găsit,
-Fixed Asset,Activ Fix,
-Fixed Asset Item must be a non-stock item.,Fix elementul de activ trebuie să fie un element de bază non-stoc.,
-Fixed Assets,Active Fixe,
-Following Material Requests have been raised automatically based on Item's re-order level,Ca urmare a solicitărilor de materiale au fost ridicate în mod automat în funcție de nivelul de re-comanda item,
-Following accounts might be selected in GST Settings:,Următoarele conturi ar putea fi selectate în Setări GST:,
-Following course schedules were created,Următoarele programe au fost create,
-Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Următorul articol {0} nu este marcat ca {1} element. Puteți să le activați ca element {1} din capitolul Articol,
-Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Următoarele elemente {0} nu sunt marcate ca {1} element. Puteți să le activați ca element {1} din capitolul Articol,
-Food,Produse Alimentare,
-"Food, Beverage & Tobacco","Produse Alimentare, Bauturi si Tutun",
-For,Pentru,
-"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.","Pentru elementele &quot;produse Bundle&quot;, Warehouse, Serial No și lot nr vor fi luate în considerare de la &quot;ambalare List&quot; masa. Dacă Warehouse și Lot nr sunt aceleași pentru toate elementele de ambalaj pentru produs orice &quot;Bundle produs&quot;, aceste valori pot fi introduse în tabelul de punctul principal, valorile vor fi copiate &quot;de ambalare Lista&quot; masă.",
-For Employee,Pentru angajat,
-For Quantity (Manufactured Qty) is mandatory,Pentru Cantitate (fabricat Cant) este obligatorie,
-For Supplier,Pentru Furnizor,
-For Warehouse,Pentru depozit,
-For Warehouse is required before Submit,Pentru Depozit este necesar înainte de Inregistrare,
-"For an item {0}, quantity must be negative number","Pentru un element {0}, cantitatea trebuie să fie număr negativ",
-"For an item {0}, quantity must be positive number","Pentru un element {0}, cantitatea trebuie să fie un număr pozitiv",
-"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Pentru cartea de muncă {0}, puteți înscrie doar stocul de tip „Transfer de material pentru fabricare”",
-"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Pentru rândul {0} în {1}. Pentru a include {2} ratei punctul, randuri {3} De asemenea, trebuie să fie incluse",
-For row {0}: Enter Planned Qty,Pentru rândul {0}: Introduceți cantitatea planificată,
-"For {0}, only credit accounts can be linked against another debit entry","Pentru {0}, numai conturi de credit poate fi legat de o altă intrare în debit",
-"For {0}, only debit accounts can be linked against another credit entry","Pentru {0}, numai conturi de debit poate fi legat de o altă intrare în credit",
-Forum Activity,Activitatea Forumului,
-Free item code is not selected,Codul gratuit al articolului nu este selectat,
-Freight and Forwarding Charges,Incarcatura și Taxe de Expediere,
-Frequency,Frecvență,
-Friday,Vineri,
-From,De la,
-From Address 1,De la adresa 1,
-From Address 2,Din adresa 2,
-From Currency and To Currency cannot be same,Din Valuta și In Valuta nu pot fi identice,
-From Date and To Date lie in different Fiscal Year,De la data și până la data se află în anul fiscal diferit,
-From Date cannot be greater than To Date,De la data nu poate fi mai mare decât la data,
-From Date must be before To Date,Din Data trebuie să fie anterioara Pana la Data,
-From Date should be within the Fiscal Year. Assuming From Date = {0},De la data trebuie să fie în anul fiscal. Presupunând că la data = {0},
-From Date {0} cannot be after employee's relieving Date {1},De la data {0} nu poate fi după data eliberării angajatului {1},
-From Date {0} cannot be before employee's joining Date {1},De la data {0} nu poate fi înainte de data de îmbarcare a angajatului {1},
-From Datetime,De la Datetime,
-From Delivery Note,Din Nota de livrare,
-From Fiscal Year,Din anul fiscal,
-From GSTIN,De la GSTIN,
-From Party Name,De la numele partidului,
-From Pin Code,Din codul PIN,
-From Place,De la loc,
-From Range has to be less than To Range,Din Gama trebuie să fie mai mică de la gama,
-From State,Din stat,
-From Time,Din Time,
-From Time Should Be Less Than To Time,Din timp ar trebui să fie mai puțin decât timpul,
-From Time cannot be greater than To Time.,Din Timpul nu poate fi mai mare decât în timp.,
-"From a supplier under composition scheme, Exempt and Nil rated","De la un furnizor în regim de compoziție, Exempt și Nil au evaluat",
-From and To dates required,Datele De La și Pana La necesare,
-From date can not be less than employee's joining date,De la data nu poate fi mai mică decât data angajării angajatului,
-From value must be less than to value in row {0},Din valoare trebuie să fie mai mică decat in valoare pentru inregistrarea {0},
-From {0} | {1} {2},De la {0} | {1} {2},
-Fuel Price,Preț de combustibil,
-Fuel Qty,combustibil Cantitate,
-Fulfillment,Împlinire,
-Full,Deplin,
-Full Name,Nume complet,
-Full-time,Permanent,
-Fully Depreciated,Depreciata pe deplin,
-Furnitures and Fixtures,Furnitures și Programe,
-"Further accounts can be made under Groups, but entries can be made against non-Groups","Conturile suplimentare pot fi făcute sub Groups, dar intrările pot fi făcute împotriva non-Grupuri",
-Further cost centers can be made under Groups but entries can be made against non-Groups,"Centre de costuri pot fi realizate în grupuri, dar intrările pot fi făcute împotriva non-Grupuri",
-Further nodes can be only created under 'Group' type nodes,Noduri suplimentare pot fi create numai în noduri de tip 'Grup',
-Future dates not allowed,Datele viitoare nu sunt permise,
-GSTIN,GSTIN,
-GSTR3B-Form,GSTR3B-Form,
-Gain/Loss on Asset Disposal,Câștigul / Pierdere de eliminare a activelor,
-Gantt Chart,Diagrama Gantt,
-Gantt chart of all tasks.,Diagrama Gantt a tuturor sarcinilor.,
-Gender,Sex,
-General,General,
-General Ledger,Registru Contabil General,
-Generate Material Requests (MRP) and Work Orders.,Generează cereri de material (MRP) și comenzi de lucru.,
-Generate Secret,Generați secret,
-Get Details From Declaration,Obțineți detalii din declarație,
-Get Employees,Obțineți angajați,
-Get Invocies,Obțineți invocări,
-Get Invoices,Obțineți facturi,
-Get Invoices based on Filters,Obțineți facturi bazate pe filtre,
-Get Items from BOM,Obține articole din FDM,
-Get Items from Healthcare Services,Obțineți articole din serviciile de asistență medicală,
-Get Items from Prescriptions,Obțineți articole din prescripții,
-Get Items from Product Bundle,Obține elemente din Bundle produse,
-Get Suppliers,Obțineți furnizori,
-Get Suppliers By,Obțineți furnizori prin,
-Get Updates,Obțineți actualizări,
-Get customers from,Obțineți clienți de la,
-Get from Patient Encounter,Ia de la întâlnirea cu pacienții,
-Getting Started,Noțiuni de bază,
-GitHub Sync ID,ID-ul de sincronizare GitHub,
-Global settings for all manufacturing processes.,Setările globale pentru toate procesele de producție.,
-Go to the Desktop and start using ERPNext,Du-te la desktop și începe să utilizați ERPNext,
-GoCardless SEPA Mandate,GoCardless Mandatul SEPA,
-GoCardless payment gateway settings,Setările gateway-ului de plată GoCardless,
-Goal and Procedure,Obiectivul și procedura,
-Goals cannot be empty,Obiectivele nu poate fi gol,
-Goods In Transit,Bunuri în tranzit,
-Goods Transferred,Mărfuri transferate,
-Goods and Services Tax (GST India),Mărfuri și servicii fiscale (GST India),
-Goods are already received against the outward entry {0},Mărfurile sunt deja primite cu intrarea exterioară {0},
-Government,Guvern,
-Grand Total,Total general,
-Grant,Acorda,
-Grant Application,Cerere de finanțare nerambursabilă,
-Grant Leaves,Grant Frunze,
-Grant information.,Acordați informații.,
-Grocery,Băcănie,
-Gross Pay,Plata Bruta,
-Gross Profit,Profit brut,
-Gross Profit %,Profit Brut%,
-Gross Profit / Loss,Profit brut / Pierdere,
-Gross Purchase Amount,Sumă brută Cumpărare,
-Gross Purchase Amount is mandatory,Valoarea brută Achiziția este obligatorie,
-Group by Account,Grup in functie de Cont,
-Group by Party,Grup după partid,
-Group by Voucher,Grup in functie de Voucher,
-Group by Voucher (Consolidated),Grup după Voucher (Consolidat),
-Group node warehouse is not allowed to select for transactions,depozit nod grup nu este permis să selecteze pentru tranzacții,
-Group to Non-Group,Grup non-grup,
-Group your students in batches,Grupa elevii în loturi,
-Groups,Grupuri,
-Guardian1 Email ID,Codul de e-mail al Guardian1,
-Guardian1 Mobile No,Guardian1 mobil nr,
-Guardian1 Name,Nume Guardian1,
-Guardian2 Email ID,Codul de e-mail Guardian2,
-Guardian2 Mobile No,Guardian2 mobil nr,
-Guardian2 Name,Nume Guardian2,
-Guest,Oaspete,
-HR Manager,Manager Resurse Umane,
-HSN,HSN,
-HSN/SAC,HSN / SAC,
-Half Day,Jumătate de zi,
-Half Day Date is mandatory,Data semestrului este obligatorie,
-Half Day Date should be between From Date and To Date,Jumătate Data zi ar trebui să fie între De la data si pana in prezent,
-Half Day Date should be in between Work From Date and Work End Date,Data de la jumătate de zi ar trebui să se afle între Data de lucru și Data de terminare a lucrului,
-Half Yearly,Semestrial,
-Half day date should be in between from date and to date,Data de la jumătate de zi ar trebui să fie între data și data,
-Half-Yearly,Semestrial,
-Hardware,Hardware,
-Head of Marketing and Sales,Director de Marketing și Vânzări,
-Health Care,Servicii de Sanatate,
-Healthcare,Sănătate,
-Healthcare (beta),Servicii medicale (beta),
-Healthcare Practitioner,Medicul de îngrijire medicală,
-Healthcare Practitioner not available on {0},Medicul de îngrijire medicală nu este disponibil la {0},
-Healthcare Practitioner {0} not available on {1},Medicul de îngrijire medicală {0} nu este disponibil la {1},
-Healthcare Service Unit,Serviciul de asistență medicală,
-Healthcare Service Unit Tree,Unitatea de servicii de asistență medicală,
-Healthcare Service Unit Type,Tipul unității de servicii medicale,
-Healthcare Services,Servicii pentru sanatate,
-Healthcare Settings,Setări de asistență medicală,
-Hello,buna,
-Help Results for,Rezultate de ajutor pentru,
-High,Ridicat,
-High Sensitivity,Sensibilitate crescută,
-Hold,Păstrarea / Ţinerea / Deţinerea,
-Hold Invoice,Rețineți factura,
-Holiday,Vacanţă,
-Holiday List,Lista de vacanță,
-Hotel Rooms of type {0} are unavailable on {1},Camerele Hotel de tip {0} nu sunt disponibile în {1},
-Hotels,Hoteluri,
-Hourly,ore,
-Hours,ore,
-House rent paid days overlapping with {0},Chirie de casă zile plătite care se suprapun cu {0},
-House rented dates required for exemption calculation,Datele de închiriat pentru casa cerute pentru calcularea scutirii,
-House rented dates should be atleast 15 days apart,Căminul de închiriat al casei trebuie să fie la cel puțin 15 zile,
-How Pricing Rule is applied?,Cum se aplică regula pret?,
-Hub Category,Categorie Hub,
-Hub Sync ID,Hub ID de sincronizare,
-Human Resource,Resurse umane,
-Human Resources,Resurse umane,
-IFSC Code,Codul IFSC,
-IGST Amount,Suma IGST,
-IP Address,Adresa IP,
-ITC Available (whether in full op part),ITC Disponibil (fie în opțiune integrală),
-ITC Reversed,ITC inversat,
-Identifying Decision Makers,Identificarea factorilor de decizie,
-"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Dacă este bifată opțiunea Auto Opt In, clienții vor fi conectați automat la programul de loialitate respectiv (la salvare)",
-"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","În cazul în care mai multe reguli de stabilire a prețurilor continuă să prevaleze, utilizatorii sunt rugați să setați manual prioritate pentru a rezolva conflictul.",
-"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.","Dacă regula de preț este selectată pentru &quot;Rate&quot;, va suprascrie lista de prețuri. Tarifarea tarifului Rata de rată este rata finală, deci nu trebuie să aplicați nici o reducere suplimentară. Prin urmare, în tranzacții cum ar fi Comandă de Vânzare, Comandă de Achiziție etc, va fi extrasă în câmpul &quot;Rată&quot;, mai degrabă decât în câmpul &quot;Rata Prețurilor&quot;.",
-"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.","În cazul în care două sau mai multe reguli de stabilire a prețurilor sunt găsite bazează pe condițiile de mai sus, se aplică prioritate. Prioritatea este un număr între 0 și 20 în timp ce valoarea implicită este zero (gol). Numărul mai mare înseamnă că va avea prioritate în cazul în care există mai multe norme de stabilire a prețurilor, cu aceleași condiții.",
-"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Dacă expiră nelimitat pentru Punctele de loialitate, păstrați Durata de expirare goală sau 0.",
-"If you have any questions, please get back to us.","Dacă aveți întrebări, vă rugăm să ne întoarcem la noi.",
-Ignore Existing Ordered Qty,Ignorați cantitatea comandată existentă,
-Image,Imagine,
-Image View,Imagine Vizualizare,
-Import Data,Importați date,
-Import Day Book Data,Importați datele cărții de zi,
-Import Log,Import Conectare,
-Import Master Data,Importați datele de bază,
-Import in Bulk,Importare în masă,
-Import of goods,Importul de bunuri,
-Import of services,Importul serviciilor,
-Importing Items and UOMs,Importarea de articole și UOM-uri,
-Importing Parties and Addresses,Importarea părților și adreselor,
-In Maintenance,În Mentenanță,
-In Production,In productie,
-In Qty,În Cantitate,
-In Stock Qty,În stoc Cantitate,
-In Stock: ,In stoc:,
-In Value,În valoare,
-"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","În cazul unui program cu mai multe niveluri, Clienții vor fi automat alocați nivelului respectiv în funcție de cheltuielile efectuate",
-Inactive,Inactiv,
-Incentives,stimulente,
-Include Default Book Entries,Includeți intrări implicite în cărți,
-Include Exploded Items,Includeți articole explodate,
-Include POS Transactions,Includeți tranzacțiile POS,
-Include UOM,Includeți UOM,
-Included in Gross Profit,Inclus în Profitul brut,
-Income,Venit,
-Income Account,Contul de venit,
-Income Tax,Impozit pe venit,
-Incoming,Primite,
-Incoming Rate,Rate de intrare,
-Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Număr incorect de contabilitate intrările găsit. Este posibil să fi selectat un cont greșit în tranzacție.,
-Increment cannot be 0,Creștere nu poate fi 0,
-Increment for Attribute {0} cannot be 0,Creștere pentru Atribut {0} nu poate fi 0,
-Indirect Expenses,Cheltuieli indirecte,
-Indirect Income,Venituri indirecte,
-Individual,Individual,
-Ineligible ITC,ITC neeligibil,
-Initiated,Iniţiat,
-Inpatient Record,Înregistrări de pacienți,
-Insert,Introduceți,
-Installation Note,Instalare Notă,
-Installation Note {0} has already been submitted,Instalarea Nota {0} a fost deja prezentat,
-Installation date cannot be before delivery date for Item {0},Data de instalare nu poate fi înainte de data de livrare pentru postul {0},
-Installing presets,Instalarea presetărilor,
-Institute Abbreviation,Institutul Abreviere,
-Institute Name,Numele Institutului,
-Instructor,Instructor,
-Insufficient Stock,Stoc insuficient,
-Insurance Start date should be less than Insurance End date,Asigurare Data de pornire ar trebui să fie mai mică de asigurare Data terminării,
-Integrated Tax,Impozit integrat,
-Inter-State Supplies,Consumabile inter-statale,
-Interest Amount,Suma Dobânda,
-Interests,interese,
-Intern,interna,
-Internet Publishing,Editura Internet,
-Intra-State Supplies,Furnizori intra-statale,
-Introduction,Introducere,
-Invalid Attribute,Atribut nevalid,
-Invalid Blanket Order for the selected Customer and Item,Comanda nevalabilă pentru client și element selectat,
-Invalid Company for Inter Company Transaction.,Companie nevalidă pentru tranzacția inter companie.,
-Invalid GSTIN! A GSTIN must have 15 characters.,GSTIN nevalid! Un GSTIN trebuie să aibă 15 caractere.,
-Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,GSTIN nevalid! Primele 2 cifre ale GSTIN ar trebui să se potrivească cu numărul de stat {0}.,
-Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,GSTIN nevalid! Intrarea introdusă nu corespunde formatului GSTIN.,
-Invalid Posting Time,Ora nevalidă a postării,
-Invalid attribute {0} {1},atribut nevalid {0} {1},
-Invalid quantity specified for item {0}. Quantity should be greater than 0.,Cantitate nevalidă specificată pentru element {0}. Cantitatea ar trebui să fie mai mare decât 0.,
-Invalid reference {0} {1},Referință invalid {0} {1},
-Invalid {0},Invalid {0},
-Invalid {0} for Inter Company Transaction.,Nevalabil {0} pentru tranzacția între companii.,
-Invalid {0}: {1},Invalid {0}: {1},
-Inventory,Inventarierea,
-Investment Banking,Investment Banking,
-Investments,investiţii,
-Invoice,Factură,
-Invoice Created,Factura creată,
-Invoice Discounting,Reducerea facturilor,
-Invoice Patient Registration,Inregistrarea pacientului,
-Invoice Posting Date,Data Postare factură,
-Invoice Type,Tip Factura,
-Invoice already created for all billing hours,Factura deja creată pentru toate orele de facturare,
-Invoice can't be made for zero billing hour,Factura nu poate fi făcută pentru cantitate 0 ore facturabile,
-Invoice {0} no longer exists,Factura {0} nu mai există,
-Invoiced,facturată,
-Invoiced Amount,Sumă facturată,
-Invoices,Facturi,
-Invoices for Costumers.,Facturi pentru clienți.,
-Inward supplies from ISD,Consumabile interioare de la ISD,
-Inward supplies liable to reverse charge (other than 1 & 2 above),Livrări interne susceptibile de încărcare inversă (altele decât 1 și 2 de mai sus),
-Is Active,Este activ,
-Is Default,Este Implicit,
-Is Existing Asset,Este activ existent,
-Is Frozen,Este inghetat,
-Is Group,Is Group,
-Issue,Problema,
-Issue Material,Eliberarea Material,
-Issued,Emis,
-Issues,Probleme,
-It is needed to fetch Item Details.,Este nevoie să-i aducă Detalii despre articol.,
-Item,Obiect,
-Item 1,Postul 1,
-Item 2,Punctul 2,
-Item 3,Punctul 3,
-Item 4,Punctul 4,
-Item 5,Punctul 5,
-Item Cart,Cos,
-Item Code,Cod articol,
-Item Code cannot be changed for Serial No.,Cod articol nu pot fi schimbate pentru Serial No.,
-Item Code required at Row No {0},Cod Articol necesar la inregistrarea Nr. {0},
-Item Description,Descriere Articol,
-Item Group,Grup Articol,
-Item Group Tree,Ramificatie Grup Articole,
-Item Group not mentioned in item master for item {0},Grupa de articole care nu sunt menționate la punctul de master pentru element {0},
-Item Name,Numele articolului,
-Item Price added for {0} in Price List {1},Articol Preț adăugată pentru {0} în lista de prețuri {1},
-"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Elementul Preț apare de mai multe ori pe baza listei de prețuri, furnizor / client, valută, element, UOM, cantitate și date.",
-Item Price updated for {0} in Price List {1},Articol Preț actualizat pentru {0} în lista de prețuri {1},
-Item Row {0}: {1} {2} does not exist in above '{1}' table,Rândul {0}: {1} {2} nu există în tabelul de mai sus {1},
-Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Taxa Articol pentru inregistrarea {0} trebuie sa detina un cont de tip Fiscal sau De Venituri sau De Cheltuieli sau Taxabil,
-Item Template,Șablon de șablon,
-Item Variant Settings,Setări pentru variantele de articol,
-Item Variant {0} already exists with same attributes,Postul Varianta {0} există deja cu aceleași atribute,
-Item Variants,Variante Postul,
-Item Variants updated,Variante de articol actualizate,
-Item has variants.,Element are variante.,
-Item must be added using 'Get Items from Purchase Receipts' button,"Postul trebuie să fie adăugate folosind ""obține elemente din Cumpără Încasări"" buton",
-Item valuation rate is recalculated considering landed cost voucher amount,Rata de evaluare Articolul este recalculat în vedere aterizat sumă voucher de cost,
-Item variant {0} exists with same attributes,Postul varianta {0} există cu aceleași atribute,
-Item {0} does not exist,Articolul {0} nu există,
-Item {0} does not exist in the system or has expired,Articolul {0} nu există în sistem sau a expirat,
-Item {0} has already been returned,Articolul {0} a fost deja returnat,
-Item {0} has been disabled,Postul {0} a fost dezactivat,
-Item {0} has reached its end of life on {1},Articolul {0} a ajuns la sfârșitul cliclului sau de viață in {1},
-Item {0} ignored since it is not a stock item,"Element {0} ignorat, deoarece nu este un element de stoc",
-"Item {0} is a template, please select one of its variants","Postul {0} este un șablon, vă rugăm să selectați unul dintre variantele sale",
-Item {0} is cancelled,Articolul {0} este anulat,
-Item {0} is disabled,Postul {0} este dezactivat,
-Item {0} is not a serialized Item,Articolul {0} nu este un articol serializat,
-Item {0} is not a stock Item,Articolul{0} nu este un element de stoc,
-Item {0} is not active or end of life has been reached,Articolul {0} nu este activ sau sfarsitul ciclului sau de viata a fost atins,
-Item {0} is not setup for Serial Nos. Check Item master,Articolul {0} nu este configurat pentru Numerotare Seriala. Verificati Articolul Principal.,
-Item {0} is not setup for Serial Nos. Column must be blank,Articolul {0} nu este configurat pentru Numerotare Seriala. Coloana trebuie să fie vida,
-Item {0} must be a Fixed Asset Item,Postul {0} trebuie să fie un element activ fix,
-Item {0} must be a Sub-contracted Item,Articolul {0} trebuie să fie un Articol Sub-contractat,
-Item {0} must be a non-stock item,Postul {0} trebuie să fie un element de bază non-stoc,
-Item {0} must be a stock Item,Articolul {0} trebuie să fie un Articol de Stoc,
-Item {0} not found,Articolul {0} nu a fost găsit,
-Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Postul {0} nu a fost găsit în &quot;Materii prime furnizate&quot; masă în Comandă {1},
-Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Postul {0}: Cantitate comandat {1} nu poate fi mai mică de cantitate minimă de comandă {2} (definită la punctul).,
-Item: {0} does not exist in the system,Postul: {0} nu există în sistemul,
-Items,Articole,
-Items Filter,Filtrarea elementelor,
-Items and Pricing,Articole și Prețuri,
-Items for Raw Material Request,Articole pentru cererea de materii prime,
-Job Card,Carte de muncă,
-Job Description,Descrierea postului,
-Job Offer,Ofertă de muncă,
-Job card {0} created,Cartea de activitate {0} a fost creată,
-Jobs,Posturi,
-Join,A adera,
-Journal Entries {0} are un-linked,Intrările Jurnal {0} sunt ne-legate,
-Journal Entry,Intrare în jurnal,
-Journal Entry {0} does not have account {1} or already matched against other voucher,Jurnal de intrare {0} nu are cont {1} sau deja comparate cu alte voucher,
-Kanban Board,Consiliul de Kanban,
-Key Reports,Rapoarte cheie,
-LMS Activity,Activitate LMS,
-Lab Test,Test de laborator,
-Lab Test Report,Raport de testare în laborator,
-Lab Test Sample,Test de laborator,
-Lab Test Template,Lab Test Template,
-Lab Test UOM,Laboratorul de testare UOM,
-Lab Tests and Vital Signs,Teste de laborator și semne vitale,
-Lab result datetime cannot be before testing datetime,Rezultatul datetimei de laborator nu poate fi înainte de data testării,
-Lab testing datetime cannot be before collection datetime,Timpul de testare al laboratorului nu poate fi înainte de data de colectare,
-Label,Eticheta,
-Laboratory,Laborator,
-Language Name,Nume limbă,
-Large,Mare,
-Last Communication,Ultima comunicare,
-Last Communication Date,Ultima comunicare,
-Last Name,Nume,
-Last Order Amount,Ultima cantitate,
-Last Order Date,Ultima comandă Data,
-Last Purchase Price,Ultima valoare de cumpărare,
-Last Purchase Rate,Ultima Rate de Cumparare,
-Latest,Ultimul,
-Latest price updated in all BOMs,Ultimul preț actualizat în toate BOM-urile,
-Lead,Pistă,
-Lead Count,Număr Pistă,
-Lead Owner,Proprietar Pistă,
-Lead Owner cannot be same as the Lead,Plumb Proprietarul nu poate fi aceeași ca de plumb,
-Lead Time Days,Timpul in Zile Conducere,
-Lead to Quotation,Pistă către Ofertă,
-"Leads help you get business, add all your contacts and more as your leads","Oportunitati de afaceri ajuta să obțineți, adăugați toate contactele și mai mult ca dvs. conduce",
-Learn,Învăța,
-Leave Approval Notification,Lăsați notificarea de aprobare,
-Leave Blocked,Concediu Blocat,
-Leave Encashment,Lasă încasări,
-Leave Management,Lasă managementul,
-Leave Status Notification,Lăsați notificarea de stare,
-Leave Type,Tip Concediu,
-Leave Type is madatory,Tipul de plecare este madatoriu,
-Leave Type {0} cannot be allocated since it is leave without pay,"Lasă un {0} Tipul nu poate fi alocată, deoarece este în concediu fără plată",
-Leave Type {0} cannot be carry-forwarded,Lasă Tipul {0} nu poate fi transporta-transmise,
-Leave Type {0} is not encashable,Tipul de plecare {0} nu este încasat,
-Leave Without Pay,Concediu Fără Plată,
-Leave and Attendance,Plece și prezență,
-Leave application {0} already exists against the student {1},Lăsați aplicația {0} să existe deja împotriva elevului {1},
-"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Concediu nu poate fi repartizat înainte {0}, ca echilibru concediu a fost deja carry transmise în viitor înregistrarea alocare concediu {1}",
-"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Lasă nu poate fi aplicat / anulata pana la {0}, ca echilibru concediu a fost deja carry transmise în viitor înregistrarea alocare concediu {1}",
-Leave of type {0} cannot be longer than {1},Concediul de tip {0} nu poate dura mai mare de {1},
-Leaves,Frunze,
-Leaves Allocated Successfully for {0},Concedii alocate cu succes pentru {0},
-Leaves has been granted sucessfully,Frunzele au fost acordate cu succes,
-Leaves must be allocated in multiples of 0.5,"Concediile trebuie să fie alocate în multipli de 0.5""",
-Leaves per Year,Frunze pe an,
-Ledger,Registru Contabil,
-Legal,Juridic,
-Legal Expenses,Cheltuieli Juridice,
-Letter Head,Antet Scrisoare,
-Letter Heads for print templates.,Antete de Scrisoare de Sabloane de Imprimare.,
-Level,Nivel,
-Liability,Răspundere,
-License,Licență,
-Lifecycle,Ciclu de viață,
-Limit,Limită,
-Limit Crossed,limita Traversat,
-Link to Material Request,Link la solicitarea materialului,
-List of all share transactions,Lista tuturor tranzacțiilor cu acțiuni,
-List of available Shareholders with folio numbers,Lista Acționarilor disponibili cu numere folio,
-Loading Payment System,Încărcarea sistemului de plată,
-Loan,Împrumut,
-Loan Amount cannot exceed Maximum Loan Amount of {0},Suma creditului nu poate depăși valoarea maximă a împrumutului de {0},
-Loan Application,Cerere de împrumut,
-Loan Management,Managementul împrumuturilor,
-Loan Repayment,Rambursare a creditului,
-Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Data de început a împrumutului și perioada de împrumut sunt obligatorii pentru a salva reducerea facturilor,
-Loans (Liabilities),Imprumuturi (Raspunderi),
-Loans and Advances (Assets),Împrumuturi și avansuri (active),
-Local,Local,
-Log,Buturuga,
-Logs for maintaining sms delivery status,Busteni pentru menținerea statutului de livrare sms,
-Lost,Pierdut,
-Lost Reasons,Motivele pierdute,
-Low,Scăzut,
-Low Sensitivity,Sensibilitate scăzută,
-Lower Income,Micsoreaza Venit,
-Loyalty Amount,Suma de loialitate,
-Loyalty Point Entry,Punct de loialitate,
-Loyalty Points,Puncte de loialitate,
-"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Punctele de loialitate vor fi calculate din suma cheltuită (prin factura de vânzare), pe baza factorului de colectare menționat.",
-Loyalty Points: {0},Puncte de fidelitate: {0},
-Loyalty Program,Program de fidelizare,
-Main,Principal,
-Maintenance,Mentenanţă,
-Maintenance Log,Jurnal Mentenanță,
-Maintenance Manager,Manager Mentenanță,
-Maintenance Schedule,Program Mentenanță,
-Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Programul de Mentenanta nu este generat pentru toate articolele. Vă rugăm să faceți clic pe 'Generare Program',
-Maintenance Schedule {0} exists against {1},Planul de Mentenanță {0} există împotriva {1},
-Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Programul de Mentenanță{0} trebuie anulat înainte de a anula această Comandă de Vânzări,
-Maintenance Status has to be Cancelled or Completed to Submit,Starea de întreținere trebuie anulată sau finalizată pentru a fi trimisă,
-Maintenance User,Întreținere utilizator,
-Maintenance Visit,Vizită Mentenanță,
-Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Vizita de Mentenanță {0} trebuie să fie anulată înainte de a anula această Comandă de Vânzări,
-Maintenance start date can not be before delivery date for Serial No {0},Data de Incepere a Mentenantei nu poate fi anterioara datei de livrare aferent de Nr. de Serie {0},
-Make,Realizare,
-Make Payment,Plateste,
-Make project from a template.,Realizați proiectul dintr-un șablon.,
-Making Stock Entries,Efectuarea de stoc Entries,
-Male,Masculin,
-Manage Customer Group Tree.,Gestioneaza Ramificatiile de Group a Clientului.,
-Manage Sales Partners.,Gestionează Parteneri Vânzări,
-Manage Sales Person Tree.,Gestioneaza Ramificatiile Persoanei responsabila cu Vanzarile,
-Manage Territory Tree.,Gestioneaza Ramificatiile Teritoriule.,
-Manage your orders,Gestionează Comenzi,
-Management,Management,
-Manager,Manager,
-Managing Projects,Managementul Proiectelor,
-Managing Subcontracting,Gestionarea Subcontracte,
-Mandatory,Obligatoriu,
-Mandatory field - Academic Year,Domeniu obligatoriu - An universitar,
-Mandatory field - Get Students From,Domeniu obligatoriu - Obțineți elevii de la,
-Mandatory field - Program,Câmp obligatoriu - Program,
-Manufacture,Fabricare,
-Manufacturer,Producător,
-Manufacturer Part Number,Numarul de piesa,
-Manufacturing,Producţie,
-Manufacturing Quantity is mandatory,Cantitatea de fabricație este obligatorie,
-Mapping,Cartografierea,
-Mapping Type,Tipul de tipărire,
-Mark Absent,Mark Absent,
-Mark Attendance,Marchează prezența,
-Mark Half Day,Mark jumatate de zi,
-Mark Present,Mark Prezent,
-Marketing,Marketing,
-Marketing Expenses,Cheltuieli de marketing,
-Marketplace,Piata de desfacere,
-Marketplace Error,Eroare de pe piață,
-Masters,Masterat,
-Match Payments with Invoices,Plățile se potrivesc cu facturi,
-Match non-linked Invoices and Payments.,Potrivesc Facturi non-legate și plăți.,
-Material,Material,
-Material Consumption,Consumul de materiale,
-Material Consumption is not set in Manufacturing Settings.,Consumul de materiale nu este setat în Setări de fabricare.,
-Material Receipt,Primirea de material,
-Material Request,Cerere de material,
-Material Request Date,Cerere de material Data,
-Material Request No,Cerere de material Nu,
-"Material Request not created, as quantity for Raw Materials already available.","Cerere de material nefiind creată, ca cantitate pentru materiile prime deja disponibile.",
-Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Cerere de material de maximum {0} se poate face pentru postul {1} împotriva comandă de vânzări {2},
-Material Request to Purchase Order,Cerere de material de cumpărare Ordine,
-Material Request {0} is cancelled or stopped,Cerere de material {0} este anulată sau oprită,
-Material Request {0} submitted.,Cerere de materiale {0} trimisă.,
-Material Transfer,Transfer de material,
-Material Transferred,Material transferat,
-Material to Supplier,Material de Furnizor,
-Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Suma maximă de scutire nu poate fi mai mare decât valoarea scutirii maxime {0} din categoria scutirii de impozite {1},
-Max benefits should be greater than zero to dispense benefits,Beneficiile maxime ar trebui să fie mai mari decât zero pentru a renunța la beneficii,
-Max discount allowed for item: {0} is {1}%,Discount maxim permis pentru articol: {0} este {1}%,
-Max: {0},Max: {0},
-Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Probele maxime - {0} pot fi păstrate pentru lotul {1} și articolul {2}.,
-Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Probele maxime - {0} au fost deja reținute pentru lotul {1} și articolul {2} din lotul {3}.,
-Maximum amount eligible for the component {0} exceeds {1},Suma maximă eligibilă pentru componenta {0} depășește {1},
-Maximum benefit amount of component {0} exceeds {1},Suma maximă de beneficii a componentei {0} depășește {1},
-Maximum benefit amount of employee {0} exceeds {1},Suma maximă a beneficiilor angajatului {0} depășește {1},
-Maximum discount for Item {0} is {1}%,Reducerea maximă pentru articolul {0} este {1}%,
-Maximum leave allowed in the leave type {0} is {1},Permisul maxim permis în tipul de concediu {0} este {1},
-Medical,Medical,
-Medical Code,Codul medical,
-Medical Code Standard,Codul medical standard,
-Medical Department,Departamentul medical,
-Medical Record,Fișă medicală,
-Medium,Medie,
-Meeting,Întâlnire,
-Member Activity,Activitatea membrilor,
-Member ID,Membru ID,
-Member Name,Numele membrului,
-Member information.,Informații despre membri.,
-Membership,apartenență,
-Membership Details,Detalii de membru,
-Membership ID,ID-ul de membru,
-Membership Type,Tipul de membru,
-Memebership Details,Detalii de membru,
-Memebership Type Details,Detalii despre tipul de membru,
-Merge,contopi,
-Merge Account,Îmbinare cont,
-Merge with Existing Account,Mergeți cu contul existent,
-"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Fuziune este posibilă numai în cazul în care următoarele proprietăți sunt aceleași în ambele registre. Este Group, Root Type, Company",
-Message Examples,Exemple de mesaje,
-Message Sent,Mesajul a fost trimis,
-Method,Metoda,
-Middle Income,Venituri medii,
-Middle Name,Al doilea nume,
-Middle Name (Optional),Al Doilea Nume (Opțional),
-Min Amt can not be greater than Max Amt,Min Amt nu poate fi mai mare decât Max Amt,
-Min Qty can not be greater than Max Qty,Min Cantitate nu poate fi mai mare decât Max Cantitate,
-Minimum Lead Age (Days),Vârsta minimă de plumb (zile),
-Miscellaneous Expenses,Cheltuieli diverse,
-Missing Currency Exchange Rates for {0},Lipsesc cursuri de schimb valutar pentru {0},
-Missing email template for dispatch. Please set one in Delivery Settings.,Șablonul de e-mail lipsă pentru expediere. Alegeți unul din Setările de livrare.,
-"Missing value for Password, API Key or Shopify URL","Valoare lipsă pentru parola, cheia API sau adresa URL pentru cumpărături",
-Mode of Payment,Modul de plată,
-Mode of Payments,Modul de plată,
-Mode of Transport,Mijloc de transport,
-Mode of Transportation,Mijloc de transport,
-Mode of payment is required to make a payment,Modul de plată este necesară pentru a efectua o plată,
-Model,Model,
-Moderate Sensitivity,Sensibilitate moderată,
-Monday,Luni,
-Monthly,Lunar,
-Monthly Distribution,Distributie lunar,
-Monthly Repayment Amount cannot be greater than Loan Amount,Rambursarea lunară Suma nu poate fi mai mare decât Suma creditului,
-More,Mai mult,
-More Information,Mai multe informatii,
-More than one selection for {0} not allowed,Nu sunt permise mai multe selecții pentru {0},
-More...,Mai Mult...,
-Motion Picture & Video,Motion Picture & Video,
-Move,Mutare,
-Move Item,Postul mutare,
-Multi Currency,Multi valutar,
-Multiple Item prices.,Mai multe prețuri element.,
-Multiple Loyalty Program found for the Customer. Please select manually.,Programul de loialitate multiplă găsit pentru client. Selectați manual.,
-"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Reguli de preturi multiple există cu aceleași criterii, vă rugăm să rezolve conflictul prin atribuirea de prioritate. Reguli de preț: {0}",
-Multiple Variants,Variante multiple,
-Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,ani fiscali multiple exista in data de {0}. Vă rugăm să setați companie în anul fiscal,
-Music,Muzica,
-My Account,Contul Meu,
-Name error: {0},Numele de eroare: {0},
-Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Numele de cont nou. Notă: Vă rugăm să nu creați conturi pentru clienți și furnizori,
-Name or Email is mandatory,Nume sau E-mail este obligatorie,
-Nature Of Supplies,Natura aprovizionării,
-Navigating,Navigarea,
-Needs Analysis,Analiza nevoilor,
-Negative Quantity is not allowed,Nu este permisă cantitate negativă,
-Negative Valuation Rate is not allowed,Negativ Rata de evaluare nu este permis,
-Negotiation/Review,Negocierea / revizuire,
-Net Asset value as on,Valoarea activelor nete pe,
-Net Cash from Financing,Numerar net din Finantare,
-Net Cash from Investing,Numerar net din investiții,
-Net Cash from Operations,Numerar net din operațiuni,
-Net Change in Accounts Payable,Schimbarea net în conturi de plătit,
-Net Change in Accounts Receivable,Schimbarea net în conturile de creanțe,
-Net Change in Cash,Schimbarea net în numerar,
-Net Change in Equity,Schimbarea net în capitaluri proprii,
-Net Change in Fixed Asset,Schimbarea net în active fixe,
-Net Change in Inventory,Schimbarea net în inventar,
-Net ITC Available(A) - (B),ITC net disponibil (A) - (B),
-Net Pay,Plată netă,
-Net Pay cannot be less than 0,Plata netă nu poate fi mai mică decât 0,
-Net Profit,Profit net,
-Net Salary Amount,Valoarea netă a salariului,
-Net Total,Total net,
-Net pay cannot be negative,Salariul net nu poate fi negativ,
-New Account Name,Nume nou cont,
-New Address,Adresa noua,
-New BOM,Nou BOM,
-New Batch ID (Optional),ID-ul lotului nou (opțional),
-New Batch Qty,Numărul nou de loturi,
-New Company,Companie nouă,
-New Cost Center Name,Numele noului centru de cost,
-New Customer Revenue,Noi surse de venit pentru clienți,
-New Customers,clienti noi,
-New Department,Departamentul nou,
-New Employee,Angajat nou,
-New Location,Locație nouă,
-New Quality Procedure,Noua procedură de calitate,
-New Sales Invoice,Adauga factură de vânzări,
-New Sales Person Name,Nume nou Agent de vânzări,
-New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Noua ordine nu pot avea Warehouse. Depozit trebuie să fie stabilite de către Bursa de intrare sau de primire de cumparare,
-New Warehouse Name,Nume nou depozit,
-New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Noua limită de credit este mai mică decât valoarea curentă restante pentru client. Limita de credit trebuie să fie atleast {0},
-New task,Sarcina noua,
-New {0} pricing rules are created,Sunt create noi {0} reguli de preț,
-Newsletters,Buletine,
-Newspaper Publishers,Editorii de ziare,
-Next,Următor,
-Next Contact By cannot be same as the Lead Email Address,Următoarea Contact Prin faptul că nu poate fi aceeași cu adresa de e-mail Plumb,
-Next Contact Date cannot be in the past,În continuare Contact Data nu poate fi în trecut,
-Next Steps,Pasii urmatori,
-No Action,Fara actiune,
-No Customers yet!,Nu există clienți încă!,
-No Data,No Data,
-No Delivery Note selected for Customer {},Nu este selectată nicio notificare de livrare pentru client {},
-No Employee Found,Nu a fost găsit angajat,
-No Item with Barcode {0},Nici un articol cu coduri de bare {0},
-No Item with Serial No {0},Nici un articol cu ordine {0},
-No Items available for transfer,Nu există elemente disponibile pentru transfer,
-No Items selected for transfer,Nu există elemente selectate pentru transfer,
-No Items to pack,Nu sunt produse în ambalaj,
-No Items with Bill of Materials to Manufacture,Nu există niciun articol cu Lista de materiale pentru fabricarea,
-No Items with Bill of Materials.,Nu există articole cu Bill of Materials.,
-No Permission,Nici o permisiune,
-No Remarks,Nu Observații,
-No Result to submit,Niciun rezultat nu trebuie trimis,
-No Salary Structure assigned for Employee {0} on given date {1},Nu există structură salarială atribuită pentru angajat {0} la data dată {1},
-No Staffing Plans found for this Designation,Nu au fost găsite planuri de personal pentru această desemnare,
-No Student Groups created.,Nu există grupuri create de studenți.,
-No Students in,Nu există studenți în,
-No Tax Withholding data found for the current Fiscal Year.,Nu au fost găsite date privind reținerea fiscală pentru anul fiscal curent.,
-No Work Orders created,Nu au fost create comenzi de lucru,
-No accounting entries for the following warehouses,Nici o intrare contabile pentru următoarele depozite,
-No active or default Salary Structure found for employee {0} for the given dates,Nr Structură activă sau Salariul implicit găsite pentru angajat al {0} pentru datele indicate,
-No contacts with email IDs found.,Nu au fost găsite contacte cu ID-urile de e-mail.,
-No data for this period,Nu există date pentru această perioadă,
-No description given,Nici o descriere dat,
-No employees for the mentioned criteria,Nu există angajați pentru criteriile menționate,
-No gain or loss in the exchange rate,Nu există cheltuieli sau venituri din diferente ale cursului de schimb,
-No items listed,Nu sunt enumerate elemente,
-No items to be received are overdue,Nu sunt întârziate niciun element de primit,
-No material request created,Nu a fost creată nicio solicitare materială,
-No more updates,Nu există mai multe actualizări,
-No of Interactions,Nr de interacțiuni,
-No of Shares,Numărul de acțiuni,
-No pending Material Requests found to link for the given items.,Nu au fost găsite solicitări de material în așteptare pentru link-ul pentru elementele date.,
-No products found,Nu au fost găsite produse,
-No products found.,Nu găsiți produse.,
-No record found,Nu s-au găsit înregistrări,
-No records found in the Invoice table,Nu sunt găsite inregistrari în tabelul de facturi înregistrate,
-No records found in the Payment table,Nu sunt găsite în tabelul de plăți înregistrări,
-No replies from,Nu există răspunsuri de la,
-No salary slip found to submit for the above selected criteria OR salary slip already submitted,Nu s-a găsit nicio corespondență salarială pentru criteriile de mai sus sau salariul deja trimis,
-No tasks,Nu există nicio sarcină,
-No time sheets,Nu există nicio foaie de timp,
-No values,Fără valori,
-No {0} found for Inter Company Transactions.,Nu a fost găsit {0} pentru tranzacțiile Intercompanie.,
-Non GST Inward Supplies,Consumabile interioare non-GST,
-Non Profit,Non-Profit,
-Non Profit (beta),Nonprofit (beta),
-Non-GST outward supplies,Oferte externe non-GST,
-Non-Group to Group,Non-Grup la Grup,
-None,Nici unul,
-None of the items have any change in quantity or value.,Nici unul din elementele au nici o schimbare în cantitate sau de valoare.,
-Nos,nos,
-Not Available,Indisponibil,
-Not Marked,nemarcate,
-Not Paid and Not Delivered,Nu sunt plătite și nu sunt livrate,
-Not Permitted,Nu este permisă,
-Not Started,Neînceput,
-Not active,Nu este activ,
-Not allow to set alternative item for the item {0},Nu permiteți setarea unui element alternativ pentru articolul {0},
-Not allowed to update stock transactions older than {0},Nu este permis să actualizeze tranzacțiile bursiere mai vechi de {0},
-Not authorized to edit frozen Account {0},Nu este autorizat pentru a edita Contul {0} blocat,
-Not authroized since {0} exceeds limits,Nu authroized din {0} depășește limitele,
-Not permitted for {0},Nu este permisă {0},
-"Not permitted, configure Lab Test Template as required","Nu este permisă, configurați Șablon de testare Lab așa cum este necesar",
-Not permitted. Please disable the Service Unit Type,Nu sunt acceptate. Dezactivați tipul unității de serviciu,
-Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Notă: Datorită / Reference Data depășește de companie zile de credit client de {0} zi (le),
-Note: Item {0} entered multiple times,Notă: Articolul {0} a intrat de mai multe ori,
-Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Notă: Plata de intrare nu va fi creat deoarece ""Cash sau cont bancar"" nu a fost specificat",
-Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,"Notă: Sistemul nu va verifica peste, livrare și supra-rezervări pentru postul {0} ca și cantitatea sau valoarea este 0",
-Note: There is not enough leave balance for Leave Type {0},Notă: Nu este echilibrul concediu suficient pentru concediul de tip {0},
-Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Notă: Acest centru de cost este un grup. Nu pot face înregistrări contabile impotriva grupuri.,
-Note: {0},Notă: {0},
-Notes,Observații,
-Nothing is included in gross,Nimic nu este inclus în brut,
-Nothing more to show.,Nimic mai mult pentru a arăta.,
-Nothing to change,Nimic de schimbat,
-Notice Period,Perioada de preaviz,
-Notify Customers via Email,Notificați clienții prin e-mail,
-Number,Număr,
-Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Numărul de Deprecieri Booked nu poate fi mai mare decât Număr total de Deprecieri,
-Number of Interaction,Numărul interacțiunii,
-Number of Order,Numărul de comandă,
-"Number of new Account, it will be included in the account name as a prefix","Numărul de cont nou, acesta va fi inclus în numele contului ca prefix",
-"Number of new Cost Center, it will be included in the cost center name as a prefix","Numărul noului Centru de cost, acesta va fi inclus în prefixul centrului de costuri",
-Number of root accounts cannot be less than 4,Numărul de conturi root nu poate fi mai mic de 4,
-Odometer,Contorul de kilometraj,
-Office Equipments,Echipamente de birou,
-Office Maintenance Expenses,Cheltuieli Mentenanță Birou,
-Office Rent,Birou inchiriat,
-On Hold,In asteptare,
-On Net Total,Pe Net Total,
-One customer can be part of only single Loyalty Program.,Un client poate face parte dintr-un singur program de loialitate.,
-Online Auctions,Licitatii online,
-Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Lăsați numai aplicațiile cu statut „Aprobat“ și „Respins“ pot fi depuse,
-"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",În tabelul de mai jos va fi selectat numai Solicitantul studenților cu statutul &quot;Aprobat&quot;.,
-Only users with {0} role can register on Marketplace,Numai utilizatorii cu rolul {0} se pot înregistra pe Marketplace,
-Open BOM {0},Deschideți BOM {0},
-Open Item {0},Deschis Postul {0},
-Open Notifications,Notificări deschise,
-Open Orders,Comenzi deschise,
-Open a new ticket,Deschideți un nou bilet,
-Opening,Deschidere,
-Opening (Cr),Deschidere (Cr),
-Opening (Dr),Deschidere (Dr),
-Opening Accounting Balance,Sold Contabilitate,
-Opening Accumulated Depreciation,Deschidere Amortizarea Acumulate,
-Opening Accumulated Depreciation must be less than equal to {0},Amortizarea de deschidere trebuie să fie mai mică Acumulate decât egală cu {0},
-Opening Balance,Soldul de deschidere,
-Opening Balance Equity,Sold Equity,
-Opening Date and Closing Date should be within same Fiscal Year,Deschiderea și data inchiderii ar trebui să fie în același an fiscal,
-Opening Date should be before Closing Date,"Deschiderea Data ar trebui să fie, înainte de Data inchiderii",
-Opening Entry Journal,Deschiderea Jurnalului de intrare,
-Opening Invoice Creation Tool,Deschiderea Instrumentului de creare a facturilor,
-Opening Invoice Item,Deschidere element factură,
-Opening Invoices,Deschiderea facturilor,
-Opening Invoices Summary,Sumar de deschidere a facturilor,
-Opening Qty,Deschiderea Cantitate,
-Opening Stock,deschidere stoc,
-Opening Stock Balance,Sold Stock,
-Opening Value,Valoarea de deschidere,
-Opening {0} Invoice created,Deschidere {0} Factură creată,
-Operation,Operație,
-Operation Time must be greater than 0 for Operation {0},Funcționarea timp trebuie să fie mai mare decât 0 pentru funcționare {0},
-"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operațiunea {0} mai mult decât orice ore de lucru disponibile în stație de lucru {1}, descompun operațiunea în mai multe operațiuni",
-Operations,Operatii,
-Operations cannot be left blank,Operații nu poate fi lăsat necompletat,
-Opp Count,Opp Count,
-Opp/Lead %,Opp / Plumb%,
-Opportunities,Oportunități,
-Opportunities by lead source,Oportunități după sursă pistă,
-Opportunity,Oportunitate,
-Opportunity Amount,Oportunitate Sumă,
-Optional Holiday List not set for leave period {0},Lista de vacanță opțională nu este setată pentru perioada de concediu {0},
-"Optional. Sets company's default currency, if not specified.","Opțional. Setează implicit moneda companiei, în cazul în care nu este specificat.",
-Optional. This setting will be used to filter in various transactions.,Opțional. Această setare va fi utilizat pentru a filtra în diverse tranzacții.,
-Options,Optiuni,
-Order Count,Numărătoarea comenzilor,
-Order Entry,Intrare comandă,
-Order Value,Valoarea comenzii,
-Order rescheduled for sync,Ordonată reprogramată pentru sincronizare,
-Order/Quot %,Ordine / Cotare%,
-Ordered,Ordonat,
-Ordered Qty,Ordonat Cantitate,
-"Ordered Qty: Quantity ordered for purchase, but not received.","Comandat Cantitate: Cantitatea comandat pentru cumpărare, dar nu a primit.",
-Orders,Comenzi,
-Orders released for production.,Comenzi lansat pentru producție.,
-Organization,Organizare,
-Organization Name,Numele Organizatiei,
-Other,Altul,
-Other Reports,Alte rapoarte,
-"Other outward supplies(Nil rated,Exempted)","Alte consumabile exterioare (Nil evaluat, scutit)",
-Others,Altel,
-Out Qty,Out Cantitate,
-Out Value,Valoarea afară,
-Out of Order,Scos din uz,
-Outgoing,Trimise,
-Outstanding,remarcabil,
-Outstanding Amount,Remarcabil Suma,
-Outstanding Amt,Impresionant Amt,
-Outstanding Cheques and Deposits to clear,Cecuri restante și pentru a șterge Depozite,
-Outstanding for {0} cannot be less than zero ({1}),Restante pentru {0} nu poate fi mai mică decât zero ({1}),
-Outward taxable supplies(zero rated),Livrări impozabile externe (zero),
-Overdue,întârziat,
-Overlap in scoring between {0} and {1},Suprapunerea punctajului între {0} și {1},
-Overlapping conditions found between:,Condiții se suprapun găsite între:,
-Owner,Proprietar,
-PAN,TIGAIE,
-POS,POS,
-POS Profile,POS Profil,
-POS Profile is required to use Point-of-Sale,Profilul POS este necesar pentru a utiliza Punctul de vânzare,
-POS Profile required to make POS Entry,POS Profil necesare pentru a face POS intrare,
-POS Settings,Setări POS,
-Packed quantity must equal quantity for Item {0} in row {1},Cantitate ambalate trebuie să fie egală cantitate pentru postul {0} în rândul {1},
-Packing Slip,Slip de ambalare,
-Packing Slip(s) cancelled,Slip de ambalare (e) anulate,
-Paid,Plătit,
-Paid Amount,Suma plătită,
-Paid Amount cannot be greater than total negative outstanding amount {0},Suma plătită nu poate fi mai mare decât suma totală negativă restante {0},
-Paid amount + Write Off Amount can not be greater than Grand Total,Suma plătită + Scrie Off Suma nu poate fi mai mare decât Grand total,
-Paid and Not Delivered,Plătite și nu sunt livrate,
-Parameter,Parametru,
-Parent Item {0} must not be a Stock Item,Postul părinte {0} nu trebuie să fie un articol stoc,
-Parents Teacher Meeting Attendance,Conferința părinților la conferința părintească,
-Part-time,Part-time,
-Partially Depreciated,parțial Depreciata,
-Partially Received,Parțial primite,
-Party,Partener,
-Party Name,Nume partid,
-Party Type,Tip de partid,
-Party Type and Party is mandatory for {0} account,Tipul partidului și partidul este obligatoriu pentru contul {0},
-Party Type is mandatory,Tipul de partid este obligatorie,
-Party is mandatory,Party este obligatorie,
-Password,Parolă,
-Password policy for Salary Slips is not set,Politica de parolă pentru Salarii Slips nu este setată,
-Past Due Date,Data trecută,
-Patient,Rabdator,
-Patient Appointment,Numirea pacientului,
-Patient Encounter,Întâlnirea cu pacienții,
-Patient not found,Pacientul nu a fost găsit,
-Pay Remaining,Plătiți rămase,
-Pay {0} {1},Plătește {0} {1},
-Payable,plătibil,
-Payable Account,Contul furnizori,
-Payable Amount,Sumă plătibilă,
-Payment,Plată,
-Payment Cancelled. Please check your GoCardless Account for more details,Plata anulată. Verificați contul GoCardless pentru mai multe detalii,
-Payment Confirmation,Confirmarea platii,
-Payment Date,Data de plată,
-Payment Days,Zile de plată,
-Payment Document,Documentul de plată,
-Payment Due Date,Data scadentă de plată,
-Payment Entries {0} are un-linked,Intrările de plată {0} sunt nesemnalate legate,
-Payment Entry,Intrare plăţi,
-Payment Entry already exists,Există deja intrare plată,
-Payment Entry has been modified after you pulled it. Please pull it again.,Plata intrare a fost modificat după ce-l tras. Vă rugăm să trage din nou.,
-Payment Entry is already created,Plata Intrarea este deja creat,
-Payment Failed. Please check your GoCardless Account for more details,Plata esuata. Verificați contul GoCardless pentru mai multe detalii,
-Payment Gateway,Gateway de plată,
-"Payment Gateway Account not created, please create one manually.","Plata Gateway Cont nu a fost creată, vă rugăm să creați manual unul.",
-Payment Gateway Name,Numele gateway-ului de plată,
-Payment Mode,Modul de plată,
-Payment Receipt Note,Plată Primirea Note,
-Payment Request,Cerere de plata,
-Payment Request for {0},Solicitare de plată pentru {0},
-Payment Tems,Tems de plată,
-Payment Term,Termen de plata,
-Payment Terms,Termeni de plată,
-Payment Terms Template,Formularul termenilor de plată,
-Payment Terms based on conditions,Termeni de plată în funcție de condiții,
-Payment Type,Tip de plată,
-"Payment Type must be one of Receive, Pay and Internal Transfer","Tipul de plată trebuie să fie unul dintre Primire, Pay și de transfer intern",
-Payment against {0} {1} cannot be greater than Outstanding Amount {2},Plata împotriva {0} {1} nu poate fi mai mare decât Impresionant Suma {2},
-Payment of {0} from {1} to {2},Plata pentru {0} de la {1} la {2},
-Payment request {0} created,Solicitarea de plată {0} a fost creată,
-Payments,Plăți,
-Payroll,stat de plată,
-Payroll Number,Număr de salarizare,
-Payroll Payable,Salarizare plateste,
-Payslip,fluturaș,
-Pending Activities,Activități în curs,
-Pending Amount,În așteptarea Suma,
-Pending Leaves,Frunze în așteptare,
-Pending Qty,Așteptare Cantitate,
-Pending Quantity,Cantitate în așteptare,
-Pending Review,Revizuirea în curs,
-Pending activities for today,Activități în așteptare pentru ziua de azi,
-Pension Funds,Fondurile de pensii,
-Percentage Allocation should be equal to 100%,Alocarea procent ar trebui să fie egală cu 100%,
-Perception Analysis,Analiza percepției,
-Period,Perioada,
-Period Closing Entry,Intrarea Perioada de închidere,
-Period Closing Voucher,Voucher perioadă de închidere,
-Periodicity,Periodicitate,
-Personal Details,Detalii personale,
-Pharmaceutical,Farmaceutic,
-Pharmaceuticals,Produse farmaceutice,
-Physician,Medic,
-Piecework,muncă în acord,
-Pincode,Parola așa,
-Place Of Supply (State/UT),Locul livrării (stat / UT),
-Place Order,Locul de comandă,
-Plan Name,Numele planului,
-Plan for maintenance visits.,Plan pentru vizite de mentenanță.,
-Planned Qty,Planificate Cantitate,
-"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Cantitate planificată: cantitatea pentru care a fost ridicată comanda de lucru, dar este în curs de fabricare.",
-Planning,Planificare,
-Plants and Machineries,Plante și mașini,
-Please Set Supplier Group in Buying Settings.,Setați Grupul de furnizori în Setări de cumpărare.,
-Please add a Temporary Opening account in Chart of Accounts,Adăugați un cont de deschidere temporară în Planul de conturi,
-Please add the account to root level Company - ,Vă rugăm să adăugați contul la nivelul companiei la nivel root -,
-Please add the remaining benefits {0} to any of the existing component,Vă rugăm să adăugați beneficiile rămase {0} la oricare dintre componentele existente,
-Please check Multi Currency option to allow accounts with other currency,Vă rugăm să verificați Multi opțiune de valuta pentru a permite conturi cu altă valută,
-Please click on 'Generate Schedule',"Vă rugăm să faceți clic pe ""Generate Program""",
-Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Vă rugăm să faceți clic pe ""Generate Program"", pentru a aduce ordine adăugat pentru postul {0}",
-Please click on 'Generate Schedule' to get schedule,"Vă rugăm să faceți clic pe ""Generate Program"", pentru a obține programul",
-Please confirm once you have completed your training,Vă rugăm să confirmați după ce ați terminat pregătirea,
-Please create purchase receipt or purchase invoice for the item {0},Creați factura de cumpărare sau factura de achiziție pentru elementul {0},
-Please define grade for Threshold 0%,Vă rugăm să definiți gradul pentru pragul 0%,
-Please enable Applicable on Booking Actual Expenses,Activați aplicabil pentru cheltuielile curente de rezervare,
-Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Activați aplicabil la comanda de aprovizionare și aplicabil cheltuielilor curente de rezervare,
-Please enable default incoming account before creating Daily Work Summary Group,Activați contul de intrare implicit înainte de a crea un grup zilnic de lucru,
-Please enable pop-ups,Vă rugăm să activați pop-up-uri,
-Please enter 'Is Subcontracted' as Yes or No,"Va rugam sa introduceti ""este subcontractată"" ca Da sau Nu",
-Please enter API Consumer Key,Introduceți cheia de consum API,
-Please enter API Consumer Secret,Introduceți secretul pentru clienți API,
-Please enter Account for Change Amount,Vă rugăm să introduceți cont pentru Schimbare Sumă,
-Please enter Approving Role or Approving User,Vă rugăm să introduceți Aprobarea Rolul sau aprobarea de utilizare,
-Please enter Cost Center,Va rugam sa introduceti Cost Center,
-Please enter Delivery Date,Introduceți data livrării,
-Please enter Employee Id of this sales person,Vă rugăm să introduceți ID-ul de angajat al acestei persoane de vânzări,
-Please enter Expense Account,Va rugam sa introduceti cont de cheltuieli,
-Please enter Item Code to get Batch Number,Vă rugăm să introduceți codul de articol pentru a obține numărul de lot,
-Please enter Item Code to get batch no,Va rugam sa introduceti codul articol pentru a obține lot nu,
-Please enter Item first,Va rugam sa introduceti Articol primul,
-Please enter Maintaince Details first,Va rugam sa introduceti maintaince detaliile prima,
-Please enter Planned Qty for Item {0} at row {1},Va rugam sa introduceti planificate Cantitate pentru postul {0} la rândul {1},
-Please enter Preferred Contact Email,Vă rugăm să introduceți preferate Contact E-mail,
-Please enter Production Item first,Va rugam sa introduceti de producție Articol întâi,
-Please enter Purchase Receipt first,Va rugam sa introduceti Primirea achiziția,
-Please enter Receipt Document,Vă rugăm să introduceți Document Primirea,
-Please enter Reference date,Vă rugăm să introduceți data de referință,
-Please enter Repayment Periods,Vă rugăm să introduceți perioada de rambursare,
-Please enter Reqd by Date,Introduceți Reqd după dată,
-Please enter Woocommerce Server URL,Introduceți adresa URL a serverului Woocommerce,
-Please enter Write Off Account,Va rugam sa introduceti Scrie Off cont,
-Please enter atleast 1 invoice in the table,Va rugam sa introduceti cel putin 1 factura în tabelul,
-Please enter company first,Va rugam sa introduceti prima companie,
-Please enter company name first,Va rugam sa introduceti numele companiei în primul rând,
-Please enter default currency in Company Master,Va rugam sa introduceti moneda implicit în Compania de Master,
-Please enter message before sending,Vă rugăm să introduceți mesajul înainte de trimitere,
-Please enter parent cost center,Vă rugăm să introduceți centru de cost părinte,
-Please enter quantity for Item {0},Va rugam sa introduceti cantitatea pentru postul {0},
-Please enter relieving date.,Vă rugăm să introduceți data alinarea.,
-Please enter repayment Amount,Vă rugăm să introduceți Suma de rambursare,
-Please enter valid Financial Year Start and End Dates,Va rugam sa introduceti valabil financiare Anul începe și a termina Perioada,
-Please enter valid email address,Introduceți adresa de e-mail validă,
-Please enter {0} first,Va rugam sa introduceti {0} primul,
-Please fill in all the details to generate Assessment Result.,Vă rugăm să completați toate detaliile pentru a genera rezultatul evaluării.,
-Please identify/create Account (Group) for type - {0},Vă rugăm să identificați / să creați un cont (grup) pentru tipul - {0},
-Please identify/create Account (Ledger) for type - {0},Vă rugăm să identificați / să creați un cont (contabil) pentru tipul - {0},
-Please login as another user to register on Marketplace,Conectați-vă ca alt utilizator pentru a vă înregistra pe Marketplace,
-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.,Vă rugăm să asigurați-vă că într-adevăr să ștergeți toate tranzacțiile pentru această companie. Datele dvs. de bază vor rămâne așa cum este. Această acțiune nu poate fi anulată.,
-Please mention Basic and HRA component in Company,Vă rugăm să menționați componentele de bază și HRA în cadrul companiei,
-Please mention Round Off Account in Company,Vă rugăm să menționați rotunji contul în companie,
-Please mention Round Off Cost Center in Company,Vă rugăm să menționați rotunji Center cost în companie,
-Please mention no of visits required,Vă rugăm să menționați nici de vizite necesare,
-Please mention the Lead Name in Lead {0},Menționați numele de plumb din plumb {0},
-Please pull items from Delivery Note,Vă rugăm să trage elemente de livrare Nota,
-Please register the SIREN number in the company information file,Înregistrați numărul SIREN în fișierul cu informații despre companie,
-Please remove this Invoice {0} from C-Form {1},Vă rugăm să eliminați acest factură {0} de la C-Form {1},
-Please save the patient first,Salvați mai întâi pacientul,
-Please save the report again to rebuild or update,Vă rugăm să salvați raportul din nou pentru a reconstrui sau actualiza,
-"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Vă rugăm să selectați suma alocată, de tip Factură și factură Numărul din atleast rând una",
-Please select Apply Discount On,Vă rugăm să selectați Aplicați Discount On,
-Please select BOM against item {0},Selectați BOM pentru elementul {0},
-Please select BOM for Item in Row {0},Vă rugăm să selectați BOM pentru postul în rândul {0},
-Please select BOM in BOM field for Item {0},Vă rugăm să selectați BOM BOM în domeniu pentru postul {0},
-Please select Category first,Vă rugăm să selectați categoria întâi,
-Please select Charge Type first,Vă rugăm să selectați tipul de taxă în primul rând,
-Please select Company,Vă rugăm să selectați Company,
-Please select Company and Designation,Selectați Companie și desemnare,
-Please select Company and Posting Date to getting entries,Selectați Company and Dateing date pentru a obține înregistrări,
-Please select Company first,Vă rugăm să selectați Company primul,
-Please select Completion Date for Completed Asset Maintenance Log,Selectați Data de încheiere pentru jurnalul de întreținere a activelor finalizat,
-Please select Completion Date for Completed Repair,Selectați Data de finalizare pentru Repararea finalizată,
-Please select Course,Selectați cursul,
-Please select Drug,Selectați Droguri,
-Please select Employee,Selectați Angajat,
-Please select Existing Company for creating Chart of Accounts,Vă rugăm să selectați Companie pentru crearea Existent Plan de conturi,
-Please select Healthcare Service,Selectați Serviciul de asistență medicală,
-"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",Vă rugăm să selectați postul unde &quot;Este Piesa&quot; este &quot;nu&quot; și &quot;Este punctul de vânzare&quot; este &quot;da&quot; și nu este nici un alt produs Bundle,
-Please select Maintenance Status as Completed or remove Completion Date,Selectați Stare de întreținere ca Completat sau eliminați Data de finalizare,
-Please select Party Type first,Vă rugăm să selectați Party Type primul,
-Please select Patient,Selectați pacientul,
-Please select Patient to get Lab Tests,Selectați pacientul pentru a obține testele de laborator,
-Please select Posting Date before selecting Party,Vă rugăm să selectați Dată postare înainte de a selecta Parte,
-Please select Posting Date first,Vă rugăm să selectați postarea Data primei,
-Please select Price List,Vă rugăm să selectați lista de prețuri,
-Please select Program,Selectați Program,
-Please select Qty against item {0},Selectați Cantitate pentru elementul {0},
-Please select Sample Retention Warehouse in Stock Settings first,Vă rugăm să selectați mai întâi Warehouse de stocare a probelor din Setări stoc,
-Please select Start Date and End Date for Item {0},Vă rugăm să selectați data de început și Data de final pentru postul {0},
-Please select Student Admission which is mandatory for the paid student applicant,Selectați admiterea studenților care este obligatorie pentru solicitantul studenților plătiți,
-Please select a BOM,Selectați un BOM,
-Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Selectați un lot pentru articolul {0}. Nu se poate găsi un singur lot care să îndeplinească această cerință,
-Please select a Company,Vă rugăm să selectați o companie,
-Please select a batch,Selectați un lot,
-Please select a csv file,Vă rugăm să selectați un fișier csv,
-Please select a field to edit from numpad,Selectați un câmp de editat din numpad,
-Please select a table,Selectați un tabel,
-Please select a valid Date,Selectați o dată validă,
-Please select a value for {0} quotation_to {1},Vă rugăm să selectați o valoare de {0} {1} quotation_to,
-Please select a warehouse,Te rugăm să selectazi un depozit,
-Please select at least one domain.,Selectați cel puțin un domeniu.,
-Please select correct account,Vă rugăm să selectați contul corect,
-Please select date,Vă rugăm să selectați data,
-Please select item code,Vă rugăm să selectați codul de articol,
-Please select month and year,Vă rugăm selectați luna și anul,
-Please select prefix first,Vă rugăm să selectați prefix întâi,
-Please select the Company,Selectați compania,
-Please select the Multiple Tier Program type for more than one collection rules.,Selectați tipul de program cu mai multe niveluri pentru mai multe reguli de colectare.,
-Please select the assessment group other than 'All Assessment Groups',Selectați alt grup de evaluare decât &quot;Toate grupurile de evaluare&quot;,
-Please select the document type first,Vă rugăm să selectați tipul de document primul,
-Please select weekly off day,Vă rugăm să selectați zi liberă pe săptămână,
-Please select {0},Vă rugăm să selectați {0},
-Please select {0} first,Vă rugăm selectați 0} {întâi,
-Please set 'Apply Additional Discount On',Vă rugăm să setați &quot;Aplicați discount suplimentar pe&quot;,
-Please set 'Asset Depreciation Cost Center' in Company {0},Vă rugăm să setați &quot;Activ Center Amortizarea Cost&quot; în companie {0},
-Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Vă rugăm să setați &#39;Gain / Pierdere de cont privind Eliminarea activelor &quot;în companie {0},
-Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Vă rugăm să configurați contul în depozit {0} sau contul implicit de inventar din companie {1},
-Please set B2C Limit in GST Settings.,Setați limita B2C în setările GST.,
-Please set Company,Stabiliți compania,
-Please set Company filter blank if Group By is 'Company',Filtru filtru de companie gol dacă grupul de grup este &quot;companie&quot;,
-Please set Default Payroll Payable Account in Company {0},Vă rugăm să setați Cont Cheltuieli suplimentare salarizare implicit în companie {0},
-Please set Depreciation related Accounts in Asset Category {0} or Company {1},Vă rugăm să setați Conturi aferente amortizării în categoria activelor {0} sau companie {1},
-Please set Email Address,Vă rugăm să setați adresa de e-mail,
-Please set GST Accounts in GST Settings,Vă rugăm să setați Conturi GST în Setări GST,
-Please set Hotel Room Rate on {},Vă rugăm să stabiliți tariful camerei la {},
-Please set Number of Depreciations Booked,Vă rugăm să setați Numărul de Deprecieri rezervat,
-Please set Unrealized Exchange Gain/Loss Account in Company {0},Vă rugăm să setați Contul de Cheltuiala / Venit din diferente de curs valutar in companie {0},
-Please set User ID field in an Employee record to set Employee Role,Vă rugăm să setați câmp ID de utilizator într-o înregistrare angajat să stabilească Angajat rol,
-Please set a default Holiday List for Employee {0} or Company {1},Vă rugăm să setați o valoare implicită Lista de vacanță pentru angajat {0} sau companie {1},
-Please set account in Warehouse {0},Vă rugăm să configurați un cont în Warehouse {0},
-Please set an active menu for Restaurant {0},Vă rugăm să setați un meniu activ pentru Restaurant {0},
-Please set associated account in Tax Withholding Category {0} against Company {1},Vă rugăm să setați contul asociat în categoria de reținere fiscală {0} împotriva companiei {1},
-Please set at least one row in the Taxes and Charges Table,Vă rugăm să setați cel puțin un rând în tabelul Impozite și taxe,
-Please set default Cash or Bank account in Mode of Payment {0},Vă rugăm să setați Cash implicit sau cont bancar în modul de plată {0},
-Please set default account in Salary Component {0},Vă rugăm să setați contul implicit în Salariu Component {0},
-Please set default customer in Restaurant Settings,Alegeți clientul implicit în Setări restaurant,
-Please set default template for Leave Approval Notification in HR Settings.,Stabiliți șablonul prestabilit pentru notificarea de aprobare de ieșire din setările HR.,
-Please set default template for Leave Status Notification in HR Settings.,Stabiliți șablonul implicit pentru notificarea de stare la ieșire în setările HR.,
-Please set default {0} in Company {1},Vă rugăm să setați implicit {0} în {1} companie,
-Please set filter based on Item or Warehouse,Vă rugăm să setați filtru bazat pe postul sau depozit,
-Please set leave policy for employee {0} in Employee / Grade record,Vă rugăm să stabiliți politica de concediu pentru angajatul {0} în evidența Angajat / Grad,
-Please set recurring after saving,Vă rugăm să setați recurente după salvare,
-Please set the Company,Stabiliți compania,
-Please set the Customer Address,Vă rugăm să setați Adresa Clientului,
-Please set the Date Of Joining for employee {0},Vă rugăm să setați data de îmbarcare pentru angajat {0},
-Please set the Default Cost Center in {0} company.,Alegeți Centrul de cost implicit în compania {0}.,
-Please set the Email ID for the Student to send the Payment Request,Vă rugăm să setați ID-ul de e-mail pentru ca studentul să trimită Solicitarea de plată,
-Please set the Item Code first,Vă rugăm să setați mai întâi Codul elementului,
-Please set the Payment Schedule,Vă rugăm să setați Programul de plată,
-Please set the series to be used.,Setați seria care urmează să fie utilizată.,
-Please set {0} for address {1},Vă rugăm să setați {0} pentru adresa {1},
-Please setup Students under Student Groups,Configurați elevii din grupurile de studenți,
-Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',Vă rugăm să împărtășiți feedback-ul dvs. la antrenament făcând clic pe &quot;Feedback Training&quot; și apoi pe &quot;New&quot;,
-Please specify Company,Vă rugăm să specificați companiei,
-Please specify Company to proceed,Vă rugăm să specificați companiei pentru a continua,
-Please specify a valid 'From Case No.',"Vă rugăm să specificați un valabil ""Din cauza nr""",
-Please specify a valid Row ID for row {0} in table {1},Vă rugăm să specificați un ID rând valabil pentru rând {0} în tabelul {1},
-Please specify at least one attribute in the Attributes table,Vă rugăm să specificați cel puțin un atribut în tabelul Atribute,
-Please specify currency in Company,Vă rugăm să specificați în valută companie,
-Please specify either Quantity or Valuation Rate or both,Vă rugăm să specificați fie Cantitate sau Evaluează evaluare sau ambele,
-Please specify from/to range,Vă rugăm să precizați de la / la gama,
-Please supply the specified items at the best possible rates,Vă rugăm să furnizeze elementele specificate la cele mai bune tarife posibile,
-Please update your status for this training event,Actualizați starea dvs. pentru acest eveniment de instruire,
-Please wait 3 days before resending the reminder.,Așteptați 3 zile înainte de a retrimite mementourile.,
-Point of Sale,Point of Sale,
-Point-of-Sale,Punct-de-Vânzare,
-Point-of-Sale Profile,Profil Punct-de-Vânzare,
-Portal,Portal,
-Portal Settings,Setări portal,
-Possible Supplier,posibil furnizor,
-Postal Expenses,Cheltuieli poștale,
-Posting Date,Dată postare,
-Posting Date cannot be future date,Dată postare nu poate fi data viitoare,
-Posting Time,Postarea de timp,
-Posting date and posting time is mandatory,Data postării și postarea de timp este obligatorie,
-Posting timestamp must be after {0},Timestamp postarea trebuie să fie după {0},
-Potential opportunities for selling.,Potențiale oportunități de vânzare.,
-Practitioner Schedule,Programul practicianului,
-Pre Sales,Vânzări pre,
-Preference,Preferinţă,
-Prescribed Procedures,Proceduri prescrise,
-Prescription,Reteta medicala,
-Prescription Dosage,Dozaj de prescripție,
-Prescription Duration,Durata prescrierii,
-Prescriptions,Prescriptiile,
-Present,Prezenta,
-Prev,Anterior,
-Preview,Previzualizați,
-Preview Salary Slip,Previzualizare Salariu alunecare,
-Previous Financial Year is not closed,Exercițiul financiar precedent nu este închis,
-Price,Preț,
-Price List,Lista Prețuri,
-Price List Currency not selected,Lista de pret Valuta nu selectat,
-Price List Rate,Lista de prețuri Rate,
-Price List master.,Maestru Lista de prețuri.,
-Price List must be applicable for Buying or Selling,Lista de prețuri trebuie să fie aplicabilă pentru cumpărarea sau vânzarea de,
-Price List {0} is disabled or does not exist,Listă de prețuri {0} este dezactivat sau nu există,
-Price or product discount slabs are required,Este necesară plăci de reducere a prețului sau a produsului,
-Pricing,Stabilirea pretului,
-Pricing Rule,Regulă de stabilire a prețurilor,
-"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Regula de stabilire a prețurilor este selectat în primul rând bazat pe ""Aplicați pe"" teren, care poate fi produs, Grupa de articole sau de brand.",
-"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Regula de stabilire a prețurilor se face pentru a suprascrie Pret / defini procent de reducere, pe baza unor criterii.",
-Pricing Rule {0} is updated,Regula prețurilor {0} este actualizată,
-Pricing Rules are further filtered based on quantity.,Regulile de stabilire a prețurilor sunt filtrate în continuare în funcție de cantitate.,
-Primary Address Details,Detalii despre adresa primară,
-Primary Contact Details,Detalii de contact primare,
-Principal Amount,Sumă principală,
-Print Format,Print Format,
-Print IRS 1099 Forms,Tipărire formulare IRS 1099,
-Print Report Card,Print Print Card,
-Print Settings,Setări de imprimare,
-Print and Stationery,Imprimare și articole de papetărie,
-Print settings updated in respective print format,Setările de imprimare actualizate în format de imprimare respectiv,
-Print taxes with zero amount,Imprimă taxele cu suma zero,
-Printing and Branding,Imprimarea și Branding,
-Private Equity,Private Equity,
-Privilege Leave,Privilege concediu,
-Probation,probă,
-Probationary Period,Perioadă de probă,
-Procedure,Procedură,
-Process Day Book Data,Procesați datele despre cartea de zi,
-Process Master Data,Procesați datele de master,
-Processing Chart of Accounts and Parties,Procesarea Graficului de conturi și părți,
-Processing Items and UOMs,Prelucrare elemente și UOM-uri,
-Processing Party Addresses,Prelucrarea adreselor partidului,
-Processing Vouchers,Procesarea voucherelor,
-Procurement,achiziții publice,
-Produced Qty,Cantitate produsă,
-Product,Produs,
-Product Bundle,Bundle produs,
-Product Search,Cauta produse,
-Production,Producţie,
-Production Item,Producția Postul,
-Products,Instrumente,
-Profit and Loss,Profit și pierdere,
-Profit for the year,Profitul anului,
-Program,Program,
-Program in the Fee Structure and Student Group {0} are different.,Programul din structura taxelor și grupul de studenți {0} este diferit.,
-Program {0} does not exist.,Programul {0} nu există.,
-Program: ,Program:,
-Progress % for a task cannot be more than 100.,Progres% pentru o sarcină care nu poate fi mai mare de 100.,
-Project Collaboration Invitation,Colaborare proiect Invitație,
-Project Id,ID-ul proiectului,
-Project Manager,Manager de proiect,
-Project Name,Denumirea proiectului,
-Project Start Date,Data de începere a proiectului,
-Project Status,Status Proiect,
-Project Summary for {0},Rezumatul proiectului pentru {0},
-Project Update.,Actualizarea proiectului.,
-Project Value,Valoare proiect,
-Project activity / task.,Activitatea de proiect / sarcină.,
-Project master.,Maestru proiect.,
-Project-wise data is not available for Quotation,Date proiect-înțelept nu este disponibilă pentru ofertă,
-Projected,Proiectat,
-Projected Qty,Numărul estimat,
-Projected Quantity Formula,Formula de cantitate proiectată,
-Projects,proiecte,
-Property,Proprietate,
-Property already added,Proprietățile deja adăugate,
-Proposal Writing,Propunere de scriere,
-Proposal/Price Quote,Propunere / Citat pret,
-Prospecting,Prospectarea,
-Provisional Profit / Loss (Credit),Profit provizorie / Pierdere (Credit),
-Publications,Publicații,
-Publish Items on Website,Publica Articole pe site-ul,
-Published,Data publicării,
-Publishing,editare,
-Purchase,Cumpărarea,
-Purchase Amount,Suma cumpărată,
-Purchase Date,Data cumpărării,
-Purchase Invoice,Factura de cumpărare,
-Purchase Invoice {0} is already submitted,Factura de cumpărare {0} este deja depusă,
-Purchase Manager,Cumpărare Director,
-Purchase Master Manager,Cumpărare Maestru de Management,
-Purchase Order,Comandă de aprovizionare,
-Purchase Order Amount,Suma comenzii de cumpărare,
-Purchase Order Amount(Company Currency),Suma comenzii de cumpărare (moneda companiei),
-Purchase Order Date,Data comenzii de cumpărare,
-Purchase Order Items not received on time,Elemente de comandă de cumpărare care nu au fost primite la timp,
-Purchase Order number required for Item {0},Număr de comandă de aprovizionare necesare pentru postul {0},
-Purchase Order to Payment,Comandă de aprovizionare de plata,
-Purchase Order {0} is not submitted,Comandă {0} nu este prezentat,
-Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Comenzile de cumpărare nu sunt permise pentru {0} datorită unui punctaj din {1}.,
-Purchase Orders given to Suppliers.,A achiziționa ordine de date Furnizori.,
-Purchase Price List,Cumparare Lista de preturi,
-Purchase Receipt,Primirea de cumpărare,
-Purchase Receipt {0} is not submitted,Primirea de cumpărare {0} nu este prezentat,
-Purchase Tax Template,Achiziționa Format fiscală,
-Purchase User,Cumpărare de utilizare,
-Purchase orders help you plan and follow up on your purchases,Comenzile de aprovizionare vă ajuta să planificați și să urmați pe achizițiile dvs.,
-Purchasing,cumpărare,
-Purpose must be one of {0},Scopul trebuie să fie una dintre {0},
-Qty,Cantitate,
-Qty To Manufacture,Cantitate pentru fabricare,
-Qty Total,Cantitate totală,
-Qty for {0},Cantitate pentru {0},
-Qualification,Calificare,
-Quality,Calitate,
-Quality Action,Acțiune de calitate,
-Quality Goal.,Obiectivul de calitate.,
-Quality Inspection,Inspecție de calitate,
-Quality Inspection: {0} is not submitted for the item: {1} in row {2},Inspecție de calitate: {0} nu este trimis pentru articol: {1} în rândul {2},
-Quality Management,Managementul calității,
-Quality Meeting,Întâlnire de calitate,
-Quality Procedure,Procedura de calitate,
-Quality Procedure.,Procedura de calitate.,
-Quality Review,Evaluarea calității,
-Quantity,Cantitate,
-Quantity for Item {0} must be less than {1},Cantitatea pentru postul {0} trebuie să fie mai mică de {1},
-Quantity in row {0} ({1}) must be same as manufactured quantity {2},"Cantitatea în rândul {0} ({1}), trebuie să fie aceeași ca și cantitatea produsă {2}",
-Quantity must be less than or equal to {0},Cantitatea trebuie sa fie mai mic sau egal cu {0},
-Quantity must not be more than {0},Cantitatea nu trebuie să fie mai mare de {0},
-Quantity required for Item {0} in row {1},Cantitatea necesară pentru postul {0} în rândul {1},
-Quantity should be greater than 0,Cantitatea trebuie sa fie mai mare decât 0,
-Quantity to Make,Cantitate de făcut,
-Quantity to Manufacture must be greater than 0.,Cantitatea să Fabricare trebuie sa fie mai mare decât 0.,
-Quantity to Produce,Cantitate de produs,
-Quantity to Produce can not be less than Zero,Cantitatea de produs nu poate fi mai mică decât Zero,
-Query Options,Opțiuni de interogare,
-Queued for replacing the BOM. It may take a few minutes.,În așteptare pentru înlocuirea BOM. Ar putea dura câteva minute.,
-Queued for updating latest price in all Bill of Materials. It may take a few minutes.,A intrat în așteptare pentru actualizarea ultimului preț în toate materialele. Ar putea dura câteva minute.,
-Quick Journal Entry,Quick Jurnal de intrare,
-Quot Count,Contele de numere,
-Quot/Lead %,Cota / Plumb%,
-Quotation,Ofertă,
-Quotation {0} is cancelled,Ofertă {0} este anulat,
-Quotation {0} not of type {1},Ofertă {0} nu de tip {1},
-Quotations,Cotațiile,
-"Quotations are proposals, bids you have sent to your customers","Cotațiile sunt propuneri, sumele licitate le-ați trimis clienților dvs.",
-Quotations received from Suppliers.,Cotatiilor primite de la furnizori.,
-Quotations: ,Cotațiile:,
-Quotes to Leads or Customers.,Citate la Oportunitati sau clienți.,
-RFQs are not allowed for {0} due to a scorecard standing of {1},CV-urile nu sunt permise pentru {0} datorită unui punctaj din {1},
-Range,Interval,
-Rate,Rată,
-Rate:,Rată:,
-Rating,evaluare,
-Raw Material,Material brut,
-Raw Materials,Materie prima,
-Raw Materials cannot be blank.,Materii Prime nu poate fi gol.,
-Re-open,Re-deschide,
-Read blog,Citiți blogul,
-Read the ERPNext Manual,Citiți manualul ERPNext,
-Reading Uploaded File,Citind fișierul încărcat,
-Real Estate,Imobiliare,
-Reason For Putting On Hold,Motivul pentru a pune în așteptare,
-Reason for Hold,Motiv pentru reținere,
-Reason for hold: ,Motivul de reținere:,
-Receipt,Chitanţă,
-Receipt document must be submitted,Document primire trebuie să fie depuse,
-Receivable,De încasat,
-Receivable Account,Cont Încasări,
-Received,Primit,
-Received On,Primit la,
-Received Quantity,Cantitate primită,
-Received Stock Entries,Înscrierile primite,
-Receiver List is empty. Please create Receiver List,Receptor Lista goala. Vă rugăm să creați Receiver Lista,
-Recipients,Destinatarii,
-Reconcile,Reconcilierea,
-"Record of all communications of type email, phone, chat, visit, etc.","Înregistrare a tuturor comunicărilor de tip e-mail, telefon, chat, vizita, etc.",
-Records,Înregistrări,
-Redirect URL,Redirecționare URL-ul,
-Ref,Re,
-Ref Date,Ref Data,
-Reference,Referință,
-Reference #{0} dated {1},Reference # {0} din {1},
-Reference Date,Data de referință,
-Reference Doctype must be one of {0},Referința Doctype trebuie să fie una dintre {0},
-Reference Document,Documentul de referință,
-Reference Document Type,Referință Document Type,
-Reference No & Reference Date is required for {0},Nu referință și de referință Data este necesar pentru {0},
-Reference No and Reference Date is mandatory for Bank transaction,De referință nr și de referință Data este obligatorie pentru tranzacție bancară,
-Reference No is mandatory if you entered Reference Date,De referință nu este obligatorie în cazul în care ați introdus Reference Data,
-Reference No.,Numărul de referință,
-Reference Number,Numar de referinta,
-Reference Owner,Proprietar Referință,
-Reference Type,Tipul Referință,
-"Reference: {0}, Item Code: {1} and Customer: {2}","Referință: {0}, Cod articol: {1} și Client: {2}",
-References,Referințe,
-Refresh Token,Actualizează Indicativ,
-Region,Regiune,
-Register,Înregistrare,
-Reject,Respinge,
-Rejected,Respinse,
-Related,Legate de,
-Relation with Guardian1,Relația cu Guardian1,
-Relation with Guardian2,Relația cu Guardian2,
-Release Date,Data eliberării,
-Reload Linked Analysis,Reîncărcați Analiza Legată,
-Remaining,Rămas,
-Remaining Balance,Balanța rămasă,
-Remarks,Remarci,
-Reminder to update GSTIN Sent,Memento pentru actualizarea mesajului GSTIN Trimis,
-Remove item if charges is not applicable to that item,Eliminați element cazul în care costurile nu se aplică în acest element,
-Removed items with no change in quantity or value.,Articole eliminate fară nici o schimbare de cantitate sau  valoare.,
-Reopen,Redeschide,
-Reorder Level,Nivel pentru re-comanda,
-Reorder Qty,Cantitatea de comandat,
-Repeat Customer Revenue,Repetați Venituri Clienți,
-Repeat Customers,Clienții repetate,
-Replace BOM and update latest price in all BOMs,Înlocuiește BOM și actualizează prețul recent în toate BOM-urile,
-Replied,A răspuns:,
-Replies,Răspunsuri,
-Report,Raport,
-Report Builder,Constructor Raport,
-Report Type,Tip Raport,
-Report Type is mandatory,Tip Raport obligatoriu,
-Reports,Rapoarte,
-Reqd By Date,Cerere livrare la data de,
-Reqd Qty,Reqd Cantitate,
-Request for Quotation,Cerere de ofertă,
-Request for Quotations,Cerere de Oferte,
-Request for Raw Materials,Cerere pentru materii prime,
-Request for purchase.,Cerere de achizitie.,
-Request for quotation.,Cerere de ofertă.,
-Requested Qty,Cant. Solicitată,
-"Requested Qty: Quantity requested for purchase, but not ordered.","A solicitat Cantitate: Cantitatea solicitate pentru achiziții, dar nu a ordonat.",
-Requesting Site,Solicitarea site-ului,
-Requesting payment against {0} {1} for amount {2},Se solicita plata contra {0} {1} pentru suma {2},
-Requestor,care a făcut cererea,
-Required On,Cerut pe,
-Required Qty,Cantitate ceruta,
-Required Quantity,Cantitatea necesară,
-Reschedule,Reprogramează,
-Research,Cercetare,
-Research & Development,Cercetare & Dezvoltare,
-Researcher,Cercetător,
-Resend Payment Email,Retrimiteți e-mail-ul de plată,
-Reserve Warehouse,Rezervați Depozitul,
-Reserved Qty,Cant. rezervata,
-Reserved Qty for Production,Cant. rezervata pentru producție,
-Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Cantitate rezervată pentru producție: cantitate de materii prime pentru fabricarea articolelor de fabricație.,
-"Reserved Qty: Quantity ordered for sale, but not delivered.","Rezervate Cantitate: Cantitatea comandat de vânzare, dar nu livrat.",
-Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Depozitul rezervat este obligatoriu pentru articolul {0} din materiile prime furnizate,
-Reserved for manufacturing,Rezervat pentru fabricare,
-Reserved for sale,Rezervat pentru vânzare,
-Reserved for sub contracting,Rezervat pentru subcontractare,
-Resistant,Rezistent,
-Resolve error and upload again.,Rezolvați eroarea și încărcați din nou.,
-Responsibilities,responsabilităţi,
-Rest Of The World,Restul lumii,
-Restart Subscription,Reporniți Abonament,
-Restaurant,Restaurant,
-Result Date,Data rezultatului,
-Result already Submitted,Rezultatul deja trimis,
-Resume,Reluare,
-Retail,Cu amănuntul,
-Retail & Wholesale,Retail & Wholesale,
-Retail Operations,Operațiunile de vânzare cu amănuntul,
-Retained Earnings,Venituri reținute,
-Retention Stock Entry,Reținerea stocului,
-Retention Stock Entry already created or Sample Quantity not provided,Reținerea stocului de stocare deja creată sau Cantitatea de eșantion care nu a fost furnizată,
-Return,Întoarcere,
-Return / Credit Note,Revenire / credit Notă,
-Return / Debit Note,Returnare / debit Notă,
-Returns,Se intoarce,
-Reverse Journal Entry,Intrare în jurnal invers,
-Review Invitation Sent,Examinarea invitației trimisă,
-Review and Action,Revizuire și acțiune,
-Role,Rol,
-Rooms Booked,Camere rezervate,
-Root Company,Companie de rădăcină,
-Root Type,Rădăcină Tip,
-Root Type is mandatory,Rădăcină de tip este obligatorie,
-Root cannot be edited.,Rădăcină nu poate fi editat.,
-Root cannot have a parent cost center,Rădăcină nu poate avea un centru de cost părinte,
-Round Off,Rotunji,
-Rounded Total,Rotunjite total,
-Route,Traseu,
-Row # {0}: ,Rând # {0}:,
-Row # {0}: Batch No must be same as {1} {2},Row # {0}: Lot nr trebuie să fie aceeași ca și {1} {2},
-Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: nu se pot întoarce mai mult {1} pentru postul {2},
-Row # {0}: Rate cannot be greater than the rate used in {1} {2},Rândul # {0}: Rata nu poate fi mai mare decât rata folosită în {1} {2},
-Row # {0}: Serial No is mandatory,Row # {0}: Nu serial este obligatorie,
-Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: Serial No {1} nu se potrivește cu {2} {3},
-Row #{0} (Payment Table): Amount must be negative,Rândul # {0} (tabelul de plată): Suma trebuie să fie negativă,
-Row #{0} (Payment Table): Amount must be positive,Rândul # {0} (tabelul de plată): Suma trebuie să fie pozitivă,
-Row #{0}: Account {1} does not belong to company {2},Rândul # {0}: Contul {1} nu aparține companiei {2},
-Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Rândul # {0}: Suma alocată nu poate fi mai mare decât suma rămasă.,
-"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Rând # {0}: {1} activ nu poate fi prezentat, este deja {2}",
-Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Rândul # {0}: nu se poate seta Rata dacă suma este mai mare decât suma facturată pentru articolul {1}.,
-Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Rând # {0}: Data de lichidare {1} nu poate fi înainte de Cheque Data {2},
-Row #{0}: Duplicate entry in References {1} {2},Rândul # {0}: intrarea duplicat în referințe {1} {2},
-Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Row # {0}: Data livrării așteptată nu poate fi înainte de data comenzii de achiziție,
-Row #{0}: Item added,Rândul # {0}: articol adăugat,
-Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Rând # {0}: Jurnal de intrare {1} nu are cont {2} sau deja compensată împotriva unui alt voucher,
-Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Nu este permis să schimbe furnizorul ca Comandă există deja,
-Row #{0}: Please set reorder quantity,Row # {0}: Va rugam sa seta cantitatea reordona,
-Row #{0}: Please specify Serial No for Item {1},Rând # {0}: Vă rugăm să specificați Nu serial pentru postul {1},
-Row #{0}: Qty increased by 1,Rândul # {0}: cantitatea a crescut cu 1,
-Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Rata trebuie să fie aceeași ca și {1}: {2} ({3} / {4}),
-Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Rândul # {0}: Tipul de document de referință trebuie să fie una dintre revendicările de cheltuieli sau intrări în jurnal,
-"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Rând # {0}: Tip document de referință trebuie să fie unul dintre comandă cumparare, factură sau Jurnal de intrare",
-Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Respins Cantitate nu pot fi introduse în Purchase Întoarcere,
-Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Respins Warehouse este obligatorie împotriva postul respins {1},
-Row #{0}: Reqd by Date cannot be before Transaction Date,Rândul # {0}: Reqd by Date nu poate fi înainte de data tranzacției,
-Row #{0}: Set Supplier for item {1},Row # {0}: Set Furnizor de produs {1},
-Row #{0}: Status must be {1} for Invoice Discounting {2},Rândul # {0}: starea trebuie să fie {1} pentru reducerea facturilor {2},
-"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","Rândul # {0}: lotul {1} are doar {2} qty. Selectați un alt lot care are {3} qty disponibil sau împărți rândul în mai multe rânduri, pentru a livra / emite din mai multe loturi",
-Row #{0}: Timings conflicts with row {1},Rând # {0}: conflicte timpilor cu rândul {1},
-Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} nu poate fi negativ pentru elementul {2},
-Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Rândul nr {0}: Suma nu poate fi mai mare decât așteptarea Suma împotriva revendicării cheltuieli {1}. În așteptarea Suma este {2},
-Row {0} : Operation is required against the raw material item {1},Rândul {0}: operația este necesară împotriva elementului de materie primă {1},
-Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Rândul {0} # Suma alocată {1} nu poate fi mai mare decât suma nerevendicată {2},
-Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Rândul {0} # Articol {1} nu poate fi transferat mai mult de {2} față de comanda de aprovizionare {3},
-Row {0}# Paid Amount cannot be greater than requested advance amount,Rândul {0} # Suma plătită nu poate fi mai mare decât suma solicitată în avans,
-Row {0}: Activity Type is mandatory.,Rândul {0}: Activitatea de tip este obligatorie.,
-Row {0}: Advance against Customer must be credit,Row {0}: avans Clientul trebuie să fie de credit,
-Row {0}: Advance against Supplier must be debit,Row {0}: Advance împotriva Furnizor trebuie să fie de debit,
-Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Rândul {0}: Suma alocată {1} trebuie să fie mai mic sau egal cu suma de plată de intrare {2},
-Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Rândul {0}: Suma alocată {1} trebuie să fie mai mic sau egal cu factura suma restanta {2},
-Row {0}: An Reorder entry already exists for this warehouse {1},Rând {0}: O intrare de Comandă există deja pentru acest depozit {1},
-Row {0}: Bill of Materials not found for the Item {1},Rândul {0}: Lista de materiale nu a fost găsit pentru elementul {1},
-Row {0}: Conversion Factor is mandatory,Rând {0}: Factorul de conversie este obligatorie,
-Row {0}: Cost center is required for an item {1},Rând {0}: este necesar un centru de cost pentru un element {1},
-Row {0}: Credit entry can not be linked with a {1},Rând {0}: intrare de credit nu poate fi legat de o {1},
-Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Rând {0}: Moneda de BOM # {1} ar trebui să fie egal cu moneda selectată {2},
-Row {0}: Debit entry can not be linked with a {1},Rând {0}: debit de intrare nu poate fi legat de o {1},
-Row {0}: Depreciation Start Date is required,Rând {0}: este necesară începerea amortizării,
-Row {0}: Enter location for the asset item {1},Rând {0}: introduceți locația pentru elementul de activ {1},
-Row {0}: Exchange Rate is mandatory,Row {0}: Cursul de schimb este obligatoriu,
-Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Rând {0}: Valoarea așteptată după viața utilă trebuie să fie mai mică decât suma brută de achiziție,
-Row {0}: From Time and To Time is mandatory.,Rândul {0}: De la timp și de Ora este obligatorie.,
-Row {0}: From Time and To Time of {1} is overlapping with {2},Rândul {0}: De la timp și Ora {1} se suprapune cu {2},
-Row {0}: From time must be less than to time,Rândul {0}: Din timp trebuie să fie mai mic decât în timp,
-Row {0}: Hours value must be greater than zero.,Rândul {0}: Valoarea ore trebuie să fie mai mare decât zero.,
-Row {0}: Invalid reference {1},Rândul {0}: referință invalid {1},
-Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Rând {0}: Parte / conturi nu se potrivește cu {1} / {2} din {3} {4},
-Row {0}: Party Type and Party is required for Receivable / Payable account {1},Row {0}: Partidul Tipul și Partidul este necesar pentru creanțe / cont plateste {1},
-Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Rând {0}: Plata împotriva Vânzări / Ordinului de Procurare ar trebui să fie întotdeauna marcate ca avans,
-Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Rând {0}: Vă rugăm să verificați ""Este Advance"" împotriva Cont {1} dacă aceasta este o intrare în avans.",
-Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Rândul {0}: Vă rugăm să setați motivul scutirii de taxe în impozitele și taxele de vânzare,
-Row {0}: Please set the Mode of Payment in Payment Schedule,Rândul {0}: Vă rugăm să setați modul de plată în programul de plată,
-Row {0}: Please set the correct code on Mode of Payment {1},Rândul {0}: Vă rugăm să setați codul corect pe Modul de plată {1},
-Row {0}: Qty is mandatory,Rând {0}: Cant este obligatorie,
-Row {0}: Quality Inspection rejected for item {1},Rândul {0}: Inspecția de calitate a fost respinsă pentru articolul {1},
-Row {0}: UOM Conversion Factor is mandatory,Row {0}: Factorul de conversie UOM este obligatorie,
-Row {0}: select the workstation against the operation {1},Rând {0}: selectați stația de lucru pentru operația {1},
-Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Rând {0}: {1} Numerele de serie necesare pentru articolul {2}. Ați oferit {3}.,
-Row {0}: {1} must be greater than 0,Rând {0}: {1} trebuie să fie mai mare de 0,
-Row {0}: {1} {2} does not match with {3},Rând {0}: {1} {2} nu se potrivește cu {3},
-Row {0}:Start Date must be before End Date,Rând {0}: Data începerii trebuie să fie înainte de Data de încheiere,
-Rows with duplicate due dates in other rows were found: {0},Au fost găsite rânduri cu date scadente în alte rânduri: {0},
-Rules for adding shipping costs.,Reguli pentru a adăuga costurile de transport maritim.,
-Rules for applying pricing and discount.,Normele de aplicare de stabilire a prețurilor și de scont.,
-S.O. No.,SO No.,
-SGST Amount,Suma SGST,
-SO Qty,SO Cantitate,
-Safety Stock,Stoc de siguranta,
-Salary,Salariu,
-Salary Slip ID,ID-ul de salarizare alunecare,
-Salary Slip of employee {0} already created for this period,Platā angajatului {0} deja creat pentru această perioadă,
-Salary Slip of employee {0} already created for time sheet {1},Salariu de alunecare angajat al {0} deja creat pentru foaie de timp {1},
-Salary Slip submitted for period from {0} to {1},Plata salariului trimisă pentru perioada de la {0} la {1},
-Salary Structure Assignment for Employee already exists,Atribuirea structurii salariale pentru angajat există deja,
-Salary Structure Missing,Structura de salarizare lipsă,
-Salary Structure must be submitted before submission of Tax Ememption Declaration,Structura salariului trebuie depusă înainte de depunerea Declarației de eliberare de impozite,
-Salary Structure not found for employee {0} and date {1},Structura salarială nu a fost găsită pentru angajat {0} și data {1},
-Salary Structure should have flexible benefit component(s) to dispense benefit amount,Structura salariilor ar trebui să aibă componente flexibile pentru beneficiu pentru a renunța la suma beneficiilor,
-"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Salariu au fost deja procesate pentru perioada între {0} și {1}, Lăsați perioada de aplicare nu poate fi între acest interval de date.",
-Sales,Vânzări,
-Sales Account,Cont de vanzari,
-Sales Expenses,Cheltuieli de Vânzare,
-Sales Funnel,Pâlnie Vânzări,
-Sales Invoice,Factură de vânzări,
-Sales Invoice {0} has already been submitted,Factură de vânzări {0} a fost deja prezentat,
-Sales Invoice {0} must be cancelled before cancelling this Sales Order,Factură de vânzări {0} trebuie anulată înainte de a anula această comandă de vânzări,
-Sales Manager,Director De Vânzări,
-Sales Master Manager,Vânzări Maestru de Management,
-Sales Order,Comandă de vânzări,
-Sales Order Item,Comandă de vânzări Postul,
-Sales Order required for Item {0},Ordinul de vânzări necesar pentru postul {0},
-Sales Order to Payment,Comanda de vânzări la plată,
-Sales Order {0} is not submitted,Comandă de vânzări {0} nu este prezentat,
-Sales Order {0} is not valid,Comandă de vânzări {0} nu este valid,
-Sales Order {0} is {1},Comandă de vânzări {0} este {1},
-Sales Orders,Comenzi de Vânzări,
-Sales Partner,Partener de vânzări,
-Sales Pipeline,Conductă de Vânzări,
-Sales Price List,Lista de prețuri de vânzare,
-Sales Return,Vânzări de returnare,
-Sales Summary,Rezumat Vânzări,
-Sales Tax Template,Format impozitul pe vânzări,
-Sales Team,Echipa de vânzări,
-Sales User,Vânzări de utilizare,
-Sales and Returns,Vânzări și returnări,
-Sales campaigns.,Campanii de vânzări.,
-Sales orders are not available for production,Comenzile de vânzări nu sunt disponibile pentru producție,
-Salutation,Salut,
-Same Company is entered more than once,Aceeași societate este înscris de mai multe ori,
-Same item cannot be entered multiple times.,Același articol nu poate fi introdus de mai multe ori.,
-Same supplier has been entered multiple times,Același furnizor a fost introdus de mai multe ori,
-Sample,Exemplu,
-Sample Collection,Colectie de mostre,
-Sample quantity {0} cannot be more than received quantity {1},Cantitatea de probe {0} nu poate fi mai mare decât cantitatea primită {1},
-Sanctioned,consacrat,
-Sanctioned Amount,Sancționate Suma,
-Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Sancționat Suma nu poate fi mai mare decât revendicarea Suma în rândul {0}.,
-Sand,Nisip,
-Saturday,Sâmbătă,
-Saved,Salvat,
-Saving {0},Salvarea {0},
-Scan Barcode,Scanează codul de bare,
-Schedule,Program,
-Schedule Admission,Programați admiterea,
-Schedule Course,Curs orar,
-Schedule Date,Program Data,
-Schedule Discharge,Programați descărcarea,
-Scheduled,Programat,
-Scheduled Upto,Programată până,
-"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Programări pentru suprapunerile {0}, doriți să continuați după ce ați sări peste sloturile suprapuse?",
-Score cannot be greater than Maximum Score,Scorul nu poate fi mai mare decât Scorul maxim,
-Score must be less than or equal to 5,Scorul trebuie să fie mai mică sau egală cu 5,
-Scorecards,Scorecardurilor,
-Scrapped,dezmembrate,
-Search,Căutare,
-Search Results,rezultatele cautarii,
-Search Sub Assemblies,Căutare subansambluri,
-"Search by item code, serial number, batch no or barcode","Căutați după codul de articol, numărul de serie, numărul lotului sau codul de bare",
-"Seasonality for setting budgets, targets etc.","Sezonalitatea pentru stabilirea bugetelor, obiective etc.",
-Secret Key,Cheie secreta,
-Secretary,Secretar,
-Section Code,Codul secțiunii,
-Secured Loans,Împrumuturi garantate,
-Securities & Commodity Exchanges,A Valorilor Mobiliare și Burselor de Mărfuri,
-Securities and Deposits,Titluri de valoare și depozite,
-See All Articles,Vezi toate articolele,
-See all open tickets,Vedeți toate biletele deschise,
-See past orders,Vezi comenzile anterioare,
-See past quotations,Vezi citate anterioare,
-Select,Selectează,
-Select Alternate Item,Selectați elementul alternativ,
-Select Attribute Values,Selectați valorile atributelor,
-Select BOM,Selectați BOM,
-Select BOM and Qty for Production,Selectați BOM și Cant pentru producție,
-"Select BOM, Qty and For Warehouse","Selectați BOM, Qty și For Warehouse",
-Select Batch,Selectați lotul,
-Select Batch Numbers,Selectați numerele lotului,
-Select Brand...,Selectați marca ...,
-Select Company,Selectați Companie,
-Select Company...,Selectați compania ...,
-Select Customer,Selectați Client,
-Select Days,Selectați Zile,
-Select Default Supplier,Selectați Furnizor implicit,
-Select DocType,Selectați DocType,
-Select Fiscal Year...,Selectați Anul fiscal ...,
-Select Item (optional),Selectați elementul (opțional),
-Select Items based on Delivery Date,Selectați elementele bazate pe data livrării,
-Select Items to Manufacture,Selectați elementele de Fabricare,
-Select Loyalty Program,Selectați programul de loialitate,
-Select Patient,Selectați pacientul,
-Select Possible Supplier,Selectați Posibil furnizor,
-Select Property,Selectați proprietatea,
-Select Quantity,Selectați Cantitate,
-Select Serial Numbers,Selectați numerele de serie,
-Select Target Warehouse,Selectați Target Warehouse,
-Select Warehouse...,Selectați Depozit ...,
-Select an account to print in account currency,Selectați un cont pentru a imprima în moneda contului,
-Select an employee to get the employee advance.,Selectați un angajat pentru a avansa angajatul.,
-Select at least one value from each of the attributes.,Selectați cel puțin o valoare din fiecare dintre atribute.,
-Select change amount account,cont Selectați suma schimbare,
-Select company first,Selectați mai întâi compania,
-Select students manually for the Activity based Group,Selectați manual elevii pentru grupul bazat pe activități,
-Select the customer or supplier.,Selectați clientul sau furnizorul.,
-Select the nature of your business.,Selectați natura afacerii dumneavoastră.,
-Select the program first,Selectați mai întâi programul,
-Select to add Serial Number.,Selectați pentru a adăuga număr de serie.,
-Select your Domains,Selectați-vă domeniile,
-Selected Price List should have buying and selling fields checked.,Lista de prețuri selectată ar trebui să verifice câmpurile de cumpărare și vânzare.,
-Sell,Vinde,
-Selling,Vânzare,
-Selling Amount,Vanzarea Suma,
-Selling Price List,Listă Prețuri de Vânzare,
-Selling Rate,Rata de vanzare,
-"Selling must be checked, if Applicable For is selected as {0}","De vânzare trebuie să fie verificate, dacă este cazul Pentru este selectat ca {0}",
-Send Grant Review Email,Trimiteți e-mailul de examinare a granturilor,
-Send Now,Trimite Acum,
-Send SMS,Trimite SMS,
-Send mass SMS to your contacts,Trimite SMS-uri în masă a persoanelor de contact,
-Sensitivity,Sensibilitate,
-Sent,Trimis,
-Serial No and Batch,Serial și Lot nr,
-Serial No is mandatory for Item {0},Nu serial este obligatorie pentru postul {0},
-Serial No {0} does not belong to Batch {1},Numărul de serie {0} nu aparține lotului {1},
-Serial No {0} does not belong to Delivery Note {1},Serial No {0} nu aparține de livrare Nota {1},
-Serial No {0} does not belong to Item {1},Serial Nu {0} nu aparține postul {1},
-Serial No {0} does not belong to Warehouse {1},Serial Nu {0} nu apartine Warehouse {1},
-Serial No {0} does not belong to any Warehouse,Serial nr {0} nu apartine nici unei Warehouse,
-Serial No {0} does not exist,Serial Nu {0} nu există,
-Serial No {0} has already been received,Serial Nu {0} a fost deja primit,
-Serial No {0} is under maintenance contract upto {1},Serial Nu {0} este sub contract de întreținere pana {1},
-Serial No {0} is under warranty upto {1},Serial Nu {0} este în garanție pana {1},
-Serial No {0} not found,Serial nr {0} nu a fost găsit,
-Serial No {0} not in stock,Serial Nu {0} nu este în stoc,
-Serial No {0} quantity {1} cannot be a fraction,Serial Nu {0} {1} cantitate nu poate fi o fracțiune,
-Serial Nos Required for Serialized Item {0},Serial nr necesare pentru postul serializat {0},
-Serial Number: {0} is already referenced in Sales Invoice: {1},Numărul de serie: {0} este deja menționat în factura de vânzare: {1},
-Serial Numbers,Numere de serie,
-Serial Numbers in row {0} does not match with Delivery Note,Numerele de serie din rândul {0} nu se potrivesc cu Nota de livrare,
-Serial no {0} has been already returned,Numărul serial {0} nu a fost deja returnat,
-Serial number {0} entered more than once,Număr de serie {0} a intrat de mai multe ori,
-Serialized Inventory,Inventarul serializat,
-Series Updated,Seria Actualizat,
-Series Updated Successfully,Seria Actualizat cu succes,
-Series is mandatory,Seria este obligatorie,
-Series {0} already used in {1},Series {0} folosit deja în {1},
-Service,Servicii,
-Service Expense,Cheltuieli de serviciu,
-Service Level Agreement,Acord privind nivelul serviciilor,
-Service Level Agreement.,Acord privind nivelul serviciilor.,
-Service Level.,Nivel de servicii.,
-Service Stop Date cannot be after Service End Date,Dată de încetare a serviciului nu poate fi după Data de încheiere a serviciului,
-Service Stop Date cannot be before Service Start Date,Data de începere a serviciului nu poate fi înaintea datei de începere a serviciului,
-Services,Servicii,
-"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Seta valorile implicite, cum ar fi Compania, valutar, Current Anul fiscal, etc",
-Set Details,Setați detalii,
-Set New Release Date,Setați noua dată de lansare,
-Set Project and all Tasks to status {0}?,Setați proiectul și toate sarcinile la starea {0}?,
-Set Status,Setați starea,
-Set Tax Rule for shopping cart,Set Regula fiscală pentru coșul de cumpărături,
-Set as Closed,Setați ca închis,
-Set as Completed,Setați ca Finalizat,
-Set as Default,Setat ca implicit,
-Set as Lost,Setați ca Lost,
-Set as Open,Setați ca Deschis,
-Set default inventory account for perpetual inventory,Setați contul inventarului implicit pentru inventarul perpetuu,
-Set this if the customer is a Public Administration company.,Setați acest lucru dacă clientul este o companie de administrare publică.,
-Set {0} in asset category {1} or company {2},Setați {0} în categoria de active {1} sau în companie {2},
-"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Setarea Evenimente la {0}, deoarece angajatul atașat la mai jos de vânzare Persoanele care nu are un ID de utilizator {1}",
-Setting defaults,Setarea valorilor implicite,
-Setting up Email,Configurarea e-mail,
-Setting up Email Account,Configurarea contului de e-mail,
-Setting up Employees,Configurarea angajati,
-Setting up Taxes,Configurarea Impozite,
-Setting up company,Înființarea companiei,
-Settings,Setări,
-"Settings for online shopping cart such as shipping rules, price list etc.","Setări pentru cosul de cumparaturi on-line, cum ar fi normele de transport maritim, lista de preturi, etc.",
-Settings for website homepage,Setările pentru pagina de start site-ul web,
-Settings for website product listing,Setări pentru listarea produselor site-ului web,
-Settled,Stabilit,
-Setup Gateway accounts.,Setup conturi Gateway.,
-Setup SMS gateway settings,Setări de configurare SMS gateway-ul,
-Setup cheque dimensions for printing,Dimensiunile de instalare pentru imprimare de verificare,
-Setup default values for POS Invoices,Configurați valorile implicite pentru facturile POS,
-Setup mode of POS (Online / Offline),Modul de configurare a POS (online / offline),
-Setup your Institute in ERPNext,Configurați-vă Institutul în ERPNext,
-Share Balance,Soldul acțiunilor,
-Share Ledger,Împărțiți Registru Contabil,
-Share Management,Gestiune partajare,
-Share Transfer,Trimiteți transferul,
-Share Type,Tipul de distribuire,
-Shareholder,Acționar,
-Ship To State,Transport către stat,
-Shipments,Transporturile,
-Shipping,Transport,
-Shipping Address,Adresa de livrare,
-"Shipping Address does not have country, which is required for this Shipping Rule","Adresa de expediere nu are țara, care este necesară pentru această regulă de transport",
-Shipping rule only applicable for Buying,Regulă de expediere aplicabilă numai pentru cumpărături,
-Shipping rule only applicable for Selling,Regulă de expediere aplicabilă numai pentru vânzare,
-Shopify Supplier,Furnizor de magazin,
-Shopping Cart,Cosul de cumparaturi,
-Shopping Cart Settings,Setări Cosul de cumparaturi,
-Short Name,Numele scurt,
-Shortage Qty,Lipsă Cantitate,
-Show Completed,Spectacol finalizat,
-Show Cumulative Amount,Afișați suma cumulată,
-Show Employee,Afișați angajatul,
-Show Open,Afișați deschis,
-Show Opening Entries,Afișare intrări de deschidere,
-Show Payment Details,Afișați detaliile de plată,
-Show Return Entries,Afișați înregistrările returnate,
-Show Salary Slip,Afișează Salariu alunecare,
-Show Variant Attributes,Afișați atribute variate,
-Show Variants,Arată Variante,
-Show closed,Afișează închis,
-Show exploded view,Afișați vizualizarea explodată,
-Show only POS,Afișați numai POS,
-Show unclosed fiscal year's P&L balances,Afișați soldurile L P &amp; anul fiscal unclosed lui,
-Show zero values,Afiseaza valorile nule,
-Sick Leave,A concediului medical,
-Silt,Nămol,
-Single Variant,Varianta unică,
-Single unit of an Item.,Unitate unică a unui articol.,
-"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Scăderea listei de alocare pentru următorii angajați, deoarece înregistrările privind alocarea listei există deja împotriva acestora. {0}",
-"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Trecerea alocării structurii salariale pentru următorii angajați, întrucât înregistrările privind structura salariului există deja împotriva lor {0}",
-Slideshow,Slideshow,
-Slots for {0} are not added to the schedule,Sloturile pentru {0} nu sunt adăugate la program,
-Small,Mic,
-Soap & Detergent,Soap & Detergent,
-Software,Software,
-Software Developer,Software Developer,
-Softwares,Softwares,
-Soil compositions do not add up to 100,Compozițiile solului nu adaugă până la 100,
-Sold,Vândut,
-Some emails are invalid,Unele e-mailuri sunt nevalide,
-Some information is missing,Lipsesc unele informații,
-Something went wrong!,Ceva a mers prost!,
-"Sorry, Serial Nos cannot be merged","Ne pare rău, Serial nr nu se pot uni",
-Source,Sursă,
-Source Name,sursa Nume,
-Source Warehouse,Depozit Sursă,
-Source and Target Location cannot be same,Sursa și locația țintă nu pot fi identice,
-Source and target warehouse cannot be same for row {0},Sursă și depozit țintă nu poate fi același pentru rând {0},
-Source and target warehouse must be different,Sursa și depozitul țintă trebuie să fie diferit,
-Source of Funds (Liabilities),Sursa fondurilor (pasive),
-Source warehouse is mandatory for row {0},Depozit sursă este obligatorie pentru rând {0},
-Specified BOM {0} does not exist for Item {1},BOM specificată {0} nu există pentru postul {1},
-Split,Despică,
-Split Batch,Split Lot,
-Split Issue,Emisiune separată,
-Sports,Sport,
-Staffing Plan {0} already exist for designation {1},Planul de personal {0} există deja pentru desemnare {1},
-Standard,Standard,
-Standard Buying,Cumpararea Standard,
-Standard Selling,Vânzarea standard,
-Standard contract terms for Sales or Purchase.,Clauzele contractuale standard pentru vânzări sau de cumpărare.,
-Start Date,Data începerii,
-Start Date of Agreement can't be greater than or equal to End Date.,Data de începere a acordului nu poate fi mai mare sau egală cu data de încheiere.,
-Start Year,Anul de începere,
-"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Datele de început și de încheiere care nu sunt într-o perioadă de salarizare valabilă, nu pot fi calculate {0}",
-"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Datele de începere și de sfârșit nu se află într-o perioadă de salarizare valabilă, nu pot calcula {0}.",
-Start date should be less than end date for Item {0},Data de începere trebuie să fie mai mică decât data de sfârșit pentru postul {0},
-Start date should be less than end date for task {0},Data de începere ar trebui să fie mai mică decât data de încheiere pentru sarcina {0},
-Start day is greater than end day in task '{0}',Ziua de început este mai mare decât ziua de sfârșit în sarcina &quot;{0}&quot;,
-Start on,Începe,
-State,Stat,
-State/UT Tax,Impozitul de stat / UT,
-Statement of Account,Extras de cont,
-Status must be one of {0},Statusul trebuie să fie unul din {0},
-Stock,Stoc,
-Stock Adjustment,Ajustarea stoc,
-Stock Analytics,Analytics stoc,
-Stock Assets,Active Stoc,
-Stock Available,Stoc disponibil,
-Stock Balance,Stoc Sold,
-Stock Entries already created for Work Order ,Înregistrări stoc deja create pentru comanda de lucru,
-Stock Entry,Stoc de intrare,
-Stock Entry {0} created,Arhivă de intrare {0} creat,
-Stock Entry {0} is not submitted,Stock intrare {0} nu este prezentat,
-Stock Expenses,Cheltuieli stoc,
-Stock In Hand,Stoc în mână,
-Stock Items,stoc,
-Stock Ledger,Registru Contabil Stocuri,
-Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Stocul Ledger Înscrieri și GL intrările sunt postate pentru selectate Veniturile achiziție,
-Stock Levels,Niveluri stoc,
-Stock Liabilities,Pasive stoc,
-Stock Options,Opțiuni pe acțiuni,
-Stock Qty,Cota stocului,
-Stock Received But Not Billed,"Stock primite, dar nu Considerat",
-Stock Reports,Rapoarte de stoc,
-Stock Summary,Rezumat Stoc,
-Stock Transactions,Tranzacții de stoc,
-Stock UOM,Stoc UOM,
-Stock Value,Valoare stoc,
-Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},echilibru stoc în Serie {0} va deveni negativ {1} pentru postul {2} la Depozitul {3},
-Stock cannot be updated against Delivery Note {0},Stock nu poate fi actualizat împotriva livrare Nota {0},
-Stock cannot be updated against Purchase Receipt {0},Stock nu poate fi actualizat cu confirmare de primire {0} Purchase,
-Stock cannot exist for Item {0} since has variants,Stock nu poate exista pentru postul {0} deoarece are variante,
-Stock transactions before {0} are frozen,Tranzacțiilor bursiere înainte de {0} sunt înghețate,
-Stop,Oprire,
-Stopped,Oprita,
-"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Oprirea comenzii de lucru nu poate fi anulată, deblocați mai întâi pentru a anula",
-Stores,Magazine,
-Structures have been assigned successfully,Structurile au fost alocate cu succes,
-Student,Student,
-Student Activity,Activitatea studenților,
-Student Address,Adresa studenților,
-Student Admissions,Admitere Student,
-Student Attendance,Participarea studenților,
-"Student Batches help you track attendance, assessments and fees for students","Student Sarjele ajută să urmăriți prezență, evaluările și taxele pentru studenți",
-Student Email Address,Adresa de e-mail Student,
-Student Email ID,ID-ul de student e-mail,
-Student Group,Grupul studențesc,
-Student Group Strength,Grupul Forței Studenților,
-Student Group is already updated.,Grupul de studenți este deja actualizat.,
-Student Group: ,Grupul studenților:,
-Student ID,Carnet de student,
-Student ID: ,Carnet de student:,
-Student LMS Activity,Activitatea LMS a studenților,
-Student Mobile No.,Elev mobil Nr,
-Student Name,Numele studentului,
-Student Name: ,Numele studentului:,
-Student Report Card,Student Card de raportare,
-Student is already enrolled.,Student este deja înscris.,
-Student {0} - {1} appears Multiple times in row {2} & {3},Elev {0} - {1} apare ori multiple în rândul {2} &amp; {3},
-Student {0} does not belong to group {1},Studentul {0} nu aparține grupului {1},
-Student {0} exist against student applicant {1},Student {0} există împotriva solicitantului de student {1},
-"Students are at the heart of the system, add all your students","Studenții sunt în centrul sistemului, adăugați toți elevii",
-Sub Assemblies,Sub Assemblies,
-Sub Type,Subtipul,
-Sub-contracting,Sub-contractare,
-Subcontract,subcontract,
-Subject,Subiect,
-Submit,Trimite,
-Submit Proof,Trimiteți dovada,
-Submit Salary Slip,Prezenta Salariul Slip,
-Submit this Work Order for further processing.,Trimiteți acest ordin de lucru pentru o prelucrare ulterioară.,
-Submit this to create the Employee record,Trimiteți acest lucru pentru a crea înregistrarea angajatului,
-Submitting Salary Slips...,Trimiterea buletinelor de salariu ...,
-Subscription,Abonament,
-Subscription Management,Managementul abonamentelor,
-Subscriptions,Abonamente,
-Subtotal,subtotală,
-Successful,De succes,
-Successfully Reconciled,Împăcați cu succes,
-Successfully Set Supplier,Setați cu succes furnizorul,
-Successfully created payment entries,Au fost create intrări de plată cu succes,
-Successfully deleted all transactions related to this company!,Șters cu succes toate tranzacțiile legate de aceasta companie!,
-Sum of Scores of Assessment Criteria needs to be {0}.,Suma Scorurile de criterii de evaluare trebuie să fie {0}.,
-Sum of points for all goals should be 100. It is {0},Suma de puncte pentru toate obiectivele ar trebui să fie 100. este {0},
-Summary,Rezumat,
-Summary for this month and pending activities,Rezumat pentru această lună și activități în așteptarea,
-Summary for this week and pending activities,Rezumat pentru această săptămână și a activităților în curs,
-Sunday,Duminică,
-Suplier,furnizo,
-Supplier,Furnizor,
-Supplier Group,Grupul de furnizori,
-Supplier Group master.,Managerul grupului de furnizori.,
-Supplier Id,Furnizor Id,
-Supplier Invoice Date cannot be greater than Posting Date,Furnizor Data facturii nu poate fi mai mare decât postare Data,
-Supplier Invoice No,Furnizor Factura Nu,
-Supplier Invoice No exists in Purchase Invoice {0},Furnizor Factura nr există în factură Purchase {0},
-Supplier Name,Furnizor Denumire,
-Supplier Part No,Furnizor de piesa,
-Supplier Quotation,Furnizor ofertă,
-Supplier Scorecard,Scorul de performanță al furnizorului,
-Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Furnizor Depozit obligatoriu pentru contractate sub-cumparare Primirea,
-Supplier database.,Baza de date furnizor.,
-Supplier {0} not found in {1},Furnizorul {0} nu a fost găsit în {1},
-Supplier(s),Furnizor (e),
-Supplies made to UIN holders,Materialele furnizate deținătorilor UIN,
-Supplies made to Unregistered Persons,Furnizare pentru persoane neînregistrate,
-Suppliies made to Composition Taxable Persons,Cupluri făcute persoanelor impozabile din componență,
-Supply Type,Tip de aprovizionare,
-Support,Suport,
-Support Analytics,Suport Analytics,
-Support Settings,Setări de sprijin,
-Support Tickets,Bilete de sprijin,
-Support queries from customers.,Interogări de suport din partea clienților.,
-Susceptible,Susceptibil,
-Sync has been temporarily disabled because maximum retries have been exceeded,"Sincronizarea a fost temporar dezactivată, deoarece au fost depășite încercările maxime",
-Syntax error in condition: {0},Eroare de sintaxă în stare: {0},
-Syntax error in formula or condition: {0},Eroare de sintaxă în formulă sau stare: {0},
-System Manager,System Manager,
-TDS Rate %,Rata TDS%,
-Tap items to add them here,Atingeți elementele pentru a le adăuga aici,
-Target,Țintă,
-Target ({}),Țintă ({}),
-Target On,Țintă pe,
-Target Warehouse,Depozit Țintă,
-Target warehouse is mandatory for row {0},Depozit țintă este obligatorie pentru rând {0},
-Task,Sarcină,
-Tasks,Sarcini,
-Tasks have been created for managing the {0} disease (on row {1}),S-au creat sarcini pentru gestionarea bolii {0} (pe rândul {1}),
-Tax,Impozite,
-Tax Assets,Active Fiscale,
-Tax Category,Categoria fiscală,
-Tax Category for overriding tax rates.,Categorie de impozite pentru cote de impozitare superioare.,
-"Tax Category has been changed to ""Total"" because all the Items are non-stock items",Categoria de taxe a fost modificată la &quot;Total&quot; deoarece toate elementele nu sunt elemente stoc,
-Tax ID,ID impozit,
-Tax Id: ,Cod fiscal:,
-Tax Rate,Cota de impozitare,
-Tax Rule Conflicts with {0},Conflicte normă fiscală cu {0},
-Tax Rule for transactions.,Regula de impozit pentru tranzacțiile.,
-Tax Template is mandatory.,Format de impozitare este obligatorie.,
-Tax Withholding rates to be applied on transactions.,Ratele de reținere fiscală aplicabile tranzacțiilor.,
-Tax template for buying transactions.,Șablon taxa pentru tranzacțiilor de cumpărare.,
-Tax template for item tax rates.,Model de impozitare pentru cote de impozit pe articole.,
-Tax template for selling transactions.,Șablon impozit pentru tranzacțiile de vânzare.,
-Taxable Amount,Sumă impozabilă,
-Taxes,Impozite,
-Team Updates,echipa Actualizări,
-Technology,Tehnologia nou-aparuta,
-Telecommunications,Telecomunicații,
-Telephone Expenses,Cheltuieli de telefon,
-Television,Televiziune,
-Template Name,Numele de șablon,
-Template of terms or contract.,Șablon de termeni sau contractului.,
-Templates of supplier scorecard criteria.,Șabloane ale criteriilor privind tabloul de bord al furnizorului.,
-Templates of supplier scorecard variables.,Șabloane ale variabilelor pentru scorurile pentru furnizori.,
-Templates of supplier standings.,Modele de clasificare a furnizorilor.,
-Temporarily on Hold,Temporar în așteptare,
-Temporary,Temporar,
-Temporary Accounts,Conturi temporare,
-Temporary Opening,Deschiderea temporară,
-Terms and Conditions,Termeni si conditii,
-Terms and Conditions Template,Termeni și condiții Format,
-Territory,Teritoriu,
-Test,Test,
-Thank you,Mulțumesc,
-Thank you for your business!,Vă mulțumesc pentru afacerea dvs!,
-The 'From Package No.' field must neither be empty nor it's value less than 1.,"&quot;Din pachetul nr.&quot; câmpul nu trebuie să fie nici gol, nici valoarea lui mai mică decât 1.",
-The Brand,Marca,
-The Item {0} cannot have Batch,Postul {0} nu poate avea Lot,
-The Loyalty Program isn't valid for the selected company,Programul de loialitate nu este valabil pentru compania selectată,
-The Payment Term at row {0} is possibly a duplicate.,"Termenul de plată la rândul {0} este, eventual, un duplicat.",
-The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Pe termen Data de încheiere nu poate fi mai devreme decât Start Termen Data. Vă rugăm să corectați datele și încercați din nou.,
-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.,Pe termen Data de încheiere nu poate fi mai târziu de Anul Data de încheiere a anului universitar la care este legat termenul (anului universitar {}). Vă rugăm să corectați datele și încercați din nou.,
-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.,Start Termen Data nu poate fi mai devreme decât data Anul de începere a anului universitar la care este legat termenul (anului universitar {}). Vă rugăm să corectați datele și încercați din nou.,
-The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Anul Data de încheiere nu poate fi mai devreme decât data An Start. Vă rugăm să corectați datele și încercați din nou.,
-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.,Valoarea {0} stabilită în această solicitare de plată este diferită de suma calculată a tuturor planurilor de plată: {1}. Asigurați-vă că este corect înainte de a trimite documentul.,
-The day(s) on which you are applying for leave are holidays. You need not apply for leave.,A doua zi (e) pe care se aplica pentru concediu sunt sărbători. Nu trebuie să se aplice pentru concediu.,
-The field From Shareholder cannot be blank,Câmpul From Shareholder nu poate fi gol,
-The field To Shareholder cannot be blank,Câmpul către acționar nu poate fi necompletat,
-The fields From Shareholder and To Shareholder cannot be blank,Câmpurile de la acționar și de la acționar nu pot fi goale,
-The folio numbers are not matching,Numerele folio nu se potrivesc,
-The holiday on {0} is not between From Date and To Date,Vacanta pe {0} nu este între De la data si pana in prezent,
-The name of the institute for which you are setting up this system.,Numele institutului pentru care configurați acest sistem.,
-The name of your company for which you are setting up this system.,Numele companiei dumneavoastră pentru care vă sunt configurarea acestui sistem.,
-The number of shares and the share numbers are inconsistent,Numărul de acțiuni și numerele de acțiuni sunt incoerente,
-The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Contul gateway-ului de plată din plan {0} este diferit de contul gateway-ului de plată din această solicitare de plată,
-The selected BOMs are not for the same item,Cele BOM selectate nu sunt pentru același articol,
-The selected item cannot have Batch,Elementul selectat nu poate avea lot,
-The seller and the buyer cannot be the same,Vânzătorul și cumpărătorul nu pot fi aceleași,
-The shareholder does not belong to this company,Acționarul nu aparține acestei companii,
-The shares already exist,Acțiunile există deja,
-The shares don't exist with the {0},Acțiunile nu există cu {0},
-"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","Sarcina a fost considerată ca o lucrare de fond. În cazul în care există vreo problemă cu privire la procesare în fundal, sistemul va adăuga un comentariu despre eroarea la această reconciliere a stocului și va reveni la etapa de proiectare.",
-"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Apoi normelor privind prețurile sunt filtrate pe baza Customer, Client Group, Territory, furnizor, furnizor de tip, Campania, Vanzari Partener etc",
-"There are inconsistencies between the rate, no of shares and the amount calculated","Există neconcordanțe între rata, numărul de acțiuni și suma calculată",
-There are more holidays than working days this month.,Există mai multe sărbători decât de zile de lucru în această lună.,
-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.,Pot exista un factor de colectare multiplu diferențiat bazat pe totalul cheltuit. Dar factorul de conversie pentru răscumpărare va fi întotdeauna același pentru toate nivelurile.,
-There can only be 1 Account per Company in {0} {1},Nu poate fi doar un cont per companie în {0} {1},
-"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Nu poate fi doar o singură regulă Condiții presetate cu 0 sau o valoare necompletată pentru ""la valoarea""",
-There is no leave period in between {0} and {1},Nu există o perioadă de concediu între {0} și {1},
-There is not enough leave balance for Leave Type {0},Nu există echilibru concediu suficient pentru concediul de tip {0},
-There is nothing to edit.,Nu este nimic pentru editat.,
-There isn't any item variant for the selected item,Nu există variante de elemente pentru elementul selectat,
-"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.","Se pare că există o problemă cu configurația serverului GoCardless. Nu vă faceți griji, în caz de eșec, suma va fi rambursată în cont.",
-There were errors creating Course Schedule,Au apărut erori la crearea programului de curs,
-There were errors.,Au fost erori.,
-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,"Acest post este un șablon și nu pot fi folosite în tranzacții. Atribute articol vor fi copiate pe în variantele cu excepția cazului în este setat ""Nu Copy""",
-This Item is a Variant of {0} (Template).,Acest element este o variantă de {0} (șablon).,
-This Month's Summary,Rezumatul acestei luni,
-This Week's Summary,Rezumat această săptămână,
-This action will stop future billing. Are you sure you want to cancel this subscription?,Această acțiune va opri facturarea viitoare. Sigur doriți să anulați acest abonament?,
-This covers all scorecards tied to this Setup,Aceasta acoperă toate tabelele de scoruri legate de această configurație,
-This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Acest document este peste limita de {0} {1} pentru elementul {4}. Faci un alt {3} împotriva aceleași {2}?,
-This is a root account and cannot be edited.,Acesta este un cont de rădăcină și nu pot fi editate.,
-This is a root customer group and cannot be edited.,Acesta este un grup de clienți rădăcină și nu pot fi editate.,
-This is a root department and cannot be edited.,Acesta este un departament rădăcină și nu poate fi editat.,
-This is a root healthcare service unit and cannot be edited.,Aceasta este o unitate de asistență medicală rădăcină și nu poate fi editată.,
-This is a root item group and cannot be edited.,Acesta este un grup element rădăcină și nu pot fi editate.,
-This is a root sales person and cannot be edited.,Aceasta este o persoană de vânzări rădăcină și nu pot fi editate.,
-This is a root supplier group and cannot be edited.,Acesta este un grup de furnizori rădăcini și nu poate fi editat.,
-This is a root territory and cannot be edited.,Acesta este un teritoriu rădăcină și nu pot fi editate.,
-This is an example website auto-generated from ERPNext,Acesta este un site web exemplu auto-generat de ERPNext,
-This is based on logs against this Vehicle. See timeline below for details,Aceasta se bazează pe bușteni împotriva acestui vehicul. A se vedea calendarul de mai jos pentru detalii,
-This is based on stock movement. See {0} for details,Aceasta se bazează pe mișcare stoc. A se vedea {0} pentru detalii,
-This is based on the Time Sheets created against this project,Aceasta se bazează pe fișele de pontaj create împotriva acestui proiect,
-This is based on the attendance of this Employee,Aceasta se bazează pe prezența a acestui angajat,
-This is based on the attendance of this Student,Aceasta se bazează pe prezența acestui student,
-This is based on transactions against this Customer. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui client. A se vedea calendarul de mai jos pentru detalii,
-This is based on transactions against this Healthcare Practitioner.,Aceasta se bazează pe tranzacțiile împotriva acestui medic.,
-This is based on transactions against this Patient. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui pacient. Consultați linia temporală de mai jos pentru detalii,
-This is based on transactions against this Sales Person. See timeline below for details,Aceasta se bazează pe tranzacțiile efectuate împotriva acestei persoane de vânzări. Consultați linia temporală de mai jos pentru detalii,
-This is based on transactions against this Supplier. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui furnizor. A se vedea calendarul de mai jos pentru detalii,
-This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Aceasta va trimite salariile de salarizare și va crea înregistrarea de înregistrare în jurnal. Doriți să continuați?,
-This {0} conflicts with {1} for {2} {3},Acest {0} conflicte cu {1} pentru {2} {3},
-Time Sheet for manufacturing.,Fișa de timp pentru fabricație.,
-Time Tracking,Urmărirea timpului,
-"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Slotul de timp a fost anulat, slotul {0} până la {1} suprapune slotul existent {2} până la {3}",
-Time slots added,Au fost adăugate sloturi de timp,
-Time(in mins),Timp (în min),
-Timer,Cronometrul,
-Timer exceeded the given hours.,Timerul a depășit orele date.,
-Timesheet,Pontaj,
-Timesheet for tasks.,Timesheet pentru sarcini.,
-Timesheet {0} is already completed or cancelled,Pontajul {0} este deja finalizat sau anulat,
-Timesheets,pontaje,
-"Timesheets help keep track of time, cost and billing for activites done by your team","Pontaje ajuta să urmăriți timp, costuri și de facturare pentru activitati efectuate de echipa ta",
-Titles for print templates e.g. Proforma Invoice.,"Titluri de șabloane de imprimare, de exemplu proforma Factura.",
-To,La,
-To Address 1,Pentru a adresa 1,
-To Address 2,Pentru a adresa 2,
-To Bill,Pentru a Bill,
-To Date,La Data,
-To Date cannot be before From Date,Până în prezent nu poate fi înainte de data,
-To Date cannot be less than From Date,Data nu poate fi mai mică decât Din data,
-To Date must be greater than From Date,Pentru data trebuie să fie mai mare decât de la data,
-To Date should be within the Fiscal Year. Assuming To Date = {0},Pentru a Data ar trebui să fie în anul fiscal. Presupunând Pentru a Data = {0},
-To Datetime,Pentru a Datetime,
-To Deliver,A livra,
-To Deliver and Bill,Pentru a livra și Bill,
-To Fiscal Year,Anul fiscal,
-To GSTIN,Pentru GSTIN,
-To Party Name,La numele partidului,
-To Pin Code,Pentru a activa codul,
-To Place,A plasa,
-To Receive,A primi,
-To Receive and Bill,Pentru a primi și Bill,
-To State,A afirma,
-To Warehouse,La Depozit,
-To create a Payment Request reference document is required,Pentru a crea un document de referință privind solicitarea de plată este necesar,
-To date can not be equal or less than from date,Până în prezent nu poate fi egală sau mai mică decât de la data,
-To date can not be less than from date,Până în prezent nu poate fi mai mică decât de la data,
-To date can not greater than employee's relieving date,Până în prezent nu poate fi mai mare decât data scutirii angajatului,
-"To filter based on Party, select Party Type first","Pentru a filtra pe baza Party, selectați Party Tip primul",
-"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Pentru a obține cele mai bune din ERPNext, vă recomandăm să luați ceva timp și de ceas aceste filme de ajutor.",
-"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Pentru a include taxa în rândul {0} în rata articol, impozitele în rânduri {1} trebuie de asemenea să fie incluse",
-To make Customer based incentive schemes.,Pentru a crea scheme de stimulare bazate pe client.,
-"To merge, following properties must be same for both items","Pentru a îmbina, următoarele proprietăți trebuie să fie aceeași pentru ambele elemente",
-"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","De a nu aplica regula Preturi într-o anumită tranzacție, ar trebui să fie dezactivat toate regulile de tarifare aplicabile.",
-"To set this Fiscal Year as Default, click on 'Set as Default'","Pentru a seta acest an fiscal ca implicit, faceți clic pe ""Set as Default""",
-To view logs of Loyalty Points assigned to a Customer.,Pentru a vizualiza jurnalele punctelor de loialitate atribuite unui client.,
-To {0},Pentru a {0},
-To {0} | {1} {2},Pentru a {0} | {1} {2},
-Toggle Filters,Comutați filtrele,
-Too many columns. Export the report and print it using a spreadsheet application.,Prea multe coloane. Exporta raportul și imprima utilizând o aplicație de calcul tabelar.,
-Tools,Instrumente,
-Total (Credit),Total (Credit),
-Total (Without Tax),Total (fără taxe),
-Total Absent,Raport Absent,
-Total Achieved,Raport Realizat,
-Total Actual,Raport real,
-Total Allocated Leaves,Frunzele totale alocate,
-Total Amount,Suma totală,
-Total Amount Credited,Suma totală creditată,
-Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Taxe totale aplicabile în tabelul de achiziție Chitanță Elementele trebuie să fie la fel ca total impozite și taxe,
-Total Budget,Buget total,
-Total Collected: {0},Totalul colectat: {0},
-Total Commission,Total de Comisie,
-Total Contribution Amount: {0},Suma totală a contribuției: {0},
-Total Credit/ Debit Amount should be same as linked Journal Entry,Suma totală a creditului / debitului ar trebui să fie aceeași cu cea înregistrată în jurnal,
-Total Debit must be equal to Total Credit. The difference is {0},Totală de debit trebuie să fie egal cu total Credit. Diferența este {0},
-Total Deduction,Total de deducere,
-Total Invoiced Amount,Suma totală facturată,
-Total Leaves,Frunze totale,
-Total Order Considered,Comanda total Considerat,
-Total Order Value,Valoarea totală Comanda,
-Total Outgoing,Raport de ieșire,
-Total Outstanding,Total deosebit,
-Total Outstanding Amount,Total Suma Impresionant,
-Total Outstanding: {0},Total excepție: {0},
-Total Paid Amount,Total Suma plătită,
-Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Suma totală de plată în Planul de Plăți trebuie să fie egală cu Total / Rotunjit,
-Total Payments,Total plăți,
-Total Present,Raport Prezent,
-Total Qty,Raport Cantitate,
-Total Quantity,Cantitatea totala,
-Total Revenue,Raport Venituri,
-Total Student,Student total,
-Total Target,Raport țintă,
-Total Tax,Taxa totală,
-Total Taxable Amount,Sumă impozabilă totală,
-Total Taxable Value,Valoarea impozabilă totală,
-Total Unpaid: {0},Neremunerat totală: {0},
-Total Variance,Raport Variance,
-Total Weightage of all Assessment Criteria must be 100%,Weightage totală a tuturor criteriilor de evaluare trebuie să fie 100%,
-Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),avans total ({0}) împotriva Comanda {1} nu poate fi mai mare decât totalul ({2}),
-Total advance amount cannot be greater than total claimed amount,Suma avansului total nu poate fi mai mare decât suma totală revendicată,
-Total advance amount cannot be greater than total sanctioned amount,Suma avansului total nu poate fi mai mare decât suma totală sancționată,
-Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Frunzele totale alocate sunt mai multe zile decât alocarea maximă a tipului de concediu {0} pentru angajatul {1} în perioada respectivă,
-Total allocated leaves are more than days in the period,TOTAL frunze alocate sunt mai mult decât zile în perioada,
-Total allocated percentage for sales team should be 100,Procentul total alocat pentru echipa de vânzări ar trebui să fie de 100,
-Total cannot be zero,Totalul nu poate să fie zero,
-Total contribution percentage should be equal to 100,Procentul total al contribuției ar trebui să fie egal cu 100,
-Total flexible benefit component amount {0} should not be less than max benefits {1},Suma totală a componentelor de beneficii flexibile {0} nu trebuie să fie mai mică decât beneficiile maxime {1},
-Total hours: {0},Numărul total de ore: {0},
-Total leaves allocated is mandatory for Leave Type {0},Numărul total de frunze alocate este obligatoriu pentru Type Leave {0},
-Total working hours should not be greater than max working hours {0},Numărul total de ore de lucru nu trebuie sa fie mai mare de ore de lucru max {0},
-Total {0} ({1}),Total {0} ({1}),
-"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Total {0} pentru toate articolele este zero, poate fi ar trebui să schimbați „Distribuirea cheltuielilor pe baza“",
-Total(Amt),Total (Amt),
-Total(Qty),Total (Cantitate),
-Traceability,Trasabilitate,
-Traceback,Traceback,
-Track Leads by Lead Source.,Urmărește Oportunități după Sursă Oportunitate,
-Training,Pregătire,
-Training Event,Eveniment de formare,
-Training Events,Evenimente de instruire,
-Training Feedback,Feedback formare,
-Training Result,Rezultatul de formare,
-Transaction,Tranzacţie,
-Transaction Date,Data tranzacției,
-Transaction Type,tipul tranzacției,
-Transaction currency must be same as Payment Gateway currency,Moneda de tranzacție trebuie să fie aceeași ca și de plată Gateway monedă,
-Transaction not allowed against stopped Work Order {0},Tranzacția nu este permisă împotriva comenzii de lucru oprita {0},
-Transaction reference no {0} dated {1},de referință al tranzacției nu {0} {1} din,
-Transactions,tranzacţii,
-Transactions can only be deleted by the creator of the Company,Tranzacții pot fi șterse doar de către creatorul Companiei,
-Transfer,Transfer,
-Transfer Material,Material de transfer,
-Transfer Type,Tip de transfer,
-Transfer an asset from one warehouse to another,Se transferă un activ de la un depozit la altul,
-Transfered,transferat,
-Transferred Quantity,Cantitate transferată,
-Transport Receipt Date,Data primirii transportului,
-Transport Receipt No,Primirea transportului nr,
-Transportation,Transport,
-Transporter ID,ID-ul transportatorului,
-Transporter Name,Transporter Nume,
-Travel,Călători,
-Travel Expenses,Cheltuieli de calatorie,
-Tree Type,Arbore Tip,
-Tree of Bill of Materials,Arborele de Bill de materiale,
-Tree of Item Groups.,Arborele de Postul grupuri.,
-Tree of Procedures,Arborele procedurilor,
-Tree of Quality Procedures.,Arborele procedurilor de calitate.,
-Tree of financial Cost Centers.,Tree of centre de cost financiare.,
-Tree of financial accounts.,Arborescentă conturilor financiare.,
-Treshold {0}% appears more than once,Treshold {0}% apare mai mult decât o dată,
-Trial Period End Date Cannot be before Trial Period Start Date,Perioada de încheiere a perioadei de încercare nu poate fi înainte de data începerii perioadei de încercare,
-Trialling,experimentării,
-Type of Business,Tip de afacere,
-Types of activities for Time Logs,Tipuri de activități pentru busteni Timp,
-UOM,UOM,
-UOM Conversion factor is required in row {0},Factor UOM de conversie este necesară în rândul {0},
-UOM coversion factor required for UOM: {0} in Item: {1},Factor coversion UOM UOM necesare pentru: {0} in articol: {1},
-URL,URL-ul,
-Unable to find DocType {0},Nu se poate găsi DocType {0},
-Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Imposibil de găsit rata de schimb pentru {0} până la {1} pentru data cheie {2}. Creați manual un registru de schimb valutar,
-Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Nu se poate găsi scorul începând cu {0}. Trebuie să aveți scoruri în picioare care acoperă între 0 și 100,
-Unable to find variable: ,Imposibil de găsit variabila:,
-Unblock Invoice,Deblocați factura,
-Uncheck all,Deselecteaza tot,
-Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiscal Ani de Profit / Pierdere (credit),
-Unit,Unitate,
-Unit of Measure,Unitate de măsură,
-Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unitate de măsură {0} a fost introdus mai mult de o dată în Factor de conversie Tabelul,
-Unknown,Necunoscut,
-Unpaid,Neachitat,
-Unsecured Loans,Creditele negarantate,
-Unsubscribe from this Email Digest,Dezabona de la acest e-mail Digest,
-Unsubscribed,Nesubscrise,
-Until,Până la,
-Unverified Webhook Data,Datele Webhook neconfirmate,
-Update Account Name / Number,Actualizați numele / numărul contului,
-Update Account Number / Name,Actualizați numărul / numele contului,
-Update Cost,Actualizare Cost,
-Update Items,Actualizați elementele,
-Update Print Format,Actualizare Format Print,
-Update Response,Actualizați răspunsul,
-Update bank payment dates with journals.,Actualizați datele de plată bancar cu reviste.,
-Update in progress. It might take a while.,Actualizare în curs. Ar putea dura ceva timp.,
-Update rate as per last purchase,Rata de actualizare ca pe ultima achiziție,
-Update stock must be enable for the purchase invoice {0},Actualizați stocul trebuie să fie activat pentru factura de achiziție {0},
-Updating Variants...,Actualizarea variantelor ...,
-Upload your letter head and logo. (you can edit them later).,Încărcați capul scrisoare și logo-ul. (Le puteți edita mai târziu).,
-Upper Income,Venituri de sus,
-Use Sandbox,utilizare Sandbox,
-Used Leaves,Frunze utilizate,
-User,Utilizator,
-User ID,ID-ul de utilizator,
-User ID not set for Employee {0},ID-ul de utilizator nu este setat pentru Angajat {0},
-User Remark,Observație utilizator,
-User has not applied rule on the invoice {0},Utilizatorul nu a aplicat o regulă pentru factură {0},
-User {0} already exists,Utilizatorul {0} există deja,
-User {0} created,Utilizatorul {0} a fost creat,
-User {0} does not exist,Utilizatorul {0} nu există,
-User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Utilizatorul {0} nu are niciun POS profil implicit. Verificați implicit la Rând {1} pentru acest utilizator.,
-User {0} is already assigned to Employee {1},Utilizatorul {0} este deja alocat Angajat {1},
-User {0} is already assigned to Healthcare Practitioner {1},Utilizatorul {0} este deja însărcinat cu medicul de îngrijire medicală {1},
-Users,Utilizatori,
-Utility Expenses,Cheltuieli de utilitate,
-Valid From Date must be lesser than Valid Upto Date.,Valabil din data trebuie să fie mai mică decât valabil până la data.,
-Valid Till,Valabil până la,
-Valid from and valid upto fields are mandatory for the cumulative,Câmpurile valabile și valabile până la acestea sunt obligatorii pentru cumul,
-Valid from date must be less than valid upto date,Valabil de la data trebuie să fie mai mic decât valabil până la data actuală,
-Valid till date cannot be before transaction date,Valabil până la data nu poate fi înainte de data tranzacției,
-Validity,Valabilitate,
-Validity period of this quotation has ended.,Perioada de valabilitate a acestui citat sa încheiat.,
-Valuation Rate,Rata de evaluare,
-Valuation Rate is mandatory if Opening Stock entered,Evaluarea Rata este obligatorie în cazul în care a intrat Deschiderea stoc,
-Valuation type charges can not marked as Inclusive,Taxele de tip evaluare nu poate marcate ca Inclusive,
-Value Or Qty,Valoare sau Cantitate,
-Value Proposition,Propunere de valoare,
-Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Valoare pentru atributul {0} trebuie să fie în intervalul de {1} la {2} în trepte de {3} pentru postul {4},
-Value missing,Valoarea lipsește,
-Value must be between {0} and {1},Valoarea trebuie să fie între {0} și {1},
-"Values of exempt, nil rated and non-GST inward supplies","Valorile livrărilor interne scutite, nule și fără GST",
-Variable,Variabil,
-Variance,variație,
-Variance ({}),Varianță ({}),
-Variant,Variantă,
-Variant Attributes,Atribute Variant,
-Variant Based On cannot be changed,Varianta bazată pe nu poate fi modificată,
-Variant Details Report,Varianta Detalii raport,
-Variant creation has been queued.,Crearea de variante a fost în coada de așteptare.,
-Vehicle Expenses,Cheltuielile pentru vehicule,
-Vehicle No,Vehicul Nici,
-Vehicle Type,Tip de vehicul,
-Vehicle/Bus Number,Numărul vehiculului / autobuzului,
-Venture Capital,Capital de risc,
-View Chart of Accounts,Vezi Diagramă de Conturi,
-View Fees Records,Vizualizați înregistrările de taxe,
-View Form,Formular de vizualizare,
-View Lab Tests,Vizualizați testele de laborator,
-View Leads,Vezi Piste,
-View Ledger,Vezi Registru Contabil,
-View Now,Vizualizează acum,
-View a list of all the help videos,Vizualizați o listă cu toate filmele de ajutor,
-View in Cart,Vizualizare Coș,
-Visit report for maintenance call.,Vizitați raport pentru apel de mentenanță.,
-Visit the forums,Vizitați forumurile,
-Vital Signs,Semnele vitale,
-Volunteer,Voluntar,
-Volunteer Type information.,Informații de tip Voluntar.,
-Volunteer information.,Informații despre voluntari.,
-Voucher #,Voucher #,
-Voucher No,Voletul nr,
-Voucher Type,Tip Voucher,
-WIP Warehouse,WIP Depozit,
-Walk In,Walk In,
-Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Depozitul nu poate fi șters deoarece există intrări in registru contabil stocuri pentru acest depozit.,
-Warehouse cannot be changed for Serial No.,Depozit nu poate fi schimbat pentru Serial No.,
-Warehouse is mandatory,Depozitul este obligatoriu,
-Warehouse is mandatory for stock Item {0} in row {1},Depozitul este obligatoriu pentru articol stoc {0} în rândul {1},
-Warehouse not found in the system,Depozit nu a fost găsit în sistemul,
-"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Depozitul necesar la rândul nr. {0}, vă rugăm să setați un depozit implicit pentru elementul {1} pentru companie {2}",
-Warehouse required for stock Item {0},Depozit necesar pentru stoc articol {0},
-Warehouse {0} can not be deleted as quantity exists for Item {1},Depozit {0} nu poate fi ștearsă ca exista cantitate pentru postul {1},
-Warehouse {0} does not belong to company {1},Depozit {0} nu aparține companiei {1},
-Warehouse {0} does not exist,Depozitul {0} nu există,
-"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Warehouse {0} nu este conectat la niciun cont, menționați contul din înregistrarea din depozit sau setați contul de inventar implicit din compania {1}.",
-Warehouses with child nodes cannot be converted to ledger,Depozitele cu noduri copil nu pot fi convertite în registru contabil,
-Warehouses with existing transaction can not be converted to group.,Depozite tranzacție existente nu pot fi convertite în grup.,
-Warehouses with existing transaction can not be converted to ledger.,Depozitele cu tranzacții existente nu pot fi convertite în registru contabil.,
-Warning,Avertisment,
-Warning: Another {0} # {1} exists against stock entry {2},Atenție: Un alt {0} # {1} există împotriva intrării stoc {2},
-Warning: Invalid SSL certificate on attachment {0},Atenție: certificat SSL invalid pe atașament {0},
-Warning: Invalid attachment {0},Atenție: Attachment invalid {0},
-Warning: Leave application contains following block dates,Atenție: Lăsați aplicație conține următoarele date de bloc,
-Warning: Material Requested Qty is less than Minimum Order Qty,Atenție: Materialul solicitat Cant este mai mică decât minima pentru comanda Cantitate,
-Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Atenție: comandă de vânzări {0} există deja împotriva Ordinului de Procurare clientului {1},
-Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Atenție: Sistemul nu va verifica supraîncărcată din sumă pentru postul {0} din {1} este zero,
-Warranty,garanţie,
-Warranty Claim,Garanție revendicarea,
-Warranty Claim against Serial No.,Garantie revendicarea împotriva Serial No.,
-Website,Site web,
-Website Image should be a public file or website URL,Site-ul Image ar trebui să fie un fișier public sau site-ul URL-ul,
-Website Image {0} attached to Item {1} cannot be found,Site-ul Image {0} atașat la postul {1} nu poate fi găsit,
-Website Listing,Înregistrarea site-ului,
-Website Manager,Site-ul Manager de,
-Website Settings,Setarile site-ului,
-Wednesday,Miercuri,
-Week,Săptămână,
-Weekdays,Zilele saptamanii,
-Weekly,Săptămânal,
-Welcome email sent,E-mailul de bun venit a fost trimis,
-Welcome to ERPNext,Bine ati venit la ERPNext,
-What do you need help with?,La ce ai nevoie de ajutor?,
-What does it do?,Ce face?,
-Where manufacturing operations are carried.,În cazul în care operațiunile de fabricație sunt efectuate.,
-White,alb,
-Wire Transfer,Transfer,
-WooCommerce Products,Produse WooCommerce,
-Work In Progress,Lucrări în curs,
-Work Order,Comandă de lucru,
-Work Order already created for all items with BOM,Ordin de lucru deja creat pentru toate articolele cu BOM,
-Work Order cannot be raised against a Item Template,Ordinul de lucru nu poate fi ridicat împotriva unui șablon de element,
-Work Order has been {0},Ordinul de lucru a fost {0},
-Work Order not created,Ordinul de lucru nu a fost creat,
-Work Order {0} must be cancelled before cancelling this Sales Order,Ordinul de lucru {0} trebuie anulat înainte de a anula acest ordin de vânzări,
-Work Order {0} must be submitted,Ordinul de lucru {0} trebuie trimis,
-Work Orders Created: {0},Comenzi de lucru create: {0},
-Work Summary for {0},Rezumat Lucrare pentru {0},
-Work-in-Progress Warehouse is required before Submit,De lucru-in-Progress Warehouse este necesară înainte Trimite,
-Workflow,Flux de lucru,
-Working,De lucru,
-Working Hours,Ore de lucru,
-Workstation,Stație de lucru,
-Workstation is closed on the following dates as per Holiday List: {0},Workstation este închis la următoarele date ca pe lista de vacanta: {0},
-Wrapping up,Înfășurați-vă,
-Wrong Password,Parola gresita,
-Year start date or end date is overlapping with {0}. To avoid please set company,Anul Data de începere sau de încheiere este suprapunerea cu {0}. Pentru a evita vă rugăm să setați companie,
-You are not authorized to add or update entries before {0},Nu ești autorizat să adăugi sau să actualizezi intrări înainte de {0},
-You are not authorized to approve leaves on Block Dates,Tu nu sunt autorizate să aprobe frunze pe bloc Perioada,
-You are not authorized to set Frozen value,Nu esti autorizat pentru a configura valoarea Congelat,
-You are not present all day(s) between compensatory leave request days,Nu vă prezentați toată ziua (zilele) între zilele de solicitare a plății compensatorii,
-You can not change rate if BOM mentioned agianst any item,Nu puteți schimba rata dacă BOM menționat agianst orice element,
-You can not enter current voucher in 'Against Journal Entry' column,"Nu puteți introduce voucher curent în ""Împotriva Jurnalul intrare"" coloană",
-You can only have Plans with the same billing cycle in a Subscription,Puteți avea numai planuri cu același ciclu de facturare într-un abonament,
-You can only redeem max {0} points in this order.,Puteți răscumpăra maxim {0} puncte în această ordine.,
-You can only renew if your membership expires within 30 days,Puteți reînnoi numai dacă expirați în termen de 30 de zile,
-You can only select a maximum of one option from the list of check boxes.,Puteți selecta numai o singură opțiune din lista de casete de selectare.,
-You can only submit Leave Encashment for a valid encashment amount,Puteți să trimiteți numai permisiunea de înregistrare pentru o sumă validă de încasare,
-You can't redeem Loyalty Points having more value than the Grand Total.,Nu puteți valorifica punctele de loialitate cu valoare mai mare decât suma totală.,
-You cannot credit and debit same account at the same time,"Nu puteți credit și de debit același cont, în același timp,",
-You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Nu puteți șterge Anul fiscal {0}. Anul fiscal {0} este setat ca implicit în Setări globale,
-You cannot delete Project Type 'External',Nu puteți șterge tipul de proiect &quot;extern&quot;,
-You cannot edit root node.,Nu puteți edita nodul rădăcină.,
-You cannot restart a Subscription that is not cancelled.,Nu puteți reporni o abonament care nu este anulat.,
-You don't have enought Loyalty Points to redeem,Nu aveți puncte de loialitate pentru a răscumpăra,
-You have already assessed for the assessment criteria {}.,Ați evaluat deja criteriile de evaluare {}.,
-You have already selected items from {0} {1},Ați selectat deja un produs de la {0} {1},
-You have been invited to collaborate on the project: {0},Ați fost invitat să colaboreze la proiect: {0},
-You have entered duplicate items. Please rectify and try again.,Ați introdus elemente cu dubluri. Vă rugăm să rectifice și să încercați din nou.,
-You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Trebuie să fii alt utilizator decât Administrator cu rolul managerului de sistem și al Managerului de articole pentru a te înregistra pe Marketplace.,
-You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Trebuie să fii un utilizator cu roluri de manager de sistem și manager de articole pentru a adăuga utilizatori la Marketplace.,
-You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Trebuie să fiți utilizator cu funcții Manager Manager și Manager de posturi pentru a vă înregistra pe Marketplace.,
-You need to be logged in to access this page,Trebuie să fii conectat pentru a putea accesa această pagină,
-You need to enable Shopping Cart,Trebuie să activați Coșul de cumpărături,
-You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Veți pierde înregistrări ale facturilor generate anterior. Sigur doriți să reporniți acest abonament?,
-Your Organization,Organizația dumneavoastră,
-Your cart is Empty,Coșul dvs. este gol,
-Your email address...,Adresa ta de email...,
-Your order is out for delivery!,Comanda dvs. este livrată!,
-Your tickets,Biletele tale,
-ZIP Code,Cod postal,
-[Error],[Eroare],
-[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Forma / Postul / {0}) este din stoc,
-`Freeze Stocks Older Than` should be smaller than %d days.,'Blochează stocuri mai vechi decât' ar trebui să fie mai mic de %d zile.,
-based_on,bazat pe,
-cannot be greater than 100,nu poate fi mai mare de 100,
-disabled user,utilizator dezactivat,
-"e.g. ""Build tools for builders""","de exemplu ""Construi instrumente de constructori """,
-"e.g. ""Primary School"" or ""University""","de exemplu, &quot;Școala primară&quot; sau &quot;Universitatea&quot;",
-"e.g. Bank, Cash, Credit Card","de exemplu, bancar, Cash, Card de credit",
-hidden,ascuns,
-modified,modificată,
-old_parent,old_parent,
-on,Pornit,
-{0} '{1}' is disabled,{0} '{1}' este dezactivat,
-{0} '{1}' not in Fiscal Year {2},{0} '{1}' nu există în anul fiscal {2},
-{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) nu poate fi mai mare decât cantitatea planificată ({2}) din Ordinul de Lucru {3},
-{0} - {1} is inactive student,{0} - {1} este elev inactiv,
-{0} - {1} is not enrolled in the Batch {2},{0} - {1} nu este înscris în lotul {2},
-{0} - {1} is not enrolled in the Course {2},{0} - {1} nu este înscris la Cursul {2},
-{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},Bugetul {0} pentru Contul {1} față de {2} {3} este {4}. Acesta este depășit cu {5},
-{0} Digest,{0} Digest,
-{0} Request for {1},{0} Cerere pentru {1},
-{0} Result submittted,{0} Rezultat transmis,
-{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} numere de serie necesare pentru postul {1}. Ați furnizat {2}.,
-{0} Student Groups created.,{0} Grupurile de elevi au fost create.,
-{0} Students have been enrolled,{0} Elevii au fost înscriși,
-{0} against Bill {1} dated {2},{0} comparativ cu factura {1} din data de {2},
-{0} against Purchase Order {1},{0} comparativ cu comanda de cumpărare {1},
-{0} against Sales Invoice {1},{0} comparativ cu factura de vânzări {1},
-{0} against Sales Order {1},{0} comparativ cu comanda de vânzări {1},
-{0} already allocated for Employee {1} for period {2} to {3},{0} deja alocate pentru Angajatul {1} pentru perioada {2} - {3},
-{0} applicable after {1} working days,{0} aplicabil după {1} zile lucrătoare,
-{0} asset cannot be transferred,{0} activul nu poate fi transferat,
-{0} can not be negative,{0} nu poate fi negativ,
-{0} created,{0} creat,
-"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} are în prezent {1} Scor de Furnizor, iar comenzile de achiziție catre acest furnizor ar trebui emise cu prudență.",
-"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} are în prezent {1} Scor de Furnizor, iar cererile de oferta către acest furnizor ar trebui emise cu prudență.",
-{0} does not belong to Company {1},{0} nu aparține Companiei {1},
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} nu are un program de practicieni în domeniul sănătății. Adăugați-o la medicul de masterat în domeniul sănătății,
-{0} entered twice in Item Tax,{0} a fost introdus de două ori în taxa articolului,
-{0} for {1},{0} pentru {1},
-{0} has been submitted successfully,{0} a fost trimis cu succes,
-{0} has fee validity till {1},{0} are valabilitate până la data de {1},
-{0} hours,{0} ore,
-{0} in row {1},{0} în rândul {1},
-{0} is blocked so this transaction cannot proceed,"{0} este blocat, astfel încât această tranzacție nu poate continua",
-{0} is mandatory,{0} este obligatoriu,
-{0} is mandatory for Item {1},{0} este obligatoriu pentru articolul {1},
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} este obligatoriu. Este posibil ca înregistrarea schimbului valutar nu este creată pentru {1} până la {2}.,
-{0} is not a stock Item,{0} nu este un articol de stoc,
-{0} is not a valid Batch Number for Item {1},{0} nu este un număr de lot valid aferent articolului {1},
-{0} is not added in the table,{0} nu este adăugat în tabel,
-{0} is not in Optional Holiday List,{0} nu este în lista de sărbători opționale,
-{0} is not in a valid Payroll Period,{0} nu este într-o Perioadă de Salarizare validă,
-{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} este acum anul fiscal implicit. Vă rugăm să reîmprospătați browser-ul dvs. pentru ca modificarea să aibă efect.,
-{0} is on hold till {1},{0} este în așteptare până la {1},
-{0} item found.,{0} element găsit.,
-{0} items found.,{0} articole găsite.,
-{0} items in progress,{0} elemente în curs,
-{0} items produced,{0} articole produse,
-{0} must appear only once,{0} trebuie să apară doar o singură dată,
-{0} must be negative in return document,{0} trebuie să fie negativ în documentul de retur,
-{0} must be submitted,{0} trebuie transmis,
-{0} not allowed to transact with {1}. Please change the Company.,{0} nu este permis să efectueze tranzacții cu {1}. Vă rugăm să schimbați compania selectată.,
-{0} not found for item {1},{0} nu a fost găsit pentru articolul {1},
-{0} parameter is invalid,Parametrul {0} este nevalid,
-{0} payment entries can not be filtered by {1},{0} înregistrări de plată nu pot fi filtrate de {1},
-{0} should be a value between 0 and 100,{0} ar trebui să fie o valoare cuprinsă între 0 și 100,
-{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} unități de [{1}] (# Forma / Postul / {1}) găsit în [{2}] (# Forma / Depozit / {2}),
-{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unități de {1} necesare în {2} pe {3} {4} pentru {5} pentru a finaliza această tranzacție.,
-{0} units of {1} needed in {2} to complete this transaction.,{0} unități de {1} necesare în {2} pentru a finaliza această tranzacție.,
-{0} valid serial nos for Item {1},{0} numere de serie valabile pentru articolul {1},
-{0} variants created.,{0} variante create.,
-{0} {1} created,{0} {1} creat,
-{0} {1} does not exist,{0} {1} nu există,
-{0} {1} has been modified. Please refresh.,{0} {1} a fost modificat. Vă rugăm să reîmprospătați.,
-{0} {1} has not been submitted so the action cannot be completed,"{0} {1} nu a fost transmis, astfel încât acțiunea nu poate fi finalizată",
-"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} este asociat cu {2}, dar contul de partid este {3}",
-{0} {1} is cancelled or closed,{0} {1} este anulat sau închis,
-{0} {1} is cancelled or stopped,{0} {1} este anulată sau oprită,
-{0} {1} is cancelled so the action cannot be completed,"{0} {1} este anulată, astfel încât acțiunea nu poate fi terminată",
-{0} {1} is closed,{0} {1} este închis,
-{0} {1} is disabled,{0} {1} este dezactivat,
-{0} {1} is frozen,{0} {1} este blocat,
-{0} {1} is fully billed,{0} {1} este complet facturat,
-{0} {1} is not active,{0} {1} nu este activ,
-{0} {1} is not associated with {2} {3},{0} {1} nu este asociat cu {2} {3},
-{0} {1} is not present in the parent company,{0} {1} nu este prezentă în compania mamă,
-{0} {1} is not submitted,{0} {1} nu este introdus,
-{0} {1} is {2},{0} {1} este {2},
-{0} {1} must be submitted,{0} {1} trebuie să fie introdus,
-{0} {1} not in any active Fiscal Year.,{0} {1} nu se gaseste in niciun an fiscal activ.,
-{0} {1} status is {2},{0} {1} statusul este {2},
-{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &quot;profit și pierdere&quot; cont de tip {2} nu este permisă în orificiul de intrare,
-{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Cont {2} nu aparține Companiei {3},
-{0} {1}: Account {2} is inactive,{0} {1}: Cont {2} este inactiv,
-{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Intrarea contabila {2} poate fi făcută numai în moneda: {3},
-{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: 아이템 {2} 는 Cost Center가  필수임,
-{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: Centru de cost este necesară pentru &quot;profit și pierdere&quot; cont de {2}. Vă rugăm să configurați un centru de cost implicit pentru companie.,
-{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Cost Center {2} nu aparține Companiei {3},
-{0} {1}: Customer is required against Receivable account {2},{0} {1}: Clientul este necesară împotriva contului Receivable {2},
-{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Fie valoarea creditului de debit sau creditul sunt necesare pentru {2},
-{0} {1}: Supplier is required against Payable account {2},{0} {1}: Furnizorul este necesar pentru Contul de plăți {2},
-{0}% Billed,{0}% facturat,
-{0}% Delivered,{0}% livrat,
-"{0}: Employee email not found, hence email not sent","{0}: E-mail-ul angajatului nu a fost găsit, prin urmare, nu a fost trimis mail",
-{0}: From {0} of type {1},{0}: de la {0} de tipul {1},
-{0}: From {1},{0}: De la {1},
-{0}: {1} does not exists,{0}: {1} nu există,
-{0}: {1} not found in Invoice Details table,{0}: {1} nu a fost găsit în tabelul Detalii factură,
-{} of {},{} de {},
-Assigned To,Atribuit pentru,
-Chat,Chat,
-Completed By,Completat De,
-Conditions,Condiții,
-County,județ,
-Day of Week,Zi a săptămânii,
-"Dear System Manager,","Dragă System Manager,",
-Default Value,Valoare implicită,
-Email Group,E-mail grup,
-Email Settings,Setări e-mail,
-Email not sent to {0} (unsubscribed / disabled),Nu e-mail trimis la {0} (nesubscrise / dezactivat),
-Error Message,Mesaj de eroare,
-Fieldtype,Tip câmp,
-Help Articles,Articole de ajutor,
-ID,ID-ul,
-Images,Imagini,
-Import,Importarea,
-Language,Limba,
-Likes,Au apreciat,
-Merge with existing,Merge cu existente,
-Office,Birou,
-Orientation,Orientare,
-Parent,Mamă,
-Passive,Pasiv,
-Payment Failed,Plata esuata,
-Percent,La sută,
-Permanent,Permanent,
-Personal,Trader,
-Plant,Instalarea,
-Post,Publică,
-Postal,Poștal,
-Postal Code,Cod poștal,
-Previous,Precedenta,
-Provider,Furnizor de,
-Read Only,Doar Citire,
-Recipient,Destinatar,
-Reviews,opinii,
-Sender,Expeditor,
-Shop,Magazin,
-Subsidiary,Filială,
-There is some problem with the file url: {0},Există unele probleme cu URL-ul fișierului: {0},
-There were errors while sending email. Please try again.,Au fost erori în timp ce trimiterea de e-mail. Încercaţi din nou.,
-Values Changed,valori schimbată,
-or,sau,
-Ageing Range 4,Intervalul de îmbătrânire 4,
-Allocated amount cannot be greater than unadjusted amount,Suma alocată nu poate fi mai mare decât suma nejustificată,
-Allocated amount cannot be negative,Suma alocată nu poate fi negativă,
-"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Contul de diferență trebuie să fie un cont de tip Active / Răspundere, deoarece această intrare de stoc este o intrare de deschidere",
-Error in some rows,Eroare în unele rânduri,
-Import Successful,Import de succes,
-Please save first,Vă rugăm să salvați mai întâi,
-Price not found for item {0} in price list {1},Preț care nu a fost găsit pentru articolul {0} din lista de prețuri {1},
-Warehouse Type,Tip depozit,
-'Date' is required,„Data” este necesară,
-Benefit,Beneficiu,
-Budgets,Bugete,
-Bundle Qty,Cantitate de pachet,
-Company GSTIN,Compania GSTIN,
-Company field is required,Câmpul companiei este obligatoriu,
-Creating Dimensions...,Crearea dimensiunilor ...,
-Duplicate entry against the item code {0} and manufacturer {1},Duplică intrarea în codul articolului {0} și producătorul {1},
-Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN nevalid! Intrarea introdusă nu se potrivește cu formatul GSTIN pentru deținătorii de UIN sau furnizorii de servicii OIDAR nerezidenți,
-Invoice Grand Total,Total factură mare,
-Last carbon check date cannot be a future date,Ultima dată de verificare a carbonului nu poate fi o dată viitoare,
-Make Stock Entry,Faceți intrarea în stoc,
-Quality Feedback,Feedback de calitate,
-Quality Feedback Template,Șablon de feedback de calitate,
-Rules for applying different promotional schemes.,Reguli pentru aplicarea diferitelor scheme promoționale.,
-Shift,Schimb,
-Show {0},Afișați {0},
-"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Caractere speciale, cu excepția &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; Și &quot;}}&quot; nu sunt permise în numirea seriei {0}",
-Target Details,Detalii despre țintă,
-{0} already has a Parent Procedure {1}.,{0} are deja o procedură părinte {1}.,
-API,API-ul,
-Annual,Anual,
-Approved,Aprobat,
-Change,Schimbă,
-Contact Email,Email Persoana de Contact,
-Export Type,Tipul de export,
-From Date,Din data,
-Group By,A se grupa cu,
-Importing {0} of {1},Importarea {0} din {1},
-Invalid URL,URL invalid,
-Landscape,Peisaj,
-Last Sync On,Ultima sincronizare activată,
-Naming Series,Naming Series,
-No data to export,Nu există date de exportat,
-Portrait,Portret,
-Print Heading,Imprimare Titlu,
-Scheduler Inactive,Planificator inactiv,
-Scheduler is inactive. Cannot import data.,Planificatorul este inactiv. Nu se pot importa date.,
-Show Document,Afișează documentul,
-Show Traceback,Afișare Traceback,
-Video,Video,
-Webhook Secret,Secret Webhook,
-% Of Grand Total,% Din totalul mare,
-'employee_field_value' and 'timestamp' are required.,„angajat_field_value” și „timestamp” sunt obligatorii.,
-<b>Company</b> is a mandatory filter.,<b>Compania</b> este un filtru obligatoriu.,
-<b>From Date</b> is a mandatory filter.,<b>De la Date</b> este un filtru obligatoriu.,
-<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>From Time</b> nu poate fi mai târziu decât <b>To Time</b> pentru {0},
-<b>To Date</b> is a mandatory filter.,<b>Până în prezent</b> este un filtru obligatoriu.,
-A new appointment has been created for you with {0},O nouă programare a fost creată pentru dvs. cu {0},
-Account Value,Valoarea contului,
-Account is mandatory to get payment entries,Contul este obligatoriu pentru a obține înregistrări de plată,
-Account is not set for the dashboard chart {0},Contul nu este setat pentru graficul de bord {0},
-Account {0} does not belong to company {1},Contul {0} nu aparține companiei {1},
-Account {0} does not exists in the dashboard chart {1},Contul {0} nu există în graficul de bord {1},
-Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Cont: <b>{0}</b> este capital de lucru în desfășurare și nu poate fi actualizat de jurnalul de intrare,
-Account: {0} is not permitted under Payment Entry,Cont: {0} nu este permis în baza intrării de plată,
-Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Dimensiunea contabilității <b>{0}</b> este necesară pentru contul „bilanț” {1}.,
-Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Dimensiunea contabilității <b>{0}</b> este necesară pentru contul „Profit și pierdere” {1}.,
-Accounting Masters,Maeștri contabili,
-Accounting Period overlaps with {0},Perioada de contabilitate se suprapune cu {0},
-Activity,Activitate,
-Add / Manage Email Accounts.,Adăugați / gestionați conturi de e-mail.,
-Add Child,Adăugă Copil,
-Add Loan Security,Adăugați securitatea împrumutului,
-Add Multiple,Adăugați mai multe,
-Add Participants,Adăugă Participanți,
-Add to Featured Item,Adăugați la elementele prezentate,
-Add your review,Adăugați-vă recenzia,
-Add/Edit Coupon Conditions,Adăugați / Editați Condițiile cuponului,
-Added to Featured Items,Adăugat la Elementele prezentate,
-Added {0} ({1}),Adăugat {0} ({1}),
-Address Line 1,Adresă Linie 1,
-Addresses,Adrese,
-Admission End Date should be greater than Admission Start Date.,Data de încheiere a admisiei ar trebui să fie mai mare decât data de începere a admiterii.,
-Against Loan,Contra împrumutului,
-Against Loan:,Împrumut contra,
-All,Toate,
-All bank transactions have been created,Toate tranzacțiile bancare au fost create,
-All the depreciations has been booked,Toate amortizările au fost înregistrate,
-Allocation Expired!,Alocare expirată!,
-Allow Resetting Service Level Agreement from Support Settings.,Permiteți resetarea acordului de nivel de serviciu din setările de asistență,
-Amount of {0} is required for Loan closure,Suma de {0} este necesară pentru închiderea împrumutului,
-Amount paid cannot be zero,Suma plătită nu poate fi zero,
-Applied Coupon Code,Codul cuponului aplicat,
-Apply Coupon Code,Aplicați codul promoțional,
-Appointment Booking,Rezervare rezervare,
-"As there are existing transactions against item {0}, you can not change the value of {1}","Deoarece există tranzacții existente la postul {0}, nu puteți modifica valoarea {1}",
-Asset Id,ID material,
-Asset Value,Valoarea activului,
-Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Reglarea valorii activelor nu poate fi înregistrată înainte de data achiziției activelor <b>{0}</b> .,
-Asset {0} does not belongs to the custodian {1},Activul {0} nu aparține custodului {1},
-Asset {0} does not belongs to the location {1},Activele {0} nu aparțin locației {1},
-At least one of the Applicable Modules should be selected,Trebuie selectat cel puțin unul dintre modulele aplicabile,
-Atleast one asset has to be selected.,Cel puțin un activ trebuie să fie selectat.,
-Attendance Marked,Prezentare marcată,
-Attendance has been marked as per employee check-ins,Participarea a fost marcată conform check-in-urilor angajaților,
-Authentication Failed,Autentificare esuata,
-Automatic Reconciliation,Reconciliere automată,
-Available For Use Date,Disponibil pentru data de utilizare,
-Available Stock,Stoc disponibil,
-"Available quantity is {0}, you need {1}","Cantitatea disponibilă este {0}, aveți nevoie de {1}",
-BOM 1,BOM 1,
-BOM 2,BOM 2,
-BOM Comparison Tool,Instrument de comparare BOM,
-BOM recursion: {0} cannot be child of {1},Recurs recurs BOM: {0} nu poate fi copil de {1},
-BOM recursion: {0} cannot be parent or child of {1},Recurs din BOM: {0} nu poate fi părinte sau copil de {1},
-Back to Home,Înapoi acasă,
-Back to Messages,Înapoi la mesaje,
-Bank Data mapper doesn't exist,Mapper Data Bank nu există,
-Bank Details,Detalii bancare,
-Bank account '{0}' has been synchronized,Contul bancar „{0}” a fost sincronizat,
-Bank account {0} already exists and could not be created again,Contul bancar {0} există deja și nu a mai putut fi creat din nou,
-Bank accounts added,S-au adăugat conturi bancare,
-Batch no is required for batched item {0},Numărul lot nu este necesar pentru articol lot {0},
-Billing Date,Data de facturare,
-Billing Interval Count cannot be less than 1,Numărul de intervale de facturare nu poate fi mai mic de 1,
-Blue,Albastru,
-Book,Carte,
-Book Appointment,Numire carte,
-Brand,Marca,
-Browse,Parcurgere,
-Call Connected,Apel conectat,
-Call Disconnected,Apel deconectat,
-Call Missed,Sună dor,
-Call Summary,Rezumatul apelului,
-Call Summary Saved,Rezumat apel salvat,
-Cancelled,Anulat,
-Cannot Calculate Arrival Time as Driver Address is Missing.,Nu se poate calcula ora de sosire deoarece adresa șoferului lipsește.,
-Cannot Optimize Route as Driver Address is Missing.,Nu se poate optimiza ruta deoarece adresa șoferului lipsește.,
-Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Nu se poate finaliza sarcina {0} ca sarcină dependentă {1} nu sunt completate / anulate.,
-Cannot create loan until application is approved,Nu se poate crea împrumut până la aprobarea cererii,
-Cannot find a matching Item. Please select some other value for {0}.,Nu pot găsi o potrivire articol. Vă rugăm să selectați o altă valoare pentru {0}.,
-"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Nu se poate depăși pentru articolul {0} din rândul {1} mai mult decât {2}. Pentru a permite supra-facturarea, vă rugăm să setați alocația în Setările conturilor",
-"Capacity Planning Error, planned start time can not be same as end time","Eroare de planificare a capacității, ora de pornire planificată nu poate fi aceeași cu ora finală",
-Categories,Categorii,
-Changes in {0},Modificări în {0},
-Chart,Diagramă,
-Choose a corresponding payment,Alegeți o plată corespunzătoare,
-Click on the link below to verify your email and confirm the appointment,Faceți clic pe linkul de mai jos pentru a vă confirma e-mailul și pentru a confirma programarea,
-Close,Închideți,
-Communication,Comunicare,
-Compact Item Print,Compact Postul de imprimare,
-Company,Compania,
-Company of asset {0} and purchase document {1} doesn't matches.,Compania de activ {0} și documentul de achiziție {1} nu se potrivesc.,
-Compare BOMs for changes in Raw Materials and Operations,Comparați OM-urile pentru modificările materiilor prime și operațiunilor,
-Compare List function takes on list arguments,Comparați funcția Listă ia argumentele listei,
-Complete,Complet,
-Completed,Finalizat,
-Completed Quantity,Cantitate completată,
-Connect your Exotel Account to ERPNext and track call logs,Conectați contul dvs. Exotel la ERPNext și urmăriți jurnalele de apeluri,
-Connect your bank accounts to ERPNext,Conectați-vă conturile bancare la ERPNext,
-Contact Seller,Contacteaza vanzatorul,
-Continue,Continua,
-Cost Center: {0} does not exist,Centrul de costuri: {0} nu există,
-Couldn't Set Service Level Agreement {0}.,Nu s-a putut stabili acordul de nivel de serviciu {0}.,
-Country,Ţară,
-Country Code in File does not match with country code set up in the system,Codul de țară din fișier nu se potrivește cu codul de țară configurat în sistem,
-Create New Contact,Creați un nou contact,
-Create New Lead,Creați noul plumb,
-Create Pick List,Creați lista de alegeri,
-Create Quality Inspection for Item {0},Creați inspecție de calitate pentru articol {0},
-Creating Accounts...,Crearea de conturi ...,
-Creating bank entries...,Crearea intrărilor bancare ...,
-Credit limit is already defined for the Company {0},Limita de credit este deja definită pentru companie {0},
-Ctrl + Enter to submit,Ctrl + Enter pentru a trimite,
-Ctrl+Enter to submit,Ctrl + Enter pentru a trimite,
-Currency,Valută,
-Current Status,Starea curentă a armatei,
-Customer PO,PO de client,
-Customize,Personalizeaza,
-Daily,Zilnic,
-Date,Dată,
-Date Range,Interval de date,
-Date of Birth cannot be greater than Joining Date.,Data nașterii nu poate fi mai mare decât data de aderare.,
-Dear,Dragă,
-Default,Implicit,
-Define coupon codes.,Definiți codurile cuponului.,
-Delayed Days,Zile amânate,
-Delete,Șterge,
-Delivered Quantity,Cantitate livrată,
-Delivery Notes,Note de livrare,
-Depreciated Amount,Suma depreciată,
-Description,Descriere,
-Designation,Destinatie,
-Difference Value,Valoarea diferenței,
-Dimension Filter,Filtrul de dimensiuni,
-Disabled,Dezactivat,
-Disbursement and Repayment,Plată și rambursare,
-Distance cannot be greater than 4000 kms,Distanța nu poate fi mai mare de 4000 km,
-Do you want to submit the material request,Doriți să trimiteți solicitarea materialului,
-Doctype,doctype,
-Document {0} successfully uncleared,Documentul {0} nu a fost clar necunoscut,
-Download Template,Descărcați Sablon,
-Dr,Dr,
-Due Date,Data Limita,
-Duplicate,Duplicat,
-Duplicate Project with Tasks,Duplică proiect cu sarcini,
-Duplicate project has been created,Proiectul duplicat a fost creat,
-E-Way Bill JSON can only be generated from a submitted document,e-Way Bill JSON poate fi generat numai dintr-un document trimis,
-E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON poate fi generat numai din documentul trimis,
-E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON nu poate fi generat pentru Returnarea vânzărilor de acum,
-ERPNext could not find any matching payment entry,ERPNext nu a găsit nicio intrare de plată potrivită,
-Earliest Age,Cea mai timpurie vârstă,
-Edit Details,Editează detaliile,
-Edit Profile,Editează profilul,
-Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Fie ID-ul transportatorului GST, fie numărul vehiculului nu este necesar dacă modul de transport este rutier",
-Email,E-mail,
-Email Campaigns,Campanii prin e-mail,
-Employee ID is linked with another instructor,ID-ul angajaților este legat de un alt instructor,
-Employee Tax and Benefits,Impozitul și beneficiile angajaților,
-Employee is required while issuing Asset {0},Angajatul este necesar la emiterea de activ {0},
-Employee {0} does not belongs to the company {1},Angajatul {0} nu aparține companiei {1},
-Enable Auto Re-Order,Activați re-comanda automată,
-End Date of Agreement can't be less than today.,Data de încheiere a acordului nu poate fi mai mică decât astăzi.,
-End Time,End Time,
-Energy Point Leaderboard,Tabloul de bord al punctelor energetice,
-Enter API key in Google Settings.,Introduceți cheia API în Setări Google.,
-Enter Supplier,Introduceți furnizorul,
-Enter Value,Introduceți valoarea,
-Entity Type,Tip de entitate,
-Error,Eroare,
-Error in Exotel incoming call,Eroare în apelul primit la Exotel,
-Error: {0} is mandatory field,Eroare: {0} este câmp obligatoriu,
-Event Link,Link de eveniment,
-Exception occurred while reconciling {0},Excepție a avut loc în timp ce s-a reconciliat {0},
-Expected and Discharge dates cannot be less than Admission Schedule date,Datele preconizate și descărcarea de gestiune nu pot fi mai mici decât Data planificării de admitere,
-Expire Allocation,Expirați alocarea,
-Expired,Expirat,
-Export,Exportă,
-Export not allowed. You need {0} role to export.,Export nu este permisă. Ai nevoie de {0} rolul de a exporta.,
-Failed to add Domain,Nu a putut adăuga Domeniul,
-Fetch Items from Warehouse,Obține obiecte de la Depozit,
-Fetching...,... Fetching,
-Field,Camp,
-File Manager,Manager de fișiere,
-Filters,Filtre,
-Finding linked payments,Găsirea plăților legate,
-Fleet Management,Conducerea flotei,
-Following fields are mandatory to create address:,Următoarele câmpuri sunt obligatorii pentru a crea adresa:,
-For Month,Pentru luna,
-"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Pentru articolul {0} din rândul {1}, numărul de serii nu se potrivește cu cantitatea aleasă",
-For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Pentru operare {0}: cantitatea ({1}) nu poate fi mai mare decât cantitatea în curs ({2}),
-For quantity {0} should not be greater than work order quantity {1},Pentru cantitatea {0} nu trebuie să fie mai mare decât cantitatea de comandă de lucru {1},
-Free item not set in the pricing rule {0},Element gratuit care nu este setat în regula prețurilor {0},
-From Date and To Date are Mandatory,De la data și până la data sunt obligatorii,
-From employee is required while receiving Asset {0} to a target location,De la angajat este necesar în timp ce primiți Active {0} către o locație țintă,
-Fuel Expense,Cheltuieli de combustibil,
-Future Payment Amount,Suma viitoare de plată,
-Future Payment Ref,Plată viitoare Ref,
-Future Payments,Plăți viitoare,
-GST HSN Code does not exist for one or more items,Codul GST HSN nu există pentru unul sau mai multe articole,
-Generate E-Way Bill JSON,Generați JSON Bill e-Way,
-Get Items,Obtine Articole,
-Get Outstanding Documents,Obțineți documente de excepție,
-Goal,Obiectiv,
-Greater Than Amount,Mai mare decât suma,
-Green,Verde,
-Group,Grup,
-Group By Customer,Grup după client,
-Group By Supplier,Grup după furnizor,
-Group Node,Nod Group,
-Group Warehouses cannot be used in transactions. Please change the value of {0},Depozitele de grup nu pot fi utilizate în tranzacții. Vă rugăm să schimbați valoarea {0},
-Help,Ajutor,
-Help Article,articol de ajutor,
-"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Te ajută să ții evidența contractelor bazate pe furnizor, client și angajat",
-Helps you manage appointments with your leads,Vă ajută să gestionați programările cu clienții dvs.,
-Home,Acasă,
-IBAN is not valid,IBAN nu este valid,
-Import Data from CSV / Excel files.,Importați date din fișiere CSV / Excel.,
-In Progress,In progres,
-Incoming call from {0},Apel primit de la {0},
-Incorrect Warehouse,Depozit incorect,
-Intermediate,Intermediar,
-Invalid Barcode. There is no Item attached to this barcode.,Cod de bare nevalid. Nu există niciun articol atașat acestui cod de bare.,
-Invalid credentials,Credențe nevalide,
-Invite as User,Invitați ca utilizator,
-Issue Priority.,Prioritate de emisiune.,
-Issue Type.,Tipul problemei.,
-"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.","Se pare că există o problemă cu configurația benzii serverului. În caz de eșec, suma va fi rambursată în cont.",
-Item Reported,Articol raportat,
-Item listing removed,Elementul de articol a fost eliminat,
-Item quantity can not be zero,Cantitatea articolului nu poate fi zero,
-Item taxes updated,Impozitele pe articol au fost actualizate,
-Item {0}: {1} qty produced. ,Articol {0}: {1} cantitate produsă.,
-Joining Date can not be greater than Leaving Date,Data de înscriere nu poate fi mai mare decât Data de plecare,
-Lab Test Item {0} already exist,Elementul testului de laborator {0} există deja,
-Last Issue,Ultima problemă,
-Latest Age,Etapă tarzie,
-Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Cererea de concediu este legată de alocațiile de concediu {0}. Cererea de concediu nu poate fi stabilită ca concediu fără plată,
-Leaves Taken,Frunze luate,
-Less Than Amount,Mai puțin decât suma,
-Liabilities,pasive,
-Loading...,Se încarcă...,
-Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Suma împrumutului depășește valoarea maximă a împrumutului de {0} conform valorilor mobiliare propuse,
-Loan Applications from customers and employees.,Aplicații de împrumut de la clienți și angajați.,
-Loan Disbursement,Decontarea împrumutului,
-Loan Processes,Procese de împrumut,
-Loan Security,Securitatea împrumutului,
-Loan Security Pledge,Gaj de securitate pentru împrumuturi,
-Loan Security Pledge Created : {0},Creditul de securitate al împrumutului creat: {0},
-Loan Security Price,Prețul securității împrumutului,
-Loan Security Price overlapping with {0},Prețul securității împrumutului care se suprapune cu {0},
-Loan Security Unpledge,Unplingge de securitate a împrumutului,
-Loan Security Value,Valoarea securității împrumutului,
-Loan Type for interest and penalty rates,Tip de împrumut pentru dobânzi și rate de penalizare,
-Loan amount cannot be greater than {0},Valoarea împrumutului nu poate fi mai mare de {0},
-Loan is mandatory,Împrumutul este obligatoriu,
-Loans,Credite,
-Loans provided to customers and employees.,Împrumuturi acordate clienților și angajaților.,
-Location,Închiriere,
-Log Type is required for check-ins falling in the shift: {0}.,Tipul de jurnal este necesar pentru check-in-urile care intră în schimb: {0}.,
-Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Se pare că cineva te-a trimis la o adresă URL incompletă. Vă rugăm să cereți-le să se uite în ea.,
-Make Journal Entry,Asigurați Jurnal intrare,
-Make Purchase Invoice,Realizeaza Factura de Cumparare,
-Manufactured,Fabricat,
-Mark Work From Home,Marcați munca de acasă,
-Master,Master,
-Max strength cannot be less than zero.,Rezistența maximă nu poate fi mai mică de zero.,
-Maximum attempts for this quiz reached!,Încercări maxime pentru acest test au fost atinse!,
-Message,Mesaj,
-Missing Values Required,Valorile lipsă necesare,
-Mobile No,Numar de mobil,
-Mobile Number,Numar de mobil,
-Month,Lună,
-Name,Nume,
-Near you,Lângă tine,
-Net Profit/Loss,Profit / Pierdere Netă,
-New Expense,Cheltuieli noi,
-New Invoice,Factură nouă,
-New Payment,Nouă plată,
-New release date should be in the future,Noua dată a lansării ar trebui să fie în viitor,
-Newsletter,Newsletter,
-No Account matched these filters: {},Niciun cont nu se potrivește cu aceste filtre: {},
-No Employee found for the given employee field value. '{}': {},Nu a fost găsit niciun angajat pentru valoarea câmpului dat. &#39;{}&#39;: {},
-No Leaves Allocated to Employee: {0} for Leave Type: {1},Fără frunze alocate angajaților: {0} pentru tipul de concediu: {1},
-No communication found.,Nu a fost găsită nicio comunicare.,
-No correct answer is set for {0},Nu este setat un răspuns corect pentru {0},
-No description,fără descriere,
-No issue has been raised by the caller.,Apelantul nu a pus nicio problemă.,
-No items to publish,Nu există articole de publicat,
-No outstanding invoices found,Nu s-au găsit facturi restante,
-No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Nu s-au găsit facturi restante pentru {0} {1} care califică filtrele pe care le-ați specificat.,
-No outstanding invoices require exchange rate revaluation,Fără facturi restante nu necesită reevaluarea cursului de schimb,
-No reviews yet,Niciun comentariu încă,
-No views yet,Nu există încă vizionări,
-Non stock items,Articole care nu sunt pe stoc,
-Not Allowed,Nu permise,
-Not allowed to create accounting dimension for {0},Nu este permisă crearea unei dimensiuni contabile pentru {0},
-Not permitted. Please disable the Lab Test Template,Nu sunt acceptate. Vă rugăm să dezactivați șablonul de testare,
-Note,Notă,
-Notes: ,Observații:,
-On Converting Opportunity,La convertirea oportunității,
-On Purchase Order Submission,La trimiterea comenzii de cumpărare,
-On Sales Order Submission,La trimiterea comenzii de vânzare,
-On Task Completion,La finalizarea sarcinii,
-On {0} Creation,La {0} Creație,
-Only .csv and .xlsx files are supported currently,"În prezent, numai fișierele .csv și .xlsx sunt acceptate",
-Only expired allocation can be cancelled,Numai alocarea expirată poate fi anulată,
-Only users with the {0} role can create backdated leave applications,Doar utilizatorii cu rolul {0} pot crea aplicații de concediu retardate,
-Open,Deschide,
-Open Contact,Deschideți contactul,
-Open Lead,Deschideți plumb,
-Opening and Closing,Deschiderea și închiderea,
-Operating Cost as per Work Order / BOM,Costul de operare conform ordinului de lucru / BOM,
-Order Amount,Cantitatea comenzii,
-Page {0} of {1},Pagină {0} din {1},
-Paid amount cannot be less than {0},Suma plătită nu poate fi mai mică de {0},
-Parent Company must be a group company,Compania-mamă trebuie să fie o companie de grup,
-Passing Score value should be between 0 and 100,Valoarea punctajului de trecere ar trebui să fie între 0 și 100,
-Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Politica de parolă nu poate conține spații sau cratime simultane. Formatul va fi restructurat automat,
-Patient History,Istoricul pacientului,
-Pause,Pauză,
-Pay,Plăti,
-Payment Document Type,Tip de document de plată,
-Payment Name,Numele de plată,
-Penalty Amount,Suma pedepsei,
-Pending,În așteptarea,
-Performance,Performanţă,
-Period based On,Perioada bazată pe,
-Perpetual inventory required for the company {0} to view this report.,Inventar perpetuu necesar companiei {0} pentru a vedea acest raport.,
-Phone,Telefon,
-Pick List,Lista de alegeri,
-Plaid authentication error,Eroare de autentificare plaidă,
-Plaid public token error,Eroare a simbolului public cu plaid,
-Plaid transactions sync error,Eroare de sincronizare a tranzacțiilor plasate,
-Please check the error log for details about the import errors,Verificați jurnalul de erori pentru detalii despre erorile de import,
-Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Vă rugăm să creați <b>DATEV Setări</b> pentru companie <b>{}</b> .,
-Please create adjustment Journal Entry for amount {0} ,Vă rugăm să creați ajustarea Intrare în jurnal pentru suma {0},
-Please do not create more than 500 items at a time,Vă rugăm să nu creați mai mult de 500 de articole simultan,
-Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Vă rugăm să introduceți <b>contul de diferență</b> sau să setați <b>contul de ajustare a stocului</b> implicit pentru compania {0},
-Please enter GSTIN and state for the Company Address {0},Vă rugăm să introduceți GSTIN și să indicați adresa companiei {0},
-Please enter Item Code to get item taxes,Vă rugăm să introduceți Codul articolului pentru a obține impozite pe articol,
-Please enter Warehouse and Date,Vă rugăm să introduceți Depozitul și data,
-Please enter the designation,Vă rugăm să introduceți desemnarea,
-Please login as a Marketplace User to edit this item.,Vă rugăm să vă autentificați ca utilizator de piață pentru a edita acest articol.,
-Please login as a Marketplace User to report this item.,Vă rugăm să vă autentificați ca utilizator de piață pentru a raporta acest articol.,
-Please select <b>Template Type</b> to download template,Vă rugăm să selectați <b>Tip de șablon</b> pentru a descărca șablonul,
-Please select Applicant Type first,Vă rugăm să selectați mai întâi tipul de solicitant,
-Please select Customer first,Vă rugăm să selectați Clientul mai întâi,
-Please select Item Code first,Vă rugăm să selectați mai întâi Codul articolului,
-Please select Loan Type for company {0},Vă rugăm să selectați Tip de împrumut pentru companie {0},
-Please select a Delivery Note,Vă rugăm să selectați o notă de livrare,
-Please select a Sales Person for item: {0},Vă rugăm să selectați o persoană de vânzări pentru articol: {0},
-Please select another payment method. Stripe does not support transactions in currency '{0}',Selectați o altă metodă de plată. Stripe nu acceptă tranzacțiile în valută &quot;{0}&quot;,
-Please select the customer.,Vă rugăm să selectați clientul.,
-Please set a Supplier against the Items to be considered in the Purchase Order.,Vă rugăm să setați un furnizor împotriva articolelor care trebuie luate în considerare în comanda de achiziție.,
-Please set account heads in GST Settings for Compnay {0},Vă rugăm să setați capetele de cont în Setările GST pentru Compnay {0},
-Please set an email id for the Lead {0},Vă rugăm să setați un cod de e-mail pentru Lead {0},
-Please set default UOM in Stock Settings,Vă rugăm să setați UOM implicit în Setări stoc,
-Please set filter based on Item or Warehouse due to a large amount of entries.,Vă rugăm să setați filtrul în funcție de articol sau depozit datorită unei cantități mari de înregistrări.,
-Please set up the Campaign Schedule in the Campaign {0},Vă rugăm să configurați Planificarea Campaniei în Campania {0},
-Please set valid GSTIN No. in Company Address for company {0},Vă rugăm să setați numărul GSTIN valid în adresa companiei pentru compania {0},
-Please set {0},Vă rugăm să setați {0},customer
-Please setup a default bank account for company {0},Vă rugăm să configurați un cont bancar implicit pentru companie {0},
-Please specify,Vă rugăm să specificați,
-Please specify a {0},Vă rugăm să specificați un {0},lead
-Pledge Status,Starea gajului,
-Pledge Time,Timp de gaj,
-Printing,Tipărire,
-Priority,Prioritate,
-Priority has been changed to {0}.,Prioritatea a fost modificată la {0}.,
-Priority {0} has been repeated.,Prioritatea {0} a fost repetată.,
-Processing XML Files,Procesarea fișierelor XML,
-Profitability,Rentabilitatea,
-Project,Proiect,
-Proposed Pledges are mandatory for secured Loans,Promisiunile propuse sunt obligatorii pentru împrumuturile garantate,
-Provide the academic year and set the starting and ending date.,Furnizați anul universitar și stabiliți data de început și de încheiere.,
-Public token is missing for this bank,Jurnalul public lipsește pentru această bancă,
-Publish,Publica,
-Publish 1 Item,Publicați 1 articol,
-Publish Items,Publica articole,
-Publish More Items,Publicați mai multe articole,
-Publish Your First Items,Publicați primele dvs. articole,
-Publish {0} Items,Publicați {0} articole,
-Published Items,Articole publicate,
-Purchase Invoice cannot be made against an existing asset {0},Factura de cumpărare nu poate fi făcută cu un activ existent {0},
-Purchase Invoices,Facturi de cumpărare,
-Purchase Orders,Ordine de achiziție,
-Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Încasarea de cumpărare nu are niciun articol pentru care este activat eșantionul de păstrare.,
-Purchase Return,Înapoi cumpărare,
-Qty of Finished Goods Item,Cantitatea articolului de produse finite,
-Qty or Amount is mandatroy for loan security,Cantitatea sau suma este mandatroy pentru securitatea împrumutului,
-Quality Inspection required for Item {0} to submit,Inspecția de calitate necesară pentru trimiterea articolului {0},
-Quantity to Manufacture,Cantitate de fabricare,
-Quantity to Manufacture can not be zero for the operation {0},Cantitatea de fabricație nu poate fi zero pentru operațiune {0},
-Quarterly,Trimestrial,
-Queued,Coada de așteptare,
-Quick Entry,Intrarea rapidă,
-Quiz {0} does not exist,Chestionarul {0} nu există,
-Quotation Amount,Suma ofertei,
-Rate or Discount is required for the price discount.,Tariful sau Reducerea este necesară pentru reducerea prețului.,
-Reason,Motiv,
-Reconcile Entries,Reconciliați intrările,
-Reconcile this account,Reconciliați acest cont,
-Reconciled,reconciliat,
-Recruitment,Recrutare,
-Red,Roșu,
-Refreshing,Împrospătare,
-Release date must be in the future,Data lansării trebuie să fie în viitor,
-Relieving Date must be greater than or equal to Date of Joining,Data scutirii trebuie să fie mai mare sau egală cu data aderării,
-Rename,Redenumire,
-Rename Not Allowed,Redenumirea nu este permisă,
-Repayment Method is mandatory for term loans,Metoda de rambursare este obligatorie pentru împrumuturile la termen,
-Repayment Start Date is mandatory for term loans,Data de începere a rambursării este obligatorie pentru împrumuturile la termen,
-Report Item,Raport articol,
-Report this Item,Raportați acest articol,
-Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Cantitate rezervată pentru subcontract: cantitate de materii prime pentru a face obiecte subcontractate.,
-Reset,Resetează,
-Reset Service Level Agreement,Resetați Acordul privind nivelul serviciilor,
-Resetting Service Level Agreement.,Resetarea Acordului privind nivelul serviciilor.,
-Return amount cannot be greater unclaimed amount,Suma returnată nu poate fi o sumă nereclamată mai mare,
-Review,Revizuire,
-Room,Cameră,
-Room Type,Tip Cameră,
-Row # ,Rând #,
-Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Rândul # {0}: depozitul acceptat și depozitul furnizorului nu pot fi aceleași,
-Row #{0}: Cannot delete item {1} which has already been billed.,Rândul # {0}: Nu se poate șterge elementul {1} care a fost deja facturat.,
-Row #{0}: Cannot delete item {1} which has already been delivered,Rândul # {0}: Nu se poate șterge articolul {1} care a fost deja livrat,
-Row #{0}: Cannot delete item {1} which has already been received,Rândul # {0}: Nu se poate șterge elementul {1} care a fost deja primit,
-Row #{0}: Cannot delete item {1} which has work order assigned to it.,Rândul # {0}: Nu se poate șterge elementul {1} care i-a fost atribuită o ordine de lucru.,
-Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Rândul # {0}: Nu se poate șterge articolul {1} care este atribuit comenzii de cumpărare a clientului.,
-Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Rândul # {0}: Nu se poate selecta Furnizorul în timp ce furnizează materii prime subcontractantului,
-Row #{0}: Cost Center {1} does not belong to company {2},Rândul {{0}: Centrul de costuri {1} nu aparține companiei {2},
-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}.,Rândul # {0}: Operația {1} nu este finalizată pentru {2} cantitate de mărfuri finite în Ordinul de lucru {3}. Vă rugăm să actualizați starea operației prin intermediul cărții de lucru {4}.,
-Row #{0}: Payment document is required to complete the transaction,Rândul # {0}: documentul de plată este necesar pentru a finaliza tranzacția,
-Row #{0}: Serial No {1} does not belong to Batch {2},Rândul # {0}: nr. De serie {1} nu aparține lotului {2},
-Row #{0}: Service End Date cannot be before Invoice Posting Date,Rândul # {0}: Data de încheiere a serviciului nu poate fi înainte de Data de înregistrare a facturii,
-Row #{0}: Service Start Date cannot be greater than Service End Date,Rândul # {0}: Data de începere a serviciului nu poate fi mai mare decât Data de încheiere a serviciului,
-Row #{0}: Service Start and End Date is required for deferred accounting,Rândul # {0}: Data de început și de încheiere a serviciului este necesară pentru contabilitate amânată,
-Row {0}: Invalid Item Tax Template for item {1},Rândul {0}: șablonul de impozit pe articol nevalid pentru articolul {1},
-Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Rândul {0}: cantitatea nu este disponibilă pentru {4} în depozit {1} la momentul înregistrării la intrare ({2} {3}),
-Row {0}: user has not applied the rule {1} on the item {2},Rândul {0}: utilizatorul nu a aplicat regula {1} pe articolul {2},
-Row {0}:Sibling Date of Birth cannot be greater than today.,Rândul {0}: Data nașterii în materie nu poate fi mai mare decât astăzi.,
-Row({0}): {1} is already discounted in {2},Rândul ({0}): {1} este deja actualizat în {2},
-Rows Added in {0},Rânduri adăugate în {0},
-Rows Removed in {0},Rândurile eliminate în {0},
-Sanctioned Amount limit crossed for {0} {1},Limita sumei sancționate depășită pentru {0} {1},
-Sanctioned Loan Amount already exists for {0} against company {1},Suma de împrumut sancționat există deja pentru {0} față de compania {1},
-Save,Salvează,
-Save Item,Salvare articol,
-Saved Items,Articole salvate,
-Search Items ...,Caută articole ...,
-Search for a payment,Căutați o plată,
-Search for anything ...,Căutați orice ...,
-Search results for,cauta rezultate pentru,
-Select All,Selectează toate,
-Select Difference Account,Selectați Cont de diferență,
-Select a Default Priority.,Selectați o prioritate implicită.,
-Select a company,Selectați o companie,
-Select finance book for the item {0} at row {1},Selectați cartea de finanțe pentru articolul {0} din rândul {1},
-Select only one Priority as Default.,Selectați doar o prioritate ca implicită.,
-Seller Information,Informatiile vanzatorului,
-Send,Trimiteți,
-Send a message,Trimite un mesaj,
-Sending,Trimitere,
-Sends Mails to lead or contact based on a Campaign schedule,Trimite e-mailuri pentru a conduce sau a contacta pe baza unui program de campanie,
-Serial Number Created,Număr de serie creat,
-Serial Numbers Created,Numere de serie create,
-Serial no(s) required for serialized item {0},Numărul (numerele) de serie necesare pentru articolul serializat {0},
-Series,Serii,
-Server Error,Eroare de server,
-Service Level Agreement has been changed to {0}.,Acordul privind nivelul serviciilor a fost modificat în {0}.,
-Service Level Agreement was reset.,Acordul privind nivelul serviciilor a fost resetat.,
-Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Acordul privind nivelul serviciului cu tipul de entitate {0} și entitatea {1} există deja.,
-Set,Setează,
-Set Meta Tags,Setați etichete meta,
-Set {0} in company {1},Setați {0} în companie {1},
-Setup,Configurare,
-Setup Wizard,Vrăjitor Configurare,
-Shift Management,Managementul schimbării,
-Show Future Payments,Afișați plăți viitoare,
-Show Linked Delivery Notes,Afișare Note de livrare conexe,
-Show Sales Person,Afișați persoana de vânzări,
-Show Stock Ageing Data,Afișează date de îmbătrânire a stocurilor,
-Show Warehouse-wise Stock,Afișați stocul înțelept,
-Size,Dimensiune,
-Something went wrong while evaluating the quiz.,Ceva nu a mers în timp ce evaluați testul.,
-Sr,sr,
-Start,Început(Pornire),
-Start Date cannot be before the current date,Data de început nu poate fi înainte de data curentă,
-Start Time,Ora de începere,
-Status,Status,
-Status must be Cancelled or Completed,Starea trebuie anulată sau completată,
-Stock Balance Report,Raportul soldului stocurilor,
-Stock Entry has been already created against this Pick List,Intrarea pe stoc a fost deja creată pe baza acestei liste de alegeri,
-Stock Ledger ID,ID evidență stoc,
-Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Valoarea stocului ({0}) și soldul contului ({1}) nu sunt sincronizate pentru contul {2} și sunt depozite legate.,
-Stores - {0},Magazine - {0},
-Student with email {0} does not exist,Studentul cu e-mail {0} nu există,
-Submit Review,Trimite recenzie,
-Submitted,Inscrisa,
-Supplier Addresses And Contacts,Adrese furnizorului și de Contacte,
-Synchronize this account,Sincronizați acest cont,
-Tag,Etichetă,
-Target Location is required while receiving Asset {0} from an employee,Locația țintă este necesară în timp ce primiți activ {0} de la un angajat,
-Target Location is required while transferring Asset {0},Locația țintă este necesară în timpul transferului de active {0},
-Target Location or To Employee is required while receiving Asset {0},Locația țintei sau către angajat este necesară în timp ce primiți activ {0},
-Task's {0} End Date cannot be after Project's End Date.,Data de încheiere a sarcinii {0} nu poate fi după data de încheiere a proiectului.,
-Task's {0} Start Date cannot be after Project's End Date.,Data de început a sarcinii {0} nu poate fi după data de încheiere a proiectului.,
-Tax Account not specified for Shopify Tax {0},Contul fiscal nu este specificat pentru Shopify Tax {0},
-Tax Total,Total impozit,
-Template,Șablon,
-The Campaign '{0}' already exists for the {1} '{2}',Campania „{0}” există deja pentru {1} &#39;{2}&#39;,
-The difference between from time and To Time must be a multiple of Appointment,Diferența dintre timp și To Time trebuie să fie multiplu de numire,
-The field Asset Account cannot be blank,Câmpul Contul de active nu poate fi gol,
-The field Equity/Liability Account cannot be blank,Câmpul Contul de capitaluri proprii / pasiv nu poate fi necompletat,
-The following serial numbers were created: <br><br> {0},Au fost create următoarele numere de serie: <br><br> {0},
-The parent account {0} does not exists in the uploaded template,Contul părinte {0} nu există în șablonul încărcat,
-The question cannot be duplicate,Întrebarea nu poate fi duplicată,
-The selected payment entry should be linked with a creditor bank transaction,Intrarea de plată selectată trebuie să fie legată de o tranzacție bancară cu creditor,
-The selected payment entry should be linked with a debtor bank transaction,Intrarea de plată selectată trebuie să fie legată de o tranzacție bancară cu debitori,
-The total allocated amount ({0}) is greated than the paid amount ({1}).,Suma totală alocată ({0}) este majorată decât suma plătită ({1}).,
-There are no vacancies under staffing plan {0},Nu există locuri vacante conform planului de personal {0},
-This Service Level Agreement is specific to Customer {0},Acest Acord de nivel de serviciu este specific Clientului {0},
-This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Această acțiune va deconecta acest cont de orice serviciu extern care integrează ERPNext cu conturile dvs. bancare. Nu poate fi anulată. Esti sigur ?,
-This bank account is already synchronized,Acest cont bancar este deja sincronizat,
-This bank transaction is already fully reconciled,Această tranzacție bancară este deja complet reconciliată,
-This employee already has a log with the same timestamp.{0},Acest angajat are deja un jurnal cu aceeași oră de timp. {0},
-This page keeps track of items you want to buy from sellers.,Această pagină ține evidența articolelor pe care doriți să le cumpărați de la vânzători.,
-This page keeps track of your items in which buyers have showed some interest.,Această pagină ține evidența articolelor dvs. pentru care cumpărătorii au arătat interes.,
-Thursday,Joi,
-Timing,Sincronizare,
-Title,Titlu,
-"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Pentru a permite facturarea excesivă, actualizați „Indemnizație de facturare” în Setări conturi sau element.",
-"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Pentru a permite primirea / livrarea, actualizați „Indemnizația de primire / livrare” în Setări de stoc sau articol.",
-To date needs to be before from date,Până în prezent trebuie să fie înainte de această dată,
-Total,Total,
-Total Early Exits,Total Ieșiri anticipate,
-Total Late Entries,Total intrări târzii,
-Total Payment Request amount cannot be greater than {0} amount,Suma totală a solicitării de plată nu poate fi mai mare decât {0},
-Total payments amount can't be greater than {},Valoarea totală a plăților nu poate fi mai mare de {},
-Totals,Totaluri,
-Training Event:,Eveniment de formare:,
-Transactions already retreived from the statement,Tranzacțiile au fost retrase din extras,
-Transfer Material to Supplier,Transfer de material la furnizor,
-Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Numărul de recepție și data de transport nu sunt obligatorii pentru modul de transport ales,
-Tuesday,Marți,
-Type,Tip,
-Unable to find Salary Component {0},Imposibil de găsit componentul salariului {0},
-Unable to find the time slot in the next {0} days for the operation {1}.,Nu se poate găsi intervalul orar în următoarele {0} zile pentru operația {1}.,
-Unable to update remote activity,Imposibil de actualizat activitatea de la distanță,
-Unknown Caller,Apelant necunoscut,
-Unlink external integrations,Deconectați integrările externe,
-Unmarked Attendance for days,Participarea nemarcată zile întregi,
-Unpublish Item,Publicarea articolului,
-Unreconciled,nereconciliat,
-Unsupported GST Category for E-Way Bill JSON generation,Categorie GST neacceptată pentru generarea JSON Bill E-Way,
-Update,Actualizare,
-Update Details,Detalii detalii,
-Update Taxes for Items,Actualizați impozitele pentru articole,
-"Upload a bank statement, link or reconcile a bank account","Încărcați un extras bancar, conectați sau reconciliați un cont bancar",
-Upload a statement,Încărcați o declarație,
-Use a name that is different from previous project name,Utilizați un nume diferit de numele proiectului anterior,
-User {0} is disabled,Utilizatorul {0} este dezactivat,
-Users and Permissions,Utilizatori și permisiuni,
-Vacancies cannot be lower than the current openings,Posturile vacante nu pot fi mai mici decât deschiderile actuale,
-Valid From Time must be lesser than Valid Upto Time.,Valid From Time trebuie să fie mai mic decât Valid Upto Time.,
-Valuation Rate required for Item {0} at row {1},Rata de evaluare necesară pentru articolul {0} la rândul {1},
-Values Out Of Sync,Valori ieșite din sincronizare,
-Vehicle Type is required if Mode of Transport is Road,Tip de vehicul este necesar dacă modul de transport este rutier,
-Vendor Name,Numele vânzătorului,
-Verify Email,Verificați e-mail,
-View,Vedere,
-View all issues from {0},Vedeți toate problemele din {0},
-View call log,Vizualizați jurnalul de apeluri,
-Warehouse,Depozit,
-Warehouse not found against the account {0},Depozitul nu a fost găsit în contul {0},
-Welcome to {0},Bine ai venit la {0},
-Why do think this Item should be removed?,De ce credeți că acest articol ar trebui eliminat?,
-Work Order {0}: Job Card not found for the operation {1},Comandă de lucru {0}: cartea de muncă nu a fost găsită pentru operație {1},
-Workday {0} has been repeated.,Ziua lucrătoare {0} a fost repetată.,
-XML Files Processed,Fișiere XML procesate,
-Year,An,
-Yearly,Anual,
-You,Tu,
-You are not allowed to enroll for this course,Nu aveți voie să vă înscrieți la acest curs,
-You are not enrolled in program {0},Nu sunteți înscris în programul {0},
-You can Feature upto 8 items.,Puteți prezenta până la 8 articole.,
-You can also copy-paste this link in your browser,"De asemenea, puteți să copiați-paste această legătură în browser-ul dvs.",
-You can publish upto 200 items.,Puteți publica până la 200 de articole.,
-You have to enable auto re-order in Stock Settings to maintain re-order levels.,Trebuie să activați re-comanda auto în Setări stoc pentru a menține nivelurile de re-comandă.,
-You must be a registered supplier to generate e-Way Bill,Pentru a genera Bill e-Way trebuie să fiți un furnizor înregistrat,
-You need to login as a Marketplace User before you can add any reviews.,Trebuie să vă autentificați ca utilizator de piață înainte de a putea adăuga recenzii.,
-Your Featured Items,Articolele dvs. recomandate,
-Your Items,Articolele dvs.,
-Your Profile,Profilul tau,
-Your rating:,Rating-ul tău:,
-and,și,
-e-Way Bill already exists for this document,e-Way Bill există deja pentru acest document,
-woocommerce - {0},woocommerce - {0},
-{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Cuponul utilizat este {1}. Cantitatea admisă este epuizată,
-{0} Name,{0} Nume,
-{0} Operations: {1},{0} Operații: {1},
-{0} bank transaction(s) created,{0} tranzacțiile bancare create,
-{0} bank transaction(s) created and {1} errors,{0} tranzacțiile bancare create și {1} erori,
-{0} can not be greater than {1},{0} nu poate fi mai mare de {1},
-{0} conversations,{0} conversații,
-{0} is not a company bank account,{0} nu este un cont bancar al companiei,
-{0} is not a group node. Please select a group node as parent cost center,{0} nu este un nod de grup. Vă rugăm să selectați un nod de grup ca centru de costuri parentale,
-{0} is not the default supplier for any items.,{0} nu este furnizorul prestabilit pentru niciun articol.,
-{0} is required,{0} este necesar,
-{0}: {1} must be less than {2},{0}: {1} trebuie să fie mai mic decât {2},
-{} is an invalid Attendance Status.,{} este o stare de prezență nevalidă.,
-{} is required to generate E-Way Bill JSON,{} este necesar pentru a genera Bill JSON E-Way,
-"Invalid lost reason {0}, please create a new lost reason","Motiv pierdut nevalabil {0}, vă rugăm să creați un motiv nou pierdut",
-Profit This Year,Profit anul acesta,
-Total Expense,Cheltuieli totale,
-Total Expense This Year,Cheltuieli totale în acest an,
-Total Income,Venit total,
-Total Income This Year,Venit total în acest an,
-Barcode,coduri de bare,
-Bold,Îndrăzneţ,
-Center,Centru,
-Clear,clar,
-Comment,cometariu,
-Comments,Comentarii,
-DocType,DocType,
-Download,Descarca,
-Left,Stânga,
-Link,Legătură,
-New,Nou,
-Not Found,Nu a fost găsit,
-Print,Imprimare,
-Reference Name,nume de referinta,
-Refresh,Actualizare,
-Success,Succes,
-Time,Timp,
-Value,Valoare,
-Actual,Real,
-Add to Cart,Adăugaţi în Coş,
-Days Since Last Order,Zile de la ultima comandă,
-In Stock,In stoc,
-Loan Amount is mandatory,Suma împrumutului este obligatorie,
-Mode Of Payment,Modul de plată,
-No students Found,Nu au fost găsiți studenți,
-Not in Stock,Nu este în stoc,
-Please select a Customer,Selectați un client,
-Printed On,imprimat pe,
-Received From,Primit de la,
-Sales Person,Persoană de vânzări,
-To date cannot be before From date,Până în prezent nu poate fi înainte de data,
-Write Off,Achita,
-{0} Created,{0} a fost creat,
-Email Id,ID-ul de e-mail,
-No,Nu,
-Reference Doctype,DocType referință,
-User Id,Numele de utilizator,
-Yes,da,
-Actual ,Efectiv,
-Add to cart,Adăugaţi în Coş,
-Budget,Buget,
-Chart of Accounts,Grafic de conturi,
-Customer database.,Baza de date pentru clienți.,
-Days Since Last order,Zile de la ultima comandă,
-Download as JSON,Descărcați ca JSON,
-End date can not be less than start date,Data de Incheiere nu poate fi anterioara Datei de Incepere,
-For Default Supplier (Optional),Pentru furnizor implicit (opțional),
-From date cannot be greater than To date,De la data nu poate fi mai mare decât la data,
-Group by,Grupul De,
-In stock,In stoc,
-Item name,Denumire Articol,
-Loan amount is mandatory,Suma împrumutului este obligatorie,
-Minimum Qty,Cantitatea minimă,
-More details,Mai multe detalii,
-Nature of Supplies,Natura aprovizionării,
-No Items found.,Nu au fost gasite articolele.,
-No employee found,Nu a fost găsit angajat,
-No students found,Nu există elevi găsit,
-Not in stock,Nu este în stoc,
-Not permitted,Nu sunt acceptate,
-Open Issues ,Probleme deschise,
-Open Projects ,Deschide Proiecte,
-Open To Do ,Deschideți To Do,
-Operation Id,Operațiunea ID,
-Partially ordered,Comandat parțial,
-Please select company first,Selectați prima companie,
-Please select patient,Selectați pacientul,
-Printed On ,Tipărit pe,
-Projected qty,Numărul estimat,
-Sales person,Persoană de vânzări,
-Serial No {0} Created,Serial Nu {0} a creat,
-Source Location is required for the Asset {0},Sursa Locația este necesară pentru elementul {0},
-Tax Id,Cod de identificare fiscală,
-To Time,La timp,
-To date cannot be before from date,Până în prezent nu poate fi înainte de De la dată,
-Total Taxable value,Valoarea impozabilă totală,
-Upcoming Calendar Events ,Evenimente viitoare Calendar,
-Value or Qty,Valoare sau cantitate,
-Variance ,variație,
-Variant of,Varianta de,
-Write off,Achita,
-hours,ore,
-received from,primit de la,
-to,Până la data,
-Cards,Carduri,
-Percentage,Procent,
-Failed to setup defaults for country {0}. Please contact support@erpnext.com,Eroare la configurarea valorilor prestabilite pentru țară {0}. Vă rugăm să contactați support@erpnext.com,
-Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Rândul # {0}: Elementul {1} nu este un articol serializat / batat. Nu poate avea un număr de serie / nr.,
-Please set {0},Vă rugăm să setați {0},
-Please set {0},Vă rugăm să setați {0},supplier
-Draft,Proiect,"docstatus,=,0"
-Cancelled,Anulat,"docstatus,=,2"
-Please setup Instructor Naming System in Education > Education Settings,Vă rugăm să configurați sistemul de numire a instructorului în educație&gt; Setări educație,
-Please set Naming Series for {0} via Setup > Settings > Naming Series,Vă rugăm să setați Naming Series pentru {0} prin Setare&gt; Setări&gt; Serie pentru denumire,
-UOM Conversion factor ({0} -> {1}) not found for item: {2},Factorul de conversie UOM ({0} -&gt; {1}) nu a fost găsit pentru articol: {2},
-Item Code > Item Group > Brand,Cod articol&gt; Grup de articole&gt; Marcă,
-Customer > Customer Group > Territory,Client&gt; Grup de clienți&gt; Teritoriul,
-Supplier > Supplier Type,Furnizor&gt; Tip furnizor,
-Please setup Employee Naming System in Human Resource > HR Settings,Vă rugăm să configurați sistemul de numire a angajaților în resurse umane&gt; Setări HR,
-Please setup numbering series for Attendance via Setup > Numbering Series,Vă rugăm să configurați seria de numerotare pentru prezență prin Setare&gt; Numerotare,
-The value of {0} differs between Items {1} and {2},Valoarea {0} diferă între elementele {1} și {2},
-Auto Fetch,Preluare automată,
-Fetch Serial Numbers based on FIFO,Obțineți numerele de serie pe baza FIFO,
-"Outward taxable supplies(other than zero rated, nil rated and exempted)","Consumabile impozabile (altele decât zero, zero și scutite)",
-"To allow different rates, disable the {0} checkbox in {1}.","Pentru a permite tarife diferite, dezactivați caseta de selectare {0} din {1}.",
-Current Odometer Value should be greater than Last Odometer Value {0},Valoarea curentă a kilometrului ar trebui să fie mai mare decât ultima valoare a kilometrului {0},
-No additional expenses has been added,Nu s-au adăugat cheltuieli suplimentare,
-Asset{} {assets_link} created for {},Element {} {assets_link} creat pentru {},
-Row {}: Asset Naming Series is mandatory for the auto creation for item {},Rând {}: Seria de denumire a activelor este obligatorie pentru crearea automată a articolului {},
-Assets not created for {0}. You will have to create asset manually.,Elemente care nu au fost create pentru {0}. Va trebui să creați manual activul.,
-{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} are înregistrări contabile în valută {2} pentru companie {3}. Vă rugăm să selectați un cont de primit sau de plătit cu moneda {2}.,
-Invalid Account,Cont invalid,
-Purchase Order Required,Comandă de aprovizionare necesare,
-Purchase Receipt Required,Cumpărare de primire Obligatoriu,
-Account Missing,Cont lipsă,
-Requested,Solicitată,
-Partially Paid,Parțial plătit,
-Invalid Account Currency,Moneda contului este nevalidă,
-"Row {0}: The item {1}, quantity must be positive number","Rândul {0}: elementul {1}, cantitatea trebuie să fie un număr pozitiv",
-"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Vă rugăm să setați {0} pentru articolul lot {1}, care este utilizat pentru a seta {2} la Trimitere.",
-Expiry Date Mandatory,Data de expirare Obligatorie,
-Variant Item,Variant Item,
-BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} și BOM 2 {1} nu ar trebui să fie aceleași,
-Note: Item {0} added multiple times,Notă: articolul {0} a fost adăugat de mai multe ori,
-YouTube,YouTube,
-Vimeo,Vimeo,
-Publish Date,Data publicării,
-Duration,Durată,
-Advanced Settings,Setari avansate,
-Path,cale,
-Components,Componente,
-Verified By,Verificate de,
-Invalid naming series (. missing) for {0},Serii de denumiri nevalide (. Lipsesc) pentru {0},
-Filter Based On,Filtrare bazată pe,
-Reqd by date,Reqd după dată,
-Manufacturer Part Number <b>{0}</b> is invalid,Numărul de piesă al producătorului <b>{0}</b> este nevalid,
-Invalid Part Number,Număr de piesă nevalid,
-Select atleast one Social Media from Share on.,Selectați cel puțin o rețea socială din Partajare pe.,
-Invalid Scheduled Time,Ora programată nevalidă,
-Length Must be less than 280.,Lungimea trebuie să fie mai mică de 280.,
-Error while POSTING {0},Eroare la POSTARE {0},
-"Session not valid, Do you want to login?","Sesiunea nu este validă, doriți să vă autentificați?",
-Session Active,Sesiune activă,
-Session Not Active. Save doc to login.,Sesiunea nu este activă. Salvați documentul pentru autentificare.,
-Error! Failed to get request token.,Eroare! Nu s-a obținut indicativul de solicitare,
-Invalid {0} or {1},{0} sau {1} nevalid,
-Error! Failed to get access token.,Eroare! Nu s-a obținut jetonul de acces.,
-Invalid Consumer Key or Consumer Secret Key,Cheie consumator nevalidă sau cheie secretă consumator,
-Your Session will be expire in ,Sesiunea dvs. va expira în,
- days.,zile.,
-Session is expired. Save doc to login.,Sesiunea a expirat. Salvați documentul pentru autentificare.,
-Error While Uploading Image,Eroare la încărcarea imaginii,
-You Didn't have permission to access this API,Nu ați avut permisiunea de a accesa acest API,
-Valid Upto date cannot be before Valid From date,Valid Upto date nu poate fi înainte de Valid From date,
-Valid From date not in Fiscal Year {0},Valabil de la data care nu se află în anul fiscal {0},
-Valid Upto date not in Fiscal Year {0},Data actualizată valabilă nu în anul fiscal {0},
-Group Roll No,Rola grupului nr,
-Maintain Same Rate Throughout Sales Cycle,Menține Aceeași Rată in Cursul Ciclului de Vânzări,
-"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Rândul {1}: Cantitatea ({0}) nu poate fi o fracțiune. Pentru a permite acest lucru, dezactivați „{2}” în UOM {3}.",
-Must be Whole Number,Trebuie să fie Număr întreg,
-Please setup Razorpay Plan ID,Configurați ID-ul planului Razorpay,
-Contact Creation Failed,Crearea contactului nu a reușit,
-{0} already exists for employee {1} and period {2},{0} există deja pentru angajat {1} și perioada {2},
-Leaves Allocated,Frunze alocate,
-Leaves Expired,Frunzele au expirat,
-Leave Without Pay does not match with approved {} records,Concediu fără plată nu se potrivește cu înregistrările {} aprobate,
-Income Tax Slab not set in Salary Structure Assignment: {0},Placa de impozit pe venit nu este setată în atribuirea structurii salariale: {0},
-Income Tax Slab: {0} is disabled,Planșa impozitului pe venit: {0} este dezactivat,
-Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Placa pentru impozitul pe venit trebuie să fie efectivă la data de începere a perioadei de salarizare sau înainte de aceasta: {0},
-No leave record found for employee {0} on {1},Nu s-a găsit nicio evidență de concediu pentru angajatul {0} pe {1},
-Row {0}: {1} is required in the expenses table to book an expense claim.,Rândul {0}: {1} este necesar în tabelul de cheltuieli pentru a rezerva o cerere de cheltuieli.,
-Set the default account for the {0} {1},Setați contul prestabilit pentru {0} {1},
-(Half Day),(Jumătate de zi),
-Income Tax Slab,Placa impozitului pe venit,
-Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Rândul # {0}: Nu se poate stabili suma sau formula pentru componenta salariu {1} cu variabilă pe baza salariului impozabil,
-Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Rândul # {}: {} din {} ar trebui să fie {}. Vă rugăm să modificați contul sau să selectați un alt cont.,
-Row #{}: Please asign task to a member.,Rândul # {}: atribuiți sarcina unui membru.,
-Process Failed,Procesul nu a reușit,
-Tally Migration Error,Eroare de migrare Tally,
-Please set Warehouse in Woocommerce Settings,Vă rugăm să setați Depozitul în Setările Woocommerce,
-Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Rândul {0}: Depozitul de livrare ({1}) și Depozitul pentru clienți ({2}) nu pot fi identice,
-Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Rândul {0}: Data scadenței din tabelul Condiții de plată nu poate fi înainte de Data înregistrării,
-Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Nu se poate găsi {} pentru articol {}. Vă rugăm să setați același lucru în Setări articol principal sau stoc,
-Row #{0}: The batch {1} has already expired.,Rândul # {0}: lotul {1} a expirat deja.,
-Start Year and End Year are mandatory,Anul de început și anul de sfârșit sunt obligatorii,
-GL Entry,Intrari GL,
-Cannot allocate more than {0} against payment term {1},Nu se pot aloca mai mult de {0} contra termenului de plată {1},
-The root account {0} must be a group,Contul rădăcină {0} trebuie să fie un grup,
-Shipping rule not applicable for country {0} in Shipping Address,Regula de expediere nu se aplică pentru țara {0} din adresa de expediere,
-Get Payments from,Primiți plăți de la,
-Set Shipping Address or Billing Address,Setați adresa de expediere sau adresa de facturare,
-Consultation Setup,Configurarea consultării,
-Fee Validity,Valabilitate taxă,
-Laboratory Setup,Configurarea laboratorului,
-Dosage Form,Formă de dozare,
-Records and History,Înregistrări și istorie,
-Patient Medical Record,Dosarul medical al pacientului,
-Rehabilitation,Reabilitare,
-Exercise Type,Tipul de exercițiu,
-Exercise Difficulty Level,Nivelul de dificultate al exercițiului,
-Therapy Type,Tip de terapie,
-Therapy Plan,Planul de terapie,
-Therapy Session,Sesiune de terapie,
-Motor Assessment Scale,Scara de evaluare motorie,
-[Important] [ERPNext] Auto Reorder Errors,[Important] [ERPNext] Erori de reordonare automată,
-"Regards,","Salutari,",
-The following {0} were created: {1},Au fost create următoarele {0}: {1},
-Work Orders,comenzi de lucru,
-The {0} {1} created sucessfully,{0} {1} a fost creat cu succes,
-Work Order cannot be created for following reason: <br> {0},Ordinea de lucru nu poate fi creată din următorul motiv:<br> {0},
-Add items in the Item Locations table,Adăugați elemente în tabelul Locații element,
-Update Current Stock,Actualizați stocul curent,
-"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Păstrarea eșantionului se bazează pe lot, vă rugăm să bifați Are Batch No pentru a păstra eșantionul articolului",
-Empty,Gol,
-Currently no stock available in any warehouse,În prezent nu există stoc disponibil în niciun depozit,
-BOM Qty,Cantitatea BOM,
-Time logs are required for {0} {1},Jurnalele de timp sunt necesare pentru {0} {1},
-Total Completed Qty,Cantitatea totală completată,
-Qty to Manufacture,Cantitate pentru fabricare,
-Repay From Salary can be selected only for term loans,Rambursarea din salariu poate fi selectată numai pentru împrumuturile pe termen,
-No valid Loan Security Price found for {0},Nu s-a găsit un preț valid de securitate a împrumutului pentru {0},
-Loan Account and Payment Account cannot be same,Contul de împrumut și Contul de plată nu pot fi aceleași,
-Loan Security Pledge can only be created for secured loans,Garanția de securitate a împrumutului poate fi creată numai pentru împrumuturile garantate,
-Social Media Campaigns,Campanii de socializare,
-From Date can not be greater than To Date,From Date nu poate fi mai mare decât To Date,
-Please set a Customer linked to the Patient,Vă rugăm să setați un client legat de pacient,
-Customer Not Found,Clientul nu a fost găsit,
-Please Configure Clinical Procedure Consumable Item in ,Vă rugăm să configurați articolul consumabil pentru procedura clinică în,
-Missing Configuration,Configurare lipsă,
-Out Patient Consulting Charge Item,Aflați articolul de taxare pentru consultanță pentru pacient,
-Inpatient Visit Charge Item,Taxă pentru vizitarea pacientului,
-OP Consulting Charge,OP Taxă de consultanță,
-Inpatient Visit Charge,Taxă pentru vizitarea bolnavului,
-Appointment Status,Starea numirii,
-Test: ,Test:,
-Collection Details: ,Detalii colecție:,
-{0} out of {1},{0} din {1},
-Select Therapy Type,Selectați Tip de terapie,
-{0} sessions completed,{0} sesiuni finalizate,
-{0} session completed,{0} sesiune finalizată,
- out of {0},din {0},
-Therapy Sessions,Ședințe de terapie,
-Add Exercise Step,Adăugați Pasul de exerciții,
-Edit Exercise Step,Editați Pasul de exerciții,
-Patient Appointments,Programări pentru pacienți,
-Item with Item Code {0} already exists,Elementul cu codul articolului {0} există deja,
-Registration Fee cannot be negative or zero,Taxa de înregistrare nu poate fi negativă sau zero,
-Configure a service Item for {0},Configurați un articol de serviciu pentru {0},
-Temperature: ,Temperatura:,
-Pulse: ,Puls:,
-Respiratory Rate: ,Rata respiratorie:,
-BP: ,BP:,
-BMI: ,IMC:,
-Note: ,Notă:,
-Check Availability,Verifică Disponibilitate,
-Please select Patient first,Vă rugăm să selectați mai întâi Pacient,
-Please select a Mode of Payment first,Vă rugăm să selectați mai întâi un mod de plată,
-Please set the Paid Amount first,Vă rugăm să setați mai întâi suma plătită,
-Not Therapies Prescribed,Nu terapii prescrise,
-There are no Therapies prescribed for Patient {0},Nu există terapii prescrise pentru pacient {0},
-Appointment date and Healthcare Practitioner are Mandatory,Data numirii și medicul sunt obligatorii,
-No Prescribed Procedures found for the selected Patient,Nu s-au găsit proceduri prescrise pentru pacientul selectat,
-Please select a Patient first,Vă rugăm să selectați mai întâi un pacient,
-There are no procedure prescribed for ,Nu există o procedură prescrisă pentru,
-Prescribed Therapies,Terapii prescrise,
-Appointment overlaps with ,Programarea se suprapune cu,
-{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} are programată o întâlnire cu {1} la {2} cu o durată de {3} minute.,
-Appointments Overlapping,Programări care se suprapun,
-Consulting Charges: {0},Taxe de consultanță: {0},
-Appointment Cancelled. Please review and cancel the invoice {0},Programare anulată. Examinați și anulați factura {0},
-Appointment Cancelled.,Programare anulată.,
-Fee Validity {0} updated.,Valabilitatea taxei {0} actualizată.,
-Practitioner Schedule Not Found,Programul practicantului nu a fost găsit,
-{0} is on a Half day Leave on {1},{0} este într-un concediu de jumătate de zi pe {1},
-{0} is on Leave on {1},{0} este în concediu pe {1},
-{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} nu are un program de asistență medicală. Adăugați-l în Healthcare Practitioner,
-Healthcare Service Units,Unități de servicii medicale,
-Complete and Consume,Completează și consumă,
-Complete {0} and Consume Stock?,Completați {0} și consumați stoc?,
-Complete {0}?,Completați {0}?,
-Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Cantitatea de stoc pentru a începe procedura nu este disponibilă în depozit {0}. Doriți să înregistrați o înregistrare de stoc?,
-{0} as on {1},{0} ca pe {1},
-Clinical Procedure ({0}):,Procedură clinică ({0}):,
-Please set Customer in Patient {0},Vă rugăm să setați Clientul în Pacient {0},
-Item {0} is not active,Elementul {0} nu este activ,
-Therapy Plan {0} created successfully.,Planul de terapie {0} a fost creat cu succes.,
-Symptoms: ,Simptome:,
-No Symptoms,Fără simptome,
-Diagnosis: ,Diagnostic:,
-No Diagnosis,Fără diagnostic,
-Drug(s) Prescribed.,Medicament (e) prescris (e).,
-Test(s) Prescribed.,Test (e) prescris (e).,
-Procedure(s) Prescribed.,Procedură (proceduri) prescrise.,
-Counts Completed: {0},Număruri finalizate: {0},
-Patient Assessment,Evaluarea pacientului,
-Assessments,Evaluări,
-Heads (or groups) against which Accounting Entries are made and balances are maintained.,Heads (sau grupuri) față de care înregistrările contabile sunt făcute și soldurile sunt menținute.,
-Account Name,Numele Contului,
-Inter Company Account,Contul Companiei Inter,
-Parent Account,Contul părinte,
-Setting Account Type helps in selecting this Account in transactions.,Setarea Tipul de cont ajută în selectarea acest cont în tranzacții.,
-Chargeable,Taxabil/a,
-Rate at which this tax is applied,Rata la care se aplică acest impozit,
-Frozen,Blocat,
-"If the account is frozen, entries are allowed to restricted users.","În cazul în care contul este blocat, intrările sunt permite utilizatorilor restricționati.",
-Balance must be,Bilanţul trebuie să fie,
-Lft,Lft,
-Rgt,Rgt,
-Old Parent,Vechi mamă,
-Include in gross,Includeți în brut,
-Auditor,Auditor,
-Accounting Dimension,Dimensiunea contabilității,
-Dimension Name,Numele dimensiunii,
-Dimension Defaults,Valorile implicite ale dimensiunii,
-Accounting Dimension Detail,Detalii privind dimensiunea contabilității,
-Default Dimension,Dimensiunea implicită,
-Mandatory For Balance Sheet,Obligatoriu pentru bilanț,
-Mandatory For Profit and Loss Account,Obligatoriu pentru contul de profit și pierdere,
-Accounting Period,Perioadă Contabilă,
-Period Name,Numele perioadei,
-Closed Documents,Documente închise,
-Accounts Settings,Setări Conturi,
-Settings for Accounts,Setări pentru conturi,
-Make Accounting Entry For Every Stock Movement,Realizeaza Intrare de Contabilitate Pentru Fiecare Modificare a Stocului,
-Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Utilizatorii cu acest rol li se permite să stabilească în conturile înghețate și de a crea / modifica intrări contabile împotriva conturile înghețate,
-Determine Address Tax Category From,Determinați categoria de impozitare pe adresa de la,
-Over Billing Allowance (%),Indemnizație de facturare peste (%),
-Credit Controller,Controler de Credit,
-Check Supplier Invoice Number Uniqueness,Cec Furnizor Numărul facturii Unicitatea,
-Make Payment via Journal Entry,Efectuați o plată prin Jurnalul de intrare,
-Unlink Payment on Cancellation of Invoice,Plata unlink privind anularea facturii,
-Book Asset Depreciation Entry Automatically,Încărcarea automată a amortizării activelor din cont,
-Automatically Add Taxes and Charges from Item Tax Template,Adaugă automat impozite și taxe din șablonul de impozit pe articole,
-Automatically Fetch Payment Terms,Obțineți automat Termenii de plată,
-Show Payment Schedule in Print,Afișați programul de plată în Tipărire,
-Currency Exchange Settings,Setările de schimb valutar,
-Allow Stale Exchange Rates,Permiteți rate de schimb stale,
-Stale Days,Zilele stale,
-Report Settings,Setările raportului,
-Use Custom Cash Flow Format,Utilizați formatul fluxului de numerar personalizat,
-Allowed To Transact With,Permis pentru a tranzacționa cu,
-SWIFT number,Număr rapid,
-Branch Code,Codul filialei,
-Address and Contact,Adresa și Contact,
-Address HTML,Adresă HTML,
-Contact HTML,HTML Persoana de Contact,
-Data Import Configuration,Configurarea importului de date,
-Bank Transaction Mapping,Maparea tranzacțiilor bancare,
-Plaid Access Token,Token de acces la carouri,
-Company Account,Contul companiei,
-Account Subtype,Subtipul contului,
-Is Default Account,Este contul implicit,
-Is Company Account,Este un cont de companie,
-Party Details,Party Detalii,
-Account Details,Detalii cont,
-IBAN,IBAN,
-Bank Account No,Contul bancar nr,
-Integration Details,Detalii de integrare,
-Integration ID,ID de integrare,
-Last Integration Date,Ultima dată de integrare,
-Change this date manually to setup the next synchronization start date,Modificați această dată manual pentru a configura următoarea dată de început a sincronizării,
-Mask,Masca,
-Bank Account Subtype,Subtipul contului bancar,
-Bank Account Type,Tipul contului bancar,
-Bank Guarantee,Garantie bancara,
-Bank Guarantee Type,Tip de garanție bancară,
-Receiving,primire,
-Providing,Furnizarea,
-Reference Document Name,Numele documentului de referință,
-Validity in Days,Valabilitate în Zile,
-Bank Account Info,Informații despre contul bancar,
-Clauses and Conditions,Clauze și Condiții,
-Other Details,Alte detalii,
-Bank Guarantee Number,Numărul de garanție bancară,
-Name of Beneficiary,Numele beneficiarului,
-Margin Money,Marja de bani,
-Charges Incurred,Taxele incasate,
-Fixed Deposit Number,Numărul depozitului fix,
-Account Currency,Moneda cont,
-Select the Bank Account to reconcile.,Selectați contul bancar pentru a vă reconcilia.,
-Include Reconciled Entries,Includ intrările împăcat,
-Get Payment Entries,Participările de plată,
-Payment Entries,Intrările de plată,
-Update Clearance Date,Actualizare Clearance Data,
-Bank Reconciliation Detail,Detaliu reconciliere bancară,
-Cheque Number,Număr Cec,
-Cheque Date,Dată Cec,
-Statement Header Mapping,Afișarea antetului de rutare,
-Statement Headers,Antetele declarațiilor,
-Transaction Data Mapping,Transaction Data Mapping,
-Mapped Items,Elemente cartografiate,
-Bank Statement Settings Item,Elementul pentru setările declarației bancare,
-Mapped Header,Antet Cartografiat,
-Bank Header,Antetul băncii,
-Bank Statement Transaction Entry,Intrare tranzacție la declarația bancară,
-Bank Transaction Entries,Intrările de tranzacții bancare,
-New Transactions,Noi tranzacții,
-Match Transaction to Invoices,Tranzacționați tranzacția la facturi,
-Create New Payment/Journal Entry,Creați o nouă plată / intrare în jurnal,
-Submit/Reconcile Payments,Trimiteți / Recondiționați plățile,
-Matching Invoices,Facturi de potrivire,
-Payment Invoice Items,Elemente de factură de plată,
-Reconciled Transactions,Tranzacții Reconciliate,
-Bank Statement Transaction Invoice Item,Tranzacție de poziție bancară,
-Payment Description,Descrierea plății,
-Invoice Date,Data facturii,
-invoice,factura fiscala,
-Bank Statement Transaction Payment Item,Tranzacție de plată a tranzacției,
-outstanding_amount,suma restanta,
-Payment Reference,Referință de plată,
-Bank Statement Transaction Settings Item,Element pentru setările tranzacției din contul bancar,
-Bank Data,Date bancare,
-Mapped Data Type,Mapat tipul de date,
-Mapped Data,Date Cartografiate,
-Bank Transaction,Tranzacție bancară,
-ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
-Transaction ID,ID-ul de tranzacție,
-Unallocated Amount,Suma nealocată,
-Field in Bank Transaction,Câmp în tranzacția bancară,
-Column in Bank File,Coloana în fișierul bancar,
-Bank Transaction Payments,Plăți de tranzacții bancare,
-Control Action,Acțiune de control,
-Applicable on Material Request,Aplicabil la solicitarea materialului,
-Action if Annual Budget Exceeded on MR,Acțiune în cazul depășirii bugetului anual pe MR,
-Warn,Avertiza,
-Ignore,Ignora,
-Action if Accumulated Monthly Budget Exceeded on MR,Acțiune dacă bugetul lunar acumulat este depășit cu MR,
-Applicable on Purchase Order,Aplicabil pe comanda de aprovizionare,
-Action if Annual Budget Exceeded on PO,Acțiune în cazul în care bugetul anual depășește PO,
-Action if Accumulated Monthly Budget Exceeded on PO,Acțiune în cazul în care bugetul lunar acumulat este depășit cu PO,
-Applicable on booking actual expenses,Se aplică la rezervarea cheltuielilor reale,
-Action if Annual Budget Exceeded on Actual,Acțiune în cazul în care bugetul anual depășește suma actuală,
-Action if Accumulated Monthly Budget Exceeded on Actual,Acțiune în cazul în care bugetul lunar acumulat depășește valoarea reală,
-Budget Accounts,Conturile bugetare,
-Budget Account,Contul bugetar,
-Budget Amount,Buget Sumă,
-C-Form,Formular-C,
-ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
-C-Form No,Nr. formular-C,
-Received Date,Data primit,
-Quarter,Trimestru,
-I,eu,
-II,II,
-III,III,
-IV,IV,
-C-Form Invoice Detail,Detaliu factură formular-C,
-Invoice No,Nr Factura,
-Cash Flow Mapper,Cash Flow Mapper,
-Section Name,Numele secțiunii,
-Section Header,Secțiunea Header,
-Section Leader,Liderul secțiunii,
-e.g Adjustments for:,de ex. ajustări pentru:,
-Section Subtotal,Secțiunea Subtotal,
-Section Footer,Secțiunea Footer,
-Position,Poziţie,
-Cash Flow Mapping,Fluxul de numerar,
-Select Maximum Of 1,Selectați maxim de 1,
-Is Finance Cost,Este costul de finanțare,
-Is Working Capital,Este capitalul de lucru,
-Is Finance Cost Adjustment,Este ajustarea costurilor financiare,
-Is Income Tax Liability,Răspunderea pentru impozitul pe venit,
-Is Income Tax Expense,Cheltuielile cu impozitul pe venit,
-Cash Flow Mapping Accounts,Conturi de cartografiere a fluxurilor de numerar,
-account,Cont,
-Cash Flow Mapping Template,Formatul de cartografiere a fluxului de numerar,
-Cash Flow Mapping Template Details,Detaliile șablonului pentru fluxul de numerar,
-POS-CLO-,POS-CLO-,
-Custody,Custodie,
-Net Amount,Cantitate netă,
-Cashier Closing Payments,Plățile de închidere a caselor,
-Chart of Accounts Importer,Importatorul planului de conturi,
-Import Chart of Accounts from a csv file,Importați Graficul de conturi dintr-un fișier csv,
-Attach custom Chart of Accounts file,Atașați fișierul personalizat al graficului conturilor,
-Chart Preview,Previzualizare grafic,
-Chart Tree,Arbore grafic,
-Cheque Print Template,Format Imprimare Cec,
-Has Print Format,Are Format imprimare,
-Primary Settings,Setări primare,
-Cheque Size,Dimensiune  Cec,
-Regular,Regulat,
-Starting position from top edge,Poziția de la muchia superioară de pornire,
-Cheque Width,Lățime Cec,
-Cheque Height,Cheque Inaltime,
-Scanned Cheque,scanate cecului,
-Is Account Payable,Este cont de plati,
-Distance from top edge,Distanța de la marginea de sus,
-Distance from left edge,Distanța de la marginea din stânga,
-Message to show,Mesaj pentru a arăta,
-Date Settings,Setări Dată,
-Starting location from left edge,Punctul de plecare de la marginea din stânga,
-Payer Settings,Setări plătitorilor,
-Width of amount in word,Lățimea de cuvânt în sumă,
-Line spacing for amount in words,distanța dintre rânduri pentru suma în cuvinte,
-Amount In Figure,Suma în Figura,
-Signatory Position,Poziție semnatar,
-Closed Document,Document închis,
-Track separate Income and Expense for product verticals or divisions.,Urmăriți Venituri separat și cheltuieli verticale produse sau divizii.,
-Cost Center Name,Nume Centrul de Cost,
-Parent Cost Center,Părinte Cost Center,
-lft,LFT,
-rgt,RGT,
-Coupon Code,Codul promoțional,
-Coupon Name,Numele cuponului,
-"e.g. ""Summer Holiday 2019 Offer 20""",de ex. „Oferta de vacanță de vară 2019 20”,
-Coupon Type,Tip cupon,
-Promotional,promoționale,
-Gift Card,Card cadou,
-unique e.g. SAVE20  To be used to get discount,"unic, de exemplu, SAVE20 Pentru a fi utilizat pentru a obține reducere",
-Validity and Usage,Valabilitate și utilizare,
-Valid From,Valabil din,
-Valid Upto,Valid pana la,
-Maximum Use,Utilizare maximă,
-Used,Folosit,
-Coupon Description,Descrierea cuponului,
-Discounted Invoice,Factură redusă,
-Debit to,Debit la,
-Exchange Rate Revaluation,Reevaluarea cursului de schimb,
-Get Entries,Obțineți intrări,
-Exchange Rate Revaluation Account,Contul de reevaluare a cursului de schimb,
-Total Gain/Loss,Total câștig / pierdere,
-Balance In Account Currency,Soldul în moneda contului,
-Current Exchange Rate,Cursul de schimb curent,
-Balance In Base Currency,Soldul în moneda de bază,
-New Exchange Rate,Noul curs de schimb valutar,
-New Balance In Base Currency,Noul echilibru în moneda de bază,
-Gain/Loss,Gain / Pierdere,
-**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Anul fiscal** reprezintă un an financiar. Toate intrările contabile și alte tranzacții majore sunt monitorizate comparativ cu ** Anul fiscal **.,
-Year Name,An Denumire,
-"For e.g. 2012, 2012-13","De exemplu, 2012, 2012-13",
-Year Start Date,An Data începerii,
-Year End Date,Anul Data de încheiere,
-Companies,Companii,
-Auto Created,Crearea automată,
-Stock User,Stoc de utilizare,
-Fiscal Year Company,Anul fiscal companie,
-Debit Amount,Sumă Debit,
-Credit Amount,Suma de credit,
-Debit Amount in Account Currency,Sumă Debit în Monedă Cont,
-Credit Amount in Account Currency,Suma de credit în cont valutar,
-Voucher Detail No,Detaliu voucher Nu,
-Is Opening,Se deschide,
-Is Advance,Este Advance,
-To Rename,Pentru a redenumi,
-GST Account,Contul GST,
-CGST Account,Contul CGST,
-SGST Account,Contul SGST,
-IGST Account,Cont IGST,
-CESS Account,Cont CESS,
-Loan Start Date,Data de început a împrumutului,
-Loan Period (Days),Perioada de împrumut (zile),
-Loan End Date,Data de încheiere a împrumutului,
-Bank Charges,Taxe bancare,
-Short Term Loan Account,Cont de împrumut pe termen scurt,
-Bank Charges Account,Cont de taxe bancare,
-Accounts Receivable Credit Account,Conturi de credit de primit,
-Accounts Receivable Discounted Account,Conturi de primit cu reducere,
-Accounts Receivable Unpaid Account,Conturi de primit un cont neplătit,
-Item Tax Template,Șablon fiscal de articol,
-Tax Rates,Taxe de impozitare,
-Item Tax Template Detail,Detaliu de șablon fiscal,
-Entry Type,Tipul de intrare,
-Inter Company Journal Entry,Intrarea în Jurnalul Inter companiei,
-Bank Entry,Intrare bancară,
-Cash Entry,Cash intrare,
-Credit Card Entry,Card de credit intrare,
-Contra Entry,Contra intrare,
-Excise Entry,Intrare accize,
-Write Off Entry,Amortizare intrare,
-Opening Entry,Deschiderea de intrare,
-ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
-Accounting Entries,Înregistrări contabile,
-Total Debit,Total debit,
-Total Credit,Total credit,
-Difference (Dr - Cr),Diferența (Dr - Cr),
-Make Difference Entry,Realizeaza Intrare de Diferenta,
-Total Amount Currency,Suma totală Moneda,
-Total Amount in Words,Suma totală în cuvinte,
-Remark,Remarcă,
-Paid Loan,Imprumut platit,
-Inter Company Journal Entry Reference,Întreprindere de referință pentru intrarea în jurnal,
-Write Off Based On,Scrie Off bazat pe,
-Get Outstanding Invoices,Obtine Facturi Neachitate,
-Write Off Amount,Anulați suma,
-Printing Settings,Setări de imprimare,
-Pay To / Recd From,Pentru a plăti / Recd de la,
-Payment Order,Ordin de plată,
-Subscription Section,Secțiunea de abonamente,
-Journal Entry Account,Jurnal de cont intrare,
-Account Balance,Soldul contului,
-Party Balance,Balanța Party,
-Accounting Dimensions,Dimensiuni contabile,
-If Income or Expense,In cazul Veniturilor sau Cheltuielilor,
-Exchange Rate,Rata de schimb,
-Debit in Company Currency,Debit în Monedă Companie,
-Credit in Company Currency,Credit în companie valutar,
-Payroll Entry,Salarizare intrare,
-Employee Advance,Angajat Advance,
-Reference Due Date,Data de referință pentru referință,
-Loyalty Program Tier,Program de loialitate,
-Redeem Against,Răscumpărați împotriva,
-Expiry Date,Data expirării,
-Loyalty Point Entry Redemption,Punctul de răscumpărare a punctelor de loialitate,
-Redemption Date,Data de răscumpărare,
-Redeemed Points,Răscumpărate Puncte,
-Loyalty Program Name,Nume program de loialitate,
-Loyalty Program Type,Tip de program de loialitate,
-Single Tier Program,Program unic de nivel,
-Multiple Tier Program,Program multiplu,
-Customer Territory,Teritoriul clientului,
-Auto Opt In (For all customers),Oprire automată (pentru toți clienții),
-Collection Tier,Colecția Tier,
-Collection Rules,Regulile de colectare,
-Redemption,Răscumpărare,
-Conversion Factor,Factor de conversie,
-1 Loyalty Points = How much base currency?,1 Puncte de loialitate = Cât de multă monedă de bază?,
-Expiry Duration (in days),Termenul de expirare (în zile),
-Help Section,Secțiunea Ajutor,
-Loyalty Program Help,Programul de ajutor pentru loialitate,
-Loyalty Program Collection,Colecția de programe de loialitate,
-Tier Name,Denumirea nivelului,
-Minimum Total Spent,Suma totală cheltuită,
-Collection Factor (=1 LP),Factor de colectare (= 1 LP),
-For how much spent = 1 Loyalty Point,Pentru cât de mult a fost cheltuit = 1 punct de loialitate,
-Mode of Payment Account,Modul de cont de plăți,
-Default Account,Cont Implicit,
-Default account will be automatically updated in POS Invoice when this mode is selected.,Contul implicit va fi actualizat automat în factură POS când este selectat acest mod.,
-**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Lunar Distribuție ** vă ajută să distribuie bugetul / Target peste luni dacă aveți sezonier în afacerea dumneavoastră.,
-Distribution Name,Denumire Distribuție,
-Name of the Monthly Distribution,Numele de Distributie lunar,
-Monthly Distribution Percentages,Procente de distribuție lunare,
-Monthly Distribution Percentage,Lunar Procentaj Distribuție,
-Percentage Allocation,Alocarea procent,
-Create Missing Party,Creați Parte Lipsă,
-Create missing customer or supplier.,Creați client sau furnizor lipsă.,
-Opening Invoice Creation Tool Item,Deschiderea elementului instrumentului de creare a facturilor,
-Temporary Opening Account,Contul de deschidere temporar,
-Party Account,Party Account,
-Type of Payment,Tipul de plată,
-ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
-Receive,Primește,
-Internal Transfer,Transfer intern,
-Payment Order Status,Starea comenzii de plată,
-Payment Ordered,Plata a fost comandată,
-Payment From / To,Plata De la / la,
-Company Bank Account,Cont bancar al companiei,
-Party Bank Account,Cont bancar de partid,
-Account Paid From,Contul plătit De la,
-Account Paid To,Contul Plătite,
-Paid Amount (Company Currency),Plătit Suma (Compania de valuta),
-Received Amount,Sumă Primită,
-Received Amount (Company Currency),Suma primită (Moneda Companiei),
-Get Outstanding Invoice,Obțineți o factură excepțională,
-Payment References,Referințe de plată,
-Writeoff,Achita,
-Total Allocated Amount,Suma totală alocată,
-Total Allocated Amount (Company Currency),Suma totală alocată (Companie Moneda),
-Set Exchange Gain / Loss,Set Exchange Gain / Pierdere,
-Difference Amount (Company Currency),Diferența Sumă (Companie Moneda),
-Write Off Difference Amount,Diferență Sumă Piertdute,
-Deductions or Loss,Deduceri sau Pierderi,
-Payment Deductions or Loss,Deducerile de plată sau pierdere,
-Cheque/Reference Date,Cec/Dată de Referință,
-Payment Entry Deduction,Plată Deducerea intrare,
-Payment Entry Reference,Plată intrare de referință,
-Allocated,Alocat,
-Payment Gateway Account,Plata cont Gateway,
-Payment Account,Cont de plăți,
-Default Payment Request Message,Implicit solicita plata mesaj,
-PMO-,PMO-,
-Payment Order Type,Tipul ordinului de plată,
-Payment Order Reference,Instrucțiuni de plată,
-Bank Account Details,Detaliile contului bancar,
-Payment Reconciliation,Reconcilierea plată,
-Receivable / Payable Account,De încasat de cont / de plătit,
-Bank / Cash Account,Cont bancă / numerar,
-From Invoice Date,De la data facturii,
-To Invoice Date,Pentru a facturii Data,
-Minimum Invoice Amount,Factură cantitate minimă,
-Maximum Invoice Amount,Suma maxima Factură,
-System will fetch all the entries if limit value is zero.,Sistemul va prelua toate intrările dacă valoarea limită este zero.,
-Get Unreconciled Entries,Ia nereconciliate Entries,
-Unreconciled Payment Details,Nereconciliate Detalii de plată,
-Invoice/Journal Entry Details,Factura / Jurnalul Detalii intrari,
-Payment Reconciliation Invoice,Reconcilierea plata facturii,
-Invoice Number,Numar factura,
-Payment Reconciliation Payment,Reconciliere de plata,
-Reference Row,rândul de referință,
-Allocated amount,Suma alocată,
-Payment Request Type,Tip de solicitare de plată,
-Outward,Exterior,
-Inward,interior,
-ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
-Transaction Details,Detalii tranzacție,
-Amount in customer's currency,Suma în moneda clientului,
-Is a Subscription,Este un abonament,
-Transaction Currency,Operațiuni valutare,
-Subscription Plans,Planuri de abonament,
-SWIFT Number,Număr rapid,
-Recipient Message And Payment Details,Mesaj destinatar și Detalii de plată,
-Make Sales Invoice,Faceți Factură de Vânzare,
-Mute Email,Mute Email,
-payment_url,payment_url,
-Payment Gateway Details,Plata Gateway Detalii,
-Payment Schedule,Planul de plăți,
-Invoice Portion,Fracțiunea de facturi,
-Payment Amount,Plata Suma,
-Payment Term Name,Numele termenului de plată,
-Due Date Based On,Data de bază bazată pe,
-Day(s) after invoice date,Ziua (zilele) după data facturii,
-Day(s) after the end of the invoice month,Ziua (zilele) de la sfârșitul lunii facturii,
-Month(s) after the end of the invoice month,Luna (luni) după sfârșitul lunii facturii,
-Credit Days,Zile de Credit,
-Credit Months,Lunile de credit,
-Allocate Payment Based On Payment Terms,Alocați plata în funcție de condițiile de plată,
-"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Dacă această casetă de selectare este bifată, suma plătită va fi împărțită și alocată conform sumelor din programul de plată pentru fiecare termen de plată",
-Payment Terms Template Detail,Plata detaliilor privind termenii de plată,
-Closing Fiscal Year,Închiderea Anului Fiscal,
-Closing Account Head,Închidere Cont Principal,
-"The account head under Liability or Equity, in which Profit/Loss will be booked","Capul de cont sub răspunderea sau a capitalului propriu, în care Profit / Pierdere vor fi rezervate",
-POS Customer Group,Grup Clienți POS,
-POS Field,Câmpul POS,
-POS Item Group,POS Articol Grupa,
-Company Address,Adresă Companie,
-Update Stock,Actualizare stock,
-Ignore Pricing Rule,Ignora Regula Preturi,
-Applicable for Users,Aplicabil pentru utilizatori,
-Sales Invoice Payment,Vânzări factură de plată,
-Item Groups,Grupuri articol,
-Only show Items from these Item Groups,Afișați numai articole din aceste grupuri de articole,
-Customer Groups,Grupuri de clienți,
-Only show Customer of these Customer Groups,Afișați numai Clientul acestor grupuri de clienți,
-Write Off Account,Scrie Off cont,
-Write Off Cost Center,Scrie Off cost Center,
-Account for Change Amount,Contul pentru Schimbare Sumă,
-Taxes and Charges,Impozite și Taxe,
-Apply Discount On,Aplicați Discount pentru,
-POS Profile User,Utilizator de profil POS,
-Apply On,Se aplică pe,
-Price or Product Discount,Preț sau reducere produs,
-Apply Rule On Item Code,Aplicați regula pe codul articolului,
-Apply Rule On Item Group,Aplicați regula pe grupul de articole,
-Apply Rule On Brand,Aplicați regula pe marcă,
-Mixed Conditions,Condiții mixte,
-Conditions will be applied on all the selected items combined. ,Condițiile se vor aplica pe toate elementele selectate combinate.,
-Is Cumulative,Este cumulativ,
-Coupon Code Based,Bazat pe codul cuponului,
-Discount on Other Item,Reducere la alt articol,
-Apply Rule On Other,Aplicați regula pe alte,
-Party Information,Informații despre petreceri,
-Quantity and Amount,Cantitate și sumă,
-Min Qty,Min Cantitate,
-Max Qty,Max Cantitate,
-Min Amt,Amt min,
-Max Amt,Max Amt,
-Period Settings,Setări perioade,
-Margin,Margin,
-Margin Type,Tipul de marjă,
-Margin Rate or Amount,Rata de marjă sau Sumă,
-Price Discount Scheme,Schema de reducere a prețurilor,
-Rate or Discount,Tarif sau Discount,
-Discount Percentage,Procentul de Reducere,
-Discount Amount,Reducere Suma,
-For Price List,Pentru Lista de Preturi,
-Product Discount Scheme,Schema de reducere a produsului,
-Same Item,Același articol,
-Free Item,Articol gratuit,
-Threshold for Suggestion,Prag pentru sugestie,
-System will notify to increase or decrease quantity or amount ,Sistemul va notifica să crească sau să scadă cantitatea sau cantitatea,
-"Higher the number, higher the priority","Este mai mare numărul, mai mare prioritate",
-Apply Multiple Pricing Rules,Aplicați mai multe reguli privind prețurile,
-Apply Discount on Rate,Aplicați reducere la tarif,
-Validate Applied Rule,Validați regula aplicată,
-Rule Description,Descrierea regulii,
-Pricing Rule Help,Regula de stabilire a prețurilor de ajutor,
-Promotional Scheme Id,Codul promoțional ID,
-Promotional Scheme,Schema promoțională,
-Pricing Rule Brand,Marca de regulă a prețurilor,
-Pricing Rule Detail,Detaliu privind regula prețurilor,
-Child Docname,Numele documentului pentru copii,
-Rule Applied,Regula aplicată,
-Pricing Rule Item Code,Regula prețurilor Cod articol,
-Pricing Rule Item Group,Grupul de articole din regula prețurilor,
-Price Discount Slabs,Placi cu reducere de preț,
-Promotional Scheme Price Discount,Schema promoțională Reducere de preț,
-Product Discount Slabs,Placi cu reducere de produse,
-Promotional Scheme Product Discount,Schema promoțională Reducere de produs,
-Min Amount,Suma minima,
-Max Amount,Suma maximă,
-Discount Type,Tipul reducerii,
-ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
-Tax Withholding Category,Categoria de reținere fiscală,
-Edit Posting Date and Time,Editare postare Data și ora,
-Is Paid,Este platit,
-Is Return (Debit Note),Este Return (Nota de debit),
-Apply Tax Withholding Amount,Aplicați suma de reținere fiscală,
-Accounting Dimensions ,Dimensiuni contabile,
-Supplier Invoice Details,Furnizor Detalii factură,
-Supplier Invoice Date,Furnizor Data facturii,
-Return Against Purchase Invoice,Reveni Împotriva cumparare factură,
-Select Supplier Address,Selectați Furnizor Adresă,
-Contact Person,Persoană de contact,
-Select Shipping Address,Selectați adresa de expediere,
-Currency and Price List,Valută și lista de prețuri,
-Price List Currency,Lista de pret Valuta,
-Price List Exchange Rate,Lista de schimb valutar,
-Set Accepted Warehouse,Set depozit acceptat,
-Rejected Warehouse,Depozit Respins,
-Warehouse where you are maintaining stock of rejected items,Depozit în cazul în care se menține stocul de articole respinse,
-Raw Materials Supplied,Materii prime furnizate,
-Supplier Warehouse,Furnizor Warehouse,
-Pricing Rules,Reguli privind prețurile,
-Supplied Items,Articole furnizate,
-Total (Company Currency),Total (Company valutar),
-Net Total (Company Currency),Net total (Compania de valuta),
-Total Net Weight,Greutatea totală netă,
-Shipping Rule,Regula de transport maritim,
-Purchase Taxes and Charges Template,Achiziționa impozite și taxe Template,
-Purchase Taxes and Charges,Taxele de cumpărare și Taxe,
-Tax Breakup,Descărcarea de impozite,
-Taxes and Charges Calculation,Impozite și Taxe Calcul,
-Taxes and Charges Added (Company Currency),Impozite și Taxe adăugate (Compania de valuta),
-Taxes and Charges Deducted (Company Currency),Impozite și taxe deduse (Compania de valuta),
-Total Taxes and Charges (Company Currency),Total Impozite si Taxe (Compania valutar),
-Taxes and Charges Added,Impozite și Taxe Added,
-Taxes and Charges Deducted,Impozite și Taxe dedus,
-Total Taxes and Charges,Total Impozite și Taxe,
-Additional Discount,Discount suplimentar,
-Apply Additional Discount On,Aplicați Discount suplimentare La,
-Additional Discount Amount (Company Currency),Discount suplimentar Suma (companie de valuta),
-Additional Discount Percentage,Procent de reducere suplimentară,
-Additional Discount Amount,Suma de reducere suplimentară,
-Grand Total (Company Currency),Total general (Valuta Companie),
-Rounding Adjustment (Company Currency),Rotunjire ajustare (moneda companiei),
-Rounded Total (Company Currency),Rotunjite total (Compania de valuta),
-In Words (Company Currency),În cuvinte (Compania valutar),
-Rounding Adjustment,Ajustare Rotunjire,
-In Words,În cuvinte,
-Total Advance,Total de Advance,
-Disable Rounded Total,Dezactivati Totalul Rotunjit,
-Cash/Bank Account,Numerar/Cont Bancar,
-Write Off Amount (Company Currency),Scrie Off Suma (Compania de valuta),
-Set Advances and Allocate (FIFO),Setați avansuri și alocați (FIFO),
-Get Advances Paid,Obtine Avansurile Achitate,
-Advances,Avansuri,
-Terms,Termeni,
-Terms and Conditions1,Termeni și Conditions1,
-Group same items,Același grup de elemente,
-Print Language,Limba de imprimare,
-"Once set, this invoice will be on hold till the set date","Odată stabilită, această factură va fi reținută până la data stabilită",
-Credit To,De Creditat catre,
-Party Account Currency,Partidul cont valutar,
-Against Expense Account,Comparativ contului de cheltuieli,
-Inter Company Invoice Reference,Interfața de referință pentru interfața companiei,
-Is Internal Supplier,Este furnizor intern,
-Start date of current invoice's period,Data perioadei de factura de curent începem,
-End date of current invoice's period,Data de încheiere a perioadei facturii curente,
-Update Auto Repeat Reference,Actualizați referința de repetare automată,
-Purchase Invoice Advance,Factura de cumpărare în avans,
-Purchase Invoice Item,Factura de cumpărare Postul,
-Quantity and Rate,Cantitatea și rata,
-Received Qty,Cantitate primita,
-Accepted Qty,Cantitate acceptată,
-Rejected Qty,Cant. Respinsă,
-UOM Conversion Factor,Factorul de conversie UOM,
-Discount on Price List Rate (%),Reducere la Lista de preturi Rate (%),
-Price List Rate (Company Currency),Lista de prețuri Rate (Compania de valuta),
-Rate (Company Currency),Rata de (Compania de valuta),
-Amount (Company Currency),Sumă (monedă companie),
-Is Free Item,Este articol gratuit,
-Net Rate,Rata netă,
-Net Rate (Company Currency),Rata netă (companie de valuta),
-Net Amount (Company Currency),Suma netă (companie de valuta),
-Item Tax Amount Included in Value,Suma impozitului pe articol inclus în valoare,
-Landed Cost Voucher Amount,Costul Landed Voucher Suma,
-Raw Materials Supplied Cost,Costul materiilor prime livrate,
-Accepted Warehouse,Depozit Acceptat,
-Serial No,Nr. serie,
-Rejected Serial No,Respins de ordine,
-Expense Head,Beneficiar Cheltuiala,
-Is Fixed Asset,Este activ fix,
-Asset Location,Locația activelor,
-Deferred Expense,Cheltuieli amânate,
-Deferred Expense Account,Contul de cheltuieli amânate,
-Service Stop Date,Data de începere a serviciului,
-Enable Deferred Expense,Activați cheltuielile amânate,
-Service Start Date,Data de începere a serviciului,
-Service End Date,Data de încheiere a serviciului,
-Allow Zero Valuation Rate,Permiteți ratei de evaluare zero,
-Item Tax Rate,Rata de Impozitare Articol,
-Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Taxa detaliu tabel preluat de la maestru articol ca un șir și stocate în acest domeniu.\n Folosit pentru Impozite și Taxe,
-Purchase Order Item,Comandă de aprovizionare Articol,
-Purchase Receipt Detail,Detaliu de primire a achiziției,
-Item Weight Details,Greutate Detalii articol,
-Weight Per Unit,Greutate pe unitate,
-Total Weight,Greutate totală,
-Weight UOM,Greutate UOM,
-Page Break,Page Break,
-Consider Tax or Charge for,Considerare Taxa sau Cost pentru,
-Valuation and Total,Evaluare și Total,
-Valuation,Evaluare,
-Add or Deduct,Adăugaţi sau deduceţi,
-Deduct,Deduce,
-On Previous Row Amount,La rândul precedent Suma,
-On Previous Row Total,Inapoi la rândul Total,
-On Item Quantity,Pe cantitatea articolului,
-Reference Row #,Reference Row #,
-Is this Tax included in Basic Rate?,Este acest fiscală inclusă în rata de bază?,
-"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","In cazul in care se bifeaza, suma taxelor va fi considerată ca fiind deja inclusa în Rata de Imprimare / Suma de Imprimare",
-Account Head,Titularul Contului,
-Tax Amount After Discount Amount,Suma taxa După Discount Suma,
-Item Wise Tax Detail ,Articolul Detaliu fiscal înțelept,
-"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.","Șablon de impozitare standard care pot fi aplicate la toate tranzacțiile de cumpărare. Acest model poate conține lista de capete fiscale și, de asemenea, mai multe capete de cheltuieli, cum ar fi ""de transport"", ""asigurare"", ""manipulare"" etc. \n\n #### Notă \n\n Rata de impozitare pe care o definiți aici va fi rata de impozitare standard pentru toate Articole ** **. Dacă există articole ** **, care au preturi diferite, acestea trebuie să fie adăugate în ** Impozitul Postul ** masă în ** ** postul comandantului.\n\n #### Descrierea de coloane \n\n 1. Calcul Tip: \n - Acest lucru poate fi pe ** net total ** (care este suma cuantum de bază).\n - ** La rândul precedent Raport / Suma ** (pentru impozite sau taxe cumulative). Dacă selectați această opțiune, impozitul va fi aplicat ca procent din rândul anterior (în tabelul de impozitare) suma totală sau.\n - ** ** Real (după cum sa menționat).\n 2. Șeful cont: Registrul cont în care acest impozit va fi rezervat \n 3. Cost Center: În cazul în care taxa / taxa este un venit (cum ar fi de transport maritim) sau cheltuieli trebuie să se rezervat împotriva unui centru de cost.\n 4. Descriere: Descriere a taxei (care vor fi tipărite în facturi / citate).\n 5. Notă: Rata de Profit Brut.\n 6. Suma: suma taxei.\n 7. Total: total cumulat la acest punct.\n 8. Introduceți Row: Dacă bazat pe ""Înapoi Row Total"", puteți selecta numărul rând care vor fi luate ca bază pentru acest calcul (implicit este rândul precedent).\n 9. Luați în considerare Brut sau Taxa pentru: În această secțiune puteți specifica dacă taxa / taxa este doar pentru evaluare (nu o parte din total) sau numai pe total (nu adaugă valoare elementul) sau pentru ambele.\n 10. Adăugați sau deduce: Fie că doriți să adăugați sau deduce taxa.",
-Salary Component Account,Contul de salariu Componentă,
-Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Default cont bancar / numerar vor fi actualizate automat în Jurnalul de intrare a salariului când este selectat acest mod.,
-ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
-Include Payment (POS),Include de plată (POS),
-Offline POS Name,Offline Numele POS,
-Is Return (Credit Note),Este retur (nota de credit),
-Return Against Sales Invoice,Reveni Împotriva Vânzări factură,
-Update Billed Amount in Sales Order,Actualizați suma facturată în comandă de vânzări,
-Customer PO Details,Detalii PO pentru clienți,
-Customer's Purchase Order,Comandă clientului,
-Customer's Purchase Order Date,Data Comanda de Aprovizionare Client,
-Customer Address,Adresă Client,
-Shipping Address Name,Transport Adresa Nume,
-Company Address Name,Nume Companie,
-Rate at which Customer Currency is converted to customer's base currency,Rata la care Clientul valuta este convertită în valuta de bază a clientului,
-Rate at which Price list currency is converted to customer's base currency,Rata la care lista de prețuri moneda este convertit în valuta de bază a clientului,
-Set Source Warehouse,Set sursă depozit,
-Packing List,Lista de ambalare,
-Packed Items,Articole pachet,
-Product Bundle Help,Produs Bundle Ajutor,
-Time Sheet List,Listă de timp Sheet,
-Time Sheets,Foi de timp,
-Total Billing Amount,Suma totală de facturare,
-Sales Taxes and Charges Template,Impozite vânzări și șabloane Taxe,
-Sales Taxes and Charges,Taxele de vânzări și Taxe,
-Loyalty Points Redemption,Răscumpărarea punctelor de loialitate,
-Redeem Loyalty Points,Răscumpărați punctele de loialitate,
-Redemption Account,Cont de Răscumpărare,
-Redemption Cost Center,Centrul de cost de răscumpărare,
-In Words will be visible once you save the Sales Invoice.,În cuvinte va fi vizibil după salvarea facturii.,
-Allocate Advances Automatically (FIFO),Alocați avansuri automat (FIFO),
-Get Advances Received,Obtine Avansurile Primite,
-Base Change Amount (Company Currency),De schimbare a bazei Suma (Companie Moneda),
-Write Off Outstanding Amount,Scrie Off remarcabile Suma,
-Terms and Conditions Details,Termeni și condiții Detalii,
-Is Internal Customer,Este client intern,
-Is Discounted,Este redus,
-Unpaid and Discounted,Neplătit și redus,
-Overdue and Discounted,Întârziat și redus,
-Accounting Details,Detalii Contabilitate,
-Debit To,Debit Pentru,
-Is Opening Entry,Deschiderea este de intrare,
-C-Form Applicable,Formular-C aplicabil,
-Commission Rate (%),Rata de Comision (%),
-Sales Team1,Vânzări TEAM1,
-Against Income Account,Comparativ contului de venit,
-Sales Invoice Advance,Factura Vanzare Advance,
-Advance amount,Sumă în avans,
-Sales Invoice Item,Factură de vânzări Postul,
-Customer's Item Code,Cod Articol Client,
-Brand Name,Denumire marcă,
-Qty as per Stock UOM,Cantitate conform Stock UOM,
-Discount and Margin,Reducere și marja de profit,
-Rate With Margin,Rate cu marjă,
-Discount (%) on Price List Rate with Margin,Reducere (%) la rata de listă cu marjă,
-Rate With Margin (Company Currency),Rata cu marjă (moneda companiei),
-Delivered By Supplier,Livrate de Furnizor,
-Deferred Revenue,Venituri amânate,
-Deferred Revenue Account,Contul de venituri amânate,
-Enable Deferred Revenue,Activați venitul amânat,
-Stock Details,Stoc Detalii,
-Customer Warehouse (Optional),Depozit de client (opțional),
-Available Batch Qty at Warehouse,Cantitate lot disponibilă în depozit,
-Available Qty at Warehouse,Cantitate disponibilă în depozit,
-Delivery Note Item,Articol de nota de Livrare,
-Base Amount (Company Currency),Suma de bază (Companie Moneda),
-Sales Invoice Timesheet,Vânzări factură Pontaj,
-Time Sheet,Fișa de timp,
-Billing Hours,Ore de facturare,
-Timesheet Detail,Detalii pontaj,
-Tax Amount After Discount Amount (Company Currency),Suma impozitului pe urma Discount Suma (companie de valuta),
-Item Wise Tax Detail,Detaliu Taxa Avizata Articol,
-Parenttype,ParentType,
-"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.","Șablon de impozitare standard, care pot fi aplicate la toate tranzacțiile de vânzare. Acest model poate conține lista de capete fiscale și, de asemenea, mai multe capete de cheltuieli / venituri, cum ar fi ""de transport"", ""asigurare"", ""manipulare"" etc. \n\n #### Notă \n\n vă Rata de impozitare defini aici va fi cota de impozitare standard pentru toate Articole ** **. Dacă există articole ** **, care au preturi diferite, acestea trebuie să fie adăugate în ** Impozitul Postul ** masă în ** ** postul comandantului.\n\n #### Descrierea de coloane \n\n 1. Calcul Tip: \n - Acest lucru poate fi pe ** net total ** (care este suma cuantum de bază).\n - ** La rândul precedent Raport / Suma ** (pentru impozite sau taxe cumulative). Dacă selectați această opțiune, impozitul va fi aplicat ca procent din rândul anterior (în tabelul de impozitare) suma totală sau.\n - ** ** Real (după cum sa menționat).\n 2. Șeful cont: Registrul cont în care acest impozit va fi rezervat \n 3. Cost Center: În cazul în care taxa / taxa este un venit (cum ar fi de transport maritim) sau cheltuieli trebuie să se rezervat împotriva unui centru de cost.\n 4. Descriere: Descriere a taxei (care vor fi tipărite în facturi / citate).\n 5. Notă: Rata de Profit Brut.\n 6. Suma: suma taxei.\n 7. Total: total cumulat la acest punct.\n 8. Introduceți Row: Dacă bazat pe ""Înapoi Row Total"", puteți selecta numărul rând care vor fi luate ca bază pentru acest calcul (implicit este rândul precedent).\n 9. Este Brut inclus în rata de bază ?: Dacă verifica acest lucru, înseamnă că acest impozit nu va fi arătată tabelul de mai jos articol, dar vor fi incluse în rata de bază din tabelul punctul principal. Acest lucru este util în cazul în care doriți dau un preț plat (cu toate taxele incluse) preț pentru clienți.",
-* Will be calculated in the transaction.,* Va fi calculat în cadrul tranzacției.,
-From No,De la nr,
-To No,Pentru a Nu,
-Is Company,Este compania,
-Current State,Starea curenta,
-Purchased,Cumparate,
-From Shareholder,De la acționar,
-From Folio No,Din Folio nr,
-To Shareholder,Pentru acționar,
-To Folio No,Pentru Folio nr,
-Equity/Liability Account,Contul de capitaluri proprii,
-Asset Account,Cont de active,
-(including),(inclusiv),
-ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
-Folio no.,Folio nr.,
-Address and Contacts,Adresa și Contacte,
-Contact List,Listă de contacte,
-Hidden list maintaining the list of contacts linked to Shareholder,Lista ascunsă menținând lista contactelor legate de acționar,
-Specify conditions to calculate shipping amount,Precizați condițiile de calcul cantitate de transport maritim,
-Shipping Rule Label,Regula de transport maritim Label,
-example: Next Day Shipping,exemplu: Next Day Shipping,
-Shipping Rule Type,Tipul regulii de transport,
-Shipping Account,Contul de transport maritim,
-Calculate Based On,Calculaţi pe baza,
-Fixed,Fix,
-Net Weight,Greutate netă,
-Shipping Amount,Suma de transport maritim,
-Shipping Rule Conditions,Condiții Regula de transport maritim,
-Restrict to Countries,Limitează la Țări,
-Valid for Countries,Valabil pentru țările,
-Shipping Rule Condition,Regula Condiții presetate,
-A condition for a Shipping Rule,O condiție pentru o normă de transport,
-From Value,Din Valoare,
-To Value,La valoarea,
-Shipping Rule Country,Regula de transport maritim Tara,
-Subscription Period,Perioada de abonament,
-Subscription Start Date,Data de începere a abonamentului,
-Cancelation Date,Data Anulării,
-Trial Period Start Date,Perioada de începere a perioadei de încercare,
-Trial Period End Date,Data de încheiere a perioadei de încercare,
-Current Invoice Start Date,Data de începere a facturii actuale,
-Current Invoice End Date,Data de încheiere a facturii actuale,
-Days Until Due,Zile Până la Termen,
-Number of days that the subscriber has to pay invoices generated by this subscription,Numărul de zile în care abonatul trebuie să plătească facturile generate de acest abonament,
-Cancel At End Of Period,Anulați la sfârșitul perioadei,
-Generate Invoice At Beginning Of Period,Generați factura la începutul perioadei,
-Plans,Planuri,
-Discounts,reduceri,
-Additional DIscount Percentage,Procent Discount Suplimentar,
-Additional DIscount Amount,Valoare discount-ului suplimentar,
-Subscription Invoice,Factura de abonament,
-Subscription Plan,Planul de abonament,
-Cost,Cost,
-Billing Interval,Intervalul de facturare,
-Billing Interval Count,Intervalul de facturare,
-"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","Numărul de intervale pentru câmpul intervalului, de exemplu, dacă Intervalul este &quot;Zile&quot; și Numărul de intervale de facturare este de 3, facturile vor fi generate la fiecare 3 zile",
-Payment Plan,Plan de plată,
-Subscription Plan Detail,Detaliile planului de abonament,
-Plan,Plan,
-Subscription Settings,Setările pentru abonament,
-Grace Period,Perioadă de grație,
-Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Numărul de zile după expirarea datei facturii înainte de a anula abonamentul sau marcarea abonamentului ca neplătit,
-Prorate,Prorate,
-Tax Rule,Regula de impozitare,
-Tax Type,Tipul de impozitare,
-Use for Shopping Cart,Utilizați pentru Cos de cumparaturi,
-Billing City,Oraș de facturare,
-Billing County,Județ facturare,
-Billing State,Situatie facturare,
-Billing Zipcode,Cod poștal de facturare,
-Billing Country,Țara facturării,
-Shipping City,Transport Oraș,
-Shipping County,County transport maritim,
-Shipping State,Stat de transport maritim,
-Shipping Zipcode,Cod poștal de expediere,
-Shipping Country,Transport Tara,
-Tax Withholding Account,Contul de reținere fiscală,
-Tax Withholding Rates,Ratele de reținere fiscală,
-Rates,Tarife,
-Tax Withholding Rate,Rata reținerii fiscale,
-Single Transaction Threshold,Singurul prag de tranzacție,
-Cumulative Transaction Threshold,Valoarea cumulată a tranzacției,
-Agriculture Analysis Criteria,Criterii de analiză a agriculturii,
-Linked Doctype,Legate de Doctype,
-Water Analysis,Analiza apei,
-Soil Analysis,Analiza solului,
-Plant Analysis,Analiza plantelor,
-Fertilizer,Îngrăşământ,
-Soil Texture,Textura solului,
-Weather,Vreme,
-Agriculture Manager,Directorul Agriculturii,
-Agriculture User,Utilizator agricol,
-Agriculture Task,Agricultura,
-Task Name,Sarcina Nume,
-Start Day,Ziua de început,
-End Day,Sfârșitul zilei,
-Holiday Management,Gestionarea concediului,
-Ignore holidays,Ignorați sărbătorile,
-Previous Business Day,Ziua lucrătoare anterioară,
-Next Business Day,Ziua următoare de lucru,
-Urgent,De urgență,
-Crop,A decupa,
-Crop Name,Numele plantei,
-Scientific Name,Nume stiintific,
-"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.. ","Puteți defini toate sarcinile care trebuie îndeplinite pentru această recoltă aici. Câmpul de zi este folosit pentru a menționa ziua în care sarcina trebuie efectuată, 1 fiind prima zi, etc.",
-Crop Spacing,Decuparea culturii,
-Crop Spacing UOM,Distanțarea culturii UOM,
-Row Spacing,Spațierea rândului,
-Row Spacing UOM,Rândul de spațiu UOM,
-Perennial,peren,
-Biennial,Bienal,
-Planting UOM,Plantarea UOM,
-Planting Area,Zona de plantare,
-Yield UOM,Randamentul UOM,
-Materials Required,Materiale necesare,
-Produced Items,Articole produse,
-Produce,Legume şi fructe,
-Byproducts,produse secundare,
-Linked Location,Locație conectată,
-A link to all the Locations in which the Crop is growing,O legătură către toate locațiile în care cultura este în creștere,
-This will be day 1 of the crop cycle,Aceasta va fi prima zi a ciclului de cultură,
-ISO 8601 standard,Standardul ISO 8601,
-Cycle Type,Tip ciclu,
-Less than a year,Mai putin de un an,
-The minimum length between each plant in the field for optimum growth,Lungimea minimă dintre fiecare plantă din câmp pentru creștere optimă,
-The minimum distance between rows of plants for optimum growth,Distanța minimă dintre rânduri de plante pentru creștere optimă,
-Detected Diseases,Au detectat bolile,
-List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Lista bolilor detectate pe teren. Când este selectată, va adăuga automat o listă de sarcini pentru a face față bolii",
-Detected Disease,Boala detectată,
-LInked Analysis,Analiza analizată,
-Disease,boală,
-Tasks Created,Sarcini create,
-Common Name,Denumire Comună,
-Treatment Task,Sarcina de tratament,
-Treatment Period,Perioada de tratament,
-Fertilizer Name,Denumirea îngrășămintelor,
-Density (if liquid),Densitatea (dacă este lichidă),
-Fertilizer Contents,Conținutul de îngrășăminte,
-Fertilizer Content,Conținut de îngrășăminte,
-Linked Plant Analysis,Analiza plantelor conectate,
-Linked Soil Analysis,Analiza solului conectat,
-Linked Soil Texture,Textură de sol conectată,
-Collection Datetime,Data colecției,
-Laboratory Testing Datetime,Timp de testare a laboratorului,
-Result Datetime,Rezultat Datatime,
-Plant Analysis Criterias,Condiții de analiză a plantelor,
-Plant Analysis Criteria,Criterii de analiză a plantelor,
-Minimum Permissible Value,Valoarea minimă admisă,
-Maximum Permissible Value,Valoarea maximă admisă,
-Ca/K,Ca / K,
-Ca/Mg,Ca / Mg,
-Mg/K,Mg / K,
-(Ca+Mg)/K,(Ca + Mg) / K,
-Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
-Soil Analysis Criterias,Criterii de analiză a solului,
-Soil Analysis Criteria,Criterii de analiză a solului,
-Soil Type,Tipul de sol,
-Loamy Sand,Nisip argilos,
-Sandy Loam,Sandy Loam,
-Loam,Lut,
-Silt Loam,Silt Loam,
-Sandy Clay Loam,Sandy Clay Loam,
-Clay Loam,Argilos,
-Silty Clay Loam,Silty Clay Loam,
-Sandy Clay,Sandy Clay,
-Silty Clay,Lut de râu,
-Clay Composition (%),Compoziția de lut (%),
-Sand Composition (%),Compoziția nisipului (%),
-Silt Composition (%),Compoziția Silt (%),
-Ternary Plot,Ternar Plot,
-Soil Texture Criteria,Criterii de textură a solului,
-Type of Sample,Tipul de eșantion,
-Container,recipient,
-Origin,Origine,
-Collection Temperature ,Temperatura colecției,
-Storage Temperature,Temperatura de depozitare,
-Appearance,Aspect,
-Person Responsible,Persoană responsabilă,
-Water Analysis Criteria,Criterii de analiză a apei,
-Weather Parameter,Parametrul vremii,
-ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
-Asset Owner,Proprietarul de proprietar,
-Asset Owner Company,Societatea de proprietari de active,
-Custodian,Custode,
-Disposal Date,eliminare Data,
-Journal Entry for Scrap,Intrare Jurnal pentru Deșeuri,
-Available-for-use Date,Data disponibilă pentru utilizare,
-Calculate Depreciation,Calculează Amortizare,
-Allow Monthly Depreciation,Permite amortizarea lunară,
-Number of Depreciations Booked,Numărul de Deprecieri rezervat,
-Finance Books,Cărți de finanțare,
-Straight Line,Linie dreapta,
-Double Declining Balance,Dublu degresive,
-Manual,Manual,
-Value After Depreciation,Valoarea după amortizare,
-Total Number of Depreciations,Număr total de Deprecieri,
-Frequency of Depreciation (Months),Frecventa de amortizare (Luni),
-Next Depreciation Date,Data următoarei amortizări,
-Depreciation Schedule,Program de amortizare,
-Depreciation Schedules,Orarele de amortizare,
-Insurance details,Detalii de asigurare,
-Policy number,Numărul politicii,
-Insurer,Asiguratorul,
-Insured value,Valoarea asigurată,
-Insurance Start Date,Data de începere a asigurării,
-Insurance End Date,Data de încheiere a asigurării,
-Comprehensive Insurance,Asigurare completă,
-Maintenance Required,Mentenanță Necesară,
-Check if Asset requires Preventive Maintenance or Calibration,Verificați dacă activul necesită întreținere preventivă sau calibrare,
-Booked Fixed Asset,Carte imobilizată rezervată,
-Purchase Receipt Amount,Suma chitanței de cumpărare,
-Default Finance Book,Cartea de finanțare implicită,
-Quality Manager,Manager de calitate,
-Asset Category Name,Nume activ Categorie,
-Depreciation Options,Opțiunile de amortizare,
-Enable Capital Work in Progress Accounting,Activați activitatea de capital în contabilitate în curs,
-Finance Book Detail,Detaliile cărții de finanțe,
-Asset Category Account,Cont activ Categorie,
-Fixed Asset Account,Cont activ fix,
-Accumulated Depreciation Account,Cont Amortizarea cumulată,
-Depreciation Expense Account,Contul de amortizare de cheltuieli,
-Capital Work In Progress Account,Activitatea de capital în curs de desfășurare,
-Asset Finance Book,Cartea de finanțare a activelor,
-Written Down Value,Valoarea scrise în jos,
-Expected Value After Useful Life,Valoarea așteptată după viață utilă,
-Rate of Depreciation,Rata de depreciere,
-In Percentage,În procent,
-Maintenance Team,Echipă de Mentenanță,
-Maintenance Manager Name,Nume Manager Mentenanță,
-Maintenance Tasks,Sarcini de Mentenanță,
-Manufacturing User,Producție de utilizare,
-Asset Maintenance Log,Jurnalul de întreținere a activelor,
-ACC-AML-.YYYY.-,ACC-CSB-.YYYY.-,
-Maintenance Type,Tip Mentenanta,
-Maintenance Status,Stare Mentenanta,
-Planned,Planificat,
-Has Certificate ,Are certificat,
-Certificate,Certificat,
-Actions performed,Acțiuni efectuate,
-Asset Maintenance Task,Activitatea de întreținere a activelor,
-Maintenance Task,Activitate Mentenanță,
-Preventive Maintenance,Mentenanță preventivă,
-Calibration,Calibrare,
-2 Yearly,2 Anual,
-Certificate Required,Certificat necesar,
-Assign to Name,Atribuiți la Nume,
-Next Due Date,Data următoare,
-Last Completion Date,Ultima dată de finalizare,
-Asset Maintenance Team,Echipa de întreținere a activelor,
-Maintenance Team Name,Nume Echipă de Mentenanță,
-Maintenance Team Members,Membri Echipă de Mentenanță,
-Purpose,Scopul,
-Stock Manager,Stock Manager,
-Asset Movement Item,Element de mișcare a activelor,
-Source Location,Locația sursei,
-From Employee,Din Angajat,
-Target Location,Locația țintă,
-To Employee,Pentru angajat,
-Asset Repair,Repararea activelor,
-ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
-Failure Date,Dată de nerespectare,
-Assign To Name,Alocați nume,
-Repair Status,Stare de reparare,
-Error Description,Descrierea erorii,
-Downtime,downtime,
-Repair Cost,Costul reparațiilor,
-Manufacturing Manager,Manager de Producție,
-Current Asset Value,Valoarea activului curent,
-New Asset Value,Valoare nouă a activelor,
-Make Depreciation Entry,Asigurați-vă Amortizarea Intrare,
-Finance Book Id,Numărul cărții de credit,
-Location Name,Numele locatiei,
-Parent Location,Locația părintească,
-Is Container,Este Container,
-Check if it is a hydroponic unit,Verificați dacă este o unitate hidroponică,
-Location Details,Detalii despre locație,
-Latitude,Latitudine,
-Longitude,Longitudine,
-Area,Zonă,
-Area UOM,Zona UOM,
-Tree Details,copac Detalii,
-Maintenance Team Member,Membru Echipă de Mentenanță,
-Team Member,Membru al echipei,
-Maintenance Role,Rol de Mentenanță,
-Buying Settings,Configurări cumparare,
-Settings for Buying Module,Setări pentru cumparare Modulul,
-Supplier Naming By,Furnizor de denumire prin,
-Default Supplier Group,Grupul prestabilit de furnizori,
-Default Buying Price List,Lista de POrețuri de Cumparare Implicita,
-Backflush Raw Materials of Subcontract Based On,Materiile de bază din substratul bazat pe,
-Material Transferred for Subcontract,Material transferat pentru subcontractare,
-Over Transfer Allowance (%),Indemnizație de transfer peste (%),
-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.,"Procentaj pe care vi se permite să transferați mai mult în raport cu cantitatea comandată. De exemplu: Dacă ați comandat 100 de unități. iar alocația dvs. este de 10%, atunci vi se permite să transferați 110 unități.",
-PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
-Get Items from Open Material Requests,Obține elemente din materiale Cereri deschide,
-Fetch items based on Default Supplier.,Obțineți articole pe baza furnizorului implicit.,
-Required By,Cerute de,
-Order Confirmation No,Confirmarea nr,
-Order Confirmation Date,Data de confirmare a comenzii,
-Customer Mobile No,Client Mobile Nu,
-Customer Contact Email,Contact Email client,
-Set Target Warehouse,Stabilește Depozitul țintă,
-Sets 'Warehouse' in each row of the Items table.,Setează „Depozit” în fiecare rând al tabelului Elemente.,
-Supply Raw Materials,Aprovizionarea cu materii prime,
-Purchase Order Pricing Rule,Regula de preț a comenzii de achiziție,
-Set Reserve Warehouse,Set Rezerva Depozit,
-In Words will be visible once you save the Purchase Order.,În cuvinte va fi vizibil după ce a salva Ordinul de cumparare.,
-Advance Paid,Avans plătit,
-Tracking,Urmărirea,
-% Billed,% Facurat,
-% Received,% Primit,
-Ref SQ,Ref SQ,
-Inter Company Order Reference,Referință de comandă între companii,
-Supplier Part Number,Furnizor Număr,
-Billed Amt,Suma facturată,
-Warehouse and Reference,Depozit și Referință,
-To be delivered to customer,Pentru a fi livrat clientului,
-Material Request Item,Material Cerere Articol,
-Supplier Quotation Item,Furnizor ofertă Articol,
-Against Blanket Order,Împotriva ordinului pătură,
-Blanket Order,Ordinul de ștergere,
-Blanket Order Rate,Rata de comandă a plicului,
-Returned Qty,Cant. Returnată,
-Purchase Order Item Supplied,Comandă de aprovizionare Articol Livrat,
-BOM Detail No,Detaliu BOM nr.,
-Stock Uom,Stoc UOM,
-Raw Material Item Code,Cod Articol Materie Prima,
-Supplied Qty,Furnizat Cantitate,
-Purchase Receipt Item Supplied,Primirea de cumpărare Articol Livrat,
-Current Stock,Stoc curent,
-PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
-For individual supplier,Pentru furnizor individual,
-Link to Material Requests,Link către cereri de materiale,
-Message for Supplier,Mesaj pentru Furnizor,
-Request for Quotation Item,Articol Cerere de Oferta,
-Required Date,Data de livrare ceruta,
-Request for Quotation Supplier,Furnizor Cerere de Ofertă,
-Send Email,Trimiteți-ne email,
-Quote Status,Citat Stare,
-Download PDF,descarcă PDF,
-Supplier of Goods or Services.,Furnizor de bunuri sau servicii.,
-Name and Type,Numele și tipul,
-SUP-.YYYY.-,SUP-.YYYY.-,
-Default Bank Account,Cont Bancar Implicit,
-Is Transporter,Este Transporter,
-Represents Company,Reprezintă Compania,
-Supplier Type,Furnizor Tip,
-Allow Purchase Invoice Creation Without Purchase Order,Permiteți crearea facturii de cumpărare fără comandă de achiziție,
-Allow Purchase Invoice Creation Without Purchase Receipt,Permiteți crearea facturii de cumpărare fără chitanță de cumpărare,
-Warn RFQs,Aflați RFQ-urile,
-Warn POs,Avertizează PO-urile,
-Prevent RFQs,Preveniți RFQ-urile,
-Prevent POs,Preveniți PO-urile,
-Billing Currency,Moneda de facturare,
-Default Payment Terms Template,Șablonul Termenii de plată standard,
-Block Supplier,Furnizorul de blocuri,
-Hold Type,Tineți tip,
-Leave blank if the Supplier is blocked indefinitely,Lăsați necompletat dacă Furnizorul este blocat pe o perioadă nedeterminată,
-Default Payable Accounts,Implicit conturi de plătit,
-Mention if non-standard payable account,Menționați dacă contul de plată non-standard,
-Default Tax Withholding Config,Config,
-Supplier Details,Detalii furnizor,
-Statutory info and other general information about your Supplier,Info statutar și alte informații generale despre dvs. de Furnizor,
-PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
-Supplier Address,Furnizor Adresa,
-Link to material requests,Link la cererile de materiale,
-Rounding Adjustment (Company Currency,Rotunjire ajustare (moneda companiei,
-Auto Repeat Section,Se repetă secțiunea Auto,
-Is Subcontracted,Este subcontractată,
-Lead Time in days,Timp Pistă în zile,
-Supplier Score,Scorul furnizorului,
-Indicator Color,Indicator Culoare,
-Evaluation Period,Perioada de evaluare,
-Per Week,Pe saptamana,
-Per Month,Pe luna,
-Per Year,Pe an,
-Scoring Setup,Punctul de configurare,
-Weighting Function,Funcție de ponderare,
-"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","Variabilele caracterelor pot fi utilizate, precum și: {total_score} (scorul total din acea perioadă), {period_number} (numărul de perioade până în prezent)",
-Scoring Standings,Puncte de scor,
-Criteria Setup,Setarea criteriilor,
-Load All Criteria,Încărcați toate criteriile,
-Scoring Criteria,Criterii de evaluare,
-Scorecard Actions,Caracteristicile Scorecard,
-Warn for new Request for Quotations,Avertizare pentru o nouă solicitare de ofertă,
-Warn for new Purchase Orders,Avertizați pentru comenzi noi de achiziție,
-Notify Supplier,Notificați Furnizor,
-Notify Employee,Notificați angajatul,
-Supplier Scorecard Criteria,Criteriile Scorecard pentru furnizori,
-Criteria Name,Numele de criterii,
-Max Score,Scor maxim,
-Criteria Formula,Criterii Formula,
-Criteria Weight,Criterii Greutate,
-Supplier Scorecard Period,Perioada de evaluare a furnizorului,
-PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
-Period Score,Scorul perioadei,
-Calculations,Calculele,
-Criteria,criterii,
-Variables,variabile,
-Supplier Scorecard Setup,Setarea Scorecard pentru furnizori,
-Supplier Scorecard Scoring Criteria,Criteriile de evaluare a Scorecard-ului furnizorului,
-Score,Scor,
-Supplier Scorecard Scoring Standing,Scorecard pentru Scorecard furnizor,
-Standing Name,Numele permanent,
-Purple,Violet,
-Yellow,Galben,
-Orange,portocale,
-Min Grade,Gradul minim,
-Max Grade,Max Grad,
-Warn Purchase Orders,Avertizați comenzile de cumpărare,
-Prevent Purchase Orders,Împiedicați comenzile de achiziție,
-Employee ,Angajat,
-Supplier Scorecard Scoring Variable,Scorul variabil al scorului de performanță al furnizorului,
-Variable Name,Numele variabil,
-Parameter Name,Nume parametru,
-Supplier Scorecard Standing,Graficul Scorecard pentru furnizori,
-Notify Other,Notificați alta,
-Supplier Scorecard Variable,Variabila tabelului de variabile pentru furnizori,
-Call Log,Jurnal de Apel,
-Received By,Primit de,
-Caller Information,Informații despre apelant,
-Contact Name,Nume Persoana de Contact,
-Lead ,Conduce,
-Lead Name,Nume Pistă,
-Ringing,țiuit,
-Missed,Pierdute,
-Call Duration in seconds,Durata apelului în câteva secunde,
-Recording URL,Înregistrare URL,
-Communication Medium,Comunicare Mediu,
-Communication Medium Type,Tip mediu de comunicare,
-Voice,Voce,
-Catch All,Prindele pe toate,
-"If there is no assigned timeslot, then communication will be handled by this group","Dacă nu există un interval de timp alocat, comunicarea va fi gestionată de acest grup",
-Timeslots,Intervale de timp,
-Communication Medium Timeslot,Timeslot mediu de comunicare,
-Employee Group,Grupul de angajați,
-Appointment,Programare,
-Scheduled Time,Timpul programat,
-Unverified,neverificat,
-Customer Details,Detalii Client,
-Phone Number,Numar de telefon,
-Skype ID,ID Skype,
-Linked Documents,Documente legate,
-Appointment With,Programare cu,
-Calendar Event,Calendar Eveniment,
-Appointment Booking Settings,Setări rezervare numire,
-Enable Appointment Scheduling,Activați programarea programării,
-Agent Details,Detalii agent,
-Availability Of Slots,Disponibilitatea sloturilor,
-Number of Concurrent Appointments,Numărul de întâlniri simultane,
-Agents,agenţi,
-Appointment Details,Detalii despre numire,
-Appointment Duration (In Minutes),Durata numirii (în proces-verbal),
-Notify Via Email,Notificați prin e-mail,
-Notify customer and agent via email on the day of the appointment.,Notificați clientul și agentul prin e-mail în ziua programării.,
-Number of days appointments can be booked in advance,Numărul de întâlniri de zile poate fi rezervat în avans,
-Success Settings,Setări de succes,
-Success Redirect URL,Adresa URL de redirecționare,
-"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Lăsați gol pentru casă. Aceasta este relativă la adresa URL a site-ului, de exemplu „despre” se va redirecționa la „https://yoursitename.com/about”",
-Appointment Booking Slots,Rezervare pentru sloturi de rezervare,
-Day Of Week,Zi a Săptămânii,
-From Time ,Din Time,
-Campaign Email Schedule,Program de e-mail al campaniei,
-Send After (days),Trimite După (zile),
-Signed,Semnat,
-Party User,Utilizator de petreceri,
-Unsigned,Nesemnat,
-Fulfilment Status,Starea de îndeplinire,
-N/A,N / A,
-Unfulfilled,neîmplinit,
-Partially Fulfilled,Parțial îndeplinite,
-Fulfilled,Fulfilled,
-Lapsed,caducă,
-Contract Period,Perioada contractuala,
-Signee Details,Signee Detalii,
-Signee,Signee,
-Signed On,Signed On,
-Contract Details,Detaliile contractului,
-Contract Template,Model de contract,
-Contract Terms,Termenii contractului,
-Fulfilment Details,Detalii de execuție,
-Requires Fulfilment,Necesită îndeplinirea,
-Fulfilment Deadline,Termenul de îndeplinire,
-Fulfilment Terms,Condiții de îndeplinire,
-Contract Fulfilment Checklist,Lista de verificare a executării contului,
-Requirement,Cerinţă,
-Contract Terms and Conditions,Termeni și condiții contractuale,
-Fulfilment Terms and Conditions,Condiții și condiții de îndeplinire,
-Contract Template Fulfilment Terms,Termenii de îndeplinire a modelului de contract,
-Email Campaign,Campania de e-mail,
-Email Campaign For ,Campanie prin e-mail,
-Lead is an Organization,Pista este o Organizație,
-CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
-Person Name,Nume persoană,
-Lost Quotation,ofertă pierdută,
-Interested,Interesat,
-Converted,Transformat,
-Do Not Contact,Nu contactati,
-From Customer,De la Client,
-Campaign Name,Denumire campanie,
-Follow Up,Urmare,
-Next Contact By,Următor Contact Prin,
-Next Contact Date,Următor Contact Data,
-Ends On,Se termină pe,
-Address & Contact,Adresă și contact,
-Mobile No.,Numar de mobil,
-Lead Type,Tip Pistă,
-Channel Partner,Partner Canal,
-Consultant,Consultant,
-Market Segment,Segmentul de piață,
-Industry,Industrie,
-Request Type,Tip Cerere,
-Product Enquiry,Intrebare produs,
-Request for Information,Cerere de informații,
-Suggestions,Sugestii,
-Blog Subscriber,Abonat blog,
-LinkedIn Settings,Setări LinkedIn,
-Company ID,ID-ul companiei,
-OAuth Credentials,Acreditări OAuth,
-Consumer Key,Cheia consumatorului,
-Consumer Secret,Secretul consumatorului,
-User Details,Detalii utilizator,
-Person URN,Persoana URN,
-Session Status,Starea sesiunii,
-Lost Reason Detail,Detaliu ratiune pierduta,
-Opportunity Lost Reason,Motivul pierdut din oportunitate,
-Potential Sales Deal,Oferta potențiale Vânzări,
-CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
-Opportunity From,Oportunitate de la,
-Customer / Lead Name,Client / Nume Principal,
-Opportunity Type,Tip de oportunitate,
-Converted By,Convertit de,
-Sales Stage,Stadiu Vânzări,
-Lost Reason,Motiv Pierdere,
-Expected Closing Date,Data de închidere preconizată,
-To Discuss,Pentru a discuta,
-With Items,Cu articole,
-Probability (%),Probabilitate (%),
-Contact Info,Informaţii Persoana de Contact,
-Customer / Lead Address,Client / Adresa principala,
-Contact Mobile No,Nr. Mobil Persoana de Contact,
-Enter name of campaign if source of enquiry is campaign,Introduceți numele de campanie dacă sursa de anchetă este campanie,
-Opportunity Date,Oportunitate Data,
-Opportunity Item,Oportunitate Articol,
-Basic Rate,Rată elementară,
-Stage Name,Nume de Scenă,
-Social Media Post,Postare pe rețelele sociale,
-Post Status,Stare postare,
-Posted,Postat,
-Share On,Distribuie pe,
-Twitter,Stare de nervozitate,
-LinkedIn,LinkedIn,
-Twitter Post Id,Codul postării pe Twitter,
-LinkedIn Post Id,Cod postare LinkedIn,
-Tweet,Tweet,
-Twitter Settings,Setări Twitter,
-API Secret Key,Cheia secretă API,
-Term Name,Nume termen,
-Term Start Date,Termenul Data de începere,
-Term End Date,Termenul Data de încheiere,
-Academics User,Utilizator cadru pedagogic,
-Academic Year Name,Nume An Universitar,
-Article,Articol,
-LMS User,Utilizator LMS,
-Assessment Criteria Group,Grup de criterii de evaluare,
-Assessment Group Name,Numele grupului de evaluare,
-Parent Assessment Group,Grup părinte de evaluare,
-Assessment Name,Nume evaluare,
-Grading Scale,Scala de notare,
-Examiner,Examinator,
-Examiner Name,Nume examinator,
-Supervisor,supraveghetor,
-Supervisor Name,Nume supervizor,
-Evaluate,A evalua,
-Maximum Assessment Score,Scor maxim de evaluare,
-Assessment Plan Criteria,Criterii Plan de evaluare,
-Maximum Score,Scor maxim,
-Result,Rezultat,
-Total Score,Scorul total,
-Grade,calitate,
-Assessment Result Detail,Detalii rezultat evaluare,
-Assessment Result Tool,Instrument de Evaluare Rezultat,
-Result HTML,rezultat HTML,
-Content Activity,Activitate de conținut,
-Last Activity ,Ultima activitate,
-Content Question,Întrebare de conținut,
-Question Link,Link de întrebări,
-Course Name,Numele cursului,
-Topics,Subiecte,
-Hero Image,Imaginea eroului,
-Default Grading Scale,Scale Standard Standard folosit,
-Education Manager,Director de educație,
-Course Activity,Activitate de curs,
-Course Enrollment,Înscriere la curs,
-Activity Date,Data activității,
-Course Assessment Criteria,Criterii de evaluare a cursului,
-Weightage,Weightage,
-Course Content,Conținutul cursului,
-Quiz,chestionare,
-Program Enrollment,programul de înscriere,
-Enrollment Date,Data de inscriere,
-Instructor Name,Nume instructor,
-EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
-Course Scheduling Tool,Instrument curs de programare,
-Course Start Date,Data începerii cursului,
-To TIme,La timp,
-Course End Date,Desigur Data de încheiere,
-Course Topic,Subiectul cursului,
-Topic,Subiect,
-Topic Name,Nume subiect,
-Education Settings,Setări educaționale,
-Current Academic Year,Anul academic curent,
-Current Academic Term,Termen academic actual,
-Attendance Freeze Date,Data de înghețare a prezenței,
-Validate Batch for Students in Student Group,Validați lotul pentru elevii din grupul de studenți,
-"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Pentru grupul de studenți bazat pe loturi, lotul student va fi validat pentru fiecare student din înscrierea în program.",
-Validate Enrolled Course for Students in Student Group,Validați cursul înscris pentru elevii din grupul de studenți,
-"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Pentru grupul de studenți bazat pe cursuri, cursul va fi validat pentru fiecare student din cursurile înscrise în înscrierea în program.",
-Make Academic Term Mandatory,Asigurați-obligatoriu termenul academic,
-"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Dacă este activată, domeniul Academic Term va fi obligatoriu în Instrumentul de înscriere în program.",
-Skip User creation for new Student,Omiteți crearea utilizatorului pentru noul student,
-"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.","În mod implicit, este creat un nou utilizator pentru fiecare student nou. Dacă este activat, nu va fi creat niciun utilizator nou atunci când este creat un nou student.",
-Instructor Records to be created by,Instructor de înregistrări care urmează să fie create de către,
-Employee Number,Numar angajat,
-Fee Category,Taxă Categorie,
-Fee Component,Taxa de Component,
-Fees Category,Taxele de Categoria,
-Fee Schedule,Taxa de Program,
-Fee Structure,Structura Taxa de,
-EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
-Fee Creation Status,Starea de creare a taxelor,
-In Process,În procesul de,
-Send Payment Request Email,Trimiteți e-mail de solicitare de plată,
-Student Category,Categoria de student,
-Fee Breakup for each student,Taxă pentru fiecare student,
-Total Amount per Student,Suma totală pe student,
-Institution,Instituţie,
-Fee Schedule Program,Programul programului de plăți,
-Student Batch,Lot de student,
-Total Students,Total studenți,
-Fee Schedule Student Group,Taxă Schedule Student Group,
-EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
-EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
-Include Payment,Includeți plata,
-Send Payment Request,Trimiteți Cerere de Plată,
-Student Details,Detalii studențești,
-Student Email,Student Email,
-Grading Scale Name,Standard Nume Scala,
-Grading Scale Intervals,Intervale de notare Scala,
-Intervals,intervale,
-Grading Scale Interval,Clasificarea Scala Interval,
-Grade Code,Cod grad,
-Threshold,Prag,
-Grade Description,grad Descriere,
-Guardian,gardian,
-Guardian Name,Nume tutore,
-Alternate Number,Număr alternativ,
-Occupation,Ocupaţie,
-Work Address,Adresa de,
-Guardian Of ,Guardian Of,
-Students,Elevi,
-Guardian Interests,Guardian Interese,
-Guardian Interest,Interes tutore,
-Interest,Interes,
-Guardian Student,Guardian Student,
-EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
-Instructor Log,Jurnalul instructorului,
-Other details,Alte detalii,
-Option,Opțiune,
-Is Correct,Este corect,
-Program Name,Numele programului,
-Program Abbreviation,Abreviere de program,
-Courses,cursuri,
-Is Published,Este publicat,
-Allow Self Enroll,Permiteți înscrierea de sine,
-Is Featured,Este prezentat,
-Intro Video,Introducere video,
-Program Course,Curs Program,
-School House,School House,
-Boarding Student,Student de internare,
-Check this if the Student is residing at the Institute's Hostel.,Verificați dacă studentul este rezident la Hostelul Institutului.,
-Walking,mers,
-Institute's Bus,Biblioteca Institutului,
-Public Transport,Transport public,
-Self-Driving Vehicle,Vehicul cu autovehicul,
-Pick/Drop by Guardian,Pick / Drop de Guardian,
-Enrolled courses,Cursuri înscrise,
-Program Enrollment Course,Curs de înscriere la curs,
-Program Enrollment Fee,Programul de înscriere Taxa,
-Program Enrollment Tool,Programul Instrumentul de înscriere,
-Get Students From,Elevii de la a lua,
-Student Applicant,Solicitantul elev,
-Get Students,Studenți primi,
-Enrollment Details,Detalii de înscriere,
-New Program,programul nou,
-New Student Batch,Noul lot de studenți,
-Enroll Students,Studenți Enroll,
-New Academic Year,Anul universitar nou,
-New Academic Term,Termen nou academic,
-Program Enrollment Tool Student,Programul de înscriere Instrumentul Student,
-Student Batch Name,Nume elev Lot,
-Program Fee,Taxa de program,
-Question,Întrebare,
-Single Correct Answer,Un singur răspuns corect,
-Multiple Correct Answer,Răspuns corect multiplu,
-Quiz Configuration,Configurarea testului,
-Passing Score,Scor de trecere,
-Score out of 100,Scor din 100,
-Max Attempts,Încercări maxime,
-Enter 0 to waive limit,Introduceți 0 până la limita de renunțare,
-Grading Basis,Bazele gradării,
-Latest Highest Score,Cel mai mare scor,
-Latest Attempt,Ultima încercare,
-Quiz Activity,Activitate de testare,
-Enrollment,înrolare,
-Pass,Trece,
-Quiz Question,Întrebare întrebare,
-Quiz Result,Rezultatul testului,
-Selected Option,Opțiunea selectată,
-Correct,Corect,
-Wrong,Gresit,
-Room Name,Nume Cameră,
-Room Number,Număr Cameră,
-Seating Capacity,Numărul de locuri,
-House Name,Numele casei,
-EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
-Student Mobile Number,Elev Număr mobil,
-Joining Date,Data Angajării,
-Blood Group,Grupă de sânge,
-A+,A+,
-A-,A-,
-B+,B +,
-B-,B-,
-O+,O +,
-O-,O-,
-AB+,AB+,
-AB-,AB-,
-Nationality,Naţionalitate,
-Home Address,Adresa de acasa,
-Guardian Details,Detalii tutore,
-Guardians,tutorii,
-Sibling Details,Detalii sibling,
-Siblings,siblings,
-Exit,Iesire,
-Date of Leaving,Data Părăsirii,
-Leaving Certificate Number,Părăsirea Număr certificat,
-Reason For Leaving,Motivul plecării,
-Student Admission,Admiterea studenților,
-Admission Start Date,Data de începere a Admiterii,
-Admission End Date,Data de încheiere Admiterii,
-Publish on website,Publica pe site-ul,
-Eligibility and Details,Eligibilitate și detalii,
-Student Admission Program,Programul de Admitere în Studenți,
-Minimum Age,Varsta minima,
-Maximum Age,Vârsta maximă,
-Application Fee,Taxă de aplicare,
-Naming Series (for Student Applicant),Seria de denumire (pentru Student Solicitant),
-LMS Only,Numai LMS,
-EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
-Application Status,Starea aplicației,
-Application Date,Data aplicării,
-Student Attendance Tool,Instrumentul de student Participarea,
-Group Based On,Grup pe baza,
-Students HTML,HTML studenții,
-Group Based on,Grup bazat pe,
-Student Group Name,Numele grupului studențesc,
-Max Strength,Putere max,
-Set 0 for no limit,0 pentru a seta nici o limită,
-Instructors,instructorii,
-Student Group Creation Tool,Instrumentul de creare a grupului de student,
-Leave blank if you make students groups per year,Lăsați necompletat dacă faceți grupuri de elevi pe an,
-Get Courses,Cursuri de a lua,
-Separate course based Group for every Batch,Separați un grup bazat pe cursuri pentru fiecare lot,
-Leave unchecked if you don't want to consider batch while making course based groups. ,Lăsați necontrolabil dacă nu doriți să luați în considerare lotul în timp ce faceți grupuri bazate pe curs.,
-Student Group Creation Tool Course,Curs de grup studențesc instrument de creare,
-Course Code,Codul cursului,
-Student Group Instructor,Student Grup Instructor,
-Student Group Student,Student Group Student,
-Group Roll Number,Numărul rolurilor de grup,
-Student Guardian,student la Guardian,
-Relation,Relație,
-Mother,Mamă,
-Father,tată,
-Student Language,Limba Student,
-Student Leave Application,Aplicație elev Concediul,
-Mark as Present,Marcați ca prezent,
-Student Log,Jurnal de student,
-Academic,Academic,
-Achievement,Realizare,
-Student Report Generation Tool,Instrumentul de generare a rapoartelor elevilor,
-Include All Assessment Group,Includeți tot grupul de evaluare,
-Show Marks,Afișați marcajele,
-Add letterhead,Adăugă Antet,
-Print Section,Imprimare secțiune,
-Total Parents Teacher Meeting,Întâlnire între profesorii de părinți,
-Attended by Parents,Participat de părinți,
-Assessment Terms,Termeni de evaluare,
-Student Sibling,elev Sibling,
-Studying in Same Institute,Studiind în același Institut,
-NO,NU,
-YES,Da,
-Student Siblings,Siblings Student,
-Topic Content,Conținut subiect,
-Amazon MWS Settings,Amazon MWS Settings,
-ERPNext Integrations,Integrări ERPNext,
-Enable Amazon,Activați Amazon,
-MWS Credentials,Certificatele MWS,
-Seller ID,ID-ul vânzătorului,
-AWS Access Key ID,Codul AWS Access Key,
-MWS Auth Token,MWS Auth Token,
-Market Place ID,ID-ul pieței,
-AE,AE,
-AU,AU,
-BR,BR,
-CA,CA,
-CN,CN,
-DE,DE,
-ES,ES,
-FR,FR,
-IN,ÎN,
-JP,JP,
-IT,ACEASTA,
-MX,MX,
-UK,Regatul Unit,
-US,S.U.A.,
-Customer Type,tip de client,
-Market Place Account Group,Grupul de cont de pe piață,
-After Date,După data,
-Amazon will synch data updated after this date,Amazon va sincroniza datele actualizate după această dată,
-Sync Taxes and Charges,Sincronizați taxele și taxele,
-Get financial breakup of Taxes and charges data by Amazon ,Obțineți despărțirea financiară a datelor fiscale și taxe de către Amazon,
-Sync Products,Produse de sincronizare,
-Always sync your products from Amazon MWS before synching the Orders details,Sincronizați întotdeauna produsele dvs. de la Amazon MWS înainte de a sincroniza detaliile comenzilor,
-Sync Orders,Sincronizați comenzile,
-Click this button to pull your Sales Order data from Amazon MWS.,Faceți clic pe acest buton pentru a vă trage datele de comandă de vânzări de la Amazon MWS.,
-Enable Scheduled Sync,Activați sincronizarea programată,
-Check this to enable a scheduled Daily synchronization routine via scheduler,Verificați acest lucru pentru a activa o rutină zilnică de sincronizare programată prin programator,
-Max Retry Limit,Max Retry Limit,
-Exotel Settings,Setări Exotel,
-Account SID,Cont SID,
-API Token,Token API,
-GoCardless Mandate,GoCardless Mandate,
-Mandate,Mandat,
-GoCardless Customer,Clientul GoCardless,
-GoCardless Settings,Setări GoCardless,
-Webhooks Secret,Webhooks Secret,
-Plaid Settings,Setări Plaid,
-Synchronize all accounts every hour,Sincronizați toate conturile în fiecare oră,
-Plaid Client ID,Cod client Plaid,
-Plaid Secret,Plaid Secret,
-Plaid Environment,Mediu plaid,
-sandbox,Sandbox,
-development,dezvoltare,
-production,producție,
-QuickBooks Migrator,QuickBooks Migrator,
-Application Settings,Setările aplicației,
-Token Endpoint,Token Endpoint,
-Scope,domeniu,
-Authorization Settings,Setările de autorizare,
-Authorization Endpoint,Autorizație,
-Authorization URL,Adresa de autorizare,
-Quickbooks Company ID,Coduri de identificare rapidă a companiei,
-Company Settings,Setări Company,
-Default Shipping Account,Contul de transport implicit,
-Default Warehouse,Depozit Implicit,
-Default Cost Center,Centru Cost Implicit,
-Undeposited Funds Account,Contul fondurilor nedeclarate,
-Shopify Log,Magazinul de jurnal,
-Request Data,Solicită Date,
-Shopify Settings,Rafinați setările,
-status html,starea html,
-Enable Shopify,Activați Shopify,
-App Type,Tipul aplicației,
-Last Sync Datetime,Ultima dată de sincronizare,
-Shop URL,Adresa URL magazin,
-eg: frappe.myshopify.com,de ex .: frappe.myshopify.com,
-Shared secret,Secret împărtășit,
-Webhooks Details,Detaliile Webhooks,
-Webhooks,Webhooks,
-Customer Settings,Setările clientului,
-Default Customer,Client Implicit,
-Customer Group will set to selected group while syncing customers from Shopify,Grupul de clienți va seta grupul selectat în timp ce va sincroniza clienții din Shopify,
-For Company,Pentru Companie,
-Cash Account will used for Sales Invoice creation,Contul de numerar va fi utilizat pentru crearea facturii de vânzări,
-Update Price from Shopify To ERPNext Price List,Actualizați prețul de la Shopify la lista de prețuri ERP următoare,
-Default Warehouse to to create Sales Order and Delivery Note,Warehouse implicit pentru a crea o comandă de vânzări și o notă de livrare,
-Sales Order Series,Seria de comandă de vânzări,
-Import Delivery Notes from Shopify on Shipment,Importă note de livrare de la Shopify la expediere,
-Delivery Note Series,Seria de note de livrare,
-Import Sales Invoice from Shopify if Payment is marked,Importă factura de vânzare din Shopify dacă este marcată plata,
-Sales Invoice Series,Seria de facturi de vânzări,
-Shopify Tax Account,Achiziționați contul fiscal,
-Shopify Tax/Shipping Title,Achiziționați titlul fiscal / transport,
-ERPNext Account,Contul ERPNext,
-Shopify Webhook Detail,Bucurați-vă de detaliile Webhook,
-Webhook ID,ID-ul Webhook,
-Tally Migration,Migrația de tip Tally,
-Master Data,Date Master,
-"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Date exportate de la Tally care constă din Planul de conturi, clienți, furnizori, adrese, articole și UOM-uri",
-Is Master Data Processed,Sunt prelucrate datele master,
-Is Master Data Imported,Sunt importate datele de master,
-Tally Creditors Account,Contul creditorilor Tally,
-Creditors Account set in Tally,Contul creditorilor stabilit în Tally,
-Tally Debtors Account,Contul debitorilor,
-Debtors Account set in Tally,Contul debitorilor stabilit în Tally,
-Tally Company,Tally Company,
-Company Name as per Imported Tally Data,Numele companiei conform datelor importate Tally,
-Default UOM,UOM implicit,
-UOM in case unspecified in imported data,UOM în cazul nespecificat în datele importate,
-ERPNext Company,Compania ERPNext,
-Your Company set in ERPNext,Compania dvs. a fost setată în ERPNext,
-Processed Files,Fișiere procesate,
-Parties,Petreceri,
-UOMs,UOMs,
-Vouchers,Bonuri,
-Round Off Account,Rotunji cont,
-Day Book Data,Date despre cartea de zi,
-Day Book Data exported from Tally that consists of all historic transactions,"Date din agenda de zi exportate din Tally, care constă în toate tranzacțiile istorice",
-Is Day Book Data Processed,Sunt prelucrate datele despre cartea de zi,
-Is Day Book Data Imported,Sunt importate datele despre cartea de zi,
-Woocommerce Settings,Setări Woocommerce,
-Enable Sync,Activați sincronizarea,
-Woocommerce Server URL,Adresa URL a serverului Woocommerce,
-Secret,Secret,
-API consumer key,Cheia pentru consumatori API,
-API consumer secret,Secretul consumatorului API,
-Tax Account,Contul fiscal,
-Freight and Forwarding Account,Contul de expediere și de expediere,
-Creation User,Utilizator creație,
-"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Utilizatorul care va fi utilizat pentru a crea clienți, articole și comenzi de vânzare. Acest utilizator ar trebui să aibă permisiunile relevante.",
-"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Acest depozit va fi folosit pentru a crea comenzi de vânzare. Depozitul în retragere este „Magazine”.,
-"The fallback series is ""SO-WOO-"".",Seria Fallback este „SO-WOO-”.,
-This company will be used to create Sales Orders.,Această companie va fi folosită pentru a crea comenzi de vânzare.,
-Delivery After (Days),Livrare după (zile),
-This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Aceasta este compensarea implicită (zile) pentru data livrării în comenzile de vânzare. Decalarea compensării este de 7 zile de la data plasării comenzii.,
-"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Acesta este UOM-ul implicit utilizat pentru articole și comenzi de vânzări. UOM-ul în rezervă este „Nos”.,
-Endpoints,Endpoints,
-Endpoint,Punct final,
-Antibiotic Name,Numele antibioticului,
-Healthcare Administrator,Administrator de asistență medicală,
-Laboratory User,Utilizator de laborator,
-Is Inpatient,Este internat,
-Default Duration (In Minutes),Durata implicită (în minute),
-Body Part,Parte a corpului,
-Body Part Link,Legătura părții corpului,
-HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
-Procedure Template,Șablon de procedură,
-Procedure Prescription,Procedura de prescriere,
-Service Unit,Unitate de service,
-Consumables,Consumabile,
-Consume Stock,Consumați stocul,
-Invoice Consumables Separately,Consumabile facturate separat,
-Consumption Invoiced,Consum facturat,
-Consumable Total Amount,Suma totală consumabilă,
-Consumption Details,Detalii despre consum,
-Nursing User,Utilizator Nursing,
-Clinical Procedure Item,Articol de procedură clinică,
-Invoice Separately as Consumables,Factureaza distinct ca si consumabile,
-Transfer Qty,Cantitate transfer,
-Actual Qty (at source/target),Cant. efectivă (la sursă/destinaţie),
-Is Billable,Este facturabil,
-Allow Stock Consumption,Permiteți consumul de stoc,
-Sample UOM,Exemplu UOM,
-Collection Details,Detaliile colecției,
-Change In Item,Modificare element,
-Codification Table,Tabelul de codificare,
-Complaints,Reclamații,
-Dosage Strength,Dozabilitate,
-Strength,Putere,
-Drug Prescription,Droguri de prescripție,
-Drug Name / Description,Denumirea / descrierea medicamentului,
-Dosage,Dozare,
-Dosage by Time Interval,Dozaj după intervalul de timp,
-Interval,Interval,
-Interval UOM,Interval UOM,
-Hour,Oră,
-Update Schedule,Actualizați programul,
-Exercise,Exercițiu,
-Difficulty Level,Nivel de dificultate,
-Counts Target,Numără ținta,
-Counts Completed,Număruri finalizate,
-Assistance Level,Nivelul de asistență,
-Active Assist,Asistență activă,
-Exercise Name,Numele exercițiului,
-Body Parts,Parti ale corpului,
-Exercise Instructions,Instrucțiuni de exerciții,
-Exercise Video,Video de exerciții,
-Exercise Steps,Pași de exerciții,
-Steps,Pași,
-Steps Table,Tabelul Pașilor,
-Exercise Type Step,Tipul exercițiului Pas,
-Max number of visit,Numărul maxim de vizite,
-Visited yet,Vizitată încă,
-Reference Appointments,Programări de referință,
-Valid till,Valabil până la,
-Fee Validity Reference,Referința valabilității taxei,
-Basic Details,Detalii de bază,
-HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
-Mobile,Mobil,
-Phone (R),Telefon (R),
-Phone (Office),Telefon (Office),
-Employee and User Details,Detalii despre angajat și utilizator,
-Hospital,Spital,
-Appointments,Programari,
-Practitioner Schedules,Practitioner Schedules,
-Charges,Taxe,
-Out Patient Consulting Charge,Taxă de consultanță pentru pacienți,
-Default Currency,Monedă Implicită,
-Healthcare Schedule Time Slot,Programul de îngrijire a sănătății Time Slot,
-Parent Service Unit,Serviciul pentru părinți,
-Service Unit Type,Tip de unitate de service,
-Allow Appointments,Permiteți întâlnirilor,
-Allow Overlap,Permiteți suprapunerea,
-Inpatient Occupancy,Ocuparea locului de muncă,
-Occupancy Status,Starea ocupației,
-Vacant,Vacant,
-Occupied,Ocupat,
-Item Details,Detalii despre articol,
-UOM Conversion in Hours,Conversie UOM în ore,
-Rate / UOM,Rata / UOM,
-Change in Item,Modificați articolul,
-Out Patient Settings,Setări pentru pacient,
-Patient Name By,Nume pacient,
-Patient Name,Numele pacientului,
-Link Customer to Patient,Conectați clientul la pacient,
-"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.","Dacă este bifată, va fi creat un client, cartografiat pacientului. Facturile de pacienți vor fi create împotriva acestui Client. De asemenea, puteți selecta Clientul existent în timp ce creați pacientul.",
-Default Medical Code Standard,Standardul medical standard standard,
-Collect Fee for Patient Registration,Colectați taxa pentru înregistrarea pacientului,
-Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Verificând acest lucru se vor crea noi pacienți cu starea Dezactivat în mod implicit și vor fi activate numai după facturarea Taxei de înregistrare.,
-Registration Fee,Taxă de Înregistrare,
-Automate Appointment Invoicing,Automatizați facturarea programării,
-Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Gestionați trimiterea și anularea facturii de întâlnire în mod automat pentru întâlnirea cu pacienții,
-Enable Free Follow-ups,Activați urmăriri gratuite,
-Number of Patient Encounters in Valid Days,Numărul de întâlniri cu pacienți în zilele valabile,
-The number of free follow ups (Patient Encounters in valid days) allowed,Numărul de urmăriri gratuite (întâlniri cu pacienții în zile valide) permis,
-Valid Number of Days,Număr valid de zile,
-Time period (Valid number of days) for free consultations,Perioada de timp (număr valid de zile) pentru consultări gratuite,
-Default Healthcare Service Items,Articole prestabilite pentru serviciile medicale,
-"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Puteți configura articole implicite pentru facturarea taxelor de consultare, a articolelor de consum procedură și a vizitelor internate",
-Clinical Procedure Consumable Item,Procedura clinică Consumabile,
-Default Accounts,Conturi implicite,
-Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Conturile de venit implicite care trebuie utilizate dacă nu sunt stabilite în practicienii din domeniul sănătății pentru a rezerva taxele de numire.,
-Default receivable accounts to be used to book Appointment charges.,Conturi de creanță implicite care urmează să fie utilizate pentru rezervarea cheltuielilor pentru programare.,
-Out Patient SMS Alerts,Alerte SMS ale pacientului,
-Patient Registration,Inregistrarea pacientului,
-Registration Message,Mesaj de înregistrare,
-Confirmation Message,Mesaj de confirmare,
-Avoid Confirmation,Evitați confirmarea,
-Do not confirm if appointment is created for the same day,Nu confirmați dacă se creează o întâlnire pentru aceeași zi,
-Appointment Reminder,Memento pentru numire,
-Reminder Message,Mesaj Memento,
-Remind Before,Memento Înainte,
-Laboratory Settings,Setări de laborator,
-Create Lab Test(s) on Sales Invoice Submission,Creați teste de laborator la trimiterea facturilor de vânzări,
-Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Verificând acest lucru se vor crea teste de laborator specificate în factura de vânzare la trimitere.,
-Create Sample Collection document for Lab Test,Creați un document de colectare a probelor pentru testul de laborator,
-Checking this will create a Sample Collection document  every time you create a Lab Test,"Verificând acest lucru, veți crea un document de colectare a probelor de fiecare dată când creați un test de laborator",
-Employee name and designation in print,Numele și denumirea angajatului în imprimat,
-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.,Bifați acest lucru dacă doriți ca numele și denumirea angajatului asociate cu utilizatorul care trimite documentul să fie tipărite în raportul de testare de laborator.,
-Do not print or email Lab Tests without Approval,Nu imprimați sau trimiteți prin e-mail testele de laborator fără aprobare,
-Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Verificarea acestui lucru va restricționa imprimarea și trimiterea prin e-mail a documentelor de test de laborator, cu excepția cazului în care acestea au statutul de Aprobat.",
-Custom Signature in Print,Semnătură personalizată în imprimare,
-Laboratory SMS Alerts,Alerte SMS de laborator,
-Result Printed Message,Rezultat Mesaj tipărit,
-Result Emailed Message,Rezultat Mesaj prin e-mail,
-Check In,Verifica,
-Check Out,Verifică,
-HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
-A Positive,A Pozitive,
-A Negative,Un negativ,
-AB Positive,AB pozitiv,
-AB Negative,AB Negativ,
-B Positive,B pozitiv,
-B Negative,B Negativ,
-O Positive,O pozitiv,
-O Negative,O Negativ,
-Date of birth,Data Nașterii,
-Admission Scheduled,Admiterea programată,
-Discharge Scheduled,Descărcarea programată,
-Discharged,evacuate,
-Admission Schedule Date,Data calendarului de admitere,
-Admitted Datetime,Timpul admis,
-Expected Discharge,Descărcarea anticipată,
-Discharge Date,Data descărcării,
-Lab Prescription,Lab prescription,
-Lab Test Name,Numele testului de laborator,
-Test Created,Testul a fost creat,
-Submitted Date,Data transmisă,
-Approved Date,Data aprobarii,
-Sample ID,ID-ul probelor,
-Lab Technician,Tehnician de laborator,
-Report Preference,Raportați raportul,
-Test Name,Numele testului,
-Test Template,Șablon de testare,
-Test Group,Grupul de testare,
-Custom Result,Rezultate personalizate,
-LabTest Approver,LabTest Approver,
-Add Test,Adăugați test,
-Normal Range,Interval normal,
-Result Format,Formatul rezultatelor,
-Single,Celibatar,
-Compound,Compus,
-Descriptive,Descriptiv,
-Grouped,grupate,
-No Result,Nici un rezultat,
-This value is updated in the Default Sales Price List.,Această valoare este actualizată în lista prestabilită a prețurilor de vânzare.,
-Lab Routine,Laboratorul de rutină,
-Result Value,Valoare Rezultat,
-Require Result Value,Necesita valoarea rezultatului,
-Normal Test Template,Șablonul de test normal,
-Patient Demographics,Demografia pacientului,
-HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
-Middle Name (optional),Prenume (opțional),
-Inpatient Status,Starea staționarului,
-"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.","Dacă „Link Client to Pacient” este bifat în Setările asistenței medicale și un Client existent nu este selectat, atunci va fi creat un Client pentru acest Pacient pentru înregistrarea tranzacțiilor în modulul Conturi.",
-Personal and Social History,Istoria personală și socială,
-Marital Status,Stare civilă,
-Married,Căsătorit,
-Divorced,Divorțat/a,
-Widow,Văduvă,
-Patient Relation,Relația pacientului,
-"Allergies, Medical and Surgical History","Alergii, Istorie medicală și chirurgicală",
-Allergies,Alergii,
-Medication,Medicament,
-Medical History,Istoricul medical,
-Surgical History,Istorie chirurgicală,
-Risk Factors,Factori de Risc,
-Occupational Hazards and Environmental Factors,Riscuri Ocupaționale și Factori de Mediu,
-Other Risk Factors,Alți factori de risc,
-Patient Details,Detalii pacient,
-Additional information regarding the patient,Informații suplimentare privind pacientul,
-HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
-Patient Age,Vârsta pacientului,
-Get Prescribed Clinical Procedures,Obțineți proceduri clinice prescrise,
-Therapy,Terapie,
-Get Prescribed Therapies,Obțineți terapii prescrise,
-Appointment Datetime,Data programării,
-Duration (In Minutes),Durata (în minute),
-Reference Sales Invoice,Factură de vânzare de referință,
-More Info,Mai multe informatii,
-Referring Practitioner,Practicant referitor,
-Reminded,Reamintit,
-HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
-Assessment Template,Șablon de evaluare,
-Assessment Datetime,Evaluare Datetime,
-Assessment Description,Evaluare Descriere,
-Assessment Sheet,Fișa de evaluare,
-Total Score Obtained,Scorul total obținut,
-Scale Min,Scală Min,
-Scale Max,Scală Max,
-Patient Assessment Detail,Detaliu evaluare pacient,
-Assessment Parameter,Parametru de evaluare,
-Patient Assessment Parameter,Parametrul de evaluare a pacientului,
-Patient Assessment Sheet,Fișa de evaluare a pacientului,
-Patient Assessment Template,Șablon de evaluare a pacientului,
-Assessment Parameters,Parametrii de evaluare,
-Parameters,Parametrii,
-Assessment Scale,Scara de evaluare,
-Scale Minimum,Scala minimă,
-Scale Maximum,Scală maximă,
-HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
-Encounter Date,Data întâlnirii,
-Encounter Time,Întâlniți timpul,
-Encounter Impression,Întâlniți impresiile,
-Symptoms,Simptome,
-In print,În imprimare,
-Medical Coding,Codificarea medicală,
-Procedures,Proceduri,
-Therapies,Terapii,
-Review Details,Detalii de examinare,
-Patient Encounter Diagnosis,Diagnosticul întâlnirii pacientului,
-Patient Encounter Symptom,Simptomul întâlnirii pacientului,
-HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
-Attach Medical Record,Atașați fișa medicală,
-Reference DocType,DocType de referință,
-Spouse,soț,
-Family,Familie,
-Schedule Details,Detalii program,
-Schedule Name,Numele programului,
-Time Slots,Intervale de timp,
-Practitioner Service Unit Schedule,Unitatea Serviciului de Practician,
-Procedure Name,Numele procedurii,
-Appointment Booked,Numirea rezervată,
-Procedure Created,Procedura creată,
-HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
-Collected By,Colectată de,
-Particulars,Particularități,
-Result Component,Componenta Rezultat,
-HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
-Therapy Plan Details,Detalii despre planul de terapie,
-Total Sessions,Total sesiuni,
-Total Sessions Completed,Total sesiuni finalizate,
-Therapy Plan Detail,Detaliu plan de terapie,
-No of Sessions,Nr de sesiuni,
-Sessions Completed,Sesiuni finalizate,
-Tele,Tele,
-Exercises,Exerciții,
-Therapy For,Terapie pt,
-Add Exercises,Adăugați exerciții,
-Body Temperature,Temperatura corpului,
-Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Prezența febrei (temperatură&gt; 38,5 ° C sau temperatură susținută&gt; 38 ° C / 100,4 ° F)",
-Heart Rate / Pulse,Ritm cardiac / puls,
-Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Rata pulsului adulților este între 50 și 80 de bătăi pe minut.,
-Respiratory rate,Rata respiratorie,
-Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Intervalul normal de referință pentru un adult este de 16-20 respirații / minut (RCP 2012),
-Tongue,Limbă,
-Coated,Acoperit,
-Very Coated,Foarte acoperit,
-Normal,Normal,
-Furry,Cu blană,
-Cuts,Bucăți,
-Abdomen,Abdomen,
-Bloated,Umflat,
-Fluid,Fluid,
-Constipated,Constipat,
-Reflexes,reflexe,
-Hyper,Hyper,
-Very Hyper,Foarte Hyper,
-One Sided,O singură față,
-Blood Pressure (systolic),Tensiunea arterială (sistolică),
-Blood Pressure (diastolic),Tensiunea arterială (diastolică),
-Blood Pressure,Tensiune arteriala,
-"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Tensiunea arterială normală de repaus la un adult este de aproximativ 120 mmHg sistolică și 80 mmHg diastolică, abreviată &quot;120/80 mmHg&quot;",
-Nutrition Values,Valorile nutriției,
-Height (In Meter),Înălțime (în metri),
-Weight (In Kilogram),Greutate (în kilograme),
-BMI,IMC,
-Hotel Room,Cameră de hotel,
-Hotel Room Type,Tip camera de hotel,
-Capacity,Capacitate,
-Extra Bed Capacity,Capacitatea patului suplimentar,
-Hotel Manager,Hotel Manager,
-Hotel Room Amenity,Hotel Amenity Room,
-Billable,Facturabil,
-Hotel Room Package,Pachetul de camere hotel,
-Amenities,dotări,
-Hotel Room Pricing,Pretul camerei hotelului,
-Hotel Room Pricing Item,Hotel Pricing Room Item,
-Hotel Room Pricing Package,Pachetul pentru tarifarea camerei hotelului,
-Hotel Room Reservation,Rezervarea camerelor hotelului,
-Guest Name,Numele oaspetelui,
-Late Checkin,Încearcă târziu,
-Booked,rezervat,
-Hotel Reservation User,Utilizator rezervare hotel,
-Hotel Room Reservation Item,Rezervare cameră cameră,
-Hotel Settings,Setările hotelului,
-Default Taxes and Charges,Impozite și taxe prestabilite,
-Default Invoice Naming Series,Seria implicită de numire a facturilor,
-Additional Salary,Salariu suplimentar,
-HR,HR,
-HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
-Salary Component,Componenta de salarizare,
-Overwrite Salary Structure Amount,Suprascrieți suma structurii salariilor,
-Deduct Full Tax on Selected Payroll Date,Reduceți impozitul complet pe data de salarizare selectată,
-Payroll Date,Data salarizării,
-Date on which this component is applied,Data la care se aplică această componentă,
-Salary Slip,Salariul Slip,
-Salary Component Type,Tipul componentei salariale,
-HR User,Utilizator HR,
-Appointment Letter,Scrisoare de programare,
-Job Applicant,Solicitant loc de muncă,
-Applicant Name,Nume solicitant,
-Appointment Date,Data de intalnire,
-Appointment Letter Template,Model de scrisoare de numire,
-Body,Corp,
-Closing Notes,Note de închidere,
-Appointment Letter content,Numire scrisoare conținut,
-Appraisal,Expertiză,
-HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
-Appraisal Template,Model expertiză,
-For Employee Name,Pentru Numele Angajatului,
-Goals,Obiective,
-Total Score (Out of 5),Scor total (din 5),
-"Any other remarks, noteworthy effort that should go in the records.","Orice alte observații, efort remarcabil care ar trebui înregistrate.",
-Appraisal Goal,Obiectiv expertiză,
-Key Responsibility Area,Domeni de Responsabilitate Cheie,
-Weightage (%),Weightage (%),
-Score (0-5),Scor (0-5),
-Score Earned,Scor Earned,
-Appraisal Template Title,Titlu model expertivă,
-Appraisal Template Goal,Obiectiv model expertivă,
-KRA,KRA,
-Key Performance Area,Domeniu de Performanță Cheie,
-HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
-On Leave,La plecare,
-Work From Home,Lucru de acasă,
-Leave Application,Aplicatie pentru Concediu,
-Attendance Date,Dată prezenţă,
-Attendance Request,Cererea de participare,
-Late Entry,Intrare târzie,
-Early Exit,Iesire timpurie,
-Half Day Date,Jumatate de zi Data,
-On Duty,La datorie,
-Explanation,Explicaţie,
-Compensatory Leave Request,Solicitare de plecare compensatorie,
-Leave Allocation,Alocare Concediu,
-Worked On Holiday,Lucrat în vacanță,
-Work From Date,Lucrul de la data,
-Work End Date,Data terminării lucrării,
-Email Sent To,Email trimis catre,
-Select Users,Selectați Utilizatori,
-Send Emails At,Trimite email-uri La,
-Reminder,Memento,
-Daily Work Summary Group User,Utilizatorul grupului zilnic de lucru sumar,
-email,e-mail,
-Parent Department,Departamentul părinților,
-Leave Block List,Lista Concedii Blocate,
-Days for which Holidays are blocked for this department.,Zile pentru care Sărbătorile sunt blocate pentru acest departament.,
-Leave Approver,Aprobator Concediu,
-Expense Approver,Aprobator Cheltuieli,
-Department Approver,Departamentul Aprobare,
-Approver,Aprobator,
-Required Skills,Aptitudini necesare,
-Skills,Aptitudini,
-Designation Skill,Indemanare de desemnare,
-Skill,Calificare,
-Driver,Conducător auto,
-HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
-Suspended,Suspendat,
-Transporter,Transporter,
-Applicable for external driver,Aplicabil pentru driverul extern,
-Cellphone Number,Număr de Telefon Mobil,
-License Details,Detalii privind licența,
-License Number,Numărul de licență,
-Issuing Date,Data emiterii,
-Driving License Categories,Categorii de licență de conducere,
-Driving License Category,Categoria permiselor de conducere,
-Fleet Manager,Manager de flotă,
-Driver licence class,Clasa permisului de conducere,
-HR-EMP-,HR-vorba sunt,
-Employment Type,Tip angajare,
-Emergency Contact,Contact de Urgență,
-Emergency Contact Name,Nume de contact de urgență,
-Emergency Phone,Telefon de Urgență,
-ERPNext User,Utilizator ERPNext,
-"System User (login) ID. If set, it will become default for all HR forms.","ID Utilizator Sistem (conectare). Dacă este setat, va deveni implicit pentru toate formularele de resurse umane.",
-Create User Permission,Creați permisiunea utilizatorului,
-This will restrict user access to other employee records,Acest lucru va restricționa accesul utilizatorilor la alte înregistrări ale angajaților,
-Joining Details,Detalii Angajare,
-Offer Date,Oferta Date,
-Confirmation Date,Data de Confirmare,
-Contract End Date,Data de Incheiere Contract,
-Notice (days),Preaviz (zile),
-Date Of Retirement,Data Pensionării,
-Department and Grade,Departamentul și Gradul,
-Reports to,Rapoartează către,
-Attendance and Leave Details,Detalii de participare și concediu,
-Leave Policy,Lasati politica,
-Attendance Device ID (Biometric/RF tag ID),Prezentarea dispozitivului de identificare (biometric / RF tag tag),
-Applicable Holiday List,Listă de concedii aplicabile,
-Default Shift,Schimbare implicită,
-Salary Details,Detalii salariu,
-Salary Mode,Mod de salariu,
-Bank A/C No.,Bancă A/C nr.,
-Health Insurance,Asigurare de sanatate,
-Health Insurance Provider,Asigurari de sanatate,
-Health Insurance No,Asigurări de sănătate nr,
-Prefered Email,E-mail Preferam,
-Personal Email,Personal de e-mail,
-Permanent Address Is,Adresa permanentă este,
-Rented,Închiriate,
-Owned,Deținut,
-Permanent Address,Permanent Adresa,
-Prefered Contact Email,Contact Email Preferam,
-Company Email,E-mail Companie,
-Provide Email Address registered in company,Furnizarea Adresa de email inregistrata in companie,
-Current Address Is,Adresa Actuală Este,
-Current Address,Adresa actuală,
-Personal Bio,Personal Bio,
-Bio / Cover Letter,Bio / Cover Letter,
-Short biography for website and other publications.,Scurta biografie pentru site-ul web și alte publicații.,
-Passport Number,Numărul de pașaport,
-Date of Issue,Data Problemei,
-Place of Issue,Locul eliberării,
-Widowed,Văduvit,
-Family Background,Context familial,
-"Here you can maintain family details like name and occupation of parent, spouse and children","Aici puteți stoca detalii despre familie, cum ar fi numele și ocupația parintelui, sotului/sotiei și copiilor",
-Health Details,Detalii Sănătate,
-"Here you can maintain height, weight, allergies, medical concerns etc","Aici puteți stoca informatii despre inaltime, greutate, alergii, probleme medicale etc",
-Educational Qualification,Detalii Calificare de Învățământ,
-Previous Work Experience,Anterior Work Experience,
-External Work History,Istoricul lucrului externă,
-History In Company,Istoric In Companie,
-Internal Work History,Istoria interne de lucru,
-Resignation Letter Date,Dată Scrisoare de Demisie,
-Relieving Date,Alinarea Data,
-Reason for Leaving,Motiv pentru plecare,
-Leave Encashed?,Concediu Incasat ?,
-Encashment Date,Data plata in Numerar,
-New Workplace,Nou loc de muncă,
-HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
-Returned Amount,Suma restituită,
-Claimed,Revendicat,
-Advance Account,Advance Account,
-Employee Attendance Tool,Instrumentul Participarea angajat,
-Unmarked Attendance,Participarea nemarcat,
-Employees HTML,Angajații HTML,
-Marked Attendance,Participarea marcat,
-Marked Attendance HTML,Participarea marcat HTML,
-Employee Benefit Application,Aplicația pentru beneficiile angajaților,
-Max Benefits (Yearly),Beneficii maxime (anual),
-Remaining Benefits (Yearly),Alte beneficii (anuale),
-Payroll Period,Perioada de salarizare,
-Benefits Applied,Beneficii aplicate,
-Dispensed Amount (Pro-rated),Sumă distribuită (Pro-evaluată),
-Employee Benefit Application Detail,Detaliile aplicației pentru beneficiile angajaților,
-Earning Component,Componenta câștigurilor,
-Pay Against Benefit Claim,Plătiți împotriva revendicării beneficiilor,
-Max Benefit Amount,Suma maximă a beneficiilor,
-Employee Benefit Claim,Revendicarea beneficiilor pentru angajați,
-Claim Date,Data revendicării,
-Benefit Type and Amount,Tip de prestație și sumă,
-Claim Benefit For,Revendicați beneficiul pentru,
-Max Amount Eligible,Sumă maximă eligibilă,
-Expense Proof,Cheltuieli de probă,
-Employee Boarding Activity,Activitatea de îmbarcare a angajaților,
-Activity Name,Nume Activitate,
-Task Weight,sarcina Greutate,
-Required for Employee Creation,Necesar pentru crearea angajaților,
-Applicable in the case of Employee Onboarding,Aplicabil în cazul angajării angajaților,
-Employee Checkin,Verificarea angajatilor,
-Log Type,Tip jurnal,
-OUT,OUT,
-Location / Device ID,Locație / ID dispozitiv,
-Skip Auto Attendance,Treci la prezența automată,
-Shift Start,Start Shift,
-Shift End,Shift End,
-Shift Actual Start,Shift Start inițial,
-Shift Actual End,Schimbare finală efectivă,
-Employee Education,Educație Angajat,
-School/University,Școlar / universitar,
-Graduate,Absolvent,
-Post Graduate,Postuniversitar,
-Under Graduate,Sub Absolvent,
-Year of Passing,Ani de la promovarea,
-Class / Percentage,Clasă / Procent,
-Major/Optional Subjects,Subiecte Majore / Opționale,
-Employee External Work History,Istoric Extern Locuri de Munca Angajat,
-Total Experience,Experiența totală,
-Default Leave Policy,Implicit Politica de plecare,
-Default Salary Structure,Structura salarială implicită,
-Employee Group Table,Tabelul grupului de angajați,
-ERPNext User ID,ID utilizator ERPNext,
-Employee Health Insurance,Angajarea Asigurărilor de Sănătate,
-Health Insurance Name,Nume de Asigurări de Sănătate,
-Employee Incentive,Angajament pentru angajați,
-Incentive Amount,Sumă stimulativă,
-Employee Internal Work History,Istoric Intern Locuri de Munca Angajat,
-Employee Onboarding,Angajarea la bord,
-Notify users by email,Notifica utilizatorii prin e-mail,
-Employee Onboarding Template,Formularul de angajare a angajatului,
-Activities,Activități,
-Employee Onboarding Activity,Activitatea de angajare a angajaților,
-Employee Other Income,Alte venituri ale angajaților,
-Employee Promotion,Promovarea angajaților,
-Promotion Date,Data promoției,
-Employee Promotion Details,Detaliile de promovare a angajaților,
-Employee Promotion Detail,Detaliile de promovare a angajaților,
-Employee Property History,Istoricul proprietății angajatului,
-Employee Separation,Separarea angajaților,
-Employee Separation Template,Șablon de separare a angajaților,
-Exit Interview Summary,Exit Interviu Rezumat,
-Employee Skill,Indemanarea angajatilor,
-Proficiency,Experiență,
-Evaluation Date,Data evaluării,
-Employee Skill Map,Harta de îndemânare a angajaților,
-Employee Skills,Abilități ale angajaților,
-Trainings,instruiri,
-Employee Tax Exemption Category,Angajament categoria de scutire fiscală,
-Max Exemption Amount,Suma maximă de scutire,
-Employee Tax Exemption Declaration,Declarația de scutire fiscală a angajaților,
-Declarations,Declaraţii,
-Total Declared Amount,Suma totală declarată,
-Total Exemption Amount,Valoarea totală a scutirii,
-Employee Tax Exemption Declaration Category,Declarația de scutire fiscală a angajaților,
-Exemption Sub Category,Scutirea subcategoria,
-Exemption Category,Categoria de scutire,
-Maximum Exempted Amount,Suma maximă scutită,
-Declared Amount,Suma declarată,
-Employee Tax Exemption Proof Submission,Sustine gratuitatea acestui serviciu si acceseaza,
-Submission Date,Data depunerii,
-Tax Exemption Proofs,Dovezi privind scutirea de taxe,
-Total Actual Amount,Suma totală reală,
-Employee Tax Exemption Proof Submission Detail,Angajamentul de scutire fiscală Detaliu de prezentare a probelor,
-Maximum Exemption Amount,Suma maximă de scutire,
-Type of Proof,Tip de probă,
-Actual Amount,Suma reală,
-Employee Tax Exemption Sub Category,Scutirea de impozit pe categorii de angajați,
-Tax Exemption Category,Categoria de scutire de taxe,
-Employee Training,Instruirea angajaților,
-Training Date,Data formării,
-Employee Transfer,Transfer de angajați,
-Transfer Date,Data transferului,
-Employee Transfer Details,Detaliile transferului angajatului,
-Employee Transfer Detail,Detalii despre transferul angajatului,
-Re-allocate Leaves,Re-alocarea frunzelor,
-Create New Employee Id,Creați un nou număr de angajați,
-New Employee ID,Codul angajatului nou,
-Employee Transfer Property,Angajamentul transferului de proprietate,
-HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
-Expense Taxes and Charges,Cheltuiește impozite și taxe,
-Total Sanctioned Amount,Suma totală sancționat,
-Total Advance Amount,Suma totală a avansului,
-Total Claimed Amount,Total suma pretinsă,
-Total Amount Reimbursed,Total suma rambursată,
-Vehicle Log,vehicul Log,
-Employees Email Id,Id Email Angajat,
-More Details,Mai multe detalii,
-Expense Claim Account,Cont Solicitare Cheltuială,
-Expense Claim Advance,Avans Solicitare Cheltuială,
-Unclaimed amount,Sumă nerevendicată,
-Expense Claim Detail,Detaliu Solicitare Cheltuială,
-Expense Date,Data cheltuieli,
-Expense Claim Type,Tip Solicitare Cheltuială,
-Holiday List Name,Denumire Lista de Vacanță,
-Total Holidays,Total sărbători,
-Add Weekly Holidays,Adăugă Sărbători Săptămânale,
-Weekly Off,Săptămânal Off,
-Add to Holidays,Adăugă la Sărbători,
-Holidays,Concedii,
-Clear Table,Sterge Masa,
-HR Settings,Setări Resurse Umane,
-Employee Settings,Setări Angajat,
-Retirement Age,Vârsta de pensionare,
-Enter retirement age in years,Introdu o vârsta de pensionare în anii,
-Stop Birthday Reminders,De oprire de naștere Memento,
-Expense Approver Mandatory In Expense Claim,Aprobator Cheltuieli Obligatoriu în Solicitare Cheltuială,
-Payroll Settings,Setări de salarizare,
-Leave,Părăsi,
-Max working hours against Timesheet,Max ore de lucru împotriva Pontaj,
-Include holidays in Total no. of Working Days,Includ vacanțe în total nr. de zile lucrătoare,
-"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","In cazul in care se bifeaza, nr. total de zile lucratoare va include si sarbatorile, iar acest lucru va reduce valoarea Salariul pe Zi",
-"If checked, hides and disables Rounded Total field in Salary Slips","Dacă este bifat, ascunde și dezactivează câmpul total rotunjit din Slips-uri de salariu",
-The fraction of daily wages to be paid for half-day attendance,Fracțiunea salariilor zilnice care trebuie plătită pentru participarea la jumătate de zi,
-Email Salary Slip to Employee,E-mail Salariu Slip angajatului,
-Emails salary slip to employee based on preferred email selected in Employee,alunecare email-uri salariul angajatului în funcție de e-mail preferat selectat în Angajat,
-Encrypt Salary Slips in Emails,Criptați diapozitive de salariu în e-mailuri,
-"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Fișa de salariu trimisă către angajat va fi protejată prin parolă, parola va fi generată pe baza politicii de parolă.",
-Password Policy,Politica de parolă,
-<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Exemplu:</b> SAL- {first_name} - {date_of_birth.year} <br> Aceasta va genera o parolă precum SAL-Jane-1972,
-Leave Settings,Lăsați Setările,
-Leave Approval Notification Template,Lăsați șablonul de notificare de aprobare,
-Leave Status Notification Template,Părăsiți șablonul de notificare a statutului,
-Role Allowed to Create Backdated Leave Application,Rolul permis pentru a crea o cerere de concediu retardat,
-Leave Approver Mandatory In Leave Application,Concedierea obligatorie la cerere,
-Show Leaves Of All Department Members In Calendar,Afișați frunzele tuturor membrilor departamentului în calendar,
-Auto Leave Encashment,Auto Encashment,
-Hiring Settings,Setări de angajare,
-Check Vacancies On Job Offer Creation,Verificați posturile vacante pentru crearea ofertei de locuri de muncă,
-Identification Document Type,Tipul documentului de identificare,
-Effective from,Efectiv de la,
-Allow Tax Exemption,Permiteți scutirea de taxe,
-"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Dacă este activată, Declarația de scutire de impozit va fi luată în considerare pentru calcularea impozitului pe venit.",
-Standard Tax Exemption Amount,Suma standard de scutire de impozit,
-Taxable Salary Slabs,Taxe salariale,
-Taxes and Charges on Income Tax,Impozite și taxe pe impozitul pe venit,
-Other Taxes and Charges,Alte impozite și taxe,
-Income Tax Slab Other Charges,Impozitul pe venit Slab Alte taxe,
-Min Taxable Income,Venit minim impozabil,
-Max Taxable Income,Venitul maxim impozabil,
-Applicant for a Job,Solicitant pentru un loc de muncă,
-Accepted,Acceptat,
-Job Opening,Loc de munca disponibil,
-Cover Letter,Scrisoare de intenție,
-Resume Attachment,CV-Atașamentul,
-Job Applicant Source,Sursă Solicitant Loc de Muncă,
-Applicant Email Address,Adresa de e-mail a solicitantului,
-Awaiting Response,Se aşteaptă răspuns,
-Job Offer Terms,Condiții Ofertă de Muncă,
-Select Terms and Conditions,Selectați Termeni și condiții,
-Printing Details,Imprimare Detalii,
-Job Offer Term,Termen Ofertă de Muncă,
-Offer Term,Termen oferta,
-Value / Description,Valoare / Descriere,
-Description of a Job Opening,Descrierea unei slujbe,
-Job Title,Denumire Post,
-Staffing Plan,Planul de personal,
-Planned number of Positions,Număr planificat de poziții,
-"Job profile, qualifications required etc.","Profilul postului, calificări necesare, etc",
-HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
-Allocation,Alocare,
-New Leaves Allocated,Cereri noi de concediu alocate,
-Add unused leaves from previous allocations,Adăugați zile de concediu neutilizate de la alocări anterioare,
-Unused leaves,Frunze neutilizate,
-Total Leaves Allocated,Totalul Frunze alocate,
-Total Leaves Encashed,Frunze totale încorporate,
-Leave Period,Lăsați perioada,
-Carry Forwarded Leaves,Trasmite Concedii Inaintate,
-Apply / Approve Leaves,Aplicați / aprobaţi concedii,
-HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
-Leave Balance Before Application,Balanta Concediu Inainte de Aplicare,
-Total Leave Days,Total de zile de concediu,
-Leave Approver Name,Lăsați Nume aprobator,
-Follow via Email,Urmați prin e-mail,
-Block Holidays on important days.,Blocaţi zile de sărbătoare în zilele importante.,
-Leave Block List Name,Denumire Lista Concedii Blocate,
-Applies to Company,Se aplică companiei,
-"If not checked, the list will have to be added to each Department where it has to be applied.","In cazul in care este debifat, lista va trebui să fie adăugata fiecarui Departament unde trebuie sa fie aplicată.",
-Block Days,Zile de blocare,
-Stop users from making Leave Applications on following days.,Opri utilizatorii de la a face aplicații concediu pentru următoarele zile.,
-Leave Block List Dates,Date Lista Concedii Blocate,
-Allow Users,Permiteți utilizatori,
-Allow the following users to approve Leave Applications for block days.,Permiteţi următorilor utilizatori să aprobe cereri de concediu pentru zile blocate.,
-Leave Block List Allowed,Lista Concedii Blocate Permise,
-Leave Block List Allow,Permite Lista Concedii Blocate,
-Allow User,Permiteţi utilizator,
-Leave Block List Date,Data Lista Concedii Blocate,
-Block Date,Dată blocare,
-Leave Control Panel,Panou de Control Concediu,
-Select Employees,Selectați angajati,
-Employment Type (optional),Tip de angajare (opțional),
-Branch (optional),Sucursală (opțional),
-Department (optional),Departamentul (opțional),
-Designation (optional),Desemnare (opțional),
-Employee Grade (optional),Gradul angajatului (opțional),
-Employee (optional),Angajat (opțional),
-Allocate Leaves,Alocați frunzele,
-Carry Forward,Transmite Inainte,
-Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Vă rugăm să selectați reporta dacă doriți și să includă echilibrul de anul precedent fiscal lasă în acest an fiscal,
-New Leaves Allocated (In Days),Cereri noi de concediu alocate (în zile),
-Allocate,Alocaţi,
-Leave Balance,Lasă balanța,
-Encashable days,Zile încorporate,
-Encashment Amount,Suma de încasare,
-Leave Ledger Entry,Lăsați intrarea în evidență,
-Transaction Name,Numele tranzacției,
-Is Carry Forward,Este Carry Forward,
-Is Expired,Este expirat,
-Is Leave Without Pay,Este concediu fără plată,
-Holiday List for Optional Leave,Lista de vacanță pentru concediul opțional,
-Leave Allocations,Lăsați alocările,
-Leave Policy Details,Lăsați detaliile politicii,
-Leave Policy Detail,Lăsați detaliile politicii,
-Annual Allocation,Alocarea anuală,
-Leave Type Name,Denumire Tip Concediu,
-Max Leaves Allowed,Frunzele maxime sunt permise,
-Applicable After (Working Days),Aplicabil după (zile lucrătoare),
-Maximum Continuous Days Applicable,Zilele maxime continue sunt aplicabile,
-Is Optional Leave,Este concediu opțională,
-Allow Negative Balance,Permiteţi sold negativ,
-Include holidays within leaves as leaves,Includ zilele de sărbătoare în frunze ca frunze,
-Is Compensatory,Este compensatorie,
-Maximum Carry Forwarded Leaves,Frunze transmise maxim transportat,
-Expire Carry Forwarded Leaves (Days),Expirați transportați frunzele transmise (zile),
-Calculated in days,Calculat în zile,
-Encashment,Încasare,
-Allow Encashment,Permiteți încorporarea,
-Encashment Threshold Days,Zilele pragului de încasare,
-Earned Leave,Salariu câștigat,
-Is Earned Leave,Este lăsat câștigat,
-Earned Leave Frequency,Frecvența de plecare câștigată,
-Rounding,Rotunjire,
-Payroll Employee Detail,Detaliile salariaților salariați,
-Payroll Frequency,Frecventa de salarizare,
-Fortnightly,bilunară,
-Bimonthly,Bilunar,
-Employees,Numar de angajati,
-Number Of Employees,Numar de angajati,
-Employee Details,Detalii angajaților,
-Validate Attendance,Validați participarea,
-Salary Slip Based on Timesheet,Bazat pe salariu Slip Pontaj,
-Select Payroll Period,Perioada de selectare Salarizare,
-Deduct Tax For Unclaimed Employee Benefits,Deducerea Impozitelor Pentru Beneficiile Nerecuperate ale Angajaților,
-Deduct Tax For Unsubmitted Tax Exemption Proof,Deducerea impozitului pentru dovada scutirii fiscale neimpozitate,
-Select Payment Account to make Bank Entry,Selectați Cont de plăți pentru a face Banca de intrare,
-Salary Slips Created,Slipsuri salariale create,
-Salary Slips Submitted,Salariile trimise,
-Payroll Periods,Perioade de salarizare,
-Payroll Period Date,Data perioadei de salarizare,
-Purpose of Travel,Scopul călătoriei,
-Retention Bonus,Bonus de Retenție,
-Bonus Payment Date,Data de plată Bonus,
-Bonus Amount,Bonus Suma,
-Abbr,Presc,
-Depends on Payment Days,Depinde de Zilele de plată,
-Is Tax Applicable,Taxa este aplicabilă,
-Variable Based On Taxable Salary,Variabilă pe salariu impozabil,
-Exempted from Income Tax,Scutit de impozitul pe venit,
-Round to the Nearest Integer,Rotund la cel mai apropiat număr întreg,
-Statistical Component,Componenta statistică,
-"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. ","Dacă este selectată, valoarea specificată sau calculată în această componentă nu va contribui la câștigurile sau deducerile. Cu toate acestea, valoarea sa poate fi menționată de alte componente care pot fi adăugate sau deduse.",
-Do Not Include in Total,Nu includeți în total,
-Flexible Benefits,Beneficii flexibile,
-Is Flexible Benefit,Este benefică flexibilă,
-Max Benefit Amount (Yearly),Sumă maximă pentru beneficiu (anual),
-Only Tax Impact (Cannot Claim But Part of Taxable Income),"Numai impactul fiscal (nu poate fi revendicat, ci parte din venitul impozabil)",
-Create Separate Payment Entry Against Benefit Claim,Creați o intrare separată de plată împotriva revendicării beneficiilor,
-Condition and Formula,Condiție și formulă,
-Amount based on formula,Suma bazată pe formula generală,
-Formula,Formulă,
-Salary Detail,Detalii salariu,
-Component,component,
-Do not include in total,Nu includeți în total,
-Default Amount,Sumă Implicită,
-Additional Amount,Suma suplimentară,
-Tax on flexible benefit,Impozitul pe beneficii flexibile,
-Tax on additional salary,Impozit pe salariu suplimentar,
-Salary Structure,Structura salariu,
-Working Days,Zile lucratoare,
-Salary Slip Timesheet,Salariu alunecare Pontaj,
-Total Working Hours,Numărul total de ore de lucru,
-Hour Rate,Rata Oră,
-Bank Account No.,Cont bancar nr.,
-Earning & Deduction,Câștig Salarial si Deducere,
-Earnings,Câștiguri,
-Deductions,Deduceri,
-Loan repayment,Rambursare a creditului,
-Employee Loan,angajat de împrumut,
-Total Principal Amount,Sumă totală principală,
-Total Interest Amount,Suma totală a dobânzii,
-Total Loan Repayment,Rambursarea totală a creditului,
-net pay info,info net pay,
-Gross Pay - Total Deduction - Loan Repayment,Plata brută - Deducerea totală - rambursare a creditului,
-Total in words,Total în cuvinte,
-Net Pay (in words) will be visible once you save the Salary Slip.,Pay net (în cuvinte) vor fi vizibile după ce salvați fluturasul de salariu.,
-Salary Component for timesheet based payroll.,Componenta de salarizare pentru salarizare bazate pe timesheet.,
-Leave Encashment Amount Per Day,Părăsiți Suma de Invenție pe Zi,
-Max Benefits (Amount),Beneficii maxime (suma),
-Salary breakup based on Earning and Deduction.,Salariul despartire bazat privind câștigul salarial și deducere.,
-Total Earning,Câștigul salarial total de,
-Salary Structure Assignment,Structura salarială,
-Shift Assignment,Schimbare asignare,
-Shift Type,Tip Shift,
-Shift Request,Cerere de schimbare,
-Enable Auto Attendance,Activați prezența automată,
-Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Marcați prezența pe baza „Verificării angajaților” pentru angajații repartizați în această schimbă.,
-Auto Attendance Settings,Setări de prezență automată,
-Determine Check-in and Check-out,Determinați check-in și check-out,
-Alternating entries as IN and OUT during the same shift,Alternarea intrărilor ca IN și OUT în timpul aceleiași deplasări,
-Strictly based on Log Type in Employee Checkin,Strict bazat pe tipul de jurnal în verificarea angajaților,
-Working Hours Calculation Based On,Calculul orelor de lucru bazat pe,
-First Check-in and Last Check-out,Primul check-in și ultimul check-out,
-Every Valid Check-in and Check-out,Fiecare check-in și check-out valabil,
-Begin check-in before shift start time (in minutes),Începeți check-in-ul înainte de ora de începere a schimbului (în minute),
-The time before the shift start time during which Employee Check-in is considered for attendance.,Timpul înainte de ora de începere a schimbului în timpul căruia se consideră check-in-ul angajaților pentru participare.,
-Allow check-out after shift end time (in minutes),Permite check-out după ora de încheiere a schimbului (în minute),
-Time after the end of shift during which check-out is considered for attendance.,Timpul după încheierea turei în timpul căreia se face check-out pentru participare.,
-Working Hours Threshold for Half Day,Prag de lucru pentru o jumătate de zi,
-Working hours below which Half Day is marked. (Zero to disable),Ore de lucru sub care este marcată jumătate de zi. (Zero dezactivat),
-Working Hours Threshold for Absent,Prag de lucru pentru orele absente,
-Working hours below which Absent is marked. (Zero to disable),Ore de lucru sub care este marcat absentul. (Zero dezactivat),
-Process Attendance After,Prezență la proces după,
-Attendance will be marked automatically only after this date.,Participarea va fi marcată automat numai după această dată.,
-Last Sync of Checkin,Ultima sincronizare a checkin-ului,
-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.,Ultima sincronizare cunoscută cu succes a verificării angajaților. Resetați acest lucru numai dacă sunteți sigur că toate jurnalele sunt sincronizate din toate locațiile. Vă rugăm să nu modificați acest lucru dacă nu sunteți sigur.,
-Grace Period Settings For Auto Attendance,Setări pentru perioada de grație pentru prezența automată,
-Enable Entry Grace Period,Activați perioada de grație de intrare,
-Late Entry Grace Period,Perioada de grație de intrare târzie,
-The time after the shift start time when check-in is considered as late (in minutes).,"Ora după ora de începere a schimbului, când check-in este considerată întârziată (în minute).",
-Enable Exit Grace Period,Activați Perioada de grație de ieșire,
-Early Exit Grace Period,Perioada de grație de ieșire timpurie,
-The time before the shift end time when check-out is considered as early (in minutes).,"Timpul înainte de ora de încheiere a schimbului, când check-out-ul este considerat mai devreme (în minute).",
-Skill Name,Nume de îndemânare,
-Staffing Plan Details,Detaliile planului de personal,
-Staffing Plan Detail,Detaliile planului de personal,
-Total Estimated Budget,Bugetul total estimat,
-Vacancies,Posturi vacante,
-Estimated Cost Per Position,Costul estimat pe poziție,
-Total Estimated Cost,Costul total estimat,
-Current Count,Contorul curent,
-Current Openings,Deschideri curente,
-Number Of Positions,Numărul de poziții,
-Taxable Salary Slab,Taxable Salary Slab,
-From Amount,Din Sumă,
-To Amount,La suma,
-Percent Deduction,Deducție procentuală,
-Training Program,Program de antrenament,
-Event Status,Stare eveniment,
-Has Certificate,Are certificat,
-Seminar,Seminar,
-Theory,Teorie,
-Workshop,Atelier,
-Conference,Conferinţă,
-Exam,Examen,
-Internet,Internet,
-Self-Study,Studiu individual,
-Advance,Avans,
-Trainer Name,Nume formator,
-Trainer Email,trainer e-mail,
-Attendees,Participanți,
-Employee Emails,E-mailuri ale angajaților,
-Training Event Employee,Eveniment de formare Angajat,
-Invited,invitați,
-Feedback Submitted,Feedbackul a fost trimis,
-Optional,facultativ,
-Training Result Employee,Angajat de formare Rezultat,
-Travel Itinerary,Itinerariul de călătorie,
-Travel From,Călătorie de la,
-Travel To,Călători în,
-Mode of Travel,Modul de călătorie,
-Flight,Zbor,
-Train,Tren,
-Taxi,Taxi,
-Rented Car,Mașină închiriată,
-Meal Preference,Preferința de mâncare,
-Vegetarian,Vegetarian,
-Non-Vegetarian,Non vegetarian,
-Gluten Free,Fara gluten,
-Non Diary,Non-jurnal,
-Travel Advance Required,Advance Travel Required,
-Departure Datetime,Data plecării,
-Arrival Datetime,Ora de sosire,
-Lodging Required,Cazare solicitată,
-Preferred Area for Lodging,Zonă preferată de cazare,
-Check-in Date,Data înscrierii,
-Check-out Date,Verifica data,
-Travel Request,Cerere de călătorie,
-Travel Type,Tip de călătorie,
-Domestic,Intern,
-International,Internaţional,
-Travel Funding,Finanțarea turismului,
-Require Full Funding,Solicitați o finanțare completă,
-Fully Sponsored,Sponsorizat complet,
-"Partially Sponsored, Require Partial Funding","Parțial sponsorizat, necesită finanțare parțială",
-Copy of Invitation/Announcement,Copia invitatiei / anuntului,
-"Details of Sponsor (Name, Location)","Detalii despre sponsor (nume, locație)",
-Identification Document Number,Cod Numeric Personal,
-Any other details,Orice alte detalii,
-Costing Details,Costul detaliilor,
-Costing,Cost,
-Event Details,detaliile evenimentului,
-Name of Organizer,Numele organizatorului,
-Address of Organizer,Adresa organizatorului,
-Travel Request Costing,Costul cererii de călătorie,
-Expense Type,Tipul de cheltuieli,
-Sponsored Amount,Suma sponsorizată,
-Funded Amount,Sumă finanțată,
-Upload Attendance,Încărcați Spectatori,
-Attendance From Date,Prezenţa de la data,
-Attendance To Date,Prezenţa până la data,
-Get Template,Obține șablon,
-Import Attendance,Import Spectatori,
-Upload HTML,Încărcați HTML,
-Vehicle,Vehicul,
-License Plate,Înmatriculare,
-Odometer Value (Last),Valoarea contorului de parcurs (Ultimul),
-Acquisition Date,Data achiziției,
-Chassis No,Nr. Șasiu,
-Vehicle Value,Valoarea vehiculului,
-Insurance Details,Detalii de asigurare,
-Insurance Company,Companie de asigurari,
-Policy No,Politica nr,
-Additional Details,Detalii suplimentare,
-Fuel Type,Tipul combustibilului,
-Petrol,Benzină,
-Diesel,Diesel,
-Natural Gas,Gaz natural,
-Electric,Electric,
-Fuel UOM,combustibil UOM,
-Last Carbon Check,Ultima Verificare carbon,
-Wheels,roţi,
-Doors,Usi,
-HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
-Odometer Reading,Kilometrajul,
-Current Odometer value ,Valoarea actuală a contorului,
-last Odometer Value ,ultima valoare Odometru,
-Refuelling Details,Detalii de realimentare,
-Invoice Ref,Ref factură,
-Service Details,Detalii de serviciu,
-Service Detail,Detaliu serviciu,
-Vehicle Service,Serviciu de vehicule,
-Service Item,Postul de servicii,
-Brake Oil,Ulei de frână,
-Brake Pad,Pad de frână,
-Clutch Plate,Placă de ambreiaj,
-Engine Oil,Ulei de motor,
-Oil Change,Schimbare de ulei,
-Inspection,Inspecţie,
-Mileage,distanță parcursă,
-Hub Tracked Item,Articol urmărit,
-Hub Node,Hub Node,
-Image List,Listă de imagini,
-Item Manager,Postul de manager,
-Hub User,Utilizator Hub,
-Hub Password,Parola Hub,
-Hub Users,Hub utilizatori,
-Marketplace Settings,Setări pentru piață,
-Disable Marketplace,Dezactivați Marketplace,
-Marketplace URL (to hide and update label),Adresa URL de pe piață (pentru ascunderea și actualizarea etichetei),
-Registered,Înregistrat,
-Sync in Progress,Sincronizați în curs,
-Hub Seller Name,Numele vânzătorului Hub,
-Custom Data,Date personalizate,
-Member,Membru,
-Partially Disbursed,parţial Se eliberează,
-Loan Closure Requested,Solicitare de închidere a împrumutului,
-Repay From Salary,Rambursa din salariu,
-Loan Details,Creditul Detalii,
-Loan Type,Tip credit,
-Loan Amount,Sumă împrumutată,
-Is Secured Loan,Este împrumut garantat,
-Rate of Interest (%) / Year,Rata dobânzii (%) / An,
-Disbursement Date,debursare,
-Disbursed Amount,Suma plătită,
-Is Term Loan,Este împrumut pe termen,
-Repayment Method,Metoda de rambursare,
-Repay Fixed Amount per Period,Rambursa Suma fixă pentru fiecare perioadă,
-Repay Over Number of Periods,Rambursa Peste Număr de Perioade,
-Repayment Period in Months,Rambursarea Perioada în luni,
-Monthly Repayment Amount,Suma de rambursare lunar,
-Repayment Start Date,Data de începere a rambursării,
-Loan Security Details,Detalii privind securitatea împrumutului,
-Maximum Loan Value,Valoarea maximă a împrumutului,
-Account Info,Informaţii cont,
-Loan Account,Contul împrumutului,
-Interest Income Account,Contul Interes Venit,
-Penalty Income Account,Cont de venituri din penalități,
-Repayment Schedule,rambursare Program,
-Total Payable Amount,Suma totală de plată,
-Total Principal Paid,Total plătit principal,
-Total Interest Payable,Dobânda totală de plată,
-Total Amount Paid,Suma totală plătită,
-Loan Manager,Managerul de împrumut,
-Loan Info,Creditul Info,
-Rate of Interest,Rata Dobânzii,
-Proposed Pledges,Promisiuni propuse,
-Maximum Loan Amount,Suma maximă a împrumutului,
-Repayment Info,Info rambursarea,
-Total Payable Interest,Dobânda totală de plată,
-Against Loan ,Împotriva împrumutului,
-Loan Interest Accrual,Dobândirea dobânzii împrumutului,
-Amounts,sume,
-Pending Principal Amount,Suma pendintei principale,
-Payable Principal Amount,Suma principală plătibilă,
-Paid Principal Amount,Suma principală plătită,
-Paid Interest Amount,Suma dobânzii plătite,
-Process Loan Interest Accrual,Procesul de dobândă de împrumut,
-Repayment Schedule Name,Numele programului de rambursare,
-Regular Payment,Plată regulată,
-Loan Closure,Închiderea împrumutului,
-Payment Details,Detalii de plata,
-Interest Payable,Dobândi de plătit,
-Amount Paid,Sumă plătită,
-Principal Amount Paid,Suma principală plătită,
-Repayment Details,Detalii de rambursare,
-Loan Repayment Detail,Detaliu rambursare împrumut,
-Loan Security Name,Numele securității împrumutului,
-Unit Of Measure,Unitate de măsură,
-Loan Security Code,Codul de securitate al împrumutului,
-Loan Security Type,Tip de securitate împrumut,
-Haircut %,Tunsori%,
-Loan  Details,Detalii despre împrumut,
-Unpledged,Unpledged,
-Pledged,gajat,
-Partially Pledged,Parțial Gajat,
-Securities,Titluri de valoare,
-Total Security Value,Valoarea totală a securității,
-Loan Security Shortfall,Deficitul de securitate al împrumutului,
-Loan ,Împrumut,
-Shortfall Time,Timpul neajunsurilor,
-America/New_York,America / New_York,
-Shortfall Amount,Suma deficiențelor,
-Security Value ,Valoarea de securitate,
-Process Loan Security Shortfall,Deficitul de securitate a împrumutului de proces,
-Loan To Value Ratio,Raportul împrumut / valoare,
-Unpledge Time,Timp de neîncărcare,
-Loan Name,Nume de împrumut,
-Rate of Interest (%) Yearly,Rata Dobânzii (%) Anual,
-Penalty Interest Rate (%) Per Day,Rata dobânzii de penalizare (%) pe zi,
-Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Rata dobânzii pentru penalități este percepută zilnic pe valoarea dobânzii în curs de rambursare întârziată,
-Grace Period in Days,Perioada de har în zile,
-No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Numărul de zile de la data scadenței până la care nu se va percepe penalitatea în cazul întârzierii rambursării împrumutului,
-Pledge,Angajament,
-Post Haircut Amount,Postează cantitatea de tuns,
-Process Type,Tipul procesului,
-Update Time,Timpul de actualizare,
-Proposed Pledge,Gajă propusă,
-Total Payment,Plată totală,
-Balance Loan Amount,Soldul Suma creditului,
-Is Accrued,Este acumulat,
-Salary Slip Loan,Salariu Slip împrumut,
-Loan Repayment Entry,Intrarea rambursării împrumutului,
-Sanctioned Loan Amount,Suma de împrumut sancționată,
-Sanctioned Amount Limit,Limita sumei sancționate,
-Unpledge,Unpledge,
-Haircut,Tunsoare,
-MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
-Generate Schedule,Generează orar,
-Schedules,Orarele,
-Maintenance Schedule Detail,Detalii Program Mentenanta,
-Scheduled Date,Data programată,
-Actual Date,Data efectiva,
-Maintenance Schedule Item,Articol Program Mentenanță,
-Random,aleatoriu,
-No of Visits,Nu de vizite,
-MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
-Maintenance Date,Dată Mentenanță,
-Maintenance Time,Timp Mentenanta,
-Completion Status,Stare Finalizare,
-Partially Completed,Parțial finalizate,
-Fully Completed,Finalizat,
-Unscheduled,Neprogramat,
-Breakdown,Avarie,
-Purposes,Scopuri,
-Customer Feedback,Feedback Client,
-Maintenance Visit Purpose,Scop Vizită Mentenanță,
-Work Done,Activitatea desfășurată,
-Against Document No,Împotriva documentul nr,
-Against Document Detail No,Comparativ detaliilor documentului nr.,
-MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
-Order Type,Tip comandă,
-Blanket Order Item,Articol de comandă pentru plicuri,
-Ordered Quantity,Ordonat Cantitate,
-Item to be manufactured or repacked,Articol care urmează să fie fabricat sau reambalat,
-Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Cantitatea de produs obținut după fabricarea / reambalare de la cantități date de materii prime,
-Set rate of sub-assembly item based on BOM,Viteza setată a elementului subansamblu bazat pe BOM,
-Allow Alternative Item,Permiteți un element alternativ,
-Item UOM,Articol FDM,
-Conversion Rate,Rata de conversie,
-Rate Of Materials Based On,Rate de materiale bazate pe,
-With Operations,Cu Operațiuni,
-Manage cost of operations,Gestionează costul operațiunilor,
-Transfer Material Against,Transfer material contra,
-Routing,Rutare,
-Materials,Materiale,
-Quality Inspection Required,Inspecție de calitate necesară,
-Quality Inspection Template,Model de inspecție a calității,
-Scrap,Resturi,
-Scrap Items,resturi Articole,
-Operating Cost,Costul de operare,
-Raw Material Cost,Cost Materie Primă,
-Scrap Material Cost,Cost resturi de materiale,
-Operating Cost (Company Currency),Costul de operare (Companie Moneda),
-Raw Material Cost (Company Currency),Costul materiei prime (moneda companiei),
-Scrap Material Cost(Company Currency),Cost resturi de material (companie Moneda),
-Total Cost,Cost total,
-Total Cost (Company Currency),Cost total (moneda companiei),
-Materials Required (Exploded),Materiale necesare (explodat),
-Exploded Items,Articole explozibile,
-Show in Website,Afișați pe site,
-Item Image (if not slideshow),Imagine Articol (dacă nu exista prezentare),
-Thumbnail,Miniatură,
-Website Specifications,Site-ul Specificații,
-Show Items,Afișare articole,
-Show Operations,Afișați Operații,
-Website Description,Site-ul Descriere,
-BOM Explosion Item,Explozie articol BOM,
-Qty Consumed Per Unit,Cantitate consumata pe unitatea,
-Include Item In Manufacturing,Includeți articole în fabricație,
-BOM Item,Articol BOM,
-Item operation,Operarea elementului,
-Rate & Amount,Rata și suma,
-Basic Rate (Company Currency),Rată elementară (moneda companiei),
-Scrap %,Resturi%,
-Original Item,Articolul original,
-BOM Operation,Operațiune BOM,
-Operation Time ,Timpul de funcționare,
-In minutes,În câteva minute,
-Batch Size,Mărimea lotului,
-Base Hour Rate(Company Currency),Rata de bază ore (companie Moneda),
-Operating Cost(Company Currency),Costul de operare (Companie Moneda),
-BOM Scrap Item,BOM Resturi Postul,
-Basic Amount (Company Currency),Suma de bază (Companie Moneda),
-BOM Update Tool,Instrument Actualizare BOM,
-"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.","Înlocuiți un BOM particular în toate celelalte BOM unde este utilizat. Acesta va înlocui vechiul link BOM, va actualiza costul și va regenera tabelul &quot;BOM Explosion Item&quot; ca pe noul BOM. Actualizează, de asemenea, ultimul preț în toate BOM-urile.",
-Replace BOM,Înlocuiește BOM,
-Current BOM,FDM curent,
-The BOM which will be replaced,BOM care va fi înlocuit,
-The new BOM after replacement,Noul BOM după înlocuirea,
-Replace,Înlocuiește,
-Update latest price in all BOMs,Actualizați cel mai recent preț în toate BOM-urile,
-BOM Website Item,Site-ul BOM Articol,
-BOM Website Operation,Site-ul BOM Funcționare,
-Operation Time,Funcționare Ora,
-PO-JOB.#####,PO-JOB. #####,
-Timing Detail,Detalii detaliate,
-Time Logs,Timp Busteni,
-Total Time in Mins,Timp total în mină,
-Operation ID,ID operațiune,
-Transferred Qty,Transferat Cantitate,
-Job Started,Job a început,
-Started Time,Timpul început,
-Current Time,Ora curentă,
-Job Card Item,Cartelă de posturi,
-Job Card Time Log,Jurnalul de timp al cărții de lucru,
-Time In Mins,Timpul în min,
-Completed Qty,Cantitate Finalizata,
-Manufacturing Settings,Setări de Fabricație,
-Raw Materials Consumption,Consumul de materii prime,
-Allow Multiple Material Consumption,Permiteți consumul mai multor materiale,
-Backflush Raw Materials Based On,Backflush Materii Prime bazat pe,
-Material Transferred for Manufacture,Material Transferat pentru fabricarea,
-Capacity Planning,Planificarea capacității,
-Disable Capacity Planning,Dezactivează planificarea capacității,
-Allow Overtime,Permiteți ore suplimentare,
-Allow Production on Holidays,Permiteţi operaţii de producție pe durata sărbătorilor,
-Capacity Planning For (Days),Planificarea capacitate de (zile),
-Default Warehouses for Production,Depozite implicite pentru producție,
-Default Work In Progress Warehouse,Implicit Lucrări în depozit Progress,
-Default Finished Goods Warehouse,Implicite terminat Marfuri Warehouse,
-Default Scrap Warehouse,Depozitul de resturi implicit,
-Overproduction Percentage For Sales Order,Procentaj de supraproducție pentru comandă de vânzări,
-Overproduction Percentage For Work Order,Procentul de supraproducție pentru comanda de lucru,
-Other Settings,alte setări,
-Update BOM Cost Automatically,Actualizați costul BOM automat,
-Material Request Plan Item,Material Cerere plan plan,
-Material Request Type,Material Cerere tip,
-Material Issue,Problema de material,
-Customer Provided,Client oferit,
-Minimum Order Quantity,Cantitatea minima pentru comanda,
-Default Workstation,Implicit Workstation,
-Production Plan,Plan de productie,
-MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
-Get Items From,Obține elemente din,
-Get Sales Orders,Obține comenzile de vânzări,
-Material Request Detail,Detalii privind solicitarea materialului,
-Get Material Request,Material Cerere obțineți,
-Material Requests,Cereri de materiale,
-Get Items For Work Order,Obțineți comenzi pentru lucru,
-Material Request Planning,Planificarea solicitărilor materiale,
-Include Non Stock Items,Includeți articole din stoc,
-Include Subcontracted Items,Includeți articole subcontractate,
-Ignore Existing Projected Quantity,Ignorați cantitatea proiectată existentă,
-"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>.","Pentru a afla mai multe despre cantitatea proiectată, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">faceți clic aici</a> .",
-Download Required Materials,Descărcați materialele necesare,
-Get Raw Materials For Production,Obțineți materii prime pentru producție,
-Total Planned Qty,Cantitatea totală planificată,
-Total Produced Qty,Cantitate total produsă,
-Material Requested,Material solicitat,
-Production Plan Item,Planul de producție Articol,
-Make Work Order for Sub Assembly Items,Realizați comanda de lucru pentru articolele de subansamblare,
-"If enabled, system will create the work order for the exploded items against which BOM is available.","Dacă este activat, sistemul va crea ordinea de lucru pentru elementele explodate pentru care este disponibilă BOM.",
-Planned Start Date,Start data planificată,
-Quantity and Description,Cantitate și descriere,
-material_request_item,material_request_item,
-Product Bundle Item,Produs Bundle Postul,
-Production Plan Material Request,Producția Plan de material Cerere,
-Production Plan Sales Order,Planul de producție comandă de vânzări,
-Sales Order Date,Comandă de vânzări Data,
-Routing Name,Numele de rutare,
-MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
-Item To Manufacture,Articol pentru Fabricare,
-Material Transferred for Manufacturing,Materii Transferate pentru fabricarea,
-Manufactured Qty,Cantitate Produsă,
-Use Multi-Level BOM,Utilizarea Multi-Level BOM,
-Plan material for sub-assemblies,Material Plan de subansambluri,
-Skip Material Transfer to WIP Warehouse,Treceți transferul de materiale la WIP Warehouse,
-Check if material transfer entry is not required,Verificați dacă nu este necesară introducerea transferului de materiale,
-Backflush Raw Materials From Work-in-Progress Warehouse,Materii prime de tip backflush din depozitul &quot;work-in-progress&quot;,
-Update Consumed Material Cost In Project,Actualizați costurile materialelor consumate în proiect,
-Warehouses,Depozite,
-This is a location where raw materials are available.,Acesta este un loc unde materiile prime sunt disponibile.,
-Work-in-Progress Warehouse,Depozit Lucru-în-Progres,
-This is a location where operations are executed.,Aceasta este o locație în care se execută operațiuni.,
-This is a location where final product stored.,Aceasta este o locație în care este depozitat produsul final.,
-Scrap Warehouse,Depozit fier vechi,
-This is a location where scraped materials are stored.,Aceasta este o locație în care sunt depozitate materiale razuite.,
-Required Items,Articole cerute,
-Actual Start Date,Dată Efectivă de Început,
-Planned End Date,Planificate Data de încheiere,
-Actual End Date,Data efectiva de finalizare,
-Operation Cost,Funcționare cost,
-Planned Operating Cost,Planificate cost de operare,
-Actual Operating Cost,Cost efectiv de operare,
-Additional Operating Cost,Costuri de operare adiţionale,
-Total Operating Cost,Cost total de operare,
-Manufacture against Material Request,Fabricare împotriva Cerere Material,
-Work Order Item,Postul de comandă de lucru,
-Available Qty at Source Warehouse,Cantitate disponibilă la Warehouse sursă,
-Available Qty at WIP Warehouse,Cantitate disponibilă la WIP Warehouse,
-Work Order Operation,Comandă de comandă de lucru,
-Operation Description,Operație Descriere,
-Operation completed for how many finished goods?,Funcționare completat de cât de multe bunuri finite?,
-Work in Progress,Lucrări în curs,
-Estimated Time and Cost,Timpul estimat și cost,
-Planned Start Time,Planificate Ora de începere,
-Planned End Time,Planificate End Time,
-in Minutes,In cateva minute,
-Actual Time and Cost,Timp și cost efective,
-Actual Start Time,Timpul efectiv de începere,
-Actual End Time,Timp efectiv de sfârşit,
-Updated via 'Time Log',"Actualizat prin ""Ora Log""",
-Actual Operation Time,Timp efectiv de funcționare,
-in Minutes\nUpdated via 'Time Log',"în procesul-verbal \n Actualizat prin ""Ora Log""",
-(Hour Rate / 60) * Actual Operation Time,(Tarif orar / 60) * Timp efectiv de operare,
-Workstation Name,Stație de lucru Nume,
-Production Capacity,Capacitatea de producție,
-Operating Costs,Costuri de operare,
-Electricity Cost,Cost energie electrică,
-per hour,pe oră,
-Consumable Cost,Cost Consumabile,
-Rent Cost,Cost Chirie,
-Wages,Salarizare,
-Wages per hour,Salarii pe oră,
-Net Hour Rate,Net Rata de ore,
-Workstation Working Hour,Statie de lucru de ore de lucru,
-Certification Application,Cerere de certificare,
-Name of Applicant,Numele aplicantului,
-Certification Status,Stare Certificare,
-Yet to appear,"Totuși, să apară",
-Certified,Certificat,
-Not Certified,Nu este certificată,
-USD,USD,
-INR,INR,
-Certified Consultant,Consultant Certificat,
-Name of Consultant,Numele consultantului,
-Certification Validity,Valabilitatea Certificare,
-Discuss ID,Discutați ID-ul,
-GitHub ID,ID-ul GitHub,
-Non Profit Manager,Manager non-profit,
-Chapter Head,Capitolul Cap,
-Meetup Embed HTML,Meetup Embed HTML,
-chapters/chapter_name\nleave blank automatically set after saving chapter.,capitole / nume_capitale lasă setul automat să fie setat automat după salvarea capitolului.,
-Chapter Members,Capitolul Membri,
-Members,Membrii,
-Chapter Member,Membru de capitol,
-Website URL,Website URL,
-Leave Reason,Lăsați rațiunea,
-Donor Name,Numele donatorului,
-Donor Type,Tipul donatorului,
-Withdrawn,retrasă,
-Grant Application Details ,Detalii privind cererile de finanțare,
-Grant Description,Descrierea granturilor,
-Requested Amount,Suma solicitată,
-Has any past Grant Record,Are vreun dosar Grant trecut,
-Show on Website,Afișați pe site,
-Assessment  Mark (Out of 10),Marca de evaluare (din 10),
-Assessment  Manager,Manager de evaluare,
-Email Notification Sent,Trimiterea notificării prin e-mail,
-NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
-Membership Expiry Date,Data expirării membrilor,
-Razorpay Details,Detalii Razorpay,
-Subscription ID,ID-ul abonamentului,
-Customer ID,Număr de înregistrare client,
-Subscription Activated,Abonament activat,
-Subscription Start ,Începere abonament,
-Subscription End,Încheierea abonamentului,
-Non Profit Member,Membru non-profit,
-Membership Status,Statutul de membru,
-Member Since,Membru din,
-Payment ID,ID de plată,
-Membership Settings,Setări de membru,
-Enable RazorPay For Memberships,Activați RazorPay pentru calitatea de membru,
-RazorPay Settings,Setări RazorPay,
-Billing Cycle,Ciclu de facturare,
-Billing Frequency,Frecvența de facturare,
-"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.","Numărul de cicluri de facturare pentru care ar trebui să fie taxat clientul. De exemplu, dacă un client cumpără un abonament de 1 an care ar trebui să fie facturat lunar, această valoare ar trebui să fie 12.",
-Razorpay Plan ID,ID-ul planului Razorpay,
-Volunteer Name,Nume de voluntar,
-Volunteer Type,Tipul de voluntari,
-Availability and Skills,Disponibilitate și abilități,
-Availability,Disponibilitate,
-Weekends,Weekend-uri,
-Availability Timeslot,Disponibilitatea Timeslot,
-Morning,Dimineaţă,
-Afternoon,Dupa amiaza,
-Evening,Seară,
-Anytime,Oricând,
-Volunteer Skills,Abilități de voluntariat,
-Volunteer Skill,Abilități de voluntariat,
-Homepage,Pagina Principală,
-Hero Section Based On,Secția Eroilor Bazată pe,
-Homepage Section,Secțiunea Prima pagină,
-Hero Section,Secția Eroilor,
-Tag Line,Eticheta linie,
-Company Tagline for website homepage,Firma Tagline pentru pagina de start site,
-Company Description for website homepage,Descriere companie pentru pagina de start site,
-Homepage Slideshow,Prezentare Slideshow a paginii de start,
-"URL for ""All Products""",URL-ul pentru &quot;Toate produsele&quot;,
-Products to be shown on website homepage,Produsele care urmează să fie afișate pe pagina de pornire site,
-Homepage Featured Product,Pagina de intrare de produse recomandate,
-route,traseu,
-Section Based On,Secțiune bazată pe,
-Section Cards,Cărți de secțiune,
-Number of Columns,Numar de coloane,
-Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Numărul de coloane pentru această secțiune. 3 cărți vor fi afișate pe rând dacă selectați 3 coloane.,
-Section HTML,Secțiunea HTML,
-Use this field to render any custom HTML in the section.,Utilizați acest câmp pentru a reda orice HTML personalizat în secțiune.,
-Section Order,Comanda secțiunii,
-"Order in which sections should appear. 0 is first, 1 is second and so on.","Ordinea în care ar trebui să apară secțiunile. 0 este primul, 1 este al doilea și așa mai departe.",
-Homepage Section Card,Pagina de secțiune Card de secțiune,
-Subtitle,Subtitlu,
-Products Settings,produse Setări,
-Home Page is Products,Pagina Principală este Produse,
-"If checked, the Home page will be the default Item Group for the website","Dacă este bifată, pagina de pornire va fi implicit postul Grupului pentru site-ul web",
-Show Availability Status,Afișați starea de disponibilitate,
-Product Page,Pagina produsului,
-Products per Page,Produse pe Pagină,
-Enable Field Filters,Activați filtrele de câmp,
-Item Fields,Câmpurile articolului,
-Enable Attribute Filters,Activați filtrele de atribute,
-Attributes,Atribute,
-Hide Variants,Ascundeți variantele,
-Website Attribute,Atribut site web,
-Attribute,Atribute,
-Website Filter Field,Câmpul de filtrare a site-ului web,
-Activity Cost,Cost activitate,
-Billing Rate,Tarif de facturare,
-Costing Rate,Costing Rate,
-title,titlu,
-Projects User,Utilizator Proiecte,
-Default Costing Rate,Rată Cost Implicit,
-Default Billing Rate,Tarif de Facturare Implicit,
-Dependent Task,Sarcina dependent,
-Project Type,Tip de proiect,
-% Complete Method,% Metoda completă,
-Task Completion,sarcina Finalizarea,
-Task Progress,Progresul sarcină,
-% Completed,% Finalizat,
-From Template,Din șablon,
-Project will be accessible on the website to these users,Proiectul va fi accesibil pe site-ul acestor utilizatori,
-Copied From,Copiat de la,
-Start and End Dates,Începere și de încheiere Date,
-Actual Time (in Hours),Ora reală (în ore),
-Costing and Billing,Calculație a cheltuielilor și veniturilor,
-Total Costing Amount (via Timesheets),Suma totală a costurilor (prin intermediul foilor de pontaj),
-Total Expense Claim (via Expense Claims),Revendicarea Total cheltuieli (prin formularele de decont),
-Total Purchase Cost (via Purchase Invoice),Cost total de achiziție (prin cumparare factură),
-Total Sales Amount (via Sales Order),Suma totală a vânzărilor (prin comandă de vânzări),
-Total Billable Amount (via Timesheets),Sumă totală facturată (prin intermediul foilor de pontaj),
-Total Billed Amount (via Sales Invoices),Suma facturată totală (prin facturi de vânzare),
-Total Consumed Material Cost  (via Stock Entry),Costul total al materialelor consumate (prin intrarea în stoc),
-Gross Margin,Marja Brută,
-Gross Margin %,Marja Bruta%,
-Monitor Progress,Monitorizați progresul,
-Collect Progress,Collect Progress,
-Frequency To Collect Progress,Frecventa de colectare a progresului,
-Twice Daily,De doua ori pe zi,
-First Email,Primul e-mail,
-Second Email,Al doilea e-mail,
-Time to send,Este timpul să trimiteți,
-Day to Send,Zi de Trimis,
-Message will be sent to the users to get their status on the Project,Mesajul va fi trimis utilizatorilor pentru a obține starea lor în Proiect,
-Projects Manager,Manager Proiecte,
-Project Template,Model de proiect,
-Project Template Task,Sarcina șablonului de proiect,
-Begin On (Days),Începeți (zile),
-Duration (Days),Durata (zile),
-Project Update,Actualizarea proiectului,
-Project User,utilizator proiect,
-View attachments,Vizualizați atașamentele,
-Projects Settings,Setări pentru proiecte,
-Ignore Workstation Time Overlap,Ignorați suprapunerea timpului de lucru al stației,
-Ignore User Time Overlap,Ignorați timpul suprapunerii utilizatorului,
-Ignore Employee Time Overlap,Ignorați suprapunerea timpului angajatului,
-Weight,Greutate,
-Parent Task,Activitatea părintească,
-Timeline,Cronologie,
-Expected Time (in hours),Timp de așteptat (în ore),
-% Progress,% Progres,
-Is Milestone,Este Milestone,
-Task Description,Descrierea sarcinii,
-Dependencies,dependenţe,
-Dependent Tasks,Sarcini dependente,
-Depends on Tasks,Depinde de Sarcini,
-Actual Start Date (via Time Sheet),Data Efectiva de Început (prin Pontaj),
-Actual Time (in hours),Timpul efectiv (în ore),
-Actual End Date (via Time Sheet),Dată de Încheiere Efectivă (prin Pontaj),
-Total Costing Amount (via Time Sheet),Suma totală de calculație a costurilor (prin timp Sheet),
-Total Expense Claim (via Expense Claim),Revendicarea Total cheltuieli (prin cheltuieli revendicarea),
-Total Billing Amount (via Time Sheet),Suma totală de facturare (prin timp Sheet),
-Review Date,Data Comentariului,
-Closing Date,Data de Inchidere,
-Task Depends On,Sarcina Depinde,
-Task Type,Tipul sarcinii,
-TS-.YYYY.-,TS-.YYYY.-,
-Employee Detail,Detaliu angajat,
-Billing Details,Detalii de facturare,
-Total Billable Hours,Numărul total de ore facturabile,
-Total Billed Hours,Numărul total de ore facturate,
-Total Costing Amount,Suma totală Costing,
-Total Billable Amount,Suma totală Taxabil,
-Total Billed Amount,Suma totală Billed,
-% Amount Billed,% Suma facturata,
-Hrs,ore,
-Costing Amount,Costing Suma,
-Corrective/Preventive,Corectivă / preventivă,
-Corrective,corectiv,
-Preventive,Preventiv,
-Resolution,Rezoluție,
-Resolutions,rezoluţiile,
-Quality Action Resolution,Rezolvare acțiuni de calitate,
-Quality Feedback Parameter,Parametru de feedback al calității,
-Quality Feedback Template Parameter,Parametrul șablonului de feedback al calității,
-Quality Goal,Obiectivul de calitate,
-Monitoring Frequency,Frecvența de monitorizare,
-Weekday,zi de lucru,
-Objectives,Obiective,
-Quality Goal Objective,Obiectivul calității,
-Objective,Obiectiv,
-Agenda,Agendă,
-Minutes,Minute,
-Quality Meeting Agenda,Agenda întâlnirii de calitate,
-Quality Meeting Minutes,Proces-verbal de calitate al întâlnirii,
-Minute,Minut,
-Parent Procedure,Procedura părinților,
-Processes,procese,
-Quality Procedure Process,Procesul procedurii de calitate,
-Process Description,Descrierea procesului,
-Link existing Quality Procedure.,Conectați procedura de calitate existentă.,
-Additional Information,informatii suplimentare,
-Quality Review Objective,Obiectivul revizuirii calității,
-DATEV Settings,Setări DATEV,
-Regional,Regional,
-Consultant ID,ID-ul consultantului,
-GST HSN Code,Codul GST HSN,
-HSN Code,Codul HSN,
-GST Settings,Setări GST,
-GST Summary,Rezumatul GST,
-GSTIN Email Sent On,GSTIN Email trimis pe,
-GST Accounts,Conturi GST,
-B2C Limit,Limita B2C,
-Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Setați valoarea facturii pentru B2C. B2CL și B2CS calculate pe baza acestei valori de facturare.,
-GSTR 3B Report,Raportul GSTR 3B,
-January,ianuarie,
-February,februarie,
-March,Martie,
-April,Aprilie,
-May,Mai,
-June,iunie,
-July,iulie,
-August,August,
-September,Septembrie,
-October,octombrie,
-November,noiembrie,
-December,decembrie,
-JSON Output,Ieșire JSON,
-Invoices with no Place Of Supply,Facturi fără loc de furnizare,
-Import Supplier Invoice,Import factură furnizor,
-Invoice Series,Seria facturilor,
-Upload XML Invoices,Încărcați facturile XML,
-Zip File,Fișier Zip,
-Import Invoices,Importul facturilor,
-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.,Faceți clic pe butonul Import facturi după ce fișierul zip a fost atașat la document. Orice erori legate de procesare vor fi afișate în Jurnalul de erori.,
-Lower Deduction Certificate,Certificat de deducere inferior,
-Certificate Details,Detalii certificat,
-194A,194A,
-194C,194C,
-194D,194D,
-194H,194H,
-194I,194I,
-194J,194J,
-194LA,194LA,
-194LBB,194LBB,
-194LBC,194LBC,
-Certificate No,număr de certificat,
-Deductee Details,Detalii despre deducere,
-PAN No,PAN nr,
-Validity Details,Detalii de valabilitate,
-Rate Of TDS As Per Certificate,Rata TDS conform certificatului,
-Certificate Limit,Limita certificatului,
-Invoice Series Prefix,Prefixul seriei de facturi,
-Active Menu,Meniul activ,
-Restaurant Menu,Meniu Restaurant,
-Price List (Auto created),Listă Prețuri (creată automat),
-Restaurant Manager,Manager Restaurant,
-Restaurant Menu Item,Articol Meniu Restaurant,
-Restaurant Order Entry,Intrare comandă de restaurant,
-Restaurant Table,Masă Restaurant,
-Click Enter To Add,Faceți clic pe Enter to Add,
-Last Sales Invoice,Ultima factură de vânzare,
-Current Order,Comanda actuală,
-Restaurant Order Entry Item,Articol de intrare pentru comandă pentru restaurant,
-Served,servit,
-Restaurant Reservation,Rezervare la restaurant,
-Waitlisted,waitlisted,
-No Show,Neprezentare,
-No of People,Nr de oameni,
-Reservation Time,Timp de rezervare,
-Reservation End Time,Timp de terminare a rezervării,
-No of Seats,Numărul de scaune,
-Minimum Seating,Scaunele minime,
-"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Păstra Tractor de campanii de vanzari. Țineți evidența de afaceri, Cotațiile, comandă de vânzări, etc de la Campanii pentru a evalua Return on Investment.",
-SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
-Campaign Schedules,Programele campaniei,
-Buyer of Goods and Services.,Cumpărător de produse și servicii.,
-CUST-.YYYY.-,CUST-.YYYY.-,
-Default Company Bank Account,Cont bancar al companiei implicite,
-From Lead,Din Pistă,
-Account Manager,Manager Conturi,
-Allow Sales Invoice Creation Without Sales Order,Permiteți crearea facturilor de vânzare fără comandă de vânzare,
-Allow Sales Invoice Creation Without Delivery Note,Permiteți crearea facturilor de vânzare fără notă de livrare,
-Default Price List,Lista de Prețuri Implicita,
-Primary Address and Contact Detail,Adresa principală și detaliile de contact,
-"Select, to make the customer searchable with these fields","Selectați, pentru a face ca clientul să poată fi căutat în aceste câmpuri",
-Customer Primary Contact,Contact primar client,
-"Reselect, if the chosen contact is edited after save",Resetați dacă contactul ales este editat după salvare,
-Customer Primary Address,Adresa primară a clientului,
-"Reselect, if the chosen address is edited after save",Resetați dacă adresa editată este editată după salvare,
-Primary Address,adresa primara,
-Mention if non-standard receivable account,Mentionati daca non-standard cont de primit,
-Credit Limit and Payment Terms,Limita de credit și termenii de plată,
-Additional information regarding the customer.,Informații suplimentare cu privire la client.,
-Sales Partner and Commission,Partener de vânzări și a Comisiei,
-Commission Rate,Rata de Comision,
-Sales Team Details,Detalii de vânzări Echipa,
-Customer POS id,ID POS client,
-Customer Credit Limit,Limita de creditare a clienților,
-Bypass Credit Limit Check at Sales Order,Treceți la verificarea limită de credit la Comandă de vânzări,
-Industry Type,Industrie Tip,
-MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
-Installation Date,Data de instalare,
-Installation Time,Timp de instalare,
-Installation Note Item,Instalare Notă Postul,
-Installed Qty,Instalat Cantitate,
-Lead Source,Sursa de plumb,
-Period Start Date,Data de începere a perioadei,
-Period End Date,Perioada de sfârșit a perioadei,
-Cashier,Casier,
-Difference,Diferență,
-Modes of Payment,Moduri de plată,
-Linked Invoices,Linked Factures,
-POS Closing Voucher Details,Detalii Voucher de închidere POS,
-Collected Amount,Suma colectată,
-Expected Amount,Suma așteptată,
-POS Closing Voucher Invoices,Facturi pentru voucherele de închidere de la POS,
-Quantity of Items,Cantitatea de articole,
-"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","Grup agregat de articole ** ** în alt articol ** **. Acest lucru este util dacă gruparea de anumite elemente ** ** într-un pachet și să mențină un bilanț al ambalate ** ** Elemente și nu agregate ** Postul **. Pachetul ** Postul ** va avea &quot;Este Piesa&quot; ca &quot;No&quot; și &quot;Este punctul de vânzare&quot;, ca &quot;Da&quot;. De exemplu: dacă sunteți de vânzare Laptop-uri și Rucsacuri separat și au un preț special dacă clientul cumpără atât, atunci laptop + rucsac va fi un nou Bundle produs Postul. Notă: BOM = Bill de materiale",
-Parent Item,Părinte Articol,
-List items that form the package.,Listeaza articole care formează pachetul.,
-SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
-Quotation To,Ofertă Pentru a,
-Rate at which customer's currency is converted to company's base currency,Rata la care moneda clientului este convertită în valuta de bază a companiei,
-Rate at which Price list currency is converted to company's base currency,Rata la care lista de prețuri moneda este convertit în moneda de bază a companiei,
-Additional Discount and Coupon Code,Cod suplimentar de reducere și cupon,
-Referral Sales Partner,Partener de vânzări de recomandări,
-In Words will be visible once you save the Quotation.,În cuvinte va fi vizibil după ce salvați citat.,
-Term Details,Detalii pe termen,
-Quotation Item,Ofertă Articol,
-Against Doctype,Comparativ tipului documentului,
-Against Docname,Comparativ denumirii documentului,
-Additional Notes,Note Aditionale,
-SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
-Skip Delivery Note,Salt nota de livrare,
-In Words will be visible once you save the Sales Order.,În cuvinte va fi vizibil după ce a salva comanda de vânzări.,
-Track this Sales Order against any Project,Urmareste acest Ordin de vânzări față de orice proiect,
-Billing and Delivery Status,Facturare și stare livrare,
-Not Delivered,Nu Pronunțată,
-Fully Delivered,Livrat complet,
-Partly Delivered,Parțial livrate,
-Not Applicable,Nu se aplică,
-%  Delivered,% Livrat,
-% of materials delivered against this Sales Order,% de materiale livrate versus aceasta Comanda,
-% of materials billed against this Sales Order,% de materiale facturate versus această Comandă de Vânzări,
-Not Billed,Nu Taxat,
-Fully Billed,Complet Taxat,
-Partly Billed,Parțial Taxat,
-Ensure Delivery Based on Produced Serial No,Asigurați livrarea pe baza numărului de serie produs,
-Supplier delivers to Customer,Furnizor livrează la client,
-Delivery Warehouse,Depozit de livrare,
-Planned Quantity,Planificate Cantitate,
-For Production,Pentru Producție,
-Work Order Qty,Numărul comenzilor de lucru,
-Produced Quantity,Produs Cantitate,
-Used for Production Plan,Folosit pentru Planul de producție,
-Sales Partner Type,Tip de partener de vânzări,
-Contact No.,Nr. Persoana de Contact,
-Contribution (%),Contribuție (%),
-Contribution to Net Total,Contribuție la Total Net,
-Selling Settings,Setări Vânzare,
-Settings for Selling Module,Setări pentru vânzare Modulul,
-Customer Naming By,Numire Client de catre,
-Campaign Naming By,Campanie denumita de,
-Default Customer Group,Grup Clienți Implicit,
-Default Territory,Teritoriu Implicit,
-Close Opportunity After Days,Închide oportunitate După zile,
-Default Quotation Validity Days,Valabilitatea zilnică a cotațiilor,
-Sales Update Frequency,Frecventa actualizarii vanzarilor,
-Each Transaction,Fiecare tranzacție,
-SMS Center,SMS Center,
-Send To,Trimite la,
-All Contact,Toate contactele,
-All Customer Contact,Toate contactele clienților,
-All Supplier Contact,Toate contactele furnizorului,
-All Sales Partner Contact,Toate contactele partenerului de vânzări,
-All Lead (Open),Toate Pistele (Deschise),
-All Employee (Active),Toți angajații (activi),
-All Sales Person,Toate persoanele de vânzăril,
-Create Receiver List,Creare Lista Recipienti,
-Receiver List,Receptor Lista,
-Messages greater than 160 characters will be split into multiple messages,Mesaje mai mari de 160 de caractere vor fi împărțite în mai multe mesaje,
-Total Characters,Total de caractere,
-Total Message(s),Total mesaj(e),
-Authorization Control,Control de autorizare,
-Authorization Rule,Regulă de autorizare,
-Average Discount,Discount mediiu,
-Customerwise Discount,Reducere Client,
-Itemwise Discount,Reducere Articol-Avizat,
-Customer or Item,Client sau un element,
-Customer / Item Name,Client / Denumire articol,
-Authorized Value,Valoarea autorizată,
-Applicable To (Role),Aplicabil pentru (rol),
-Applicable To (Employee),Aplicabil pentru (angajat),
-Applicable To (User),Aplicabil pentru (utilizator),
-Applicable To (Designation),Aplicabil pentru (destinaţie),
-Approving Role (above authorized value),Aprobarea Rol (mai mare decât valoarea autorizată),
-Approving User  (above authorized value),Aprobarea utilizator (mai mare decât valoarea autorizată),
-Brand Defaults,Valorile implicite ale mărcii,
-Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Entitate Juridică / Filială cu o Diagramă de Conturi separată aparținând Organizației.,
-Change Abbreviation,Schimbă Abreviere,
-Parent Company,Compania mamă,
-Default Values,Valori implicite,
-Default Holiday List,Implicit Listă de vacanță,
-Default Selling Terms,Condiții de vânzare implicite,
-Default Buying Terms,Condiții de cumpărare implicite,
-Create Chart Of Accounts Based On,"Creează Diagramă de Conturi, Bazată pe",
-Standard Template,Format standard,
-Existing Company,Companie existentă,
-Chart Of Accounts Template,Diagramă de Șablon Conturi,
-Existing Company ,companie existentă,
-Date of Establishment,Data Înființării,
-Sales Settings,Setări de vânzări,
-Monthly Sales Target,Vânzări lunare,
-Sales Monthly History,Istoric Lunar de Vânzări,
-Transactions Annual History,Istoricul tranzacțiilor anuale,
-Total Monthly Sales,Vânzări totale lunare,
-Default Cash Account,Cont de Numerar Implicit,
-Default Receivable Account,Implicit cont de încasat,
-Round Off Cost Center,Rotunji cost Center,
-Discount Allowed Account,Cont permis de reducere,
-Discount Received Account,Reducerea contului primit,
-Exchange Gain / Loss Account,Cont Cheltuiala / Venit din diferente de curs valutar,
-Unrealized Exchange Gain/Loss Account,Contul de câștig / pierdere din contul nerealizat,
-Allow Account Creation Against Child Company,Permite crearea de cont împotriva companiei pentru copii,
-Default Payable Account,Implicit cont furnizori,
-Default Employee Advance Account,Implicit Cont Advance Advance Employee,
-Default Cost of Goods Sold Account,Cont Implicit Cost Bunuri Vândute,
-Default Income Account,Contul Venituri Implicit,
-Default Deferred Revenue Account,Implicit Contul cu venituri amânate,
-Default Deferred Expense Account,Implicit contul amânat de cheltuieli,
-Default Payroll Payable Account,Implicit Salarizare cont de plati,
-Default Expense Claim Payable Account,Cont Predefinit Solicitare Cheltuială Achitată,
-Stock Settings,Setări stoc,
-Enable Perpetual Inventory,Activați inventarul perpetuu,
-Default Inventory Account,Contul de inventar implicit,
-Stock Adjustment Account,Cont Ajustarea stoc,
-Fixed Asset Depreciation Settings,Setări de amortizare fixă Activ,
-Series for Asset Depreciation Entry (Journal Entry),Seria pentru intrarea în amortizarea activelor (intrare în jurnal),
-Gain/Loss Account on Asset Disposal,Cont câștig / Pierdere de eliminare a activelor,
-Asset Depreciation Cost Center,Centru de cost Amortizare Activ,
-Budget Detail,Detaliu buget,
-Exception Budget Approver Role,Rolul de abordare a bugetului de excepție,
-Company Info,Informaţii Companie,
-For reference only.,Numai Pentru referință.,
-Company Logo,Logoul companiei,
-Date of Incorporation,Data Încorporării,
-Date of Commencement,Data începerii,
-Phone No,Nu telefon,
-Company Description,Descrierea Companiei,
-Registration Details,Detalii de Înregistrare,
-Company registration numbers for your reference. Tax numbers etc.,Numerele de înregistrare companie pentru referință. Numerele fiscale etc,
-Delete Company Transactions,Ștergeți Tranzacții de Firma,
-Currency Exchange,Curs Valutar,
-Specify Exchange Rate to convert one currency into another,Precizați Rata de schimb a converti o monedă în alta,
-From Currency,Din moneda,
-To Currency,Pentru a valutar,
-For Buying,Pentru cumparare,
-For Selling,Pentru vânzări,
-Customer Group Name,Nume Group Client,
-Parent Customer Group,Părinte Grup Clienți,
-Only leaf nodes are allowed in transaction,Numai noduri frunze sunt permise în tranzacție,
-Mention if non-standard receivable account applicable,Menționa dacă non-standard de cont primit aplicabil,
-Credit Limits,Limitele de credit,
-Email Digest,Email Digest,
-Send regular summary reports via Email.,Trimite rapoarte de sinteză periodice prin e-mail.,
-Email Digest Settings,Setari Email Digest,
-How frequently?,Cât de frecvent?,
-Next email will be sent on:,Următorul email va fi trimis la:,
-Note: Email will not be sent to disabled users,Notă: Adresa de email nu va fi trimis la utilizatorii cu handicap,
-Profit & Loss,Pierderea profitului,
-New Income,noul venit,
-New Expenses,Cheltuieli noi,
-Annual Income,Venit anual,
-Annual Expenses,Cheltuielile anuale,
-Bank Balance,Banca Balance,
-Bank Credit Balance,Soldul creditului bancar,
-Receivables,Creanțe,
-Payables,Datorii,
-Sales Orders to Bill,Comenzi de vânzare către Bill,
-Purchase Orders to Bill,Achiziționați comenzi către Bill,
-New Sales Orders,Noi comenzi de vânzări,
-New Purchase Orders,Noi comenzi de aprovizionare,
-Sales Orders to Deliver,Comenzi de livrare pentru livrare,
-Purchase Orders to Receive,Comenzi de cumpărare pentru a primi,
-New Purchase Invoice,Factură de achiziție nouă,
-New Quotations,Noi Oferte,
-Open Quotations,Oferte deschise,
-Open Issues,Probleme deschise,
-Open Projects,Proiecte deschise,
-Purchase Orders Items Overdue,Elementele comenzilor de cumpărare sunt restante,
-Upcoming Calendar Events,Evenimente calendaristice viitoare,
-Open To Do,Deschis de făcut,
-Add Quote,Adaugă Citat,
-Global Defaults,Valori Implicite Globale,
-Default Company,Companie Implicită,
-Current Fiscal Year,An Fiscal Curent,
-Default Distance Unit,Unitatea de distanță standard,
-Hide Currency Symbol,Ascunde simbol moneda,
-Do not show any symbol like $ etc next to currencies.,Nu afisa nici un simbol de genul $ etc alături de valute.,
-"If disable, 'Rounded Total' field will not be visible in any transaction","Dacă este dezactivat, câmpul 'Total Rotunjit' nu va fi vizibil in nici o tranzacție",
-Disable In Words,Nu fi de acord în cuvinte,
-"If disable, 'In Words' field will not be visible in any transaction","În cazul în care dezactivați, &quot;în cuvinte&quot; câmp nu vor fi vizibile în orice tranzacție",
-Item Classification,Postul Clasificare,
-General Settings,Setări generale,
-Item Group Name,Denumire Grup Articol,
-Parent Item Group,Părinte Grupa de articole,
-Item Group Defaults,Setări implicite pentru grupul de articole,
-Item Tax,Taxa Articol,
-Check this if you want to show in website,Bifati dacă doriți să fie afisat în site,
-Show this slideshow at the top of the page,Arată această prezentare în partea de sus a paginii,
-HTML / Banner that will show on the top of product list.,"HTML / Banner, care va arăta pe partea de sus a listei de produse.",
-Set prefix for numbering series on your transactions,Set prefix pentru seria de numerotare pe tranzacțiile dvs.,
-Setup Series,Seria de configurare,
-Select Transaction,Selectați Transaction,
-Help HTML,Ajutor HTML,
-Series List for this Transaction,Lista de serie pentru această tranzacție,
-User must always select,Utilizatorul trebuie să selecteze întotdeauna,
-Check this if you want to force the user to select a series before saving. There will be no default if you check this.,"Bifati dacă doriți sa fortati utilizatorul să selecteze o serie înainte de a salva. Nu va exista nici o valoare implicita dacă se bifeaza aici.""",
-Update Series,Actualizare Series,
-Change the starting / current sequence number of an existing series.,Schimbați secventa de numar de inceput / curent a unei serii existente.,
-Prefix,Prefix,
-Current Value,Valoare curenta,
-This is the number of the last created transaction with this prefix,Acesta este numărul ultimei tranzacții create cu acest prefix,
-Update Series Number,Actualizare Serii Număr,
-Quotation Lost Reason,Ofertă pierdut rațiunea,
-A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Un distribuitor terță parte / dealer / agent comisionar / afiliat / re-vânzător care vinde produsele companiei pentru un comision.,
-Sales Partner Name,Numele Partner Sales,
-Partner Type,Tip partener,
-Address & Contacts,Adresă şi contacte,
-Address Desc,Adresă Desc,
-Contact Desc,Persoana de Contact Desc,
-Sales Partner Target,Vânzări Partner țintă,
-Targets,Obiective,
-Show In Website,Arata pe site-ul,
-Referral Code,Codul de recomandare,
-To Track inbound purchase,Pentru a urmări achiziția de intrare,
-Logo,Logo,
-Partner website,site-ul partenerului,
-All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Toate tranzacțiile de vânzări pot fi etichetate comparativ mai multor **Persoane de vânzări** pentru ca dvs. sa puteţi configura și monitoriza obiective.,
-Name and Employee ID,Nume și ID angajat,
-Sales Person Name,Sales Person Nume,
-Parent Sales Person,Mamă Sales Person,
-Select company name first.,Selectați numele companiei în primul rând.,
-Sales Person Targets,Ținte Persoane Vânzări,
-Set targets Item Group-wise for this Sales Person.,Stabilească obiective Articol Grupa-înțelept pentru această persoană de vânzări.,
-Supplier Group Name,Numele grupului de furnizori,
-Parent Supplier Group,Grupul furnizorilor-mamă,
-Target Detail,Țintă Detaliu,
-Target Qty,Țintă Cantitate,
-Target  Amount,Suma țintă,
-Target Distribution,Țintă Distribuție,
-"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.","Termeni și Condiții care pot fi adăugate la vânzările și achizițiile standard.\n\n Exemple: \n\n 1. Perioada de valabilitate a ofertei.\n 1. Conditii de plata (in avans, pe credit, parte în avans etc.).\n 1. Ce este în plus (sau de plătit de către Client).\n 1. Siguranța / avertizare utilizare.\n 1. Garantie dacă este cazul.\n 1. Politica de Returnare.\n 1. Condiții de transport maritim, dacă este cazul.\n 1. Modalitati de litigii de adresare, indemnizație, răspunderea, etc. \n 1. Adresa și de contact ale companiei.",
-Applicable Modules,Module aplicabile,
-Terms and Conditions Help,Termeni și Condiții Ajutor,
-Classification of Customers by region,Clasificarea clienți în funcție de regiune,
-Territory Name,Teritoriului Denumire,
-Parent Territory,Teritoriul părinte,
-Territory Manager,Teritoriu Director,
-For reference,Pentru referință,
-Territory Targets,Obiective Territory,
-Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,"Set bugetelor Grupa înțelept Articol de pe acest teritoriu. Puteți include, de asemenea, sezonier prin setarea distribuție.",
-UOM Name,Numele UOM,
-Check this to disallow fractions. (for Nos),Bifati pentru a nu permite fracțiuni. (Pentru Nos),
-Website Item Group,Site-ul Grupa de articole,
-Cross Listing of Item in multiple groups,Crucea Listarea de punctul în mai multe grupuri,
-Default settings for Shopping Cart,Setările implicite pentru Cosul de cumparaturi,
-Enable Shopping Cart,Activați cosul de cumparaturi,
-Display Settings,Display Settings,
-Show Public Attachments,Afișați atașamentele publice,
-Show Price,Afișați prețul,
-Show Stock Availability,Afișați disponibilitatea stocului,
-Show Contact Us Button,Afișați butonul de contactare,
-Show Stock Quantity,Afișați cantitatea stocului,
-Show Apply Coupon Code,Afișați Aplicați codul de cupon,
-Allow items not in stock to be added to cart,Permiteți adăugarea în coș a articolelor care nu sunt în stoc,
-Prices will not be shown if Price List is not set,Prețurile nu vor fi afișate în cazul în care Prețul de listă nu este setat,
-Quotation Series,Ofertă Series,
-Checkout Settings,setările checkout pentru,
-Enable Checkout,activaţi Checkout,
-Payment Success Url,Plată de succes URL,
-After payment completion redirect user to selected page.,După finalizarea plății redirecționați utilizatorul la pagina selectată.,
-Batch Details,Detalii lot,
-Batch ID,ID-ul lotului,
-image,imagine,
-Parent Batch,Lotul părinte,
-Manufacturing Date,Data Fabricației,
-Batch Quantity,Cantitatea lotului,
-Batch UOM,Lot UOM,
-Source Document Type,Tipul documentului sursă,
-Source Document Name,Numele sursei de document,
-Batch Description,Descriere lot,
-Bin,Coş,
-Reserved Quantity,Cantitate rezervata,
-Actual Quantity,Cantitate Efectivă,
-Requested Quantity,Cantitate Solicitată,
-Reserved Qty for sub contract,Cantitate rezervată pentru subcontract,
-Moving Average Rate,Rata medie mobilă,
-FCFS Rate,Rata FCFS,
-Customs Tariff Number,Tariful vamal Număr,
-Tariff Number,Tarif Număr,
-Delivery To,De Livrare la,
-MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
-Is Return,Este de returnare,
-Issue Credit Note,Eliberați nota de credit,
-Return Against Delivery Note,Reveni Împotriva livrare Nota,
-Customer's Purchase Order No,Nr. Comanda de Aprovizionare Client,
-Billing Address Name,Numele din adresa de facturare,
-Required only for sample item.,Necesar numai pentru articolul de probă.,
-"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Dacă ați creat un model standard la taxele de vânzare și taxe Format, selectați una și faceți clic pe butonul de mai jos.",
-In Words will be visible once you save the Delivery Note.,În cuvinte va fi vizibil după ce a salva de livrare Nota.,
-In Words (Export) will be visible once you save the Delivery Note.,În cuvinte (de export) va fi vizibil după ce a salva de livrare Nota.,
-Transporter Info,Info Transporter,
-Driver Name,Numele șoferului,
-Track this Delivery Note against any Project,Urmareste acest Livrare Note împotriva oricărui proiect,
-Inter Company Reference,Referință între companii,
-Print Without Amount,Imprima Fără Suma,
-% Installed,% Instalat,
-% of materials delivered against this Delivery Note,% de materiale livrate versus acest Aviz de Expeditie,
-Installation Status,Starea de instalare,
-Excise Page Number,Numărul paginii accize,
-Instructions,Instrucţiuni,
-From Warehouse,Din Depozit,
-Against Sales Order,Contra comenzii de vânzări,
-Against Sales Order Item,Contra articolului comenzii de vânzări,
-Against Sales Invoice,Comparativ facturii de vânzări,
-Against Sales Invoice Item,Comparativ articolului facturii de vânzări,
-Available Batch Qty at From Warehouse,Disponibil lot Cantitate puțin din Warehouse,
-Available Qty at From Warehouse,Cantitate Disponibil la Depozitul,
-Delivery Settings,Setări de livrare,
-Dispatch Settings,Dispecerat Setări,
-Dispatch Notification Template,Șablonul de notificare pentru expediere,
-Dispatch Notification Attachment,Expedierea notificării atașament,
-Leave blank to use the standard Delivery Note format,Lăsați necompletat pentru a utiliza formatul standard de livrare,
-Send with Attachment,Trimiteți cu atașament,
-Delay between Delivery Stops,Întârziere între opririle de livrare,
-Delivery Stop,Livrare Stop,
-Lock,Lacăt,
-Visited,Vizitat,
-Order Information,Informații despre comandă,
-Contact Information,Informatii de contact,
-Email sent to,Email trimis catre,
-Dispatch Information,Informații despre expediere,
-Estimated Arrival,Sosirea estimată,
-MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
-Initial Email Notification Sent,Notificarea inițială de e-mail trimisă,
-Delivery Details,Detalii Livrare,
-Driver Email,E-mail șofer,
-Driver Address,Adresa șoferului,
-Total Estimated Distance,Distanța totală estimată,
-Distance UOM,Distanță UOM,
-Departure Time,Timp de plecare,
-Delivery Stops,Livrarea se oprește,
-Calculate Estimated Arrival Times,Calculează Timp de Sosire Estimat,
-Use Google Maps Direction API to calculate estimated arrival times,Utilizați Google Maps Direction API pentru a calcula orele de sosire estimate,
-Optimize Route,Optimizați ruta,
-Use Google Maps Direction API to optimize route,Utilizați Google Maps Direction API pentru a optimiza ruta,
-In Transit,În trecere,
-Fulfillment User,Utilizator de încredere,
-"A Product or a Service that is bought, sold or kept in stock.","Un produs sau un serviciu care este cumpărat, vândut sau păstrat în stoc.",
-STO-ITEM-.YYYY.-,STO-ELEMENT-.YYYY.-,
-Variant Of,Varianta de,
-"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Dacă elementul este o variantă de un alt element atunci descriere, imagine, de stabilire a prețurilor, impozite etc vor fi stabilite de șablon dacă nu se specifică în mod explicit",
-Is Item from Hub,Este element din Hub,
-Default Unit of Measure,Unitatea de Măsură Implicita,
-Maintain Stock,Articol Stocabil,
-Standard Selling Rate,Standard de vânzare Rata,
-Auto Create Assets on Purchase,Creați active automate la achiziție,
-Asset Naming Series,Serie de denumire a activelor,
-Over Delivery/Receipt Allowance (%),Indemnizație de livrare / primire (%),
-Barcodes,Coduri de bare,
-Shelf Life In Days,Perioada de valabilitate în zile,
-End of Life,Sfârsitul vieții,
-Default Material Request Type,Implicit Material Tip de solicitare,
-Valuation Method,Metoda de evaluare,
-FIFO,FIFO,
-Moving Average,Mutarea medie,
-Warranty Period (in days),Perioada de garanție (în zile),
-Auto re-order,Re-comandă automată,
-Reorder level based on Warehouse,Nivel pentru re-comanda bazat pe Magazie,
-Will also apply for variants unless overrridden,Se va aplica și pentru variantele cu excepția cazului în overrridden,
-Units of Measure,Unitati de masura,
-Will also apply for variants,"Va aplică, de asemenea pentru variante",
-Serial Nos and Batches,Numere și loturi seriale,
-Has Batch No,Are nr. de Lot,
-Automatically Create New Batch,Creare automată Lot nou,
-Batch Number Series,Seria numerelor serii,
-"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.","Exemplu: ABCD. #####. Dacă seria este setată și numărul lotului nu este menționat în tranzacții, atunci numărul lotului automat va fi creat pe baza acestei serii. Dacă doriți întotdeauna să menționați în mod explicit numărul lotului pentru acest articol, lăsați acest lucru necompletat. Notă: această setare va avea prioritate față de Prefixul Seriei de Nomenclatoare din Setările de stoc.",
-Has Expiry Date,Are data de expirare,
-Retain Sample,Păstrați eșantionul,
-Max Sample Quantity,Cantitate maximă de probă,
-Maximum sample quantity that can be retained,Cantitatea maximă de mostră care poate fi reținută,
-Has Serial No,Are nr. de serie,
-Serial Number Series,Serial Number Series,
-"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.","Exemplu:. ABCD ##### \n Dacă seria este setat și nu de serie nu este menționat în tranzacții, numărul de atunci automat de serie va fi creat pe baza acestei serii. Dacă întotdeauna doriți să se menționeze explicit Serial nr de acest articol. părăsi acest gol.",
-Variants,Variante,
-Has Variants,Are variante,
-"If this item has variants, then it cannot be selected in sales orders etc.","Dacă acest element are variante, atunci nu poate fi selectat în comenzile de vânzări, etc.",
-Variant Based On,Varianta Bazat pe,
-Item Attribute,Postul Atribut,
-"Sales, Purchase, Accounting Defaults","Vânzări, Cumpărare, Definiții de contabilitate",
-Item Defaults,Elemente prestabilite,
-"Purchase, Replenishment Details","Detalii de achiziție, reconstituire",
-Is Purchase Item,Este de cumparare Articol,
-Default Purchase Unit of Measure,Unitatea de măsură prestabilită a măsurii,
-Minimum Order Qty,Comanda minima Cantitate,
-Minimum quantity should be as per Stock UOM,Cantitatea minimă ar trebui să fie conform UOM-ului de stoc,
-Average time taken by the supplier to deliver,Timpul mediu luate de către furnizor de a livra,
-Is Customer Provided Item,Este articol furnizat de client,
-Delivered by Supplier (Drop Ship),Livrate de Furnizor (Drop navelor),
-Supplier Items,Furnizor Articole,
-Foreign Trade Details,Detalii Comerț Exterior,
-Country of Origin,Tara de origine,
-Sales Details,Detalii Vânzări,
-Default Sales Unit of Measure,Unitatea de vânzare standard de măsură,
-Is Sales Item,Este produs de vânzări,
-Max Discount (%),Max Discount (%),
-No of Months,Numărul de luni,
-Customer Items,Articole clientului,
-Inspection Criteria,Criteriile de inspecție,
-Inspection Required before Purchase,Necesar de inspecție înainte de achiziționare,
-Inspection Required before Delivery,Necesar de inspecție înainte de livrare,
-Default BOM,FDM Implicit,
-Supply Raw Materials for Purchase,Materii prime de alimentare pentru cumparare,
-If subcontracted to a vendor,Dacă subcontractat la un furnizor,
-Customer Code,Cod client,
-Default Item Manufacturer,Producător de articole implicit,
-Default Manufacturer Part No,Cod producător implicit,
-Show in Website (Variant),Afișați în site-ul (Variant),
-Items with higher weightage will be shown higher,Articole cu weightage mare va fi afișat mai mare,
-Show a slideshow at the top of the page,Arata un slideshow din partea de sus a paginii,
-Website Image,Imagine Web,
-Website Warehouse,Website Depozit,
-"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Arata ""Pe stoc"" sau ""nu este pe stoc"", bazat pe stoc disponibil în acest depozit.",
-Website Item Groups,Site-ul Articol Grupuri,
-List this Item in multiple groups on the website.,Listeaza acest articol in grupuri multiple de pe site-ul.\,
-Copy From Item Group,Copiere din Grupul de Articole,
-Website Content,Conținutul site-ului web,
-You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Puteți utiliza orice marcaj Bootstrap 4 valabil în acest câmp. Acesta va fi afișat pe pagina dvs. de articole.,
-Total Projected Qty,Cantitate totală prevăzută,
-Hub Publishing Details,Detalii privind publicarea Hubului,
-Publish in Hub,Publica in Hub,
-Publish Item to hub.erpnext.com,Publica Postul de hub.erpnext.com,
-Hub Category to Publish,Categorie Hub pentru publicare,
-Hub Warehouse,Hub Depozit,
-"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.","Publicați &quot;În stoc&quot; sau &quot;Nu este în stoc&quot; pe Hub, pe baza stocurilor disponibile în acest depozit.",
-Synced With Hub,Sincronizat cu Hub,
-Item Alternative,Alternativă la element,
-Alternative Item Code,Codul elementului alternativ,
-Two-way,Două căi,
-Alternative Item Name,Numele elementului alternativ,
-Attribute Name,Denumire atribut,
-Numeric Values,Valori numerice,
-From Range,Din gama,
-Increment,Creștere,
-To Range,La gama,
-Item Attribute Values,Valori Postul Atribut,
-Item Attribute Value,Postul caracteristicii Valoarea,
-Attribute Value,Valoare Atribut,
-Abbreviation,Abreviere,
-"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""","Acest lucru va fi adăugat la Codul punctul de varianta. De exemplu, în cazul în care abrevierea este ""SM"", iar codul produs face ""T-SHIRT"", codul punctul de varianta va fi ""T-SHIRT-SM""",
-Item Barcode,Element de coduri de bare,
-Barcode Type,Tip de cod de bare,
-EAN,EAN,
-UPC-A,UPC-A,
-Item Customer Detail,Detaliu Articol Client,
-"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Pentru comoditatea clienților, aceste coduri pot fi utilizate în formate de imprimare cum ar fi Facturi și Note de Livrare",
-Ref Code,Cod de Ref,
-Item Default,Element Implicit,
-Purchase Defaults,Valori implicite pentru achiziții,
-Default Buying Cost Center,Centru de Cost Cumparare Implicit,
-Default Supplier,Furnizor Implicit,
-Default Expense Account,Cont de Cheltuieli Implicit,
-Sales Defaults,Setări prestabilite pentru vânzări,
-Default Selling Cost Center,Centru de Cost Vanzare Implicit,
-Item Manufacturer,Postul Producator,
-Item Price,Preț Articol,
-Packing Unit,Unitate de ambalare,
-Quantity  that must be bought or sold per UOM,Cantitatea care trebuie cumpărată sau vândută pe UOM,
-Item Quality Inspection Parameter,Parametru Inspecție de Calitate Articol,
-Acceptance Criteria,Criteriile de receptie,
-Item Reorder,Reordonare Articol,
-Check in (group),Check-in (grup),
-Request for,Cerere pentru,
-Re-order Level,Nivelul de re-comandă,
-Re-order Qty,Re-comanda Cantitate,
-Item Supplier,Furnizor Articol,
-Item Variant,Postul Varianta,
-Item Variant Attribute,Varianta element Atribut,
-Do not update variants on save,Nu actualizați variantele de salvare,
-Fields will be copied over only at time of creation.,Câmpurile vor fi copiate numai în momentul creării.,
-Allow Rename Attribute Value,Permiteți redenumirea valorii atributului,
-Rename Attribute Value in Item Attribute.,Redenumiți valoarea atributului în atributul de element.,
-Copy Fields to Variant,Copiați câmpurile în varianta,
-Item Website Specification,Specificație Site Articol,
-Table for Item that will be shown in Web Site,Tabelul pentru postul care va fi afișat în site-ul,
-Landed Cost Item,Cost Final Articol,
-Receipt Document Type,Primire Tip de document,
-Receipt Document,Documentul de primire,
-Applicable Charges,Taxe aplicabile,
-Purchase Receipt Item,Primirea de cumpărare Postul,
-Landed Cost Purchase Receipt,Chitanta de Cumparare aferent Costului Final,
-Landed Cost Taxes and Charges,Impozite cost debarcate și Taxe,
-Landed Cost Voucher,Voucher Cost Landed,
-MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
-Purchase Receipts,Încasări de cumparare,
-Purchase Receipt Items,Primirea de cumpărare Articole,
-Get Items From Purchase Receipts,Obține elemente din achiziție Încasări,
-Distribute Charges Based On,Împărțiți taxelor pe baza,
-Landed Cost Help,Costul Ajutor Landed,
-Manufacturers used in Items,Producători utilizați în Articole,
-Limited to 12 characters,Limitată la 12 de caractere,
-MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
-Partially Ordered,Parțial comandat,
-Transferred,transferat,
-% Ordered,% Comandat,
-Terms and Conditions Content,Termeni și condiții de conținut,
-Quantity and Warehouse,Cantitatea și Warehouse,
-Lead Time Date,Data Timp Conducere,
-Min Order Qty,Min Ordine Cantitate,
-Packed Item,Articol ambalate,
-To Warehouse (Optional),La Depozit (opțional),
-Actual Batch Quantity,Cantitatea actuală de lot,
-Prevdoc DocType,Prevdoc Doctype,
-Parent Detail docname,Părinte Detaliu docname,
-"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generarea de ambalare slip pentru pachetele de a fi livrate. Folosit pentru a notifica numărul pachet, conținutul pachetului și greutatea sa.",
-Indicates that the package is a part of this delivery (Only Draft),Indică faptul că pachetul este o parte din această livrare (Proiect de numai),
-MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
-From Package No.,Din Pachetul Nr.,
-Identification of the package for the delivery (for print),Identificarea pachetului pentru livrare (pentru imprimare),
-To Package No.,La pachetul Nr,
-If more than one package of the same type (for print),În cazul în care mai mult de un pachet de același tip (pentru imprimare),
-Package Weight Details,Pachetul Greutate Detalii,
-The net weight of this package. (calculated automatically as sum of net weight of items),Greutatea netă a acestui pachet. (Calculat automat ca suma de greutate netă de produs),
-Net Weight UOM,Greutate neta UOM,
-Gross Weight,Greutate brută,
-The gross weight of the package. Usually net weight + packaging material weight. (for print),"Greutatea brută a pachetului. Greutate + ambalare, de obicei, greutate netă de material. (Pentru imprimare)",
-Gross Weight UOM,Greutate Brută UOM,
-Packing Slip Item,Bonul Articol,
-DN Detail,Detaliu DN,
-STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
-Material Transfer for Manufacture,Transfer de materii pentru fabricarea,
-Qty of raw materials will be decided based on the qty of the Finished Goods Item,Cantitatea de materii prime va fi decisă pe baza cantității articolului de produse finite,
-Parent Warehouse,Depozit Părinte,
-Items under this warehouse will be suggested,Articolele din acest depozit vor fi sugerate,
-Get Item Locations,Obțineți locații de articole,
-Item Locations,Locații articol,
-Pick List Item,Alegeți articolul din listă,
-Picked Qty,Cules Qty,
-Price List Master,Lista de preturi Masterat,
-Price List Name,Lista de prețuri Nume,
-Price Not UOM Dependent,Pretul nu este dependent de UOM,
-Applicable for Countries,Aplicabile pentru țările,
-Price List Country,Lista de preturi Țară,
-MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
-Supplier Delivery Note,Nota de livrare a furnizorului,
-Time at which materials were received,Timp în care s-au primit materiale,
-Return Against Purchase Receipt,Reveni cu confirmare de primire cumparare,
-Rate at which supplier's currency is converted to company's base currency,Rata la care moneda furnizorului este convertit în moneda de bază a companiei,
-Sets 'Accepted Warehouse' in each row of the items table.,Setează „Depozit acceptat” în fiecare rând al tabelului cu articole.,
-Sets 'Rejected Warehouse' in each row of the items table.,Setează „Depozit respins” în fiecare rând al tabelului cu articole.,
-Raw Materials Consumed,Materii prime consumate,
-Get Current Stock,Obține stocul curent,
-Consumed Items,Articole consumate,
-Add / Edit Taxes and Charges,Adaugaţi / editaţi taxe și cheltuieli,
-Auto Repeat Detail,Repeatarea detaliilor automate,
-Transporter Details,Detalii Transporter,
-Vehicle Number,Numărul de vehicule,
-Vehicle Date,Vehicul Data,
-Received and Accepted,Primit și Acceptat,
-Accepted Quantity,Cantitatea Acceptata,
-Rejected Quantity,Cantitate Respinsă,
-Accepted Qty as per Stock UOM,Cantitate acceptată conform stocului UOM,
-Sample Quantity,Cantitate de probă,
-Rate and Amount,Rata și volumul,
-MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
-Report Date,Data raportului,
-Inspection Type,Inspecție Tip,
-Item Serial No,Nr. de Serie Articol,
-Sample Size,Eșantionul de dimensiune,
-Inspected By,Inspectat de,
-Readings,Lecturi,
-Quality Inspection Reading,Inspecție de calitate Reading,
-Reading 1,Lectura 1,
-Reading 2,Lectura 2,
-Reading 3,Lectura 3,
-Reading 4,Lectura 4,
-Reading 5,Lectura 5,
-Reading 6,Lectura 6,
-Reading 7,Lectură 7,
-Reading 8,Lectură 8,
-Reading 9,Lectură 9,
-Reading 10,Lectura 10,
-Quality Inspection Template Name,Numele de șablon de inspecție a calității,
-Quick Stock Balance,Soldul rapid al stocurilor,
-Available Quantity,Cantitate Disponibilă,
-Distinct unit of an Item,Unitate distinctă de Postul,
-Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Depozit poate fi modificat numai prin Bursa de primire de intrare / livrare Nota / cumparare,
-Purchase / Manufacture Details,Detalii de cumpărare / Fabricarea,
-Creation Document Type,Tip de document creație,
-Creation Document No,Creare Document Nr.,
-Creation Date,Data creării,
-Creation Time,Timp de creare,
-Asset Details,Detalii privind activul,
-Asset Status,Starea activelor,
-Delivery Document Type,Tipul documentului de Livrare,
-Delivery Document No,Nr. de document de Livrare,
-Delivery Time,Timp de Livrare,
-Invoice Details,Detaliile facturii,
-Warranty / AMC Details,Garanție / AMC Detalii,
-Warranty Expiry Date,Garanție Data expirării,
-AMC Expiry Date,Dată expirare AMC,
-Under Warranty,În garanție,
-Out of Warranty,Ieșit din garanție,
-Under AMC,Sub AMC,
-Out of AMC,Din AMC,
-Warranty Period (Days),Perioada de garanție (zile),
-Serial No Details,Serial Nu Detalii,
-MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
-Stock Entry Type,Tip intrare stoc,
-Stock Entry (Outward GIT),Intrare pe stoc (GIT exterior),
-Material Consumption for Manufacture,Consumul de materiale pentru fabricare,
-Repack,Reambalați,
-Send to Subcontractor,Trimiteți către subcontractant,
-Delivery Note No,Nr. Nota de Livrare,
-Sales Invoice No,Nr. Factură de Vânzări,
-Purchase Receipt No,Primirea de cumpărare Nu,
-Inspection Required,Inspecție obligatorii,
-From BOM,De la BOM,
-For Quantity,Pentru Cantitate,
-As per Stock UOM,Ca şi pentru stoc UOM,
-Including items for sub assemblies,Inclusiv articole pentru subansambluri,
-Default Source Warehouse,Depozit Sursa Implicit,
-Source Warehouse Address,Adresă Depozit Sursă,
-Default Target Warehouse,Depozit Tinta Implicit,
-Target Warehouse Address,Adresa de destinație a depozitului,
-Update Rate and Availability,Actualizarea Rata și disponibilitatea,
-Total Incoming Value,Valoarea totală a sosi,
-Total Outgoing Value,Valoarea totală de ieșire,
-Total Value Difference (Out - In),Diferența Valoarea totală (Out - In),
-Additional Costs,Costuri suplimentare,
-Total Additional Costs,Costuri totale suplimentare,
-Customer or Supplier Details,Client sau furnizor Detalii,
-Per Transferred,Per transferat,
-Stock Entry Detail,Stoc de intrare Detaliu,
-Basic Rate (as per Stock UOM),Rata de bază (conform Stock UOM),
-Basic Amount,Suma de bază,
-Additional Cost,Cost aditional,
-Serial No / Batch,Serial No / lot,
-BOM No. for a Finished Good Item,Nr. BOM pentru un articol tip produs finalizat,
-Material Request used to make this Stock Entry,Cerere de material utilizat pentru a face acest stoc de intrare,
-Subcontracted Item,Subcontractat element,
-Against Stock Entry,Împotriva intrării pe stoc,
-Stock Entry Child,Copil de intrare în stoc,
-PO Supplied Item,PO Articol furnizat,
-Reference Purchase Receipt,Recepție de achiziție de achiziție,
-Stock Ledger Entry,Registru Contabil Intrări,
-Outgoing Rate,Rata de ieșire,
-Actual Qty After Transaction,Cant. efectivă după tranzacție,
-Stock Value Difference,Valoarea Stock Diferența,
-Stock Queue (FIFO),Stoc Queue (FIFO),
-Is Cancelled,Este anulat,
-Stock Reconciliation,Stoc Reconciliere,
-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.,Acest instrument vă ajută să actualizați sau stabili cantitatea și evaluarea stocului in sistem. Acesta este de obicei folosit pentru a sincroniza valorile de sistem și ceea ce există de fapt în depozite tale.,
-MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
-Reconciliation JSON,Reconciliere JSON,
-Stock Reconciliation Item,Stock reconciliere Articol,
-Before reconciliation,Premergător reconcilierii,
-Current Serial No,Serial curent nr,
-Current Valuation Rate,Rata de evaluare curentă,
-Current Amount,Suma curentă,
-Quantity Difference,cantitate diferenţă,
-Amount Difference,suma diferenţă,
-Item Naming By,Denumire Articol Prin,
-Default Item Group,Group Articol Implicit,
-Default Stock UOM,Stoc UOM Implicit,
-Sample Retention Warehouse,Exemplu de reținere depozit,
-Default Valuation Method,Metoda de Evaluare Implicită,
-Show Barcode Field,Afișează coduri de bare Câmp,
-Convert Item Description to Clean HTML,Conversia elementului de articol pentru a curăța codul HTML,
-Allow Negative Stock,Permiteţi stoc negativ,
-Automatically Set Serial Nos based on FIFO,Setat automat Serial nr bazat pe FIFO,
-Auto Material Request,Cerere automată de material,
-Inter Warehouse Transfer Settings,Setări de transfer între depozite,
-Freeze Stock Entries,Blocheaza Intrarile in Stoc,
-Stock Frozen Upto,Stoc Frozen Până la,
-Batch Identification,Identificarea lotului,
-Use Naming Series,Utilizați seria de numire,
-Naming Series Prefix,Denumirea prefixului seriei,
-UOM Category,Categoria UOM,
-UOM Conversion Detail,Detaliu UOM de conversie,
-Variant Field,Varianta câmpului,
-A logical Warehouse against which stock entries are made.,Un depozit logic față de care se efectuează înregistrări de stoc.,
-Warehouse Detail,Detaliu Depozit,
-Warehouse Name,Denumire Depozit,
-Warehouse Contact Info,Date de contact depozit,
-PIN,PIN,
-ISS-.YYYY.-,ISS-.YYYY.-,
-Raised By (Email),Ridicat de (E-mail),
-Issue Type,Tipul problemei,
-Issue Split From,Problemă Split From,
-Service Level,Nivel de servicii,
-Response By,Răspuns de,
-Response By Variance,Răspuns după variație,
-Ongoing,În curs de desfășurare,
-Resolution By,Rezolvare de,
-Resolution By Variance,Rezolutie prin variatie,
-Service Level Agreement Creation,Crearea contractului de nivel de serviciu,
-First Responded On,Primul Răspuns la,
-Resolution Details,Detalii Rezoluție,
-Opening Date,Data deschiderii,
-Opening Time,Timp de deschidere,
-Resolution Date,Dată Rezoluție,
-Via Customer Portal,Prin portalul de clienți,
-Support Team,Echipa de Suport,
-Issue Priority,Prioritate de emisiune,
-Service Day,Ziua serviciului,
-Workday,Zi de lucru,
-Default Priority,Prioritate implicită,
-Priorities,priorităţi,
-Support Hours,Ore de sprijin,
-Support and Resolution,Suport și rezoluție,
-Default Service Level Agreement,Acordul implicit privind nivelul serviciilor,
-Entity,Entitate,
-Agreement Details,Detalii despre acord,
-Response and Resolution Time,Timp de răspuns și rezolvare,
-Service Level Priority,Prioritate la nivel de serviciu,
-Resolution Time,Timp de rezoluție,
-Support Search Source,Sprijiniți sursa de căutare,
-Source Type,Tipul sursei,
-Query Route String,Query String Rout,
-Search Term Param Name,Termenul de căutare Param Name,
-Response Options,Opțiuni de Răspuns,
-Response Result Key Path,Răspuns Rezultat Cale cheie,
-Post Route String,Postați șirul de rută,
-Post Route Key List,Afișați lista cheilor de rutare,
-Post Title Key,Titlul mesajului cheie,
-Post Description Key,Post Descriere cheie,
-Link Options,Link Opțiuni,
-Source DocType,Sursa DocType,
-Result Title Field,Câmp rezultat titlu,
-Result Preview Field,Câmp de examinare a rezultatelor,
-Result Route Field,Câmp de rutare rezultat,
-Service Level Agreements,Acorduri privind nivelul serviciilor,
-Track Service Level Agreement,Urmăriți acordul privind nivelul serviciilor,
-Allow Resetting Service Level Agreement,Permiteți resetarea contractului de nivel de serviciu,
-Close Issue After Days,Închide Problemă După Zile,
-Auto close Issue after 7 days,Închidere automată Problemă după 7 zile,
-Support Portal,Portal de suport,
-Get Started Sections,Începeți secțiunile,
-Show Latest Forum Posts,Arată ultimele postări pe forum,
-Forum Posts,Mesaje pe forum,
-Forum URL,Adresa URL a forumului,
-Get Latest Query,Obțineți ultima interogare,
-Response Key List,Listă cu chei de răspuns,
-Post Route Key,Introduceți cheia de rutare,
-Search APIs,API-uri de căutare,
-SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
-Issue Date,Data emiterii,
-Item and Warranty Details,Postul și garanție Detalii,
-Warranty / AMC Status,Garanție / AMC Starea,
-Resolved By,Rezolvat prin,
-Service Address,Adresa serviciu,
-If different than customer address,Dacă diferă de adresa client,
-Raised By,Ridicat De,
-From Company,De la Compania,
-Rename Tool,Instrument Redenumire,
-Utilities,Utilitați,
-Type of document to rename.,Tip de document pentru a redenumi.,
-File to Rename,Fișier de Redenumiți,
-"Attach .csv file with two columns, one for the old name and one for the new name","Atașați fișier .csv cu două coloane, una pentru denumirea veche și una pentru denumirea nouă",
-Rename Log,Redenumi Conectare,
-SMS Log,SMS Conectare,
-Sender Name,Sender Name,
-Sent On,A trimis pe,
-No of Requested SMS,Nu de SMS solicitat,
-Requested Numbers,Numere solicitate,
-No of Sent SMS,Nu de SMS-uri trimise,
-Sent To,Trimis La,
-Absent Student Report,Raport elev absent,
-Assessment Plan Status,Starea planului de evaluare,
-Asset Depreciation Ledger,Registru Amortizatre Active,
-Asset Depreciations and Balances,Amortizari si Balante Active,
-Available Stock for Packing Items,Stoc disponibil pentru articole destinate împachetării,
-Bank Clearance Summary,Sumar aprobare bancă,
-Bank Remittance,Transferul bancar,
-Batch Item Expiry Status,Lot Articol Stare de expirare,
-Batch-Wise Balance History,Istoricul balanţei principale aferente lotului,
-BOM Explorer,BOM Explorer,
-BOM Search,BOM Căutare,
-BOM Stock Calculated,BOM Stocul calculat,
-BOM Variance Report,BOM Raport de variație,
-Campaign Efficiency,Eficiența campaniei,
-Cash Flow,Fluxul de numerar,
-Completed Work Orders,Ordine de lucru finalizate,
-To Produce,Pentru a produce,
-Produced,Produs,
-Consolidated Financial Statement,Situație financiară consolidată,
-Course wise Assessment Report,Raport de evaluare în curs,
-Customer Acquisition and Loyalty,Achiziționare și Loialitate Client,
-Customer Credit Balance,Balanța Clienți credit,
-Customer Ledger Summary,Rezumatul evidenței clienților,
-Customer-wise Item Price,Prețul articolului pentru clienți,
-Customers Without Any Sales Transactions,Clienții fără tranzacții de vânzare,
-Daily Timesheet Summary,Rezumat Pontaj Zilnic,
-Daily Work Summary Replies,Rezumat zilnic de lucrări,
-DATEV,DATEV,
-Delayed Item Report,Raportul întârziat al articolului,
-Delayed Order Report,Raportul de comandă întârziat,
-Delivered Items To Be Billed,Produse Livrate Pentru a fi Facturate,
-Delivery Note Trends,Tendințe Nota de Livrare,
-Electronic Invoice Register,Registrul electronic al facturilor,
-Employee Advance Summary,Sumarul avansului pentru angajați,
-Employee Billing Summary,Rezumatul facturării angajaților,
-Employee Birthday,Zi de naștere angajat,
-Employee Information,Informații angajat,
-Employee Leave Balance,Bilant Concediu Angajat,
-Employee Leave Balance Summary,Rezumatul soldului concediilor angajaților,
-Employees working on a holiday,Numar de angajati care lucreaza in vacanta,
-Eway Bill,Eway Bill,
-Expiring Memberships,Expirarea calității de membru,
-Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptabile [FEC],
-Final Assessment Grades,Evaluări finale,
-Fixed Asset Register,Registrul activelor fixe,
-Gross and Net Profit Report,Raport de profit brut și net,
-GST Itemised Purchase Register,GST Registrul achiziționărilor detaliate,
-GST Itemised Sales Register,Registrul de vânzări detaliat GST,
-GST Purchase Register,Registrul achizițiilor GST,
-GST Sales Register,Registrul vânzărilor GST,
-GSTR-1,GSTR-1,
-GSTR-2,GSTR-2,
-Hotel Room Occupancy,Hotel Ocuparea camerei,
-HSN-wise-summary of outward supplies,Rezumatul HSN pentru rezervele exterioare,
-Inactive Customers,Clienții inactive,
-Inactive Sales Items,Articole de vânzare inactive,
-IRS 1099,IRS 1099,
-Issued Items Against Work Order,Articole emise împotriva comenzii de lucru,
-Projected Quantity as Source,Cantitatea ca sursă proiectată,
-Item Balance (Simple),Balanța postului (simplă),
-Item Price Stock,Preț Stoc Articol,
-Item Prices,Preturi Articol,
-Item Shortage Report,Raport Articole Lipsa,
-Item Variant Details,Element Variant Details,
-Item-wise Price List Rate,Rata Lista de Pret Articol-Avizat,
-Item-wise Purchase History,Istoric Achizitii Articol-Avizat,
-Item-wise Purchase Register,Registru Achizitii Articol-Avizat,
-Item-wise Sales History,Istoric Vanzari Articol-Avizat,
-Item-wise Sales Register,Registru Vanzari Articol-Avizat,
-Items To Be Requested,Articole care vor fi solicitate,
-Reserved,Rezervat,
-Itemwise Recommended Reorder Level,Nivel de Reordonare Recomandat al Articolului-Awesome,
-Lead Details,Detalii Pistă,
-Lead Owner Efficiency,Lead Efficiency Owner,
-Loan Repayment and Closure,Rambursarea împrumutului și închiderea,
-Loan Security Status,Starea de securitate a împrumutului,
-Lost Opportunity,Oportunitate pierdută,
-Maintenance Schedules,Program de Mentenanta,
-Material Requests for which Supplier Quotations are not created,Cererile de materiale pentru care nu sunt create Cotațiile Furnizor,
-Monthly Attendance Sheet,Lunar foaia de prezență,
-Open Work Orders,Deschideți comenzile de lucru,
-Qty to Deliver,Cantitate pentru a oferi,
-Patient Appointment Analytics,Analiza programării pacientului,
-Payment Period Based On Invoice Date,Perioada de plată Bazat pe Data facturii,
-Pending SO Items For Purchase Request,Până la SO articole pentru cerere de oferta,
-Procurement Tracker,Urmărirea achizițiilor,
-Product Bundle Balance,Soldul pachetului de produse,
-Production Analytics,Google Analytics de producție,
-Profit and Loss Statement,Profit și pierdere,
-Profitability Analysis,Analiza profitabilității,
-Project Billing Summary,Rezumatul facturării proiectului,
-Project wise Stock Tracking,Urmărirea proiectului în funcție de stoc,
-Project wise Stock Tracking ,Proiect înțelept Tracking Stock,
-Prospects Engaged But Not Converted,Perspective implicate dar nu convertite,
-Purchase Analytics,Analytics de cumpărare,
-Purchase Invoice Trends,Cumpărare Tendințe factură,
-Qty to Receive,Cantitate de a primi,
-Received Qty Amount,Suma de cantitate primită,
-Billed Qty,Qty facturat,
-Purchase Order Trends,Comandă de aprovizionare Tendințe,
-Purchase Receipt Trends,Tendințe Primirea de cumpărare,
-Purchase Register,Cumpărare Inregistrare,
-Quotation Trends,Cotație Tendințe,
-Received Items To Be Billed,Articole primite Pentru a fi facturat,
-Qty to Order,Cantitate pentru comandă,
-Requested Items To Be Transferred,Articole solicitate de transferat,
-Qty to Transfer,Cantitate de a transfera,
-Salary Register,Salariu Înregistrare,
-Sales Analytics,Analitice de vânzare,
-Sales Invoice Trends,Vânzări Tendințe factură,
-Sales Order Trends,Vânzări Ordine Tendințe,
-Sales Partner Commission Summary,Rezumatul Comisiei partenere de vânzări,
-Sales Partner Target Variance based on Item Group,Varianța de țintă a partenerilor de vânzări bazată pe grupul de articole,
-Sales Partner Transaction Summary,Rezumat tranzacție partener vânzări,
-Sales Partners Commission,Comision Agenţi Vânzări,
-Invoiced Amount (Exclusive Tax),Suma facturată (taxă exclusivă),
-Average Commission Rate,Rată de comision medie,
-Sales Payment Summary,Rezumatul plăților pentru vânzări,
-Sales Person Commission Summary,Persoana de vânzări Rezumat al Comisiei,
-Sales Person Target Variance Based On Item Group,Vânzarea persoanei de vânzare Varianța bazată pe grupul de articole,
-Sales Person-wise Transaction Summary,Persoana de vânzări-înțelept Rezumat Transaction,
-Sales Register,Vânzări Inregistrare,
-Serial No Service Contract Expiry,Serial Nu Service Contract de expirare,
-Serial No Status,Serial Nu Statut,
-Serial No Warranty Expiry,Serial Nu Garantie pana,
-Stock Ageing,Stoc Îmbătrânirea,
-Stock and Account Value Comparison,Comparația valorilor stocurilor și conturilor,
-Stock Projected Qty,Stoc proiectată Cantitate,
-Student and Guardian Contact Details,Student și Guardian Detalii de contact,
-Student Batch-Wise Attendance,Lot-înțelept elev Participarea,
-Student Fee Collection,Taxa de student Colectia,
-Student Monthly Attendance Sheet,Elev foaia de prezență lunară,
-Subcontracted Item To Be Received,Articol subcontractat care trebuie primit,
-Subcontracted Raw Materials To Be Transferred,Materii prime subcontractate care trebuie transferate,
-Supplier Ledger Summary,Rezumat evidență furnizor,
-Supplier-Wise Sales Analytics,Furnizor înțelept Vânzări Analytics,
-Support Hour Distribution,Distribuția orelor de distribuție,
-TDS Computation Summary,Rezumatul TDS de calcul,
-TDS Payable Monthly,TDS plătibil lunar,
-Territory Target Variance Based On Item Group,Varianța țintă de teritoriu pe baza grupului de articole,
-Territory-wise Sales,Vânzări înțelese teritoriul,
-Total Stock Summary,Rezumatul Total al Stocului,
-Trial Balance,Balanta,
-Trial Balance (Simple),Soldul de încercare (simplu),
-Trial Balance for Party,Trial Balance pentru Party,
-Unpaid Expense Claim,Solicitare Cheltuială Neachitată,
-Warehouse wise Item Balance Age and Value,Warehouse wise Item Balance Age și Value,
-Work Order Stock Report,Raport de stoc pentru comanda de lucru,
-Work Orders in Progress,Ordine de lucru în curs,
-Validation Error,eroare de validatie,
-Automatically Process Deferred Accounting Entry,Procesați automat intrarea contabilă amânată,
-Bank Clearance,Clearance bancar,
-Bank Clearance Detail,Detaliu de lichidare bancară,
-Update Cost Center Name / Number,Actualizați numele / numărul centrului de costuri,
-Journal Entry Template,Șablon de intrare în jurnal,
-Template Title,Titlul șablonului,
-Journal Entry Type,Tipul intrării în jurnal,
-Journal Entry Template Account,Cont șablon de intrare în jurnal,
-Process Deferred Accounting,Procesul de contabilitate amânată,
-Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Intrarea manuală nu poate fi creată! Dezactivați intrarea automată pentru contabilitatea amânată în setările conturilor și încercați din nou,
-End date cannot be before start date,Data de încheiere nu poate fi înainte de data de începere,
-Total Counts Targeted,Numărul total vizat,
-Total Counts Completed,Numărul total finalizat,
-Counts Targeted: {0},Număruri vizate: {0},
-Payment Account is mandatory,Contul de plată este obligatoriu,
-"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Dacă este bifat, suma totală va fi dedusă din venitul impozabil înainte de calcularea impozitului pe venit fără nicio declarație sau depunere de dovadă.",
-Disbursement Details,Detalii despre debursare,
-Material Request Warehouse,Depozit cerere material,
-Select warehouse for material requests,Selectați depozitul pentru solicitări de materiale,
-Transfer Materials For Warehouse {0},Transfer de materiale pentru depozit {0},
-Production Plan Material Request Warehouse,Plan de producție Cerere de materiale Depozit,
-Sets 'Source Warehouse' in each row of the items table.,Setează „Depozit sursă” în fiecare rând al tabelului cu articole.,
-Sets 'Target Warehouse' in each row of the items table.,Setează „Depozit țintă” în fiecare rând al tabelului cu articole.,
-Show Cancelled Entries,Afișați intrările anulate,
-Backdated Stock Entry,Intrare de stoc actualizată,
-Row #{}: Currency of {} - {} doesn't matches company currency.,Rândul # {}: moneda {} - {} nu se potrivește cu moneda companiei.,
-{} Assets created for {},{} Active create pentru {},
-{0} Number {1} is already used in {2} {3},{0} Numărul {1} este deja utilizat în {2} {3},
-Update Bank Clearance Dates,Actualizați datele de compensare bancară,
-Healthcare Practitioner: ,Practician medical:,
-Lab Test Conducted: ,Test de laborator efectuat:,
-Lab Test Event: ,Eveniment de test de laborator:,
-Lab Test Result: ,Rezultatul testului de laborator:,
-Clinical Procedure conducted: ,Procedura clinică efectuată:,
-Therapy Session Charges: {0},Taxe pentru sesiunea de terapie: {0},
-Therapy: ,Terapie:,
-Therapy Plan: ,Planul de terapie:,
-Total Counts Targeted: ,Număruri totale vizate:,
-Total Counts Completed: ,Numărul total finalizat:,
-Andaman and Nicobar Islands,Insulele Andaman și Nicobar,
-Andhra Pradesh,Andhra Pradesh,
-Arunachal Pradesh,Arunachal Pradesh,
-Assam,Assam,
-Bihar,Bihar,
-Chandigarh,Chandigarh,
-Chhattisgarh,Chhattisgarh,
-Dadra and Nagar Haveli,Dadra și Nagar Haveli,
-Daman and Diu,Daman și Diu,
-Delhi,Delhi,
-Goa,Goa,
-Gujarat,Gujarat,
-Haryana,Haryana,
-Himachal Pradesh,Himachal Pradesh,
-Jammu and Kashmir,Jammu și Kashmir,
-Jharkhand,Jharkhand,
-Karnataka,Karnataka,
-Kerala,Kerala,
-Lakshadweep Islands,Insulele Lakshadweep,
-Madhya Pradesh,Madhya Pradesh,
-Maharashtra,Maharashtra,
-Manipur,Manipur,
-Meghalaya,Meghalaya,
-Mizoram,Mizoram,
-Nagaland,Nagaland,
-Odisha,Odisha,
-Other Territory,Alt teritoriu,
-Pondicherry,Pondicherry,
-Punjab,Punjab,
-Rajasthan,Rajasthan,
-Sikkim,Sikkim,
-Tamil Nadu,Tamil Nadu,
-Telangana,Telangana,
-Tripura,Tripura,
-Uttar Pradesh,Uttar Pradesh,
-Uttarakhand,Uttarakhand,
-West Bengal,Bengalul de Vest,
-Is Mandatory,Este obligatoriu,
-Published on,publicat pe,
-Service Received But Not Billed,"Serviciu primit, dar nu facturat",
-Deferred Accounting Settings,Setări de contabilitate amânate,
-Book Deferred Entries Based On,Rezervați intrări amânate pe baza,
-Days,Zile,
-Months,Luni,
-Book Deferred Entries Via Journal Entry,Rezervați intrări amânate prin intrarea în jurnal,
-Submit Journal Entries,Trimiteți intrări în jurnal,
-If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Dacă aceasta nu este bifată, jurnalele vor fi salvate într-o stare de schiță și vor trebui trimise manual",
-Enable Distributed Cost Center,Activați Centrul de cost distribuit,
-Distributed Cost Center,Centrul de cost distribuit,
-Dunning,Poftă,
-DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
-Overdue Days,Zile restante,
-Dunning Type,Tipul Dunning,
-Dunning Fee,Taxă Dunning,
-Dunning Amount,Suma Dunning,
-Resolved,S-a rezolvat,
-Unresolved,Nerezolvat,
-Printing Setting,Setare imprimare,
-Body Text,Corpul textului,
-Closing Text,Text de închidere,
-Resolve,Rezolva,
-Dunning Letter Text,Text scrisoare Dunning,
-Is Default Language,Este limba implicită,
-Letter or Email Body Text,Text pentru corp scrisoare sau e-mail,
-Letter or Email Closing Text,Text de închidere prin scrisoare sau e-mail,
-Body and Closing Text Help,Ajutor pentru corp și text de închidere,
-Overdue Interval,Interval întârziat,
-Dunning Letter,Scrisoare Dunning,
-"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.","Această secțiune permite utilizatorului să seteze corpul și textul de închidere al Scrisorii Dunning pentru tipul Dunning în funcție de limbă, care poate fi utilizat în Tipărire.",
-Reference Detail No,Nr. Detalii referință,
-Custom Remarks,Observații personalizate,
-Please select a Company first.,Vă rugăm să selectați mai întâi o companie.,
-"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Rândul # {0}: tipul documentului de referință trebuie să fie unul dintre Comanda de vânzări, Factura de vânzări, Înregistrarea jurnalului sau Sarcina",
-POS Closing Entry,Intrare de închidere POS,
-POS Opening Entry,Intrare de deschidere POS,
-POS Transactions,Tranzacții POS,
-POS Closing Entry Detail,Detaliu intrare închidere POS,
-Opening Amount,Suma de deschidere,
-Closing Amount,Suma de închidere,
-POS Closing Entry Taxes,Taxe de intrare POS închidere,
-POS Invoice,Factură POS,
-ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
-Consolidated Sales Invoice,Factură de vânzări consolidată,
-Return Against POS Invoice,Reveniți împotriva facturii POS,
-Consolidated,Consolidat,
-POS Invoice Item,Articol factură POS,
-POS Invoice Merge Log,Jurnal de îmbinare a facturilor POS,
-POS Invoices,Facturi POS,
-Consolidated Credit Note,Nota de credit consolidată,
-POS Invoice Reference,Referință factură POS,
-Set Posting Date,Setați data de înregistrare,
-Opening Balance Details,Detalii sold deschidere,
-POS Opening Entry Detail,Detaliu intrare deschidere POS,
-POS Payment Method,Metoda de plată POS,
-Payment Methods,Metode de plata,
-Process Statement Of Accounts,Procesul de situație a conturilor,
-General Ledger Filters,Filtre majore,
-Customers,Clienți,
-Select Customers By,Selectați Clienți după,
-Fetch Customers,Aduceți clienții,
-Send To Primary Contact,Trimiteți la contactul principal,
-Print Preferences,Preferințe de imprimare,
-Include Ageing Summary,Includeți rezumatul îmbătrânirii,
-Enable Auto Email,Activați e-mailul automat,
-Filter Duration (Months),Durata filtrului (luni),
-CC To,CC To,
-Help Text,Text de ajutor,
-Emails Queued,E-mailuri la coadă,
-Process Statement Of Accounts Customer,Procesul extras de cont client,
-Billing Email,E-mail de facturare,
-Primary Contact Email,E-mail de contact principal,
-PSOA Cost Center,Centrul de cost PSOA,
-PSOA Project,Proiectul PSOA,
-ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
-Supplier GSTIN,Furnizor GSTIN,
-Place of Supply,Locul aprovizionării,
-Select Billing Address,Selectați Adresa de facturare,
-GST Details,Detalii GST,
-GST Category,Categoria GST,
-Registered Regular,Înregistrat regulat,
-Registered Composition,Compoziție înregistrată,
-Unregistered,Neînregistrat,
-SEZ,SEZ,
-Overseas,De peste mări,
-UIN Holders,Titulari UIN,
-With Payment of Tax,Cu plata impozitului,
-Without Payment of Tax,Fără plata impozitului,
-Invoice Copy,Copie factură,
-Original for Recipient,Original pentru Destinatar,
-Duplicate for Transporter,Duplicat pentru Transporter,
-Duplicate for Supplier,Duplicat pentru furnizor,
-Triplicate for Supplier,Triplicat pentru furnizor,
-Reverse Charge,Taxare inversă,
-Y,Da,
-N,N,
-E-commerce GSTIN,Comerț electronic GSTIN,
-Reason For Issuing document,Motivul eliberării documentului,
-01-Sales Return,01-Returnarea vânzărilor,
-02-Post Sale Discount,02-Reducere după vânzare,
-03-Deficiency in services,03-Deficiența serviciilor,
-04-Correction in Invoice,04-Corecție în factură,
-05-Change in POS,05-Modificare POS,
-06-Finalization of Provisional assessment,06-Finalizarea evaluării provizorii,
-07-Others,07-Altele,
-Eligibility For ITC,Eligibilitate pentru ITC,
-Input Service Distributor,Distribuitor de servicii de intrare,
-Import Of Service,Importul serviciului,
-Import Of Capital Goods,Importul de bunuri de capital,
-Ineligible,Neeligibil,
-All Other ITC,Toate celelalte ITC,
-Availed ITC Integrated Tax,Taxă integrată ITC disponibilă,
-Availed ITC Central Tax,Taxă centrală ITC disponibilă,
-Availed ITC State/UT Tax,Impozit ITC de stat / UT disponibil,
-Availed ITC Cess,Cess ITC disponibil,
-Is Nil Rated or Exempted,Este evaluat zero sau scutit,
-Is Non GST,Nu este GST,
-ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
-E-Way Bill No.,E-Way Bill nr.,
-Is Consolidated,Este consolidat,
-Billing Address GSTIN,Adresa de facturare GSTIN,
-Customer GSTIN,Client GSTIN,
-GST Transporter ID,ID GST Transporter,
-Distance (in km),Distanță (în km),
-Road,drum,
-Air,Aer,
-Rail,Feroviar,
-Ship,Navă,
-GST Vehicle Type,Tipul vehiculului GST,
-Over Dimensional Cargo (ODC),Marfă supradimensională (ODC),
-Consumer,Consumator,
-Deemed Export,Export estimat,
-Port Code,Cod port,
- Shipping Bill Number,Numărul facturii de expediere,
-Shipping Bill Date,Data facturii de expediere,
-Subscription End Date,Data de încheiere a abonamentului,
-Follow Calendar Months,Urmăriți lunile calendaristice,
-If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Dacă se verifică acest lucru, vor fi create noi facturi ulterioare în lunile calendaristice și în datele de începere a trimestrului, indiferent de data curentă de începere a facturii",
-Generate New Invoices Past Due Date,Generați facturi noi la scadență,
-New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Facturile noi vor fi generate conform programului, chiar dacă facturile curente sunt neplătite sau sunt scadente",
-Document Type ,Tipul documentului,
-Subscription Price Based On,Prețul abonamentului pe baza,
-Fixed Rate,Rata fixa,
-Based On Price List,Pe baza listei de prețuri,
-Monthly Rate,Rată lunară,
-Cancel Subscription After Grace Period,Anulați abonamentul după perioada de grație,
-Source State,Statul sursă,
-Is Inter State,Este statul Inter,
-Purchase Details,Detalii achiziție,
-Depreciation Posting Date,Data înregistrării amortizării,
-"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","În mod implicit, numele furnizorului este setat conform numelui furnizorului introdus. Dacă doriți ca Furnizorii să fie numiți de către un",
- choose the 'Naming Series' option.,alegeți opțiunea „Denumirea seriei”.,
-Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Configurați lista de prețuri implicită atunci când creați o nouă tranzacție de cumpărare. Prețurile articolelor vor fi preluate din această listă de prețuri.,
-"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.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de achiziție sau o chitanță fără a crea mai întâi o comandă de cumpărare. Această configurație poate fi anulată pentru un anumit furnizor activând caseta de selectare „Permite crearea facturii de cumpărare fără comandă de cumpărare” din masterul furnizorului.",
-"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.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de cumpărare fără a crea mai întâi o chitanță de cumpărare. Această configurație poate fi suprascrisă pentru un anumit furnizor activând caseta de selectare „Permite crearea facturii de cumpărare fără chitanță de cumpărare” din masterul furnizorului.",
-Quantity & Stock,Cantitate și stoc,
-Call Details,Detalii apel,
-Authorised By,Autorizat de,
-Signee (Company),Destinatar (companie),
-Signed By (Company),Semnat de (Companie),
-First Response Time,Timpul primului răspuns,
-Request For Quotation,Cerere de ofertă,
-Opportunity Lost Reason Detail,Detaliu despre motivul pierdut al oportunității,
-Access Token Secret,Accesează Token Secret,
-Add to Topics,Adăugați la subiecte,
-...Adding Article to Topics,... Adăugarea articolului la subiecte,
-Add Article to Topics,Adăugați un articol la subiecte,
-This article is already added to the existing topics,Acest articol este deja adăugat la subiectele existente,
-Add to Programs,Adăugați la Programe,
-Programs,Programe,
-...Adding Course to Programs,... Adăugarea cursului la programe,
-Add Course to Programs,Adăugați cursul la programe,
-This course is already added to the existing programs,Acest curs este deja adăugat la programele existente,
-Learning Management System Settings,Setările sistemului de management al învățării,
-Enable Learning Management System,Activați sistemul de gestionare a învățării,
-Learning Management System Title,Titlul sistemului de management al învățării,
-...Adding Quiz to Topics,... Adăugarea testului la subiecte,
-Add Quiz to Topics,Adăugați test la subiecte,
-This quiz is already added to the existing topics,Acest test este deja adăugat la subiectele existente,
-Enable Admission Application,Activați cererea de admitere,
-EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
-Marking attendance,Marcarea prezenței,
-Add Guardians to Email Group,Adăugați Gardieni în grupul de e-mail,
-Attendance Based On,Prezență bazată pe,
-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,Bifați acest lucru pentru a marca studentul ca prezent în cazul în care studentul nu participă la institut pentru a participa sau pentru a reprezenta institutul în orice caz.,
-Add to Courses,Adăugați la Cursuri,
-...Adding Topic to Courses,... Adăugarea subiectului la cursuri,
-Add Topic to Courses,Adăugați subiect la cursuri,
-This topic is already added to the existing courses,Acest subiect este deja adăugat la cursurile existente,
-"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","Dacă Shopify nu are un client în comandă, atunci în timp ce sincronizează comenzile, sistemul va lua în considerare clientul implicit pentru comandă",
-The accounts are set by the system automatically but do confirm these defaults,"Conturile sunt setate automat de sistem, dar confirmă aceste valori implicite",
-Default Round Off Account,Cont implicit rotunjit,
-Failed Import Log,Jurnal de importare eșuat,
-Fixed Error Log,S-a remediat jurnalul de erori,
-Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Compania {0} există deja. Continuarea va suprascrie compania și planul de conturi,
-Meta Data,Meta Date,
-Unresolve,Nerezolvat,
-Create Document,Creați document,
-Mark as unresolved,Marcați ca nerezolvat,
-TaxJar Settings,Setări TaxJar,
-Sandbox Mode,Mod Sandbox,
-Enable Tax Calculation,Activați calculul impozitului,
-Create TaxJar Transaction,Creați tranzacția TaxJar,
-Credentials,Acreditări,
-Live API Key,Cheie API live,
-Sandbox API Key,Cheia API Sandbox,
-Configuration,Configurare,
-Tax Account Head,Șef cont fiscal,
-Shipping Account Head,Șef cont de expediere,
-Practitioner Name,Numele practicianului,
-Enter a name for the Clinical Procedure Template,Introduceți un nume pentru șablonul de procedură clinică,
-Set the Item Code which will be used for billing the Clinical Procedure.,Setați codul articolului care va fi utilizat pentru facturarea procedurii clinice.,
-Select an Item Group for the Clinical Procedure Item.,Selectați un grup de articole pentru articolul de procedură clinică.,
-Clinical Procedure Rate,Rata procedurii clinice,
-Check this if the Clinical Procedure is billable and also set the rate.,"Verificați acest lucru dacă procedura clinică este facturabilă și, de asemenea, setați rata.",
-Check this if the Clinical Procedure utilises consumables. Click ,Verificați acest lucru dacă procedura clinică utilizează consumabile. Clic,
- to know more,să afle mai multe,
-"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.","De asemenea, puteți seta Departamentul medical pentru șablon. După salvarea documentului, un articol va fi creat automat pentru facturarea acestei proceduri clinice. Puteți utiliza apoi acest șablon în timp ce creați proceduri clinice pentru pacienți. Șabloanele vă scutesc de la completarea datelor redundante de fiecare dată. De asemenea, puteți crea șabloane pentru alte operații precum teste de laborator, sesiuni de terapie etc.",
-Descriptive Test Result,Rezultatul testului descriptiv,
-Allow Blank,Permiteți golul,
-Descriptive Test Template,Șablon de test descriptiv,
-"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Dacă doriți să urmăriți salarizarea și alte operațiuni HRMS pentru un practician, creați un angajat și conectați-l aici.",
-Set the Practitioner Schedule you just created. This will be used while booking appointments.,Setați programul de practicanți pe care tocmai l-ați creat. Aceasta va fi utilizată la rezervarea programărilor.,
-Create a service item for Out Patient Consulting.,Creați un element de serviciu pentru consultarea externă a pacienților.,
-"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Dacă acest profesionist din domeniul sănătății lucrează pentru departamentul internat, creați un articol de servicii pentru vizitele internate.",
-Set the Out Patient Consulting Charge for this Practitioner.,Stabiliți taxa pentru consultarea pacientului pentru acest practicant.,
-"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","În cazul în care acest profesionist din domeniul sănătății lucrează și pentru secția de internare, stabiliți taxa de vizitare pentru acest practician.",
-"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.","Dacă este bifat, va fi creat un client pentru fiecare pacient. Facturile pacientului vor fi create împotriva acestui client. De asemenea, puteți selecta clientul existent în timp ce creați un pacient. Acest câmp este bifat implicit.",
-Collect Registration Fee,Încasează taxa de înregistrare,
-"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.","Dacă unitatea medicală facturează înregistrările pacienților, puteți verifica acest lucru și puteți stabili taxa de înregistrare în câmpul de mai jos. Verificând acest lucru se vor crea noi pacienți cu starea Dezactivat în mod implicit și vor fi activate numai după facturarea Taxei de înregistrare.",
-Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Verificarea acestui lucru va crea automat o factură de vânzare ori de câte ori este rezervată o întâlnire pentru un pacient.,
-Healthcare Service Items,Produse pentru servicii medicale,
-"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 ","Puteți crea un articol de serviciu pentru taxa de vizită internată și setați-l aici. În mod similar, puteți configura alte elemente de servicii medicale pentru facturare în această secțiune. Clic",
-Set up default Accounts for the Healthcare Facility,Configurați conturi implicite pentru unitatea medicală,
-"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Dacă doriți să înlocuiți setările implicite ale conturilor și să configurați conturile de venituri și creanțe pentru asistență medicală, puteți face acest lucru aici.",
-Out Patient SMS alerts,Alerte SMS pentru pacienți,
-"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 ","Dacă doriți să trimiteți alertă SMS la înregistrarea pacientului, puteți activa această opțiune. În mod similar, puteți configura alerte SMS pentru pacient pentru alte funcționalități în această secțiune. Clic",
-Admission Order Details,Detalii comandă de admitere,
-Admission Ordered For,Admiterea comandată pentru,
-Expected Length of Stay,Durata de ședere preconizată,
-Admission Service Unit Type,Tipul unității de servicii de admitere,
-Healthcare Practitioner (Primary),Practician medical (primar),
-Healthcare Practitioner (Secondary),Practician medical (secundar),
-Admission Instruction,Instrucțiuni de admitere,
-Chief Complaint,Plângere șefă,
-Medications,Medicamente,
-Investigations,Investigații,
-Discharge Detials,Detalii de descărcare,
-Discharge Ordered Date,Data comandării descărcării,
-Discharge Instructions,Instrucțiuni de descărcare de gestiune,
-Follow Up Date,Data de urmărire,
-Discharge Notes,Note de descărcare de gestiune,
-Processing Inpatient Discharge,Procesarea externării internate,
-Processing Patient Admission,Procesarea admiterii pacientului,
-Check-in time cannot be greater than the current time,Ora de check-in nu poate fi mai mare decât ora curentă,
-Process Transfer,Transfer de proces,
-HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
-Expected Result Date,Data rezultatului așteptat,
-Expected Result Time,Timp de rezultat așteptat,
-Printed on,Tipărit pe,
-Requesting Practitioner,Practician solicitant,
-Requesting Department,Departamentul solicitant,
-Employee (Lab Technician),Angajat (tehnician de laborator),
-Lab Technician Name,Numele tehnicianului de laborator,
-Lab Technician Designation,Desemnarea tehnicianului de laborator,
-Compound Test Result,Rezultatul testului compus,
-Organism Test Result,Rezultatul testului de organism,
-Sensitivity Test Result,Rezultatul testului de sensibilitate,
-Worksheet Print,Imprimare foaie de lucru,
-Worksheet Instructions,Instrucțiuni pentru foaia de lucru,
-Result Legend Print,Imprimare legendă rezultat,
-Print Position,Poziția de imprimare,
-Bottom,Partea de jos,
-Top,Top,
-Both,Ambii,
-Result Legend,Legenda rezultatului,
-Lab Tests,Teste de laborator,
-No Lab Tests found for the Patient {0},Nu s-au găsit teste de laborator pentru pacient {0},
-"Did not send SMS, missing patient mobile number or message content.","Nu am trimis SMS-uri, lipsă numărul de mobil al pacientului sau conținutul mesajului.",
-No Lab Tests created,Nu au fost create teste de laborator,
-Creating Lab Tests...,Se creează teste de laborator ...,
-Lab Test Group Template,Șablon de grup de test de laborator,
-Add New Line,Adăugați o linie nouă,
-Secondary UOM,UOM secundar,
-"<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>Single</b> : Rezultate care necesită o singură intrare.<br> <b>Compus</b> : Rezultate care necesită mai multe intrări de evenimente.<br> <b>Descriptiv</b> : teste care au mai multe componente ale rezultatelor cu introducerea manuală a rezultatelor.<br> <b>Grupate</b> : șabloane de testare care sunt un grup de alte șabloane de testare.<br> <b>Niciun rezultat</b> : testele fără rezultate, pot fi comandate și facturate, dar nu va fi creat niciun test de laborator. de exemplu. Subteste pentru rezultate grupate",
-"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Dacă nu este bifat, articolul nu va fi disponibil în facturile de vânzare pentru facturare, dar poate fi utilizat la crearea testului de grup.",
-Description ,Descriere,
-Descriptive Test,Test descriptiv,
-Group Tests,Teste de grup,
-Instructions to be printed on the worksheet,Instrucțiuni care trebuie tipărite pe foaia de lucru,
-"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Informațiile care vor ajuta la interpretarea cu ușurință a raportului de testare vor fi tipărite ca parte a rezultatului testului de laborator.,
-Normal Test Result,Rezultat normal al testului,
-Secondary UOM Result,Rezultatul UOM secundar,
-Italic,Cursiv,
-Underline,Subliniați,
-Organism,Organism,
-Organism Test Item,Element de testare a organismului,
-Colony Population,Populația coloniei,
-Colony UOM,Colonia UOM,
-Tobacco Consumption (Past),Consumul de tutun (trecut),
-Tobacco Consumption (Present),Consumul de tutun (Prezent),
-Alcohol Consumption (Past),Consumul de alcool (trecut),
-Alcohol Consumption (Present),Consumul de alcool (prezent),
-Billing Item,Articol de facturare,
-Medical Codes,Coduri medicale,
-Clinical Procedures,Proceduri clinice,
-Order Admission,Admiterea comenzii,
-Scheduling Patient Admission,Programarea admiterii pacientului,
-Order Discharge,Descărcare comandă,
-Sample Details,Detalii mostre,
-Collected On,Colectat pe,
-No. of prints,Nr. De amprente,
-Number of prints required for labelling the samples,Numărul de tipăriri necesare pentru etichetarea probelor,
-HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
-In Time,La timp,
-Out Time,Timp liber,
-Payroll Cost Center,Centru de salarizare,
-Approvers,Aprobatori,
-The first Approver in the list will be set as the default Approver.,Primul aprobator din listă va fi setat ca aprobator implicit.,
-Shift Request Approver,Aprobarea cererii de schimbare,
-PAN Number,Număr PAN,
-Provident Fund Account,Contul Fondului Provident,
-MICR Code,Cod MICR,
-Repay unclaimed amount from salary,Rambursați suma nepreluată din salariu,
-Deduction from salary,Deducerea din salariu,
-Expired Leaves,Frunze expirate,
-Reference No,Nr. De referință,
-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.,Procentul de tunsoare este diferența procentuală dintre valoarea de piață a titlului de împrumut și valoarea atribuită respectivului titlu de împrumut atunci când este utilizat ca garanție pentru împrumutul respectiv.,
-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 ,Raportul împrumut la valoare exprimă raportul dintre suma împrumutului și valoarea garanției gajate. O deficiență a garanției împrumutului va fi declanșată dacă aceasta scade sub valoarea specificată pentru orice împrumut,
-If this is not checked the loan by default will be considered as a Demand Loan,"Dacă acest lucru nu este verificat, împrumutul implicit va fi considerat un împrumut la cerere",
-This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"Acest cont este utilizat pentru rezervarea rambursărilor de împrumut de la împrumutat și, de asemenea, pentru a plăti împrumuturi către împrumutat",
-This account is capital account which is used to allocate capital for loan disbursal account ,Acest cont este un cont de capital care este utilizat pentru alocarea de capital pentru contul de debursare a împrumutului,
-This account will be used for booking loan interest accruals,Acest cont va fi utilizat pentru rezervarea dobânzilor la dobândă de împrumut,
-This account will be used for booking penalties levied due to delayed repayments,Acest cont va fi utilizat pentru rezervarea penalităților percepute din cauza rambursărilor întârziate,
-Variant BOM,Varianta DOM,
-Template Item,Articol șablon,
-Select template item,Selectați elementul șablon,
-Select variant item code for the template item {0},Selectați varianta codului articolului pentru elementul șablon {0},
-Downtime Entry,Intrare în timp de inactivitate,
-DT-,DT-,
-Workstation / Machine,Stație de lucru / Mașină,
-Operator,Operator,
-In Mins,În minele,
-Downtime Reason,Motivul opririi,
-Stop Reason,Stop Reason,
-Excessive machine set up time,Timp excesiv de configurare a mașinii,
-Unplanned machine maintenance,Întreținerea neplanificată a mașinii,
-On-machine press checks,Verificări de presă la mașină,
-Machine operator errors,Erori operator operator,
-Machine malfunction,Funcționarea defectuoasă a mașinii,
-Electricity down,Electricitate scăzută,
-Operation Row Number,Număr rând operațiune,
-Operation {0} added multiple times in the work order {1},Operația {0} adăugată de mai multe ori în ordinea de lucru {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.","Dacă este bifat, mai multe materiale pot fi utilizate pentru o singură comandă de lucru. Acest lucru este util dacă sunt fabricate unul sau mai multe produse consumatoare de timp.",
-Backflush Raw Materials,Materii prime Backflush,
-"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.","Intrarea în stoc a tipului „Fabricare” este cunoscută sub numele de backflush. Materiile prime consumate pentru fabricarea produselor finite sunt cunoscute sub numele de backflushing.<br><br> La crearea intrării în fabricație, articolele din materie primă sunt revocate pe baza BOM a articolului de producție. Dacă doriți ca elementele din materie primă să fie revocate în funcție de intrarea de transfer de materiale efectuată împotriva respectivei comenzi de lucru, atunci o puteți seta în acest câmp.",
-Work In Progress Warehouse,Depozit Work In Progress,
-This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Acest depozit va fi actualizat automat în câmpul Depozit de lucru în curs al comenzilor de lucru.,
-Finished Goods Warehouse,Depozit de produse finite,
-This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Acest depozit va fi actualizat automat în câmpul Depozit țintă din Ordinul de lucru.,
-"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Dacă este bifat, costul BOM va fi actualizat automat în funcție de rata de evaluare / rata de listă de prețuri / ultima rată de achiziție a materiilor prime.",
-Source Warehouses (Optional),Depozite sursă (opțional),
-"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistemul va prelua materialele din depozitele selectate. Dacă nu este specificat, sistemul va crea o cerere materială pentru cumpărare.",
-Lead Time,Perioada de grație,
-PAN Details,Detalii PAN,
-Create Customer,Creați client,
-Invoicing,Facturare,
-Enable Auto Invoicing,Activați facturarea automată,
-Send Membership Acknowledgement,Trimiteți confirmarea de membru,
-Send Invoice with Email,Trimiteți factura prin e-mail,
-Membership Print Format,Formatul de tipărire a calității de membru,
-Invoice Print Format,Format de imprimare factură,
-Revoke <Key></Key>,Revoca&lt;Key&gt;&lt;/Key&gt;,
-You can learn more about memberships in the manual. ,Puteți afla mai multe despre abonamente în manual.,
-ERPNext Docs,Documente ERPNext,
-Regenerate Webhook Secret,Regenerați secretul Webhook,
-Generate Webhook Secret,Generați Webhook Secret,
-Copy Webhook URL,Copiați adresa URL Webhook,
-Linked Item,Element conectat,
-Is Recurring,Este recurent,
-HRA Exemption,Scutire HRA,
-Monthly House Rent,Închirierea lunară a casei,
-Rented in Metro City,Închiriat în Metro City,
-HRA as per Salary Structure,HRA conform structurii salariale,
-Annual HRA Exemption,Scutire anuală HRA,
-Monthly HRA Exemption,Scutire HRA lunară,
-House Rent Payment Amount,Suma plății chiriei casei,
-Rented From Date,Închiriat de la Data,
-Rented To Date,Închiriat până în prezent,
-Monthly Eligible Amount,Suma eligibilă lunară,
-Total Eligible HRA Exemption,Scutire HRA eligibilă totală,
-Validating Employee Attendance...,Validarea prezenței angajaților ...,
-Submitting Salary Slips and creating Journal Entry...,Trimiterea fișelor salariale și crearea intrării în jurnal ...,
-Calculate Payroll Working Days Based On,Calculați zilele lucrătoare de salarizare pe baza,
-Consider Unmarked Attendance As,Luați în considerare participarea nemarcată ca,
-Fraction of Daily Salary for Half Day,Fracțiunea salariului zilnic pentru jumătate de zi,
-Component Type,Tipul componentei,
-Provident Fund,Fondul Provident,
-Additional Provident Fund,Fondul Provident suplimentar,
-Provident Fund Loan,Împrumut pentru Fondul Provident,
-Professional Tax,Impozit profesional,
-Is Income Tax Component,Este componenta impozitului pe venit,
-Component properties and references ,Proprietăți și referințe ale componentelor,
-Additional Salary ,Salariu suplimentar,
-Unmarked days,Zile nemarcate,
-Absent Days,Zile absente,
-Conditions and Formula variable and example,Condiții și variabilă Formula și exemplu,
-Feedback By,Feedback de,
-Manufacturing Section,Secțiunea de fabricație,
-"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","În mod implicit, Numele clientului este setat conform Numelui complet introdus. Dacă doriți ca clienții să fie numiți de un",
-Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configurați lista de prețuri implicită atunci când creați o nouă tranzacție de vânzări. Prețurile articolelor vor fi preluate din această listă de prețuri.,
-"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.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de vânzare sau o notă de livrare fără a crea mai întâi o comandă de vânzare. Această configurație poate fi anulată pentru un anumit Client activând caseta de selectare „Permite crearea facturii de vânzare fără comandă de vânzare” din masterul Clientului.",
-"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.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de vânzare fără a crea mai întâi o notă de livrare. Această configurație poate fi suprascrisă pentru un anumit Client activând caseta de selectare „Permite crearea facturilor de vânzare fără notă de livrare” din masterul Clientului.",
-Default Warehouse for Sales Return,Depozit implicit pentru returnarea vânzărilor,
-Default In Transit Warehouse,Implicit în Depozitul de tranzit,
-Enable Perpetual Inventory For Non Stock Items,Activați inventarul perpetuu pentru articolele fără stoc,
-HRA Settings,Setări HRA,
-Basic Component,Componenta de bază,
-HRA Component,Componenta HRA,
-Arrear Component,Componenta Arrear,
-Please enter the company name to confirm,Vă rugăm să introduceți numele companiei pentru a confirma,
-Quotation Lost Reason Detail,Citat Detaliu motiv pierdut,
-Enable Variants,Activați variantele,
-Save Quotations as Draft,Salvați ofertele ca schiță,
-MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
-Please Select a Customer,Vă rugăm să selectați un client,
-Against Delivery Note Item,Împotriva articolului Note de livrare,
-Is Non GST ,Nu este GST,
-Image Description,Descrierea imaginii,
-Transfer Status,Stare transfer,
-MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
-Track this Purchase Receipt against any Project,Urmăriți această chitanță de cumpărare împotriva oricărui proiect,
-Please Select a Supplier,Vă rugăm să selectați un furnizor,
-Add to Transit,Adăugați la tranzit,
-Set Basic Rate Manually,Setați manual rata de bază,
-"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","În mod implicit, numele articolului este setat conform codului articolului introdus. Dacă doriți ca elementele să fie denumite de un",
-Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Setați un depozit implicit pentru tranzacțiile de inventar. Acest lucru va fi preluat în Depozitul implicit din elementul master.,
-"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.","Acest lucru va permite afișarea articolelor stoc în valori negative. Utilizarea acestei opțiuni depinde de cazul dvs. de utilizare. Cu această opțiune bifată, sistemul avertizează înainte de a obstrucționa o tranzacție care cauzează stoc negativ.",
-Choose between FIFO and Moving Average Valuation Methods. Click ,Alegeți între FIFO și metodele de evaluare medie mobile. Clic,
- to know more about them.,să afle mai multe despre ele.,
-Show 'Scan Barcode' field above every child table to insert Items with ease.,Afișați câmpul „Scanare cod de bare” deasupra fiecărui tabel copil pentru a insera articole cu ușurință.,
-"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.","Numerele de serie pentru stoc vor fi setate automat pe baza articolelor introduse pe baza primelor în primele ieșiri din tranzacții precum facturi de cumpărare / vânzare, note de livrare etc.",
-"If blank, parent Warehouse Account or company default will be considered in transactions","Dacă este necompletat, contul de depozit părinte sau prestabilitatea companiei vor fi luate în considerare în tranzacții",
-Service Level Agreement Details,Detalii acord nivel de serviciu,
-Service Level Agreement Status,Starea Acordului la nivel de serviciu,
-On Hold Since,În așteptare de când,
-Total Hold Time,Timp total de așteptare,
-Response Details,Detalii de răspuns,
-Average Response Time,Timpul mediu de răspuns,
-User Resolution Time,Ora de rezoluție a utilizatorului,
-SLA is on hold since {0},SLA este în așteptare de la {0},
-Pause SLA On Status,Întrerupeți SLA On Status,
-Pause SLA On,Întrerupeți SLA Activat,
-Greetings Section,Secțiunea Salutări,
-Greeting Title,Titlu de salut,
-Greeting Subtitle,Subtitrare de salut,
-Youtube ID,ID YouTube,
-Youtube Statistics,Statistici Youtube,
-Views,Vizualizări,
-Dislikes,Nu-mi place,
-Video Settings,Setari video,
-Enable YouTube Tracking,Activați urmărirea YouTube,
-30 mins,30 de minute,
-1 hr,1 oră,
-6 hrs,6 ore,
-Patient Progress,Progresul pacientului,
-Targetted,Țintit,
-Score Obtained,Scor obținut,
-Sessions,Sesiuni,
-Average Score,Scor mediu,
-Select Assessment Template,Selectați Șablon de evaluare,
- out of ,din,
-Select Assessment Parameter,Selectați Parametru de evaluare,
-Gender: ,Gen:,
-Contact: ,A lua legatura:,
-Total Therapy Sessions: ,Total sesiuni de terapie:,
-Monthly Therapy Sessions: ,Sesiuni lunare de terapie:,
-Patient Profile,Profilul pacientului,
-Point Of Sale,Punct de vânzare,
-Email sent successfully.,Email-ul a fost trimis cu succes.,
-Search by invoice id or customer name,Căutați după ID-ul facturii sau numele clientului,
-Invoice Status,Starea facturii,
-Filter by invoice status,Filtrează după starea facturii,
-Select item group,Selectați grupul de articole,
-No items found. Scan barcode again.,Nu au fost gasite articolele. Scanați din nou codul de bare.,
-"Search by customer name, phone, email.","Căutare după numele clientului, telefon, e-mail.",
-Enter discount percentage.,Introduceți procentul de reducere.,
-Discount cannot be greater than 100%,Reducerea nu poate fi mai mare de 100%,
-Enter customer's email,Introduceți adresa de e-mail a clientului,
-Enter customer's phone number,Introduceți numărul de telefon al clientului,
-Customer contact updated successfully.,Contactul clientului a fost actualizat cu succes.,
-Item will be removed since no serial / batch no selected.,Elementul va fi eliminat deoarece nu este selectat niciun serial / lot.,
-Discount (%),Reducere (%),
-You cannot submit the order without payment.,Nu puteți trimite comanda fără plată.,
-You cannot submit empty order.,Nu puteți trimite o comandă goală.,
-To Be Paid,A fi platit,
-Create POS Opening Entry,Creați o intrare de deschidere POS,
-Please add Mode of payments and opening balance details.,Vă rugăm să adăugați detalii despre modul de plată și soldul de deschidere.,
-Toggle Recent Orders,Comutați comenzile recente,
-Save as Draft,Salvează ca ciornă,
-You must add atleast one item to save it as draft.,Trebuie să adăugați cel puțin un articol pentru al salva ca schiță.,
-There was an error saving the document.,A apărut o eroare la salvarea documentului.,
-You must select a customer before adding an item.,Trebuie să selectați un client înainte de a adăuga un articol.,
-Please Select a Company,Vă rugăm să selectați o companie,
-Active Leads,Oportunități active,
-Please Select a Company.,Vă rugăm să selectați o companie.,
-BOM Operations Time,Timp operații BOM,
-BOM ID,ID-ul BOM,
-BOM Item Code,Cod articol BOM,
-Time (In Mins),Timp (în minute),
-Sub-assembly BOM Count,Numărul BOM al subansamblului,
-View Type,Tipul de vizualizare,
-Total Delivered Amount,Suma totală livrată,
-Downtime Analysis,Analiza timpului de oprire,
-Machine,Mașinărie,
-Downtime (In Hours),Timp de inactivitate (în ore),
-Employee Analytics,Analiza angajaților,
-"""From date"" can not be greater than or equal to ""To date""",„De la dată” nu poate fi mai mare sau egal cu „Până în prezent”,
-Exponential Smoothing Forecasting,Previziune de netezire exponențială,
-First Response Time for Issues,Primul timp de răspuns pentru probleme,
-First Response Time for Opportunity,Primul timp de răspuns pentru oportunitate,
-Depreciatied Amount,Suma depreciată,
-Period Based On,Perioada bazată pe,
-Date Based On,Data bazată pe,
-{0} and {1} are mandatory,{0} și {1} sunt obligatorii,
-Consider Accounting Dimensions,Luați în considerare dimensiunile contabile,
-Income Tax Deductions,Deduceri de impozit pe venit,
-Income Tax Component,Componenta impozitului pe venit,
-Income Tax Amount,Suma impozitului pe venit,
-Reserved Quantity for Production,Cantitate rezervată pentru producție,
-Projected Quantity,Cantitatea proiectată,
- Total Sales Amount,Suma totală a vânzărilor,
-Job Card Summary,Rezumatul fișei de muncă,
-Id,Id,
-Time Required (In Mins),Timp necesar (în minute),
-From Posting Date,De la data înregistrării,
-To Posting Date,Până la data de înregistrare,
-No records found,Nu au fost găsite,
-Customer/Lead Name,Numele clientului / clientului,
-Unmarked Days,Zile nemarcate,
-Jan,Ian,
-Feb,Februarie,
-Mar,Mar,
-Apr,Aprilie,
-Aug,Aug,
-Sep,Sept,
-Oct,Oct,
-Nov,Noiembrie,
-Dec,Dec,
-Summarized View,Vizualizare rezumată,
-Production Planning Report,Raport de planificare a producției,
-Order Qty,Comandați cantitatea,
-Raw Material Code,Codul materiei prime,
-Raw Material Name,Numele materiei prime,
-Allotted Qty,Cantitate alocată,
-Expected Arrival Date,Data de sosire preconizată,
-Arrival Quantity,Cantitatea de sosire,
-Raw Material Warehouse,Depozit de materii prime,
-Order By,Comandați după,
-Include Sub-assembly Raw Materials,Includeți subansamblarea materiilor prime,
-Professional Tax Deductions,Deduceri fiscale profesionale,
-Program wise Fee Collection,Colectarea taxelor în funcție de program,
-Fees Collected,Taxe colectate,
-Project Summary,Sumarul proiectului,
-Total Tasks,Total sarcini,
-Tasks Completed,Sarcini finalizate,
-Tasks Overdue,Sarcini restante,
-Completion,Completare,
-Provident Fund Deductions,Deduceri din fondul Provident,
-Purchase Order Analysis,Analiza comenzii de cumpărare,
-From and To Dates are required.,De la și până la date sunt necesare.,
-To Date cannot be before From Date.,To Date nu poate fi înainte de From Date.,
-Qty to Bill,Cantitate pentru Bill,
-Group by Purchase Order,Grupați după ordinul de cumpărare,
- Purchase Value,Valoare de cumpărare,
-Total Received Amount,Suma totală primită,
-Quality Inspection Summary,Rezumatul inspecției calității,
- Quoted Amount,Suma citată,
-Lead Time (Days),Timp de plumb (zile),
-Include Expired,Includeți Expirat,
-Recruitment Analytics,Analize de recrutare,
-Applicant name,Numele solicitantului,
-Job Offer status,Starea ofertei de muncă,
-On Date,La întălnire,
-Requested Items to Order and Receive,Articolele solicitate la comandă și primire,
-Salary Payments Based On Payment Mode,Plăți salariale bazate pe modul de plată,
-Salary Payments via ECS,Plăți salariale prin ECS,
-Account No,Cont nr,
-IFSC,IFSC,
-MICR,MICR,
-Sales Order Analysis,Analiza comenzilor de vânzare,
-Amount Delivered,Suma livrată,
-Delay (in Days),Întârziere (în zile),
-Group by Sales Order,Grupați după comanda de vânzare,
- Sales Value,Valoarea vânzărilor,
-Stock Qty vs Serial No Count,Cantitate stoc vs număr fără serie,
-Serial No Count,Număr de serie,
-Work Order Summary,Rezumatul comenzii de lucru,
-Produce Qty,Produceți cantitatea,
-Lead Time (in mins),Durata de livrare (în minute),
-Charts Based On,Diagramele bazate pe,
-YouTube Interactions,Interacțiuni YouTube,
-Published Date,Data publicării,
-Barnch,Barnch,
-Select a Company,Selectați o companie,
-Opportunity {0} created,Oportunitate {0} creată,
-Kindly select the company first,Vă rugăm să selectați mai întâi compania,
-Please enter From Date and To Date to generate JSON,Vă rugăm să introduceți De la dată și până la data pentru a genera JSON,
-PF Account,Cont PF,
-PF Amount,Suma PF,
-Additional PF,PF suplimentar,
-PF Loan,Împrumut PF,
-Download DATEV File,Descărcați fișierul DATEV,
-Numero has not set in the XML file,Numero nu a fost setat în fișierul XML,
-Inward Supplies(liable to reverse charge),Consumabile interne (susceptibile de a inversa taxa),
-This is based on the course schedules of this Instructor,Aceasta se bazează pe programele de curs ale acestui instructor,
-Course and Assessment,Curs și evaluare,
-Course {0} has been added to all the selected programs successfully.,Cursul {0} a fost adăugat cu succes la toate programele selectate.,
-Programs updated,Programe actualizate,
-Program and Course,Program și curs,
-{0} or {1} is mandatory,{0} sau {1} este obligatoriu,
-Mandatory Fields,Câmpuri obligatorii,
-Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} nu aparține grupului de studenți {2},
-Student Attendance record {0} already exists against the Student {1},Înregistrarea prezenței studenților {0} există deja împotriva studentului {1},
-Duplicate Entry,Intrare duplicat,
-Course and Fee,Curs și Taxă,
-Not eligible for the admission in this program as per Date Of Birth,Nu este eligibil pentru admiterea în acest program conform datei nașterii,
-Topic {0} has been added to all the selected courses successfully.,Subiectul {0} a fost adăugat cu succes la toate cursurile selectate.,
-Courses updated,Cursuri actualizate,
-{0} {1} has been added to all the selected topics successfully.,{0} {1} a fost adăugat cu succes la toate subiectele selectate.,
-Topics updated,Subiecte actualizate,
-Academic Term and Program,Termen academic și program,
-Please remove this item and try to submit again or update the posting time.,Eliminați acest articol și încercați să trimiteți din nou sau să actualizați ora de postare.,
-Failed to Authenticate the API key.,Autentificarea cheii API nu a reușit.,
-Invalid Credentials,Acreditări nevalide,
-URL can only be a string,Adresa URL poate fi doar un șir,
-"Here is your webhook secret, this will be shown to you only once.","Iată secretul tău webhook, acesta îți va fi afișat o singură dată.",
-The payment for this membership is not paid. To generate invoice fill the payment details,Plata pentru acest membru nu este plătită. Pentru a genera factura completați detaliile de plată,
-An invoice is already linked to this document,O factură este deja legată de acest document,
-No customer linked to member {},Niciun client legat de membru {},
-You need to set <b>Debit Account</b> in Membership Settings,Trebuie să setați <b>Cont de debit</b> în Setări de membru,
-You need to set <b>Default Company</b> for invoicing in Membership Settings,Trebuie să setați <b>Compania implicită</b> pentru facturare în Setări de membru,
-You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Trebuie să activați <b>Trimitere e-mail de confirmare</b> în setările de membru,
-Error creating membership entry for {0},Eroare la crearea intrării de membru pentru {0},
-A customer is already linked to this Member,Un client este deja legat de acest membru,
-End Date must not be lesser than Start Date,Data de încheiere nu trebuie să fie mai mică decât Data de începere,
-Employee {0} already has Active Shift {1}: {2},Angajatul {0} are deja Active Shift {1}: {2},
- from {0},de la {0},
- to {0},către {0},
-Please select Employee first.,Vă rugăm să selectați mai întâi Angajat.,
-Please set {0} for the Employee or for Department: {1},Vă rugăm să setați {0} pentru angajat sau pentru departament: {1},
-To Date should be greater than From Date,To Date ar trebui să fie mai mare decât From Date,
-Employee Onboarding: {0} is already for Job Applicant: {1},Integrarea angajaților: {0} este deja pentru solicitantul de post: {1},
-Job Offer: {0} is already for Job Applicant: {1},Ofertă de locuri de muncă: {0} este deja pentru solicitantul de post: {1},
-Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Numai cererea Shift cu starea „Aprobat” și „Respins” poate fi trimisă,
-Shift Assignment: {0} created for Employee: {1},Atribuire schimbare: {0} creată pentru angajat: {1},
-You can not request for your Default Shift: {0},Nu puteți solicita schimbarea implicită: {0},
-Only Approvers can Approve this Request.,Numai aprobatorii pot aproba această solicitare.,
-Asset Value Analytics,Analiza valorii activelor,
-Category-wise Asset Value,Valoarea activelor în funcție de categorie,
-Total Assets,Total active,
-New Assets (This Year),Active noi (anul acesta),
-Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Rândul {{}: Data de înregistrare a amortizării nu trebuie să fie egală cu Disponibil pentru data de utilizare.,
-Incorrect Date,Data incorectă,
-Invalid Gross Purchase Amount,Suma brută de achiziție nevalidă,
-There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Există activități de întreținere sau reparații active asupra activului. Trebuie să le completați pe toate înainte de a anula activul.,
-% Complete,% Complet,
-Back to Course,Înapoi la curs,
-Finish Topic,Finalizați subiectul,
-Mins,Min,
-by,de,
-Back to,Înapoi la,
-Enrolling...,Se înscrie ...,
-You have successfully enrolled for the program ,V-ați înscris cu succes la program,
-Enrolled,Înscris,
-Watch Intro,Urmăriți Introducere,
-We're here to help!,Suntem aici pentru a vă ajuta!,
-Frequently Read Articles,Citiți frecvent articole,
-Please set a default company address,Vă rugăm să setați o adresă implicită a companiei,
-{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} nu este o stare validă! Verificați dacă există greșeli sau introduceți codul ISO pentru starea dvs.,
-Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,A apărut o eroare la analizarea planului de conturi: asigurați-vă că niciun cont nu are același nume,
-Plaid invalid request error,Eroare solicitare invalidă în carouri,
-Please check your Plaid client ID and secret values,Vă rugăm să verificați ID-ul dvs. de client Plaid și valorile secrete,
-Bank transaction creation error,Eroare la crearea tranzacțiilor bancare,
-Unit of Measurement,Unitate de măsură,
-Fiscal Year {0} Does Not Exist,Anul fiscal {0} nu există,
-Row # {0}: Returned Item {1} does not exist in {2} {3},Rândul # {0}: articolul returnat {1} nu există în {2} {3},
-Valuation type charges can not be marked as Inclusive,Taxele de tip de evaluare nu pot fi marcate ca Incluse,
-You do not have permissions to {} items in a {}.,Nu aveți permisiuni pentru {} articole dintr-un {}.,
-Insufficient Permissions,Permisiuni insuficiente,
-You are not allowed to update as per the conditions set in {} Workflow.,Nu aveți permisiunea de a actualiza conform condițiilor stabilite în {} Workflow.,
-Expense Account Missing,Cont de cheltuieli lipsește,
-{0} is not a valid Value for Attribute {1} of Item {2}.,{0} nu este o valoare validă pentru atributul {1} al articolului {2}.,
-Invalid Value,Valoare invalida,
-The value {0} is already assigned to an existing Item {1}.,Valoarea {0} este deja alocată unui articol existent {1}.,
-"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Pentru a continua să editați această valoare a atributului, activați {0} în Setări pentru varianta articolului.",
-Edit Not Allowed,Editarea nu este permisă,
-Row #{0}: Item {1} is already fully received in Purchase Order {2},Rândul nr. {0}: Articolul {1} este deja complet primit în Comanda de cumpărare {2},
-You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Nu puteți crea sau anula nicio înregistrare contabilă în perioada de contabilitate închisă {0},
-POS Invoice should have {} field checked.,Factura POS ar trebui să aibă selectat câmpul {}.,
-Invalid Item,Element nevalid,
-Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Rândul # {}: nu puteți adăuga cantități postive într-o factură de returnare. Eliminați articolul {} pentru a finaliza returnarea.,
-The selected change account {} doesn't belongs to Company {}.,Contul de modificare selectat {} nu aparține companiei {}.,
-Atleast one invoice has to be selected.,Trebuie selectată cel puțin o factură.,
-Payment methods are mandatory. Please add at least one payment method.,Metodele de plată sunt obligatorii. Vă rugăm să adăugați cel puțin o metodă de plată.,
-Please select a default mode of payment,Vă rugăm să selectați un mod de plată implicit,
-You can only select one mode of payment as default,Puteți selecta doar un mod de plată ca prestabilit,
-Missing Account,Cont lipsă,
-Customers not selected.,Clienții nu sunt selectați.,
-Statement of Accounts,Declarație de conturi,
-Ageing Report Based On ,Raport de îmbătrânire bazat pe,
-Please enter distributed cost center,Vă rugăm să introduceți centrul de cost distribuit,
-Total percentage allocation for distributed cost center should be equal to 100,Alocarea procentuală totală pentru centrul de cost distribuit ar trebui să fie egală cu 100,
-Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Nu se poate activa Centrul de costuri distribuite pentru un centru de costuri deja alocat într-un alt centru de costuri distribuite,
-Parent Cost Center cannot be added in Distributed Cost Center,Centrul de costuri părinte nu poate fi adăugat în Centrul de costuri distribuite,
-A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Un centru de costuri distribuite nu poate fi adăugat în tabelul de alocare a centrului de costuri distribuite.,
-Cost Center with enabled distributed cost center can not be converted to group,Centrul de costuri cu centrul de costuri distribuite activat nu poate fi convertit în grup,
-Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Centrul de cost deja alocat într-un centru de cost distribuit nu poate fi convertit în grup,
-Trial Period Start date cannot be after Subscription Start Date,Perioada de încercare Data de începere nu poate fi ulterioară datei de începere a abonamentului,
-Subscription End Date must be after {0} as per the subscription plan,Data de încheiere a abonamentului trebuie să fie după {0} conform planului de abonament,
-Subscription End Date is mandatory to follow calendar months,Data de încheiere a abonamentului este obligatorie pentru a urma lunile calendaristice,
-Row #{}: POS Invoice {} is not against customer {},Rândul # {}: factura POS {} nu este împotriva clientului {},
-Row #{}: POS Invoice {} is not submitted yet,Rândul # {}: factura POS {} nu a fost încă trimisă,
-Row #{}: POS Invoice {} has been {},Rândul # {}: factura POS {} a fost {},
-No Supplier found for Inter Company Transactions which represents company {0},Nu a fost găsit niciun furnizor pentru tranzacțiile între companii care să reprezinte compania {0},
-No Customer found for Inter Company Transactions which represents company {0},Nu a fost găsit niciun client pentru tranzacțiile între companii care reprezintă compania {0},
-Invalid Period,Perioadă nevalidă,
-Selected POS Opening Entry should be open.,Intrarea selectată de deschidere POS ar trebui să fie deschisă.,
-Invalid Opening Entry,Intrare de deschidere nevalidă,
-Please set a Company,Vă rugăm să setați o companie,
-"Sorry, this coupon code's validity has not started","Ne pare rău, valabilitatea acestui cod cupon nu a început",
-"Sorry, this coupon code's validity has expired","Ne pare rău, valabilitatea acestui cod de cupon a expirat",
-"Sorry, this coupon code is no longer valid","Ne pare rău, acest cod de cupon nu mai este valid",
-For the 'Apply Rule On Other' condition the field {0} is mandatory,"Pentru condiția „Aplică regula la altele”, câmpul {0} este obligatoriu",
-{1} Not in Stock,{1} Nu este în stoc,
-Only {0} in Stock for item {1},Numai {0} în stoc pentru articolul {1},
-Please enter a coupon code,Vă rugăm să introduceți un cod de cupon,
-Please enter a valid coupon code,Vă rugăm să introduceți un cod de cupon valid,
-Invalid Child Procedure,Procedură copil nevalidă,
-Import Italian Supplier Invoice.,Importați factura furnizorului italian.,
-"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","Rata de evaluare pentru articolul {0}, este necesară pentru a face înregistrări contabile pentru {1} {2}.",
- Here are the options to proceed:,Iată opțiunile pentru a continua:,
-"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.","Dacă articolul tranzacționează ca articol cu o rată de evaluare zero în această intrare, activați „Permiteți o rată de evaluare zero” în tabelul {0} Articol.",
-"If not, you can Cancel / Submit this entry ","Dacă nu, puteți anula / trimite această intrare",
- performing either one below:,efectuând una dintre cele de mai jos:,
-Create an incoming stock transaction for the Item.,Creați o tranzacție de stoc primită pentru articol.,
-Mention Valuation Rate in the Item master.,Menționați rata de evaluare în elementul master.,
-Valuation Rate Missing,Rata de evaluare lipsește,
-Serial Nos Required,Numere de serie necesare,
-Quantity Mismatch,Cantitate necorespunzătoare,
-"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Vă rugăm să reporniți articolele și să actualizați lista de alegeri pentru a continua. Pentru a întrerupe, anulați lista de alegeri.",
-Out of Stock,Stoc epuizat,
-{0} units of Item {1} is not available.,{0} unități de articol {1} nu sunt disponibile.,
-Item for row {0} does not match Material Request,Elementul pentru rândul {0} nu se potrivește cu Cererea de material,
-Warehouse for row {0} does not match Material Request,Depozitul pentru rândul {0} nu se potrivește cu Cererea de material,
-Accounting Entry for Service,Intrare contabilă pentru service,
-All items have already been Invoiced/Returned,Toate articolele au fost deja facturate / returnate,
-All these items have already been Invoiced/Returned,Toate aceste articole au fost deja facturate / returnate,
-Stock Reconciliations,Reconcilieri stocuri,
-Merge not allowed,Îmbinarea nu este permisă,
-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.,"Următoarele atribute șterse există în variante, dar nu în șablon. Puteți șterge variantele sau puteți păstra atributele în șablon.",
-Variant Items,Elemente variante,
-Variant Attribute Error,Eroare a atributului variantei,
-The serial no {0} does not belong to item {1},Numărul de serie {0} nu aparține articolului {1},
-There is no batch found against the {0}: {1},Nu există niciun lot găsit împotriva {0}: {1},
-Completed Operation,Operațiune finalizată,
-Work Order Analysis,Analiza comenzii de lucru,
-Quality Inspection Analysis,Analiza inspecției calității,
-Pending Work Order,Ordin de lucru în așteptare,
-Last Month Downtime Analysis,Analiza timpului de nefuncționare de luna trecută,
-Work Order Qty Analysis,Analiza cantității comenzii de lucru,
-Job Card Analysis,Analiza fișei de muncă,
-Monthly Total Work Orders,Comenzi lunare totale de lucru,
-Monthly Completed Work Orders,Comenzi de lucru finalizate lunar,
-Ongoing Job Cards,Carduri de muncă în curs,
-Monthly Quality Inspections,Inspecții lunare de calitate,
-(Forecast),(Prognoza),
-Total Demand (Past Data),Cerere totală (date anterioare),
-Total Forecast (Past Data),Prognoză totală (date anterioare),
-Total Forecast (Future Data),Prognoză totală (date viitoare),
-Based On Document,Pe baza documentului,
-Based On Data ( in years ),Pe baza datelor (în ani),
-Smoothing Constant,Netezire constantă,
-Please fill the Sales Orders table,Vă rugăm să completați tabelul Comenzi de vânzare,
-Sales Orders Required,Sunt necesare comenzi de vânzare,
-Please fill the Material Requests table,Vă rugăm să completați tabelul Cereri de materiale,
-Material Requests Required,Cereri materiale necesare,
-Items to Manufacture are required to pull the Raw Materials associated with it.,Articolele de fabricație sunt necesare pentru a extrage materiile prime asociate acestuia.,
-Items Required,Elemente necesare,
-Operation {0} does not belong to the work order {1},Operația {0} nu aparține comenzii de lucru {1},
-Print UOM after Quantity,Imprimați UOM după Cantitate,
-Set default {0} account for perpetual inventory for non stock items,Setați contul {0} implicit pentru inventarul perpetuu pentru articolele care nu sunt în stoc,
-Loan Security {0} added multiple times,Securitatea împrumutului {0} adăugată de mai multe ori,
-Loan Securities with different LTV ratio cannot be pledged against one loan,Titlurile de împrumut cu un raport LTV diferit nu pot fi gajate împotriva unui singur împrumut,
-Qty or Amount is mandatory for loan security!,Cantitatea sau suma este obligatorie pentru securitatea împrumutului!,
-Only submittted unpledge requests can be approved,Numai cererile unpledge trimise pot fi aprobate,
-Interest Amount or Principal Amount is mandatory,Suma dobânzii sau suma principală este obligatorie,
-Disbursed Amount cannot be greater than {0},Suma plătită nu poate fi mai mare de {0},
-Row {0}: Loan Security {1} added multiple times,Rândul {0}: Securitatea împrumutului {1} adăugat de mai multe ori,
-Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Rândul # {0}: articolul secundar nu trebuie să fie un pachet de produse. Eliminați articolul {1} și Salvați,
-Credit limit reached for customer {0},Limita de credit atinsă pentru clientul {0},
-Could not auto create Customer due to the following missing mandatory field(s):,Nu s-a putut crea automat Clientul din cauza următoarelor câmpuri obligatorii lipsă:,
-Please create Customer from Lead {0}.,Vă rugăm să creați Client din Lead {0}.,
-Mandatory Missing,Obligatoriu Lipsește,
-Please set Payroll based on in Payroll settings,Vă rugăm să setați salarizarea pe baza setărilor de salarizare,
-Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Salariu suplimentar: {0} există deja pentru componenta salariu: {1} pentru perioada {2} și {3},
-From Date can not be greater than To Date.,From Date nu poate fi mai mare decât To Date.,
-Payroll date can not be less than employee's joining date.,Data salarizării nu poate fi mai mică decât data aderării angajatului.,
-From date can not be less than employee's joining date.,De la data nu poate fi mai mică decât data aderării angajatului.,
-To date can not be greater than employee's relieving date.,Până în prezent nu poate fi mai mare decât data de eliberare a angajatului.,
-Payroll date can not be greater than employee's relieving date.,Data salarizării nu poate fi mai mare decât data de scutire a angajatului.,
-Row #{0}: Please enter the result value for {1},Rândul # {0}: introduceți valoarea rezultatului pentru {1},
-Mandatory Results,Rezultate obligatorii,
-Sales Invoice or Patient Encounter is required to create Lab Tests,Factura de vânzare sau întâlnirea pacientului sunt necesare pentru a crea teste de laborator,
-Insufficient Data,Date insuficiente,
-Lab Test(s) {0} created successfully,Testele de laborator {0} au fost create cu succes,
-Test :,Test :,
-Sample Collection {0} has been created,A fost creată colecția de probe {0},
-Normal Range: ,Gama normală:,
-Row #{0}: Check Out datetime cannot be less than Check In datetime,Rândul # {0}: data de check out nu poate fi mai mică decât data de check in,
-"Missing required details, did not create Inpatient Record","Lipsesc detaliile solicitate, nu s-a creat înregistrarea internată",
-Unbilled Invoices,Facturi nefacturate,
-Standard Selling Rate should be greater than zero.,Rata de vânzare standard ar trebui să fie mai mare decât zero.,
-Conversion Factor is mandatory,Factorul de conversie este obligatoriu,
-Row #{0}: Conversion Factor is mandatory,Rândul # {0}: factorul de conversie este obligatoriu,
-Sample Quantity cannot be negative or 0,Cantitatea eșantionului nu poate fi negativă sau 0,
-Invalid Quantity,Cantitate nevalidă,
-"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Vă rugăm să setați valorile implicite pentru grupul de clienți, teritoriu și lista de prețuri de vânzare din setările de vânzare",
-{0} on {1},{0} pe {1},
-{0} with {1},{0} cu {1},
-Appointment Confirmation Message Not Sent,Mesajul de confirmare a programării nu a fost trimis,
-"SMS not sent, please check SMS Settings","SMS-ul nu a fost trimis, verificați Setările SMS",
-Healthcare Service Unit Type cannot have both {0} and {1},"Tipul unității de servicii medicale nu poate avea atât {0}, cât și {1}",
-Healthcare Service Unit Type must allow atleast one among {0} and {1},Tipul unității de servicii medicale trebuie să permită cel puțin unul dintre {0} și {1},
-Set Response Time and Resolution Time for Priority {0} in row {1}.,Setați timpul de răspuns și timpul de rezoluție pentru prioritatea {0} în rândul {1}.,
-Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Timpul de răspuns pentru {0} prioritatea în rândul {1} nu poate fi mai mare decât timpul de rezoluție.,
-{0} is not enabled in {1},{0} nu este activat în {1},
-Group by Material Request,Grupați după cerere de material,
-Email Sent to Supplier {0},E-mail trimis către furnizor {0},
-"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Accesul la cererea de ofertă de la portal este dezactivat. Pentru a permite accesul, activați-l în Setări portal.",
-Supplier Quotation {0} Created,Ofertă furnizor {0} creată,
-Valid till Date cannot be before Transaction Date,Valabil până la data nu poate fi înainte de data tranzacției,
-Unlink Advance Payment on Cancellation of Order,Deconectați plata în avans la anularea comenzii,
-"Simple Python Expression, Example: territory != 'All Territories'","Expresie simplă Python, Exemplu: teritoriu! = „Toate teritoriile”",
-Sales Contributions and Incentives,Contribuții la vânzări și stimulente,
-Sourced by Supplier,Aprovizionat de furnizor,
-Total weightage assigned should be 100%.<br>It is {0},Ponderea totală alocată ar trebui să fie de 100%.<br> Este {0},
-Account {0} exists in parent company {1}.,Contul {0} există în compania mamă {1}.,
-"To overrule this, enable '{0}' in company {1}","Pentru a ignora acest lucru, activați „{0}” în companie {1}",
-Invalid condition expression,Expresie de condiție nevalidă,
-Please Select a Company First,Vă rugăm să selectați mai întâi o companie,
-Please Select Both Company and Party Type First,"Vă rugăm să selectați mai întâi atât compania, cât și tipul de petrecere",
-Provide the invoice portion in percent,Furnizați partea de facturare în procente,
-Give number of days according to prior selection,Dați numărul de zile în funcție de selecția anterioară,
-Email Details,Detalii e-mail,
-"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Selectați o felicitare pentru receptor. De exemplu, domnul, doamna etc.",
-Preview Email,Previzualizați e-mailul,
-Please select a Supplier,Vă rugăm să selectați un furnizor,
-Supplier Lead Time (days),Timp de livrare a furnizorului (zile),
-"Home, Work, etc.","Acasă, serviciu etc.",
-Exit Interview Held On,Ieșiți din interviu,
-Condition and formula,Stare și formulă,
-Sets 'Target Warehouse' in each row of the Items table.,Setează „Depozit țintă” în fiecare rând al tabelului Elemente.,
-Sets 'Source Warehouse' in each row of the Items table.,Setează „Depozit sursă” în fiecare rând al tabelului Elemente.,
-POS Register,Registrul POS,
-"Can not filter based on POS Profile, if grouped by POS Profile","Nu se poate filtra pe baza profilului POS, dacă este grupat după profilul POS",
-"Can not filter based on Customer, if grouped by Customer","Nu se poate filtra pe baza clientului, dacă este grupat după client",
-"Can not filter based on Cashier, if grouped by Cashier","Nu se poate filtra în funcție de Casier, dacă este grupat după Casier",
-Payment Method,Modalitate de plată,
-"Can not filter based on Payment Method, if grouped by Payment Method","Nu se poate filtra pe baza metodei de plată, dacă este grupată după metoda de plată",
-Supplier Quotation Comparison,Compararea ofertelor de ofertă,
-Price per Unit (Stock UOM),Preț per unitate (stoc UOM),
-Group by Supplier,Grup pe furnizor,
-Group by Item,Grupați după articol,
-Remember to set {field_label}. It is required by {regulation}.,Nu uitați să setați {field_label}. Este cerut de {regulament}.,
-Enrollment Date cannot be before the Start Date of the Academic Year {0},Data înscrierii nu poate fi înainte de data de începere a anului academic {0},
-Enrollment Date cannot be after the End Date of the Academic Term {0},Data înscrierii nu poate fi ulterioară datei de încheiere a termenului academic {0},
-Enrollment Date cannot be before the Start Date of the Academic Term {0},Data înscrierii nu poate fi anterioară datei de începere a termenului academic {0},
-Future Posting Not Allowed,Postarea viitoare nu este permisă,
-"To enable Capital Work in Progress Accounting, ","Pentru a permite contabilitatea activității de capital în curs,",
-you must select Capital Work in Progress Account in accounts table,trebuie să selectați Contul de capital în curs în tabelul de conturi,
-You can also set default CWIP account in Company {},"De asemenea, puteți seta contul CWIP implicit în Companie {}",
-The Request for Quotation can be accessed by clicking on the following button,Cererea de ofertă poate fi accesată făcând clic pe butonul următor,
-Regards,Salutari,
-Please click on the following button to set your new password,Vă rugăm să faceți clic pe următorul buton pentru a seta noua parolă,
-Update Password,Actualizați parola,
-Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Rândul # {}: rata de vânzare a articolului {} este mai mică decât {}. Vânzarea {} ar trebui să fie cel puțin {},
-You can alternatively disable selling price validation in {} to bypass this validation.,Puteți dezactiva alternativ validarea prețului de vânzare în {} pentru a ocoli această validare.,
-Invalid Selling Price,Preț de vânzare nevalid,
-Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adresa trebuie să fie legată de o companie. Vă rugăm să adăugați un rând pentru Companie în tabelul Legături.,
-Company Not Linked,Compania nu este legată,
-Import Chart of Accounts from CSV / Excel files,Importați planul de conturi din fișiere CSV / Excel,
-Completed Qty cannot be greater than 'Qty to Manufacture',Cantitatea completată nu poate fi mai mare decât „Cantitatea pentru fabricare”,
-"Row {0}: For Supplier {1}, Email Address is Required to send an email","Rândul {0}: pentru furnizor {1}, este necesară adresa de e-mail pentru a trimite un e-mail",
-"If enabled, the system will post accounting entries for inventory automatically","Dacă este activat, sistemul va înregistra automat înregistrări contabile pentru inventar",
-Accounts Frozen Till Date,Conturi congelate până la data,
-Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,"Înregistrările contabile sunt înghețate până la această dată. Nimeni nu poate crea sau modifica intrări, cu excepția utilizatorilor cu rolul specificat mai jos",
-Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rolul permis pentru setarea conturilor înghețate și editarea intrărilor înghețate,
-Address used to determine Tax Category in transactions,Adresa utilizată pentru determinarea categoriei fiscale în tranzacții,
-"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 ","Procentul pe care vi se permite să îl facturați mai mult pentru suma comandată. De exemplu, dacă valoarea comenzii este de 100 USD pentru un articol și toleranța este setată la 10%, atunci aveți permisiunea de a factura până la 110 USD",
-This role is allowed to submit transactions that exceed credit limits,Acest rol este permis să trimită tranzacții care depășesc limitele de credit,
-"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","Dacă este selectată „Luni”, o sumă fixă va fi înregistrată ca venit sau cheltuială amânată pentru fiecare lună, indiferent de numărul de zile dintr-o lună. Acesta va fi proporțional dacă veniturile sau cheltuielile amânate nu sunt înregistrate pentru o lună întreagă",
-"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Dacă acest lucru nu este bifat, vor fi create intrări GL directe pentru a înregistra venituri sau cheltuieli amânate",
-Show Inclusive Tax in Print,Afișați impozitul inclus în tipar,
-Only select this if you have set up the Cash Flow Mapper documents,Selectați acest lucru numai dacă ați configurat documentele Cartografierii fluxurilor de numerar,
-Payment Channel,Canal de plată,
-Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Este necesară comanda de cumpărare pentru crearea facturii de achiziție și a chitanței?,
-Is Purchase Receipt Required for Purchase Invoice Creation?,Este necesară chitanța de cumpărare pentru crearea facturii de cumpărare?,
-Maintain Same Rate Throughout the Purchase Cycle,Mențineți aceeași rată pe tot parcursul ciclului de cumpărare,
-Allow Item To Be Added Multiple Times in a Transaction,Permiteți adăugarea articolului de mai multe ori într-o tranzacție,
-Suppliers,Furnizori,
-Send Emails to Suppliers,Trimiteți e-mailuri furnizorilor,
-Select a Supplier,Selectați un furnizor,
-Cannot mark attendance for future dates.,Nu se poate marca prezența pentru date viitoare.,
-Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Doriți să actualizați prezența?<br> Prezent: {0}<br> Absent: {1},
-Mpesa Settings,Setări Mpesa,
-Initiator Name,Numele inițiatorului,
-Till Number,Până la numărul,
-Sandbox,Sandbox,
- Online PassKey,Online PassKey,
-Security Credential,Acreditare de securitate,
-Get Account Balance,Obțineți soldul contului,
-Please set the initiator name and the security credential,Vă rugăm să setați numele inițiatorului și acreditările de securitate,
-Inpatient Medication Entry,Intrarea în medicamente pentru pacienții internați,
-HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
-Item Code (Drug),Cod articol (medicament),
-Medication Orders,Comenzi de medicamente,
-Get Pending Medication Orders,Obțineți comenzi de medicamente în așteptare,
-Inpatient Medication Orders,Comenzi pentru medicamente internate,
-Medication Warehouse,Depozit de medicamente,
-Warehouse from where medication stock should be consumed,Depozit de unde ar trebui consumat stocul de medicamente,
-Fetching Pending Medication Orders,Preluarea comenzilor de medicamente în așteptare,
-Inpatient Medication Entry Detail,Detalii privind intrarea medicamentelor pentru pacienții internați,
-Medication Details,Detalii despre medicamente,
-Drug Code,Codul drogurilor,
-Drug Name,Numele medicamentului,
-Against Inpatient Medication Order,Împotriva ordinului privind medicamentul internat,
-Against Inpatient Medication Order Entry,Împotriva introducerii comenzii pentru medicamente internate,
-Inpatient Medication Order,Ordinul privind medicamentul internat,
-HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
-Total Orders,Total comenzi,
-Completed Orders,Comenzi finalizate,
-Add Medication Orders,Adăugați comenzi de medicamente,
-Adding Order Entries,Adăugarea intrărilor de comandă,
-{0} medication orders completed,{0} comenzi de medicamente finalizate,
-{0} medication order completed,{0} comandă de medicamente finalizată,
-Inpatient Medication Order Entry,Intrarea comenzii pentru medicamente internate,
-Is Order Completed,Comanda este finalizată,
-Employee Records to Be Created By,Înregistrările angajaților care trebuie create de,
-Employee records are created using the selected field,Înregistrările angajaților sunt create folosind câmpul selectat,
-Don't send employee birthday reminders,Nu trimiteți memento-uri de ziua angajaților,
-Restrict Backdated Leave Applications,Restricționează aplicațiile de concediu actualizate,
-Sequence ID,ID secvență,
-Sequence Id,Secvența Id,
-Allow multiple material consumptions against a Work Order,Permiteți mai multe consumuri de materiale împotriva unei comenzi de lucru,
-Plan time logs outside Workstation working hours,Planificați jurnalele de timp în afara programului de lucru al stației de lucru,
-Plan operations X days in advance,Planificați operațiunile cu X zile înainte,
-Time Between Operations (Mins),Timpul dintre operații (min.),
-Default: 10 mins,Implicit: 10 minute,
-Overproduction for Sales and Work Order,Supraproducție pentru vânzări și comandă de lucru,
-"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Actualizați automat costul BOM prin programator, pe baza celei mai recente rate de evaluare / tarif de listă de prețuri / ultimul procent de cumpărare a materiilor prime",
-Purchase Order already created for all Sales Order items,Comanda de cumpărare deja creată pentru toate articolele comenzii de vânzare,
-Select Items,Selectați elemente,
-Against Default Supplier,Împotriva furnizorului implicit,
-Auto close Opportunity after the no. of days mentioned above,Închidere automată Oportunitate după nr. de zile menționate mai sus,
-Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Este necesară comanda de vânzare pentru crearea facturilor de vânzare și a notelor de livrare?,
-Is Delivery Note Required for Sales Invoice Creation?,Este necesară nota de livrare pentru crearea facturii de vânzare?,
-How often should Project and Company be updated based on Sales Transactions?,Cât de des ar trebui actualizate proiectul și compania pe baza tranzacțiilor de vânzare?,
-Allow User to Edit Price List Rate in Transactions,Permiteți utilizatorului să editeze rata listei de prețuri în tranzacții,
-Allow Item to Be Added Multiple Times in a Transaction,Permiteți adăugarea articolului de mai multe ori într-o tranzacție,
-Allow Multiple Sales Orders Against a Customer's Purchase Order,Permiteți mai multe comenzi de vânzare împotriva comenzii de cumpărare a unui client,
-Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Validați prețul de vânzare al articolului împotriva ratei de achiziție sau a ratei de evaluare,
-Hide Customer's Tax ID from Sales Transactions,Ascundeți codul fiscal al clientului din tranzacțiile de vânzare,
-"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.","Procentul pe care vi se permite să îl primiți sau să livrați mai mult în raport cu cantitatea comandată. De exemplu, dacă ați comandat 100 de unități, iar alocația dvs. este de 10%, atunci aveți permisiunea de a primi 110 unități.",
-Action If Quality Inspection Is Not Submitted,Acțiune dacă inspecția de calitate nu este trimisă,
-Auto Insert Price List Rate If Missing,Introduceți automat prețul listei de prețuri dacă lipsește,
-Automatically Set Serial Nos Based on FIFO,Setați automat numărul de serie pe baza FIFO,
-Set Qty in Transactions Based on Serial No Input,Setați cantitatea în tranzacțiile bazate pe intrare de serie,
-Raise Material Request When Stock Reaches Re-order Level,Creșteți cererea de material atunci când stocul atinge nivelul de re-comandă,
-Notify by Email on Creation of Automatic Material Request,Notificați prin e-mail la crearea cererii automate de materiale,
-Allow Material Transfer from Delivery Note to Sales Invoice,Permiteți transferul de materiale din nota de livrare către factura de vânzare,
-Allow Material Transfer from Purchase Receipt to Purchase Invoice,Permiteți transferul de materiale de la chitanța de cumpărare la factura de cumpărare,
-Freeze Stocks Older Than (Days),Înghețați stocurile mai vechi de (zile),
-Role Allowed to Edit Frozen Stock,Rolul permis pentru editarea stocului înghețat,
-The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Valoarea nealocată a intrării de plată {0} este mai mare decât suma nealocată a tranzacției bancare,
-Payment Received,Plata primita,
-Attendance cannot be marked outside of Academic Year {0},Prezența nu poate fi marcată în afara anului academic {0},
-Student is already enrolled via Course Enrollment {0},Studentul este deja înscris prin Înscrierea la curs {0},
-Attendance cannot be marked for future dates.,Prezența nu poate fi marcată pentru datele viitoare.,
-Please add programs to enable admission application.,Vă rugăm să adăugați programe pentru a activa cererea de admitere.,
-The following employees are currently still reporting to {0}:,"În prezent, următorii angajați raportează încă la {0}:",
-Please make sure the employees above report to another Active employee.,Vă rugăm să vă asigurați că angajații de mai sus raportează unui alt angajat activ.,
-Cannot Relieve Employee,Nu poate scuti angajatul,
-Please enter {0},Vă rugăm să introduceți {0},
-Please select another payment method. Mpesa does not support transactions in currency '{0}',Vă rugăm să selectați o altă metodă de plată. Mpesa nu acceptă tranzacții în moneda „{0}”,
-Transaction Error,Eroare de tranzacție,
-Mpesa Express Transaction Error,Eroare tranzacție Mpesa Express,
-"Issue detected with Mpesa configuration, check the error logs for more details","Problemă detectată la configurația Mpesa, verificați jurnalele de erori pentru mai multe detalii",
-Mpesa Express Error,Eroare Mpesa Express,
-Account Balance Processing Error,Eroare procesare sold sold,
-Please check your configuration and try again,Vă rugăm să verificați configurația și să încercați din nou,
-Mpesa Account Balance Processing Error,Eroare de procesare a soldului contului Mpesa,
-Balance Details,Detalii sold,
-Current Balance,Sold curent,
-Available Balance,Sold disponibil,
-Reserved Balance,Sold rezervat,
-Uncleared Balance,Sold neclar,
-Payment related to {0} is not completed,Plata aferentă {0} nu este finalizată,
-Row #{}: Item Code: {} is not available under warehouse {}.,Rândul # {}: Codul articolului: {} nu este disponibil în depozit {}.,
-Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rândul # {}: cantitatea de stoc nu este suficientă pentru codul articolului: {} în depozit {}. Cantitate Disponibilă {}.,
-Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rândul # {}: selectați un număr de serie și împărțiți-l cu elementul: {} sau eliminați-l pentru a finaliza tranzacția.,
-Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Rândul # {}: nu a fost selectat niciun număr de serie pentru elementul: {}. Vă rugăm să selectați una sau să o eliminați pentru a finaliza tranzacția.,
-Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Rândul # {}: nu a fost selectat niciun lot pentru elementul: {}. Vă rugăm să selectați un lot sau să îl eliminați pentru a finaliza tranzacția.,
-Payment amount cannot be less than or equal to 0,Suma plății nu poate fi mai mică sau egală cu 0,
-Please enter the phone number first,Vă rugăm să introduceți mai întâi numărul de telefon,
-Row #{}: {} {} does not exist.,Rândul # {}: {} {} nu există.,
-Row #{0}: {1} is required to create the Opening {2} Invoices,Rândul # {0}: {1} este necesar pentru a crea facturile de deschidere {2},
-You had {} errors while creating opening invoices. Check {} for more details,Ați avut {} erori la crearea facturilor de deschidere. Verificați {} pentru mai multe detalii,
-Error Occured,A aparut o eroare,
-Opening Invoice Creation In Progress,Se deschide crearea facturii în curs,
-Creating {} out of {} {},Se creează {} din {} {},
-(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Nr. De serie: {0}) nu poate fi consumat deoarece este rezervat pentru a îndeplini comanda de vânzare {1}.,
-Item {0} {1},Element {0} {1},
-Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Ultima tranzacție de stoc pentru articolul {0} aflat în depozit {1} a fost pe {2}.,
-Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Tranzacțiile de stoc pentru articolul {0} aflat în depozit {1} nu pot fi înregistrate înainte de această dată.,
-Posting future stock transactions are not allowed due to Immutable Ledger,Înregistrarea tranzacțiilor viitoare cu acțiuni nu este permisă din cauza contabilității imuabile,
-A BOM with name {0} already exists for item {1}.,O listă cu numele {0} există deja pentru articolul {1}.,
-{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Ați redenumit articolul? Vă rugăm să contactați administratorul / asistența tehnică,
-At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},La rândul # {0}: ID-ul secvenței {1} nu poate fi mai mic decât ID-ul anterior al secvenței de rând {2},
-The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) trebuie să fie egal cu {2} ({3}),
-"{0}, complete the operation {1} before the operation {2}.","{0}, finalizați operația {1} înainte de operație {2}.",
-Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Nu se poate asigura livrarea prin numărul de serie deoarece articolul {0} este adăugat cu și fără Asigurați livrarea prin numărul de serie,
-Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Articolul {0} nu are nr. De serie. Numai articolele serializate pot fi livrate pe baza numărului de serie,
-No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nu s-a găsit niciun material activ pentru articolul {0}. Livrarea prin nr. De serie nu poate fi asigurată,
-No pending medication orders found for selected criteria,Nu s-au găsit comenzi de medicamente în așteptare pentru criteriile selectate,
-From Date cannot be after the current date.,From Date nu poate fi după data curentă.,
-To Date cannot be after the current date.,To Date nu poate fi după data curentă.,
-From Time cannot be after the current time.,From Time nu poate fi după ora curentă.,
-To Time cannot be after the current time.,To Time nu poate fi după ora curentă.,
-Stock Entry {0} created and ,Înregistrare stoc {0} creată și,
-Inpatient Medication Orders updated successfully,Comenzile pentru medicamente internate au fost actualizate cu succes,
-Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Rândul {0}: Nu se poate crea o intrare pentru medicamentul internat împotriva comenzii anulate pentru medicamentul internat {1},
-Row {0}: This Medication Order is already marked as completed,Rândul {0}: această comandă de medicamente este deja marcată ca finalizată,
-Quantity not available for {0} in warehouse {1},Cantitatea nu este disponibilă pentru {0} în depozit {1},
-Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Vă rugăm să activați Permiteți stocul negativ în setările stocului sau creați intrarea stocului pentru a continua.,
-No Inpatient Record found against patient {0},Nu s-a găsit nicio înregistrare a pacientului internat împotriva pacientului {0},
-An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Există deja un ordin de medicare internă {0} împotriva întâlnirii pacientului {1}.,
-Allow In Returns,Permiteți returnări,
-Hide Unavailable Items,Ascundeți articolele indisponibile,
-Apply Discount on Discounted Rate,Aplicați reducere la tariful redus,
-Therapy Plan Template,Șablon de plan de terapie,
-Fetching Template Details,Preluarea detaliilor șablonului,
-Linked Item Details,Detalii legate de articol,
-Therapy Types,Tipuri de terapie,
-Therapy Plan Template Detail,Detaliu șablon plan de terapie,
-Non Conformance,Non conformist,
-Process Owner,Deținătorul procesului,
-Corrective Action,Acțiune corectivă,
-Preventive Action,Actiune preventiva,
-Problem,Problemă,
-Responsible,Responsabil,
-Completion By,Finalizare de,
-Process Owner Full Name,Numele complet al proprietarului procesului,
-Right Index,Index corect,
-Left Index,Index stânga,
-Sub Procedure,Sub procedură,
-Passed,A trecut,
-Print Receipt,Tipărire chitanță,
-Edit Receipt,Editați chitanța,
-Focus on search input,Concentrați-vă pe introducerea căutării,
-Focus on Item Group filter,Concentrați-vă pe filtrul Grup de articole,
-Checkout Order / Submit Order / New Order,Comanda de comandă / Trimiteți comanda / Comanda nouă,
-Add Order Discount,Adăugați reducere la comandă,
-Item Code: {0} is not available under warehouse {1}.,Cod articol: {0} nu este disponibil în depozit {1}.,
-Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numerele de serie nu sunt disponibile pentru articolul {0} aflat în depozit {1}. Vă rugăm să încercați să schimbați depozitul.,
-Fetched only {0} available serial numbers.,S-au preluat numai {0} numere de serie disponibile.,
-Switch Between Payment Modes,Comutați între modurile de plată,
-Enter {0} amount.,Introduceți suma {0}.,
-You don't have enough points to redeem.,Nu aveți suficiente puncte de valorificat.,
-You can redeem upto {0}.,Puteți valorifica până la {0}.,
-Enter amount to be redeemed.,Introduceți suma de răscumpărat.,
-You cannot redeem more than {0}.,Nu puteți valorifica mai mult de {0}.,
-Open Form View,Deschideți vizualizarea formularului,
-POS invoice {0} created succesfully,Factura POS {0} a fost creată cu succes,
-Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Cantitatea de stoc nu este suficientă pentru Codul articolului: {0} în depozit {1}. Cantitatea disponibilă {2}.,
-Serial No: {0} has already been transacted into another POS Invoice.,Nr. De serie: {0} a fost deja tranzacționat într-o altă factură POS.,
-Balance Serial No,Nr,
-Warehouse: {0} does not belong to {1},Depozit: {0} nu aparține {1},
-Please select batches for batched item {0},Vă rugăm să selectați loturile pentru elementul lot {0},
-Please select quantity on row {0},Vă rugăm să selectați cantitatea de pe rândul {0},
-Please enter serial numbers for serialized item {0},Introduceți numerele de serie pentru articolul serializat {0},
-Batch {0} already selected.,Lotul {0} deja selectat.,
-Please select a warehouse to get available quantities,Vă rugăm să selectați un depozit pentru a obține cantitățile disponibile,
-"For transfer from source, selected quantity cannot be greater than available quantity","Pentru transfer din sursă, cantitatea selectată nu poate fi mai mare decât cantitatea disponibilă",
-Cannot find Item with this Barcode,Nu se poate găsi un articol cu acest cod de bare,
-{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} este obligatoriu. Poate că înregistrarea schimbului valutar nu este creată pentru {1} până la {2},
-{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} a trimis materiale legate de acesta. Trebuie să anulați activele pentru a crea returnarea achiziției.,
-Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Nu se poate anula acest document deoarece este asociat cu materialul trimis {0}. Anulați-l pentru a continua.,
-Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rândul # {}: numărul de serie {} a fost deja tranzacționat într-o altă factură POS. Vă rugăm să selectați numărul de serie valid.,
-Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rândul # {}: Nr. De serie {} a fost deja tranzacționat într-o altă factură POS. Vă rugăm să selectați numărul de serie valid.,
-Item Unavailable,Elementul nu este disponibil,
-Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rândul # {}: seria nr. {} Nu poate fi returnată deoarece nu a fost tranzacționată în factura originală {},
-Please set default Cash or Bank account in Mode of Payment {},Vă rugăm să setați implicit numerar sau cont bancar în modul de plată {},
-Please set default Cash or Bank account in Mode of Payments {},Vă rugăm să setați implicit numerar sau cont bancar în modul de plăți {},
-Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Vă rugăm să vă asigurați că {} contul este un cont de bilanț. Puteți schimba contul părinte într-un cont de bilanț sau puteți selecta un alt cont.,
-Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Vă rugăm să vă asigurați că {} contul este un cont de plătit. Schimbați tipul de cont la Plătibil sau selectați un alt cont.,
-Row {}: Expense Head changed to {} ,Rând {}: capul cheltuielilor a fost schimbat în {},
-because account {} is not linked to warehouse {} ,deoarece contul {} nu este conectat la depozit {},
-or it is not the default inventory account,sau nu este contul de inventar implicit,
-Expense Head Changed,Capul cheltuielilor s-a schimbat,
-because expense is booked against this account in Purchase Receipt {},deoarece cheltuielile sunt rezervate pentru acest cont în chitanța de cumpărare {},
-as no Purchase Receipt is created against Item {}. ,deoarece nu se creează chitanță de cumpărare împotriva articolului {}.,
-This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Acest lucru se face pentru a gestiona contabilitatea cazurilor în care Bonul de cumpărare este creat după factura de achiziție,
-Purchase Order Required for item {},Comandă de achiziție necesară pentru articolul {},
-To submit the invoice without purchase order please set {} ,"Pentru a trimite factura fără comandă de cumpărare, setați {}",
-as {} in {},ca în {},
-Mandatory Purchase Order,Comandă de cumpărare obligatorie,
-Purchase Receipt Required for item {},Chitanță de cumpărare necesară pentru articolul {},
-To submit the invoice without purchase receipt please set {} ,"Pentru a trimite factura fără chitanță de cumpărare, setați {}",
-Mandatory Purchase Receipt,Chitanță de cumpărare obligatorie,
-POS Profile {} does not belongs to company {},Profilul POS {} nu aparține companiei {},
-User {} is disabled. Please select valid user/cashier,Utilizatorul {} este dezactivat. Vă rugăm să selectați un utilizator / casier valid,
-Row #{}: Original Invoice {} of return invoice {} is {}. ,Rândul # {}: factura originală {} a facturii de returnare {} este {}.,
-Original invoice should be consolidated before or along with the return invoice.,Factura originală ar trebui consolidată înainte sau împreună cu factura de returnare.,
-You can add original invoice {} manually to proceed.,Puteți adăuga factura originală {} manual pentru a continua.,
-Please ensure {} account is a Balance Sheet account. ,Vă rugăm să vă asigurați că {} contul este un cont de bilanț.,
-You can change the parent account to a Balance Sheet account or select a different account.,Puteți schimba contul părinte într-un cont de bilanț sau puteți selecta un alt cont.,
-Please ensure {} account is a Receivable account. ,Vă rugăm să vă asigurați că {} contul este un cont de încasat.,
-Change the account type to Receivable or select a different account.,Schimbați tipul de cont pentru de primit sau selectați un alt cont.,
-{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} nu poate fi anulat, deoarece punctele de loialitate câștigate au fost valorificate. Anulați mai întâi {} Nu {}",
-already exists,deja exista,
-POS Closing Entry {} against {} between selected period,Închidere POS {} contra {} între perioada selectată,
-POS Invoice is {},Factura POS este {},
-POS Profile doesn't matches {},Profilul POS nu se potrivește cu {},
-POS Invoice is not {},Factura POS nu este {},
-POS Invoice isn't created by user {},Factura POS nu este creată de utilizator {},
-Row #{}: {},Rând #{}: {},
-Invalid POS Invoices,Facturi POS nevalide,
-Please add the account to root level Company - {},Vă rugăm să adăugați contul la compania la nivel de rădăcină - {},
-"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","În timp ce creați un cont pentru Compania copil {0}, contul părinte {1} nu a fost găsit. Vă rugăm să creați contul părinte în COA corespunzător",
-Account Not Found,Contul nu a fost găsit,
-"While creating account for Child Company {0}, parent account {1} found as a ledger account.","În timp ce creați un cont pentru Compania pentru copii {0}, contul părinte {1} a fost găsit ca un cont mare.",
-Please convert the parent account in corresponding child company to a group account.,Vă rugăm să convertiți contul părinte al companiei copil corespunzătoare într-un cont de grup.,
-Invalid Parent Account,Cont părinte nevalid,
-"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Redenumirea acestuia este permisă numai prin intermediul companiei-mamă {0}, pentru a evita nepotrivirea.",
-"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Dacă {0} {1} cantitățile articolului {2}, schema {3} va fi aplicată articolului.",
-"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Dacă {0} {1} valorează articolul {2}, schema {3} va fi aplicată articolului.",
-"As the field {0} is enabled, the field {1} is mandatory.","Deoarece câmpul {0} este activat, câmpul {1} este obligatoriu.",
-"As the field {0} is enabled, the value of the field {1} should be more than 1.","Deoarece câmpul {0} este activat, valoarea câmpului {1} trebuie să fie mai mare de 1.",
-Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Nu se poate livra numărul de serie {0} al articolului {1} deoarece este rezervat pentru a îndeplini comanda de vânzare {2},
-"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Comanda de vânzări {0} are rezervare pentru articolul {1}, puteți livra rezervat {1} numai cu {0}.",
-{0} Serial No {1} cannot be delivered,{0} Numărul de serie {1} nu poate fi livrat,
-Row {0}: Subcontracted Item is mandatory for the raw material {1},Rândul {0}: articolul subcontractat este obligatoriu pentru materia primă {1},
-"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Deoarece există suficiente materii prime, cererea de material nu este necesară pentru depozit {0}.",
-" If you still want to proceed, please enable {0}.","Dacă totuși doriți să continuați, activați {0}.",
-The item referenced by {0} - {1} is already invoiced,Elementul la care face referire {0} - {1} este deja facturat,
-Therapy Session overlaps with {0},Sesiunea de terapie se suprapune cu {0},
-Therapy Sessions Overlapping,Sesiunile de terapie se suprapun,
-Therapy Plans,Planuri de terapie,
-"Item Code, warehouse, quantity are required on row {0}","Codul articolului, depozitul, cantitatea sunt necesare pe rândul {0}",
-Get Items from Material Requests against this Supplier,Obțineți articole din solicitările materiale împotriva acestui furnizor,
-Enable European Access,Activați accesul european,
-Creating Purchase Order ...,Se creează comanda de cumpărare ...,
-"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.","Selectați un furnizor din furnizorii prestabiliți ai articolelor de mai jos. La selectare, o comandă de achiziție va fi făcută numai pentru articolele aparținând furnizorului selectat.",
-Row #{}: You must select {} serial numbers for item {}.,Rândul # {}: trebuie să selectați {} numere de serie pentru articol {}.,
+"""Customer Provided Item"" cannot be Purchase Item also","""Elementul furnizat de client"" nu poate fi și articolul de cumpărare",
+"""Customer Provided Item"" cannot have Valuation Rate","""Elementul furnizat de client"" nu poate avea rata de evaluare",
+"""Is Fixed Asset"" cannot be unchecked, as Asset record exists against the item","""Este activ fix"" nu poate fi debifată deoarece există informații împotriva produsului",
+'Based On' and 'Group By' can not be same,'Bazat pe' și 'Grupat dupa' nu pot fi identice,
+'Days Since Last Order' must be greater than or equal to zero,'Zile de la ultima comandă' trebuie să fie mai mare sau egal cu zero,
+'Entries' cannot be empty,'Intrările' nu pot fi vide,
+'From Date' is required,'Din Data' este necesar,
+'From Date' must be after 'To Date','Din Data' trebuie să fie dupã 'Până în Data',
+'Has Serial No' can not be 'Yes' for non-stock item,'Are numãr de serie' nu poate fi 'Da' pentru articolele care nu au stoc,
+'Opening',&quot;Deschiderea&quot;,
+'To Case No.' cannot be less than 'From Case No.','Până la situația nr.' nu poate fi mai mică decât 'De la situația nr.',
+'To Date' is required,'Până la data' este necesară,
+'Total',&#39;Total&#39;,
+'Update Stock' can not be checked because items are not delivered via {0},"""Actualizare stoc"" nu poate fi activat, deoarece obiectele nu sunt livrate prin {0}",
+'Update Stock' cannot be checked for fixed asset sale,&quot;Actualizare stoc&quot; nu poate fi verificată de vânzare de active fixe,
+) for {0},) pentru {0},
+1 exact match.,1 potrivire exactă.,
+90-Above,90-si mai mult,
+A Customer Group exists with same name please change the Customer name or rename the Customer Group,Există un grup de clienți cu același nume; vă rugăm să schimbați numele clientului sau să redenumiți grupul de clienți,
+A Default Service Level Agreement already exists.,Există deja un Acord de nivel de serviciu implicit.,
+A Lead requires either a person's name or an organization's name,"Un conducător necesită fie numele unei persoane, fie numele unei organizații",
+A customer with the same name already exists,Un client cu același nume există deja,
+A question must have more than one options,O întrebare trebuie să aibă mai multe opțiuni,
+A qustion must have at least one correct options,O chestiune trebuie să aibă cel puțin o opțiune corectă,
+A {0} exists between {1} and {2} (,A {0} există între {1} și {2} (,
+A4,A4,
+API Endpoint,API Endpoint,
+API Key,Cheie API,
+Abbr can not be blank or space,Abr. nu poate fi gol sau spațiu,
+Abbreviation already used for another company,Abreviere deja folosita pentru o altă companie,
+Abbreviation cannot have more than 5 characters,Prescurtarea nu poate conține mai mult de 5 caractere,
+Abbreviation is mandatory,Abreviere este obligatorie,
+About the Company,Despre companie,
+About your company,Despre Compania ta,
+Above,Deasupra,
+Absent,Absent,
+Academic Term,Termen academic,
+Academic Term: ,Termen academic:,
+Academic Year,An academic,
+Academic Year: ,An academic:,
+Accepted + Rejected Qty must be equal to Received quantity for Item {0},Cant. acceptată + respinsă trebuie să fie egală cu cantitatea recepționată pentru articolul {0},
+Access Token,Acces Token,
+Accessable Value,Valoare accesibilă,
+Account,Cont,
+Account Number,Numar de cont,
+Account Number {0} already used in account {1},Numărul contului {0} deja utilizat în contul {1},
+Account Pay Only,Contul Plătiți numai,
+Account Type,Tipul Contului,
+Account Type for {0} must be {1},Tipul de cont pentru {0} trebuie să fie {1},
+"Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","Soldul contului este deja în credit, nu vă este permis să setați ""Balanța trebuie să fie"" drept ""Debit"".",
+"Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","Soldul contului este deja în credit, nu vă este permis să setați ""Balanța trebuie să fie"" drept ""Credit"".",
+Account number for account {0} is not available.<br> Please setup your Chart of Accounts correctly.,Numărul contului pentru contul {0} nu este disponibil. <br> Vă rugăm să configurați corect planul de conturi.,
+Account with child nodes cannot be converted to ledger,Un cont cu noduri copil nu poate fi transformat în registru contabil,
+Account with child nodes cannot be set as ledger,Cont cu noduri copil nu poate fi setat ca Registru Contabil,
+Account with existing transaction can not be converted to group.,Un cont cu tranzacții existente nu poate fi transformat în grup.,
+Account with existing transaction can not be deleted,Un cont cu tranzacții existente nu poate fi șters,
+Account with existing transaction cannot be converted to ledger,Un cont cu tranzacții existente nu poate fi transformat în registru contabil,
+Account {0} does not belong to company: {1},Contul {0} nu aparține companiei: {1},
+Account {0} does not belongs to company {1},Contul {0} nu aparține companiei {1},
+Account {0} does not exist,Contul {0} nu există,
+Account {0} does not exists,Contul {0} nu există,
+Account {0} does not match with Company {1} in Mode of Account: {2},Contul {0} nu se potrivește cu Compania {1} în modul de cont: {2},
+Account {0} has been entered multiple times,Contul {0} a fost introdus de mai multe ori,
+Account {0} is added in the child company {1},Contul {0} este adăugat în compania copil {1},
+Account {0} is frozen,Contul {0} este Blocat,
+Account {0} is invalid. Account Currency must be {1},Contul {0} nu este valid. Valuta contului trebuie să fie {1},
+Account {0}: Parent account {1} can not be a ledger,Contul {0}: cont Părinte {1} nu poate fi un registru,
+Account {0}: Parent account {1} does not belong to company: {2},Contul {0}: cont Părinte {1} nu apartine companiei: {2},
+Account {0}: Parent account {1} does not exist,Contul {0}: cont părinte {1} nu există,
+Account {0}: You can not assign itself as parent account,Contul {0}: nu puteți atribui contului în sine calitatea de cont părinte,
+Account: {0} can only be updated via Stock Transactions,Contul: {0} poate fi actualizat doar prin Tranzacții stoc,
+Account: {0} with currency: {1} can not be selected,Contul: {0} cu moneda: {1} nu poate fi selectat,
+Accountant,Contabil,
+Accounting,Contabilitate,
+Accounting Entry for Asset,Înregistrare contabilă a activelor,
+Accounting Entry for Stock,Intrare Contabilă pentru Stoc,
+Accounting Entry for {0}: {1} can only be made in currency: {2},Intrarea contabila pentru {0}: {1} se poate face numai în valuta: {2},
+Accounting Ledger,Registru Jurnal,
+Accounting journal entries.,Inregistrari contabile de jurnal.,
+Accounts,Conturi,
+Accounts Manager,Manager de Conturi,
+Accounts Payable,Conturi de plată,
+Accounts Payable Summary,Rezumat conturi pentru plăți,
+Accounts Receivable,Conturi de Incasare,
+Accounts Receivable Summary,Rezumat conturi de încasare,
+Accounts User,Conturi de utilizator,
+Accounts table cannot be blank.,Planul de conturi nu poate fi gol.,
+Accrual Journal Entry for salaries from {0} to {1},Înregistrarea jurnalelor de angajare pentru salariile de la {0} la {1},
+Accumulated Depreciation,Amortizarea cumulată,
+Accumulated Depreciation Amount,Sumă Amortizarea cumulată,
+Accumulated Depreciation as on,Amortizarea ca pe acumulat,
+Accumulated Monthly,lunar acumulat,
+Accumulated Values,Valorile acumulate,
+Accumulated Values in Group Company,Valori acumulate în compania grupului,
+Achieved ({}),Realizat ({}),
+Action,Acțiune:,
+Action Initialised,Acțiune inițiată,
+Actions,Acțiuni,
+Active,Activ,
+Activity Cost exists for Employee {0} against Activity Type - {1},Există cost activitate pentru angajatul {0} comparativ tipului de activitate - {1},
+Activity Cost per Employee,Cost activitate per angajat,
+Activity Type,Tip Activitate,
+Actual Cost,Costul actual,
+Actual Delivery Date,Data de livrare efectivă,
+Actual Qty,Cant. Efectivă,
+Actual Qty is mandatory,Cantitatea efectivă este obligatorie,
+Actual Qty {0} / Waiting Qty {1},Cant. reală {0} / Cant. în așteptare {1},
+Actual Qty: Quantity available in the warehouse.,Cantitate Actuală: Cantitate disponibilă în depozit.,
+Actual qty in stock,Cant. efectivă în stoc,
+Actual type tax cannot be included in Item rate in row {0},Taxa efectivă de tip nu poate fi inclusă în tariful articolului din rândul {0},
+Add,Adaugă,
+Add / Edit Prices,Adăugați / editați preturi,
+Add Comment,Adăugă Comentariu,
+Add Customers,Adăugați clienți,
+Add Employees,Adăugă Angajați,
+Add Item,Adăugă Element,
+Add Items,Adăugă Elemente,
+Add Leads,Adaugă Oportunități,
+Add Multiple Tasks,Adăugă Sarcini Multiple,
+Add Row,Adăugă Rând,
+Add Sales Partners,Adăugă Parteneri de Vânzări,
+Add Serial No,Adăugaţi Nr. de Serie,
+Add Students,Adăugă Elevi,
+Add Suppliers,Adăugă Furnizori,
+Add Time Slots,Adăugă Intervale de Timp,
+Add Timesheets,Adăugă Pontaje,
+Add Timeslots,Adăugă Intervale de Timp,
+Add Users to Marketplace,Adăugă Utilizatori la Marketplace,
+Add a new address,Adăugați o adresă nouă,
+Add cards or custom sections on homepage,Adăugați carduri sau secțiuni personalizate pe pagina principală,
+Add more items or open full form,Adăugă mai multe elemente sau deschide formular complet,
+Add notes,Adăugați note,
+Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,"Adăugați restul organizației dvs. ca utilizatori. Puteți, de asemenea, invita Clienții în portal prin adăugarea acestora din Contacte",
+Add to Details,Adăugă la Detalii,
+Add/Remove Recipients,Adăugaţi/Stergeţi Destinatari,
+Added,Adăugat,
+Added to details,Adăugat la detalii,
+Added {0} users,{0} utilizatori adăugați,
+Additional Salary Component Exists.,Există o componentă suplimentară a salariului.,
+Address,Adresă,
+Address Line 2,Adresă Linie 2,
+Address Name,Numele adresei,
+Address Title,Titlu adresă,
+Address Type,Tip adresă,
+Administrative Expenses,Cheltuieli administrative,
+Administrative Officer,Ofițer administrativ,
+Administrator,Administrator,
+Admission,Admitere,
+Admission and Enrollment,Admitere și înscriere,
+Admissions for {0},Admitere pentru {0},
+Admit,admite,
+Admitted,Admis,
+Advance Amount,Sumă în avans,
+Advance Payments,Plățile în avans,
+Advance account currency should be same as company currency {0},Advance valuta contului ar trebui să fie aceeași ca moneda companiei {0},
+Advance amount cannot be greater than {0} {1},Suma avans nu poate fi mai mare decât {0} {1},
+Advertising,Publicitate,
+Aerospace,Spaţiul aerian,
+Against,Comparativ,
+Against Account,Comparativ contului,
+Against Journal Entry {0} does not have any unmatched {1} entry,Comparativ intrării {0} în jurnal nu are nici o intrare nepotrivită {1},
+Against Journal Entry {0} is already adjusted against some other voucher,Comparativ intrării {0} în jurnal este deja ajustată comparativ altui voucher,
+Against Supplier Invoice {0} dated {1},Contra facturii furnizorului {0} din data {1},
+Against Voucher,Contra voucherului,
+Against Voucher Type,Contra tipului de voucher,
+Age,Vârstă,
+Age (Days),Vârsta (zile),
+Ageing Based On,Uzură bazată pe,
+Ageing Range 1,Clasă de uzură 1,
+Ageing Range 2,Clasă de uzură 2,
+Ageing Range 3,Clasă de uzură 3,
+Agriculture,Agricultură,
+Agriculture (beta),Agricultura (beta),
+Airline,linie aeriană,
+All Accounts,Toate conturile,
+All Addresses.,Toate adresele.,
+All Assessment Groups,Toate grupurile de evaluare,
+All BOMs,toate BOM,
+All Contacts.,Toate contactele.,
+All Customer Groups,Toate grupurile de clienți,
+All Day,Toată ziua,
+All Departments,Toate departamentele,
+All Healthcare Service Units,Toate unitățile de servicii medicale,
+All Item Groups,Toate grupurile articolului,
+All Jobs,Toate locurile de muncă,
+All Products,Toate produsele,
+All Products or Services.,Toate produsele sau serviciile.,
+All Student Admissions,Toate Admitere Student,
+All Supplier Groups,Toate grupurile de furnizori,
+All Supplier scorecards.,Toate cardurile de evaluare ale furnizorilor.,
+All Territories,Toate Teritoriile,
+All Warehouses,toate Depozite,
+All communications including and above this shall be moved into the new Issue,"Toate comunicările, inclusiv și deasupra acestora, vor fi mutate în noua ediție",
+All items have already been transferred for this Work Order.,Toate articolele au fost deja transferate pentru această comandă de lucru.,
+All other ITC,Toate celelalte ITC,
+All the mandatory Task for employee creation hasn't been done yet.,Toate sarcinile obligatorii pentru crearea de angajați nu au fost încă încheiate.,
+Allocate Payment Amount,Alocați suma de plată,
+Allocated Amount,Sumă alocată,
+Allocated Leaves,Frunzele alocate,
+Allocating leaves...,Alocarea frunzelor ...,
+Already record exists for the item {0},Încă există înregistrare pentru articolul {0},
+"Already set default in pos profile {0} for user {1}, kindly disabled default","Deja a fost setat implicit în profilul pos {0} pentru utilizatorul {1}, dezactivat în mod prestabilit",
+Alternate Item,Articol alternativ,
+Alternative item must not be same as item code,Elementul alternativ nu trebuie să fie identic cu cel al articolului,
+Amended From,Modificat din,
+Amount,Sumă,
+Amount After Depreciation,Suma după amortizare,
+Amount of Integrated Tax,Suma impozitului integrat,
+Amount of TDS Deducted,Cantitatea de TDS dedusă,
+Amount should not be less than zero.,Suma nu trebuie să fie mai mică de zero.,
+Amount to Bill,Sumă pentru facturare,
+Amount {0} {1} against {2} {3},Suma {0} {1} împotriva {2} {3},
+Amount {0} {1} deducted against {2},Suma {0} {1} dedusă împotriva {2},
+Amount {0} {1} transferred from {2} to {3},Suma {0} {1} transferată de la {2} la {3},
+Amount {0} {1} {2} {3},Suma {0} {1} {2} {3},
+Amt,Suma,
+"An Item Group exists with same name, please change the item name or rename the item group","Există un grup de articole cu aceeaşi denumire, vă rugăm să schimbați denumirea articolului sau să redenumiţi grupul articolului",
+An academic term with this 'Academic Year' {0} and 'Term Name' {1} already exists. Please modify these entries and try again.,Un termen academic cu acest &quot;An universitar&quot; {0} și &quot;Numele Termenul&quot; {1} există deja. Vă rugăm să modificați aceste intrări și încercați din nou.,
+An error occurred during the update process,A apărut o eroare în timpul procesului de actualizare,
+"An item exists with same name ({0}), please change the item group name or rename the item","Există un articol cu aceeaşi denumire ({0}), vă rugăm să schimbați denumirea grupului articolului sau să redenumiţi articolul",
+Analyst,Analist,
+Analytics,Google Analytics,
+Annual Billing: {0},Facturare anuală: {0},
+Annual Salary,Salariu anual,
+Anonymous,Anonim,
+Another Budget record '{0}' already exists against {1} '{2}' and account '{3}' for fiscal year {4},O altă înregistrare bugetară {0} există deja pentru {1} &#39;{2}&#39; și contul &#39;{3}&#39; pentru anul fiscal {4},
+Another Period Closing Entry {0} has been made after {1},O altă intrare închidere de perioada {0} a fost efectuată după {1},
+Another Sales Person {0} exists with the same Employee id,Un alt Sales Person {0} există cu același ID Angajat,
+Antibiotic,Antibiotic,
+Apparel & Accessories,Îmbrăcăminte și accesorii,
+Applicable For,Aplicabil pentru,
+"Applicable if the company is SpA, SApA or SRL","Se aplică dacă compania este SpA, SApA sau SRL",
+Applicable if the company is a limited liability company,Se aplică dacă compania este o societate cu răspundere limitată,
+Applicable if the company is an Individual or a Proprietorship,Se aplică dacă compania este o persoană fizică sau o proprietate,
+Applicant,Solicitant,
+Applicant Type,Tipul solicitantului,
+Application of Funds (Assets),Aplicarea fondurilor (active),
+Application period cannot be across two allocation records,Perioada de aplicare nu poate fi cuprinsă între două înregistrări de alocare,
+Application period cannot be outside leave allocation period,Perioada de aplicare nu poate fi perioadă de alocare concediu în afara,
+Applied,Aplicat,
+Apply Now,Aplica acum,
+Appointment Confirmation,Confirmare programare,
+Appointment Duration (mins),Durata intalnire (minute),
+Appointment Type,Tip de întâlnire,
+Appointment {0} and Sales Invoice {1} cancelled,Mențiunea {0} și factura de vânzări {1} au fost anulate,
+Appointments and Encounters,Numiri și întâlniri,
+Appointments and Patient Encounters,Numiri și întâlniri cu pacienții,
+Appraisal {0} created for Employee {1} in the given date range,Expertiza {0} creată pentru angajatul {1} în intervalul de timp dat,
+Apprentice,Începător,
+Approval Status,Status aprobare,
+Approval Status must be 'Approved' or 'Rejected',"Statusul aprobării trebuie să fie ""Aprobat"" sau ""Respins""",
+Approve,Aproba,
+Approving Role cannot be same as role the rule is Applicable To,Aprobarea unui rol nu poate fi aceeaşi cu rolul. Regula este aplicabilă pentru,
+Approving User cannot be same as user the rule is Applicable To,Aprobarea unui utilizator nu poate fi aceeași cu utilizatorul. Regula este aplicabilă pentru,
+"Apps using current key won't be able to access, are you sure?","Aplicațiile care utilizează cheia curentă nu vor putea accesa, sunteți sigur?",
+Are you sure you want to cancel this appointment?,Sigur doriți să anulați această întâlnire?,
+Arrear,restanță,
+As Examiner,Ca Examiner,
+As On Date,Ca pe data,
+As Supervisor,Ca supraveghetor,
+As per rules 42 & 43 of CGST Rules,Conform regulilor 42 și 43 din Regulile CGST,
+As per section 17(5),În conformitate cu secțiunea 17 (5),
+As per your assigned Salary Structure you cannot apply for benefits,"În conformitate cu structura salarială atribuită, nu puteți aplica pentru beneficii",
+Assessment,Evaluare,
+Assessment Criteria,Criterii de evaluare,
+Assessment Group,Grup de evaluare,
+Assessment Group: ,Grup de evaluare:,
+Assessment Plan,Plan de evaluare,
+Assessment Plan Name,Numele planului de evaluare,
+Assessment Report,Raport de evaluare,
+Assessment Reports,Rapoarte de evaluare,
+Assessment Result,Rezultatul evaluării,
+Assessment Result record {0} already exists.,Inregistrarea Rezultatului evaluării {0} există deja.,
+Asset,activ,
+Asset Category,Categorie activ,
+Asset Category is mandatory for Fixed Asset item,Categorie Activ este obligatorie pentru articolul Activ Fix,
+Asset Maintenance,Întreținerea activelor,
+Asset Movement,Miscarea activelor,
+Asset Movement record {0} created,Mișcarea de înregistrare a activelor {0} creat,
+Asset Name,Denumire activ,
+Asset Received But Not Billed,"Activul primit, dar nu facturat",
+Asset Value Adjustment,Ajustarea valorii activelor,
+"Asset cannot be cancelled, as it is already {0}","Activul nu poate fi anulat, deoarece este deja {0}",
+Asset scrapped via Journal Entry {0},Activ casate prin Jurnal de intrare {0},
+"Asset {0} cannot be scrapped, as it is already {1}","Activul {0} nu poate fi scos din uz, deoarece este deja {1}",
+Asset {0} does not belong to company {1},Activul {0} nu aparține companiei {1},
+Asset {0} must be submitted,Activul {0} trebuie transmis,
+Assets,Active,
+Assign,Atribuiţi,
+Assign Salary Structure,Alocați structurii salariale,
+Assign To,Atribuţi pentru,
+Assign to Employees,Atribuie la Angajați,
+Assigning Structures...,Alocarea structurilor ...,
+Associate,Asociaţi,
+At least one mode of payment is required for POS invoice.,Cel puțin un mod de plată este necesar factura POS.,
+Atleast one item should be entered with negative quantity in return document,Cel puțin un articol ar trebui să fie introdus cu cantitate negativa în documentul de returnare,
+Atleast one of the Selling or Buying must be selected,Cel puţin una din opţiunile de vânzare sau cumpărare trebuie să fie selectată,
+Atleast one warehouse is mandatory,Cel puţin un depozit este obligatoriu,
+Attach Logo,Atașați logo,
+Attachment,Atașament,
+Attachments,Ataşamente,
+Attendance,prezență,
+Attendance From Date and Attendance To Date is mandatory,Prezenţa de la data și Prezența până la data sunt obligatorii,
+Attendance can not be marked for future dates,Prezenţa nu poate fi consemnată pentru date viitoare,
+Attendance date can not be less than employee's joining date,Data de prezență nu poate fi anteriara datii angajarii salariatului,
+Attendance for employee {0} is already marked,Prezenţa pentru angajatul {0} este deja consemnată,
+Attendance for employee {0} is already marked for this day,Prezența pentru angajatul {0} este deja marcată pentru această zi,
+Attendance has been marked successfully.,Prezența a fost marcată cu succes.,
+Attendance not submitted for {0} as it is a Holiday.,Participarea nu a fost trimisă pentru {0} deoarece este o sărbătoare.,
+Attendance not submitted for {0} as {1} on leave.,Participarea nu a fost trimisă pentru {0} ca {1} în concediu.,
+Attribute table is mandatory,Tabelul atribut este obligatoriu,
+Attribute {0} selected multiple times in Attributes Table,Atributul {0} este selectat de mai multe ori în tabelul Atribute,
+Author,Autor,
+Authorized Signatory,Semnatar autorizat,
+Auto Material Requests Generated,Cereri materiale Auto Generat,
+Auto Repeat,Auto Repetare,
+Auto repeat document updated,Documentul repetat automat a fost actualizat,
+Automotive,Autopropulsat,
+Available,Disponibil,
+Available Leaves,Frunzele disponibile,
+Available Qty,Cantitate disponibilă,
+Available Selling,Vânzări disponibile,
+Available for use date is required,Data de utilizare disponibilă pentru utilizare este necesară,
+Available slots,Sloturi disponibile,
+Available {0},Disponibile {0},
+Available-for-use Date should be after purchase date,Data disponibilă pentru utilizare ar trebui să fie după data achiziției,
+Average Age,Varsta medie,
+Average Rate,Rata medie,
+Avg Daily Outgoing,Ieșire zilnică medie,
+Avg. Buying Price List Rate,Med. Achiziționarea ratei listei de prețuri,
+Avg. Selling Price List Rate,Med. Rata de listare a prețurilor de vânzare,
+Avg. Selling Rate,Rată Medie de Vânzare,
+BOM,BOM,
+BOM Browser,BOM Browser,
+BOM No,Nr. BOM,
+BOM Rate,Rata BOM,
+BOM Stock Report,BOM Raport stoc,
+BOM and Manufacturing Quantity are required,BOM și cantitatea de producție sunt necesare,
+BOM does not contain any stock item,BOM nu conține nici un element de stoc,
+BOM {0} does not belong to Item {1},BOM {0} nu aparţine articolului {1},
+BOM {0} must be active,BOM {0} trebuie să fie activ,
+BOM {0} must be submitted,BOM {0} trebuie să fie introdus,
+Balance,Bilanţ,
+Balance (Dr - Cr),Sold (Dr-Cr),
+Balance ({0}),Sold ({0}),
+Balance Qty,Cantitate de bilanţ,
+Balance Sheet,Bilanț,
+Balance Value,Valoarea bilanţului,
+Balance for Account {0} must always be {1},Bilanţă pentru contul {0} trebuie să fie întotdeauna {1},
+Bank,bancă,
+Bank Account,Cont bancar,
+Bank Accounts,Conturi bancare,
+Bank Draft,Ciorna bancară,
+Bank Entries,Intrările bancare,
+Bank Name,Denumire bancă,
+Bank Overdraft Account,Descoperire cont bancar,
+Bank Reconciliation,Reconciliere bancară,
+Bank Reconciliation Statement,Extras de cont reconciliere bancară,
+Bank Statement,Extras de cont,
+Bank Statement Settings,Setările declarației bancare,
+Bank Statement balance as per General Ledger,Banca echilibru Declarație pe General Ledger,
+Bank account cannot be named as {0},Contul bancar nu poate fi numit ca {0},
+Bank/Cash transactions against party or for internal transfer,tranzacții bancare / numerar contra partidului sau pentru transfer intern,
+Banking,Bancar,
+Banking and Payments,Bancare și plăți,
+Barcode {0} already used in Item {1},Cod de bare {0} deja folosit pentru articolul {1},
+Barcode {0} is not a valid {1} code,Codul de bare {0} nu este un cod valid {1},
+Base,Baza,
+Base URL,URL-ul de bază,
+Based On,Bazat pe,
+Based On Payment Terms,Pe baza condițiilor de plată,
+Basic,Elementar,
+Batch,Lot,
+Batch Entries,Înregistrări pe lot,
+Batch ID is mandatory,ID-ul lotului este obligatoriu,
+Batch Inventory,Lot Inventarul,
+Batch Name,Nume lot,
+Batch No,Lot nr.,
+Batch number is mandatory for Item {0},Numărul aferent lotului este obligatoriu pentru articolul {0},
+Batch {0} of Item {1} has expired.,Lot {0} din {1} Postul a expirat.,
+Batch {0} of Item {1} is disabled.,Lotul {0} al elementului {1} este dezactivat.,
+Batch: ,Lot:,
+Batches,Sarjele,
+Become a Seller,Deveniți un vânzător,
+Beginner,Începător,
+Bill,Factură,
+Bill Date,Dată factură,
+Bill No,Factură nr.,
+Bill of Materials,Reţete de Producţie,
+Bill of Materials (BOM),Lista de materiale (BOM),
+Billable Hours,Ore Billable,
+Billed,Facturat,
+Billed Amount,Sumă facturată,
+Billing,Facturare,
+Billing Address,Adresa De Facturare,
+Billing Address is same as Shipping Address,Adresa de facturare este aceeași cu adresa de expediere,
+Billing Amount,Suma de facturare,
+Billing Status,Stare facturare,
+Billing currency must be equal to either default company's currency or party account currency,"Valuta de facturare trebuie să fie identica fie cu valuta implicită a companiei, fie cu moneda contului de partid",
+Bills raised by Suppliers.,Facturi cu valoarea ridicată de către furnizori.,
+Bills raised to Customers.,Facturi cu valoarea ridicată pentru clienți.,
+Biotechnology,Biotehnologie,
+Birthday Reminder,Amintirea zilei de naștere,
+Black,Negru,
+Blanket Orders from Costumers.,Comenzi cuverturi de la clienți.,
+Block Invoice,Blocați factura,
+Boms,BOM,
+Bonus Payment Date cannot be a past date,Data de plată Bonus nu poate fi o dată trecută,
+Both Trial Period Start Date and Trial Period End Date must be set,"Trebuie să fie setată atât data de începere a perioadei de încercare, cât și data de încheiere a perioadei de încercare",
+Both Warehouse must belong to same Company,Ambele Depozite trebuie să aparțină aceleiași companii,
+Branch,ramură,
+Broadcasting,Transminiune,
+Brokerage,brokeraj,
+Browse BOM,Navigare BOM,
+Budget Against,Buget împotriva,
+Budget List,Lista de bugete,
+Budget Variance Report,Raport de variaţie buget,
+Budget cannot be assigned against Group Account {0},Buget nu pot fi atribuite în Grupa Contul {0},
+"Budget cannot be assigned against {0}, as it's not an Income or Expense account","Bugetul nu pot fi atribuite în {0}, deoarece nu este un cont venituri sau cheltuieli",
+Buildings,Corpuri,
+Bundle items at time of sale.,Set de articole în momemntul vânzării.,
+Business Development Manager,Manager pentru Dezvoltarea Afacerilor,
+Buy,A cumpara,
+Buying,Cumpărare,
+Buying Amount,Sumă de cumpărare,
+Buying Price List,Achiziționarea listei de prețuri,
+Buying Rate,Rata de cumparare,
+"Buying must be checked, if Applicable For is selected as {0}","Destinat Cumpărării trebuie să fie bifat, dacă Se Aplica Pentru este selectat ca şi {0}",
+By {0},Până la {0},
+Bypass credit check at Sales Order ,Anulați verificarea creditului la Ordin de vânzări,
+C-Form records,Înregistrări formular-C,
+C-form is not applicable for Invoice: {0},Formularul C nu se aplică pentru factură: {0},
+CEO,CEO,
+CESS Amount,Suma CESS,
+CGST Amount,Suma CGST,
+CRM,CRM,
+CWIP Account,Contul CWIP,
+Calculated Bank Statement balance,Calculat Bank echilibru Declaratie,
+Calls,apeluri,
+Campaign,Campanie,
+Can be approved by {0},Poate fi aprobat/a de către {0},
+"Can not filter based on Account, if grouped by Account","Nu se poate filtra pe baza de cont, în cazul gruparii in functie de Cont",
+"Can not filter based on Voucher No, if grouped by Voucher","Nu se poate filtra pe baza voucher Nr., în cazul gruparii in functie de Voucher",
+"Can not mark Inpatient Record Discharged, there are Unbilled Invoices {0}","Nu se poate marca evacuarea inpatientului, există facturi neachitate {0}",
+Can only make payment against unbilled {0},Plata se poate efectua numai în cazul factrilor neachitate {0},
+Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total',Se poate face referire la inregistrare numai dacă tipul de taxa este 'Suma inregistrare precedenta' sau 'Total inregistrare precedenta',
+"Can't change valuation method, as there are transactions against some items which does not have it's own valuation method","Metoda de evaluare nu poate fi schimbată, deoarece există tranzacții împotriva anumitor elemente care nu au metoda de evaluare proprie",
+Can't create standard criteria. Please rename the criteria,Nu se pot crea criterii standard. Renunțați la criterii,
+Cancel,Anulează,
+Cancel Material Visit {0} before cancelling this Warranty Claim,Anulează Stivuitoare Vizitați {0} înainte de a anula acest revendicarea Garanție,
+Cancel Material Visits {0} before cancelling this Maintenance Visit,Anuleaza Vizite Material {0} înainte de a anula această Vizita de întreținere,
+Cancel Subscription,Anulează Abonament,
+Cancel the journal entry {0} first,Anulați mai întâi înregistrarea jurnalului {0},
+Canceled,Anulat,
+"Cannot Submit, Employees left to mark attendance","Nu se poate trimite, Angajații lăsați să marcheze prezența",
+Cannot be a fixed asset item as Stock Ledger is created.,"Nu poate fi un element de activ fix, deoarece este creat un registru de stoc.",
+Cannot cancel because submitted Stock Entry {0} exists,"Nu pot anula, deoarece a prezentat Bursa de intrare {0} există",
+Cannot cancel transaction for Completed Work Order.,Nu se poate anula tranzacția pentru comanda finalizată de lucru.,
+Cannot cancel {0} {1} because Serial No {2} does not belong to the warehouse {3},Nu se poate anula {0} {1} deoarece numărul de serie {2} nu aparține depozitului {3},
+Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item,Nu se poate modifica atributele după tranzacția de stoc. Creați un element nou și transferați stocul la noul element,
+Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved.,Nu se poate schimba anul fiscal Data de începere și se termină anul fiscal Data odată ce anul fiscal este salvată.,
+Cannot change Service Stop Date for item in row {0},Nu se poate schimba data de începere a serviciului pentru elementul din rândul {0},
+Cannot change Variant properties after stock transaction. You will have to make a new Item to do this.,Nu se pot modifica proprietățile Variant după tranzacția stoc. Va trebui să faceți un nou element pentru a face acest lucru.,
+"Cannot change company's default currency, because there are existing transactions. Transactions must be cancelled to change the default currency.","Nu se poate schimba moneda implicita a companiei, deoarece există tranzacții in desfasurare. Tranzacțiile trebuie să fie anulate pentru a schimba moneda implicita.",
+Cannot change status as student {0} is linked with student application {1},Nu se poate schimba statutul de student ca {0} este legat cu aplicația de student {1},
+Cannot convert Cost Center to ledger as it has child nodes,"Nu se poate converti de cost Centrul de registru, deoarece are noduri copil",
+Cannot covert to Group because Account Type is selected.,Nu se poate sub acoperire la Grupul pentru că este selectată Tip cont.,
+Cannot create Retention Bonus for left Employees,Nu se poate crea Bonus de retenție pentru angajații stânga,
+Cannot create a Delivery Trip from Draft documents.,Nu se poate crea o călătorie de livrare din documentele Draft.,
+Cannot deactivate or cancel BOM as it is linked with other BOMs,"Nu se poate deactiva sau anula FDM, deoarece este conectat cu alte FDM-uri",
+"Cannot declare as lost, because Quotation has been made.","Nu se poate declara pierdut, pentru că Oferta a fost realizata.",
+Cannot deduct when category is for 'Valuation' or 'Valuation and Total',Nu se poate deduce când categoria este de 'Evaluare' sau 'Evaluare și total',
+Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Nu se poate deduce atunci când este categoria de &quot;evaluare&quot; sau &quot;Vaulation și Total&quot;,
+"Cannot delete Serial No {0}, as it is used in stock transactions","Nu se poate șterge de serie nr {0}, așa cum este utilizat în tranzacțiile bursiere",
+Cannot enroll more than {0} students for this student group.,Nu se poate inscrie mai mult de {0} studenți pentru acest grup de studenți.,
+Cannot find active Leave Period,Nu se poate găsi perioada activă de plecare,
+Cannot produce more Item {0} than Sales Order quantity {1},Nu se pot produce mai multe Articole {0} decât cantitatea din Ordinul de Vânzări {1},
+Cannot promote Employee with status Left,Nu puteți promova angajatul cu starea Stânga,
+Cannot refer row number greater than or equal to current row number for this Charge type,Nu se poate face referire la un număr de inregistare mai mare sau egal cu numărul curent de inregistrare pentru acest tip de Incasare,
+Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row,Nu se poate selecta tipul de incasare ca 'Suma inregistrare precedenta' sau 'Total inregistrare precedenta' pentru prima inregistrare,
+Cannot set as Lost as Sales Order is made.,Nu se poate seta pierdut deoarece se intocmeste comandă de vânzări.,
+Cannot set authorization on basis of Discount for {0},Nu se poate seta autorizare pe baza de Discount pentru {0},
+Cannot set multiple Item Defaults for a company.,Nu se pot seta mai multe setări implicite pentru o companie.,
+Cannot set quantity less than delivered quantity,Cantitatea nu poate fi mai mică decât cea livrată,
+Cannot set quantity less than received quantity,Cantitatea nu poate fi mai mică decât cea primită,
+Cannot set the field <b>{0}</b> for copying in variants,Nu se poate seta câmpul <b>{0}</b> pentru copiere în variante,
+Cannot transfer Employee with status Left,Nu se poate transfera angajatul cu starea Stânga,
+Cannot {0} {1} {2} without any negative outstanding invoice,Nu se poate {0} {1} {2} in lipsa unei facturi negative restante,
+Capital Equipments,Echipamente de capital,
+Capital Stock,Capital Stock,
+Capital Work in Progress,Capitalul în curs de desfășurare,
+Cart,Coș,
+Cart is Empty,Cosul este gol,
+Case No(s) already in use. Try from Case No {0},Cazul nr. (s) este deja utilizat. Încercați din cazul nr. {s},
+Cash,Numerar,
+Cash Flow Statement,Situația fluxurilor de trezorerie,
+Cash Flow from Financing,Cash Flow de la finanțarea,
+Cash Flow from Investing,Cash Flow de la Investiții,
+Cash Flow from Operations,Cash Flow din Operațiuni,
+Cash In Hand,Bani în mână,
+Cash or Bank Account is mandatory for making payment entry,Pentru a face o inregistrare de plată este obligatoriu numerar sau cont bancar,
+Cashier Closing,Încheierea caselor,
+Casual Leave,Concediu Aleator,
+Category,Categorie,
+Category Name,Nume Categorie,
+Caution,Prudență,
+Central Tax,Impozitul central,
+Certification,Certificare,
+Cess,CESS,
+Change Amount,Sumă schimbare,
+Change Item Code,Modificați codul elementului,
+Change Release Date,Modificați data de lansare,
+Change Template Code,Schimbați codul de șablon,
+Changing Customer Group for the selected Customer is not allowed.,Schimbarea Grupului de Clienți pentru Clientul selectat nu este permisă.,
+Chapter,Capitol,
+Chapter information.,Informații despre capitol.,
+Charge of type 'Actual' in row {0} cannot be included in Item Rate,"Taxa de tip 'Efectiv' în inregistrarea {0} nu poate fi inclus în Rata Articol""",
+Chargeble,Chargeble,
+Charges are updated in Purchase Receipt against each item,Tarifele sunt actualizate în Primirea cumparare pentru fiecare articol,
+"Charges will be distributed proportionately based on item qty or amount, as per your selection","Taxele vor fi distribuite proporțional în funcție de produs Cantitate sau valoarea, ca pe dvs. de selecție",
+Chart of Cost Centers,Diagramă Centre de Cost,
+Check all,Selectați toate,
+Checkout,Verifică,
+Chemical,Chimic,
+Cheque,Cec,
+Cheque/Reference No,Cecul / de referință nr,
+Cheques Required,Verificări necesare,
+Cheques and Deposits incorrectly cleared,Cecuri și Depozite respingă incorect,
+Child Task exists for this Task. You can not delete this Task.,Sarcina pentru copii există pentru această sarcină. Nu puteți șterge această activitate.,
+Child nodes can be only created under 'Group' type nodes,noduri pentru copii pot fi create numai în noduri de tip &quot;grup&quot;,
+Child warehouse exists for this warehouse. You can not delete this warehouse.,Există depozit copil pentru acest depozit. Nu puteți șterge acest depozit.,
+Circular Reference Error,Eroare de referință Circular,
+City,Oraș,
+City/Town,Oras/Localitate,
+Claimed Amount,Suma solicitată,
+Clay,Lut,
+Clear filters,Șterge filtrele,
+Clear values,Valori clare,
+Clearance Date,Data Aprobare,
+Clearance Date not mentioned,Data Aprobare nespecificata,
+Clearance Date updated,Clearance-ul Data actualizat,
+Client,Client,
+Client ID,ID-ul clientului,
+Client Secret,Secret Client,
+Clinical Procedure,Procedura clinică,
+Clinical Procedure Template,Formularul procedurii clinice,
+Close Balance Sheet and book Profit or Loss.,Inchideti Bilanțul și registrul Profit sau Pierdere.,
+Close Loan,Împrumut închis,
+Close the POS,Închideți POS,
+Closed,Închis,
+Closed order cannot be cancelled. Unclose to cancel.,Pentru închis nu poate fi anulată. Pentru a anula redeschide.,
+Closing (Cr),De închidere (Cr),
+Closing (Dr),De închidere (Dr),
+Closing (Opening + Total),Închidere (Deschidere + Total),
+Closing Account {0} must be of type Liability / Equity,Contul {0} de închidere trebuie să fie de tip răspunderii / capitaluri proprii,
+Closing Balance,Soldul de încheiere,
+Code,Cod,
+Collapse All,Reduceți totul În această,
+Color,Culoare,
+Colour,Culoare,
+Combined invoice portion must equal 100%,Partea facturată combinată trebuie să fie egală cu 100%,
+Commercial,Comercial,
+Commission,Comision,
+Commission Rate %,Rata comisionului %,
+Commission on Sales,Comision pentru Vânzări,
+Commission rate cannot be greater than 100,Rata de comision nu poate fi mai mare decat 100,
+Community Forum,Community Forum,
+Company (not Customer or Supplier) master.,Directorul Companiei(nu al Clientului sau al Furnizorui).,
+Company Abbreviation,Abreviere Companie,
+Company Abbreviation cannot have more than 5 characters,Abrevierea companiei nu poate avea mai mult de 5 caractere,
+Company Name,Denumire Furnizor,
+Company Name cannot be Company,Numele Companiei nu poate fi Companie,
+Company currencies of both the companies should match for Inter Company Transactions.,Monedele companiilor ambelor companii ar trebui să se potrivească cu tranzacțiile Inter-Company.,
+Company is manadatory for company account,Compania este managerială pentru contul companiei,
+Company name not same,Numele companiei nu este același,
+Company {0} does not exist,Firma {0} nu există,
+Compensatory Off,Fara Masuri Compensatorii,
+Compensatory leave request days not in valid holidays,Plățile compensatorii pleacă în zilele de sărbători valabile,
+Complaint,Reclamație,
+Completion Date,Data Finalizare,
+Computer,Computer,
+Condition,Condiție,
+Configure,Configurarea,
+Configure {0},Configurare {0},
+Confirmed orders from Customers.,Comenzi confirmate de la clienți.,
+Connect Amazon with ERPNext,Conectați-vă la Amazon cu ERPNext,
+Connect Shopify with ERPNext,Conectați-vă la Shopify cu ERPNext,
+Connect to Quickbooks,Conectați-vă la agendele rapide,
+Connected to QuickBooks,Conectat la QuickBooks,
+Connecting to QuickBooks,Conectarea la QuickBooks,
+Consultation,Consultare,
+Consultations,consultări,
+Consulting,Consilia,
+Consumable,Consumabile,
+Consumed,Consumat,
+Consumed Amount,Consumat Suma,
+Consumed Qty,Cantitate consumată,
+Consumer Products,Produse consumator,
+Contact,Persoana de Contact,
+Contact Details,Detalii Persoana de Contact,
+Contact Number,Numar de contact,
+Contact Us,Contacteaza-ne,
+Content,Continut,
+Content Masters,Maeștri de conținut,
+Content Type,Tip Conținut,
+Continue Configuration,Continuați configurarea,
+Contract,Contract,
+Contract End Date must be greater than Date of Joining,Data de Incheiere Contract trebuie să fie ulterioara Datei Aderării,
+Contribution %,Contribuția%,
+Contribution Amount,Contribuția Suma,
+Conversion factor for default Unit of Measure must be 1 in row {0},Factor de Conversie pentru Unitatea de Măsură implicita trebuie să fie 1 pentru inregistrarea {0},
+Conversion rate cannot be 0 or 1,Rata de conversie nu poate fi 0 sau 1,
+Convert to Group,Transformă în grup,
+Convert to Non-Group,Converti la non-Group,
+Cosmetics,Cosmetică,
+Cost Center,Centrul de cost,
+Cost Center Number,Numărul centrului de costuri,
+Cost Center and Budgeting,Centrul de costuri și buget,
+Cost Center is required in row {0} in Taxes table for type {1},Centrul de Cost este necesar pentru inregistrarea {0} din tabelul Taxe pentru tipul {1},
+Cost Center with existing transactions can not be converted to group,Centrul de Cost cu tranzacții existente nu poate fi transformat în grup,
+Cost Center with existing transactions can not be converted to ledger,Centrul de Cost cu tranzacții existente nu poate fi transformat în registru contabil,
+Cost Centers,Centre de cost,
+Cost Updated,Cost actualizat,
+Cost as on,Cost cu o schimbare ca pe,
+Cost of Delivered Items,Costul de articole livrate,
+Cost of Goods Sold,Cost Bunuri Vândute,
+Cost of Issued Items,Costul de articole emise,
+Cost of New Purchase,Costul de achiziție nouă,
+Cost of Purchased Items,Costul de produsele cumparate,
+Cost of Scrapped Asset,Costul de active scoase din uz,
+Cost of Sold Asset,Costul de active vândute,
+Cost of various activities,Costul diverse activități,
+"Could not create Credit Note automatically, please uncheck 'Issue Credit Note' and submit again","Nu s-a putut crea Nota de credit în mod automat, debifați &quot;Notați nota de credit&quot; și trimiteți-o din nou",
+Could not generate Secret,Nu am putut genera secret,
+Could not retrieve information for {0}.,Nu s-au putut obține informații pentru {0}.,
+Could not solve criteria score function for {0}. Make sure the formula is valid.,Nu s-a putut rezolva funcția de evaluare a criteriilor pentru {0}. Asigurați-vă că formula este validă.,
+Could not solve weighted score function. Make sure the formula is valid.,Nu s-a putut rezolva funcția de scor ponderat. Asigurați-vă că formula este validă.,
+Could not submit some Salary Slips,Nu am putut trimite unele Salariile,
+"Could not update stock, invoice contains drop shipping item.","Nu s-a putut actualiza stocul, factura conține elementul de expediere.",
+Country wise default Address Templates,Șabloanele țară înțelept adresa implicită,
+Course,Curs,
+Course Code: ,Codul cursului:,
+Course Enrollment {0} does not exists,Înscrierea la curs {0} nu există,
+Course Schedule,Program de curs de,
+Course: ,Curs:,
+Cr,Cr,
+Create,Creează,
+Create BOM,Creați BOM,
+Create Delivery Trip,Creați călătorie de livrare,
+Create Disbursement Entry,Creați intrare pentru dezbursare,
+Create Employee,Creați angajat,
+Create Employee Records,Crearea angajaților Records,
+"Create Employee records to manage leaves, expense claims and payroll","Crearea de înregistrări angajaților pentru a gestiona frunze, cheltuieli și salarizare creanțe",
+Create Fee Schedule,Creați programul de taxe,
+Create Fees,Creați taxe,
+Create Inter Company Journal Entry,Creați jurnalul companiei Inter,
+Create Invoice,Creați factură,
+Create Invoices,Creați facturi,
+Create Job Card,Creați carte de muncă,
+Create Journal Entry,Creați intrarea în jurnal,
+Create Lead,Creați Lead,
+Create Leads,Creează Piste,
+Create Maintenance Visit,Creați vizită de întreținere,
+Create Material Request,Creați solicitare de materiale,
+Create Multiple,Creați mai multe,
+Create Opening Sales and Purchase Invoices,Creați deschiderea vânzărilor și facturilor de achiziție,
+Create Payment Entries,Creați intrări de plată,
+Create Payment Entry,Creați intrare de plată,
+Create Print Format,Creați Format imprimare,
+Create Purchase Order,Creați comanda de aprovizionare,
+Create Purchase Orders,Creare comenzi de aprovizionare,
+Create Quotation,Creare Ofertă,
+Create Salary Slip,Crea Fluturasul de Salariul,
+Create Salary Slips,Creați buletine de salariu,
+Create Sales Invoice,Creați factură de vânzări,
+Create Sales Order,Creați o comandă de vânzări,
+Create Sales Orders to help you plan your work and deliver on-time,Creați comenzi de vânzare pentru a vă ajuta să vă planificați munca și să vă livrați la timp,
+Create Sample Retention Stock Entry,Creați intrare de stoc de reținere a eșantionului,
+Create Student,Creați student,
+Create Student Batch,Creați lot de elevi,
+Create Student Groups,Creați Grupurile de studenți,
+Create Supplier Quotation,Creați ofertă pentru furnizori,
+Create Tax Template,Creați șablonul fiscal,
+Create Timesheet,Creați o foaie de lucru,
+Create User,Creaza utilizator,
+Create Users,Creați utilizatori,
+Create Variant,Creați varianta,
+Create Variants,Creați variante,
+"Create and manage daily, weekly and monthly email digests.","Creare și gestionare rezumate e-mail zilnice, săptămânale și lunare.",
+Create customer quotes,Creați citate client,
+Create rules to restrict transactions based on values.,Creare reguli pentru restricționare tranzacții bazate pe valori.,
+Created {0} scorecards for {1} between: ,A creat {0} cărți de scor pentru {1} între:,
+Creating Company and Importing Chart of Accounts,Crearea companiei și importul graficului de conturi,
+Creating Fees,Crearea de taxe,
+Creating Payment Entries......,Crearea intrărilor de plată ......,
+Creating Salary Slips...,Crearea salvărilor salariale ...,
+Creating student groups,Crearea grupurilor de studenți,
+Creating {0} Invoice,Crearea facturii {0},
+Credit,Credit,
+Credit ({0}),Credit ({0}),
+Credit Account,Cont de credit,
+Credit Balance,Balanța de credit,
+Credit Card,Card de credit,
+Credit Days cannot be a negative number,Zilele de credit nu pot fi un număr negativ,
+Credit Limit,Limita de credit,
+Credit Note,Nota de credit,
+Credit Note Amount,Nota de credit Notă,
+Credit Note Issued,Nota de credit Eliberat,
+Credit Note {0} has been created automatically,Nota de credit {0} a fost creată automat,
+Credit limit has been crossed for customer {0} ({1}/{2}),Limita de credit a fost depășită pentru clientul {0} ({1} / {2}),
+Creditors,creditorii,
+Criteria weights must add up to 100%,Criteriile de greutate trebuie să adauge până la 100%,
+Crop Cycle,Ciclu de recoltare,
+Crops & Lands,Culturi și terenuri,
+Currency Exchange must be applicable for Buying or for Selling.,Cursul valutar trebuie să fie aplicabil pentru cumpărare sau pentru vânzare.,
+Currency can not be changed after making entries using some other currency,Moneda nu poate fi schimbat după efectuarea înregistrări folosind un altă valută,
+Currency exchange rate master.,Maestru cursului de schimb valutar.,
+Currency for {0} must be {1},Moneda pentru {0} trebuie să fie {1},
+Currency is required for Price List {0},Moneda este necesară pentru lista de prețuri {0},
+Currency of the Closing Account must be {0},Valuta contului de închidere trebuie să fie {0},
+Currency of the price list {0} must be {1} or {2},Moneda din lista de prețuri {0} trebuie să fie {1} sau {2},
+Currency should be same as Price List Currency: {0},Valuta trebuie sa fie aceeasi cu Moneda Preturilor: {0},
+Current,Actual,
+Current Assets,Active curente,
+Current BOM and New BOM can not be same,FDM-ul curent și FDM-ul nou nu pot fi identici,
+Current Job Openings,Locuri de munca disponibile,
+Current Liabilities,Raspunderi Curente,
+Current Qty,Cantitate curentă,
+Current invoice {0} is missing,Factura curentă {0} lipsește,
+Custom HTML,Personalizat HTML,
+Custom?,Personalizat?,
+Customer,Client,
+Customer Addresses And Contacts,Adrese de clienți și Contacte,
+Customer Contact,Clientul A lua legatura,
+Customer Database.,Baza de Date Client.,
+Customer Group,Grup Clienți,
+Customer LPO,Clientul LPO,
+Customer LPO No.,Client nr. LPO,
+Customer Name,Nume client,
+Customer POS Id,ID POS utilizator,
+Customer Service,Service Client,
+Customer and Supplier,Client și Furnizor,
+Customer is required,Clientul este necesar,
+Customer isn't enrolled in any Loyalty Program,Clientul nu este înscris în niciun program de loialitate,
+Customer required for 'Customerwise Discount',Client necesar pentru 'Reducere Client',
+Customer {0} does not belong to project {1},Clientul {0} nu aparține proiectului {1},
+Customer {0} is created.,Clientul {0} este creat.,
+Customers in Queue,Clienții din coadă,
+Customize Homepage Sections,Personalizați secțiunile homepage,
+Customizing Forms,Personalizare Formulare,
+Daily Project Summary for {0},Rezumatul zilnic al proiectului pentru {0},
+Daily Reminders,Memento de zi cu zi,
+Daily Work Summary,Sumar Zilnic de Lucru,
+Daily Work Summary Group,Grup de lucru zilnic de lucru,
+Data Import and Export,Datele de import și export,
+Data Import and Settings,Import de date și setări,
+Database of potential customers.,Bază de date cu clienți potențiali.,
+Date Format,Format Dată,
+Date Of Retirement must be greater than Date of Joining,Data Pensionare trebuie să fie ulterioara Datei Aderării,
+Date is repeated,Data se repetă,
+Date of Birth,Data Nașterii,
+Date of Birth cannot be greater than today.,Data Nașterii nu poate fi mai mare decât în prezent.,
+Date of Commencement should be greater than Date of Incorporation,Data de Începere ar trebui să fie mai mare decât data înființării,
+Date of Joining,Data aderării,
+Date of Joining must be greater than Date of Birth,Data Aderării trebuie să fie ulterioara Datei Nașterii,
+Date of Transaction,Data tranzacției,
+Datetime,DatăTimp,
+Day,Zi,
+Debit,Debit,
+Debit ({0}),Debit ({0}),
+Debit A/C Number,Număr de debit A / C,
+Debit Account,Cont Debit,
+Debit Note,Notă Debit,
+Debit Note Amount,Sumă Notă Debit,
+Debit Note Issued,Notă Debit Eliberată,
+Debit To is required,Pentru debit este necesar,
+Debit and Credit not equal for {0} #{1}. Difference is {2}.,Debit și credit nu este egal pentru {0} # {1}. Diferența este {2}.,
+Debtors,Debitori,
+Debtors ({0}),Debitorilor ({0}),
+Declare Lost,Declar pierdut,
+Deduction,Deducere,
+Default Activity Cost exists for Activity Type - {0},Există implicit Activitate Cost de activitate de tip - {0},
+Default BOM ({0}) must be active for this item or its template,Implicit BOM ({0}) trebuie să fie activ pentru acest element sau șablon de,
+Default BOM for {0} not found,BOM implicit pentru {0} nu a fost găsit,
+Default BOM not found for Item {0} and Project {1},Implicit BOM nu a fost găsit pentru articolele {0} și proiectul {1},
+Default Letter Head,Implicit Scrisoare Șef,
+Default Tax Template,Implicit Template fiscal,
+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.,"Unitatea de măsură implicită pentru postul {0} nu poate fi schimbat direct, deoarece aveti si voi deja unele tranzacții (i) cu un alt UOM. Veți avea nevoie pentru a crea un nou element pentru a utiliza un alt implicit UOM.",
+Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Unitatea implicit de măsură pentru Variant &#39;{0} &quot;trebuie să fie la fel ca în Template&quot; {1} &quot;,
+Default settings for buying transactions.,Setări implicite pentru tranzacțiilor de achizitie.,
+Default settings for selling transactions.,Setări implicite pentru tranzacțiile de vânzare.,
+Default tax templates for sales and purchase are created.,Se creează șabloane fiscale predefinite pentru vânzări și achiziții.,
+Defaults,Implicite,
+Defense,Apărare,
+Define Project type.,Definiți tipul de proiect.,
+Define budget for a financial year.,Definiți bugetul pentru un exercițiu financiar.,
+Define various loan types,Definirea diferitelor tipuri de împrumut,
+Del,del,
+Delay in payment (Days),Întârziere de plată (zile),
+Delete all the Transactions for this Company,Ștergeți toate tranzacțiile de acest companie,
+Deletion is not permitted for country {0},Ștergerea nu este permisă pentru țara {0},
+Delivered,Livrat,
+Delivered Amount,Suma Pronunțată,
+Delivered Qty,Cantitate Livrata,
+Delivered: {0},Livrate: {0},
+Delivery,Livrare,
+Delivery Date,Data de Livrare,
+Delivery Note,Nota de Livrare,
+Delivery Note {0} is not submitted,Nota de Livrare {0} nu este introdusa,
+Delivery Note {0} must not be submitted,Nota de Livrare {0} nu trebuie sa fie introdusa,
+Delivery Notes {0} must be cancelled before cancelling this Sales Order,Nota de Livrare {0} trebuie sa fie anulată înainte de a anula aceasta Comandă de Vânzări,
+Delivery Notes {0} updated,Notele de livrare {0} sunt actualizate,
+Delivery Status,Starea de Livrare,
+Delivery Trip,Excursie la expediere,
+Delivery warehouse required for stock item {0},Depozit de livrare necesar pentru articol stoc {0},
+Department,Departament,
+Department Stores,Magazine Departament,
+Depreciation,Depreciere,
+Depreciation Amount,Sumă de amortizare,
+Depreciation Amount during the period,Suma de amortizare în timpul perioadei,
+Depreciation Date,Data de amortizare,
+Depreciation Eliminated due to disposal of assets,Amortizare Eliminată din cauza eliminării activelor,
+Depreciation Entry,amortizare intrare,
+Depreciation Method,Metoda de amortizare,
+Depreciation Row {0}: Depreciation Start Date is entered as past date,Rândul de amortizare {0}: Data de începere a amortizării este introdusă ca dată trecută,
+Depreciation Row {0}: Expected value after useful life must be greater than or equal to {1},Rata de amortizare {0}: Valoarea estimată după viața utilă trebuie să fie mai mare sau egală cu {1},
+Depreciation Row {0}: Next Depreciation Date cannot be before Available-for-use Date,Rândul de amortizare {0}: Data următoarei amortizări nu poate fi înaintea datei disponibile pentru utilizare,
+Depreciation Row {0}: Next Depreciation Date cannot be before Purchase Date,Rata de amortizare {0}: Data următoare a amortizării nu poate fi înainte de data achiziției,
+Designer,proiectant,
+Detailed Reason,Motiv detaliat,
+Details,Detalii,
+Details of Outward Supplies and inward supplies liable to reverse charge,"Detalii despre consumabile externe și consumabile interioare, care pot fi percepute invers",
+Details of the operations carried out.,Detalii privind operațiunile efectuate.,
+Diagnosis,Diagnostic,
+Did not find any item called {0},Nu am gasit nici un element numit {0},
+Diff Qty,Cantitate diferențială,
+Difference Account,Diferența de Cont,
+"Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry","Diferența cont trebuie să fie un cont de tip activ / pasiv, deoarece acest stoc Reconcilierea este un intrare de deschidere",
+Difference Amount,Diferență Sumă,
+Difference Amount must be zero,Diferența Suma trebuie să fie zero,
+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.,Un UOM diferit pentru articole va conduce la o valoare incorecta pentru Greutate Neta (Total). Asigurați-vă că Greutatea Netă a fiecărui articol este în același UOM.,
+Direct Expenses,Cheltuieli directe,
+Direct Income,Venituri Directe,
+Disable,Dezactivați,
+Disabled template must not be default template,șablon cu handicap nu trebuie să fie șablon implicit,
+Disburse Loan,Împrumut de debit,
+Disbursed,debursate,
+Disc,Disc,
+Discharge,descărcare,
+Discount,Reducere,
+Discount Percentage can be applied either against a Price List or for all Price List.,Procentul de reducere se poate aplica fie pe o listă de prețuri sau pentru toate lista de prețuri.,
+Discount must be less than 100,Reducerea trebuie să fie mai mică de 100,
+Diseases & Fertilizers,Boli și îngrășăminte,
+Dispatch,Expediere,
+Dispatch Notification,Notificare de expediere,
+Dispatch State,Statul de expediere,
+Distance,Distanţă,
+Distribution,distribuire,
+Distributor,Distribuitor,
+Dividends Paid,Dividendele plătite,
+Do you really want to restore this scrapped asset?,Sigur doriți să restabiliți acest activ casate?,
+Do you really want to scrap this asset?,Chiar vrei să resturi acest activ?,
+Do you want to notify all the customers by email?,Doriți să notificăți toți clienții prin e-mail?,
+Doc Date,Data Documentelor,
+Doc Name,Denumire Doc,
+Doc Type,Tip Doc,
+Docs Search,Căutare în Docs,
+Document Name,Document Nume,
+Document Status,Stare Document,
+Document Type,Tip Document,
+Domain,Domeniu,
+Domains,Domenii,
+Done,Făcut,
+Donor,Donator,
+Donor Type information.,Informații tip donator.,
+Donor information.,Informații despre donator.,
+Download JSON,Descărcați JSON,
+Draft,Proiect,
+Drop Ship,Drop navelor,
+Drug,Medicament,
+Due / Reference Date cannot be after {0},Datorită / Reference Data nu poate fi după {0},
+Due Date cannot be before Posting / Supplier Invoice Date,Data scadentă nu poate fi înainte de data de înregistrare / factură a furnizorului,
+Due Date is mandatory,Due Date este obligatorie,
+Duplicate Entry. Please check Authorization Rule {0},Inregistrare Duplicat. Vă rugăm să verificați Regula de Autorizare {0},
+Duplicate Serial No entered for Item {0},Nr. Serial introdus pentru articolul {0} este duplicat,
+Duplicate customer group found in the cutomer group table,grup de clienți dublu exemplar găsit în tabelul grupului cutomer,
+Duplicate entry,Inregistrare duplicat,
+Duplicate item group found in the item group table,Grup de element dublu exemplar găsit în tabelul de grup de elemente,
+Duplicate roll number for student {0},Numărul de rolă duplicat pentru student {0},
+Duplicate row {0} with same {1},Inregistrare {0} este duplicata cu aceeași {1},
+Duplicate {0} found in the table,Duplicat {0} găsit în tabel,
+Duration in Days,Durata în Zile,
+Duties and Taxes,Impozite și taxe,
+E-Invoicing Information Missing,Informații privind facturarea electronică lipsă,
+ERPNext Demo,ERPNext Demo,
+ERPNext Settings,Setări ERPNext,
+Earliest,cel mai devreme,
+Earnest Money,Banii cei mai castigati,
+Earning,Câștig Salarial,
+Edit,Editați | ×,
+Edit Publishing Details,Editați detaliile publicării,
+"Edit in full page for more options like assets, serial nos, batches etc.","Modificați pe pagina completă pentru mai multe opțiuni, cum ar fi active, numere de serie, loturi etc.",
+Education,Educaţie,
+Either location or employee must be required,Trebuie să fie necesară locația sau angajatul,
+Either target qty or target amount is mandatory,Cantitatea țintă sau valoarea țintă este obligatorie,
+Either target qty or target amount is mandatory.,Cantitatea țintă sau valoarea țintă este obligatorie.,
+Electrical,Electric,
+Electronic Equipments,Echipamente electronice,
+Electronics,Electronică,
+Eligible ITC,ITC eligibil,
+Email Account,Contul de e-mail,
+Email Address,Adresa de email,
+"Email Address must be unique, already exists for {0}","Adresa de e-mail trebuie să fie unic, există deja pentru {0}",
+Email Digest: ,Email Digest:,
+Email Reminders will be sent to all parties with email contacts,Mementourile de e-mail vor fi trimise tuturor părților cu contacte de e-mail,
+Email Sent,E-mail trimis,
+Email Template,Șablon de e-mail,
+Email not found in default contact,E-mailul nu a fost găsit în contactul implicit,
+Email sent to {0},E-mail trimis la {0},
+Employee,Angajat,
+Employee A/C Number,Numărul A / C al angajaților,
+Employee Advances,Avansuri ale angajaților,
+Employee Benefits,Beneficiile angajatului,
+Employee Grade,Clasa angajatilor,
+Employee ID,card de identitate al angajatului,
+Employee Lifecycle,Durata de viață a angajatului,
+Employee Name,Nume angajat,
+Employee Promotion cannot be submitted before Promotion Date ,Promovarea angajaților nu poate fi depusă înainte de data promoției,
+Employee Referral,Referirea angajaților,
+Employee Transfer cannot be submitted before Transfer Date ,Transferul angajaților nu poate fi depus înainte de data transferului,
+Employee cannot report to himself.,Angajat nu pot raporta la sine.,
+Employee relieved on {0} must be set as 'Left',Angajat eliberat din finctie pe {0} trebuie să fie setat ca 'Plecat',
+Employee {0} already submited an apllication {1} for the payroll period {2},Angajatul {0} a trimis deja o aplicație {1} pentru perioada de plată {2},
+Employee {0} has already applied for {1} between {2} and {3} : ,Angajatul {0} a solicitat deja {1} între {2} și {3}:,
+Employee {0} has no maximum benefit amount,Angajatul {0} nu are o valoare maximă a beneficiului,
+Employee {0} is not active or does not exist,Angajatul {0} nu este activ sau nu există,
+Employee {0} is on Leave on {1},Angajatul {0} este activat Lăsați pe {1},
+Employee {0} of grade {1} have no default leave policy,Angajații {0} ai clasei {1} nu au o politică de concediu implicită,
+Employee {0} on Half day on {1},Angajat {0} pe jumătate de zi pe {1},
+Enable,Activare,
+Enable / disable currencies.,Activare / dezactivare valute.,
+Enabled,Activat,
+"Enabling 'Use for Shopping Cart', as Shopping Cart is enabled and there should be at least one Tax Rule for Shopping Cart","Dacă activați opțiunea &quot;Utilizare pentru Cos de cumparaturi &#39;, ca Cosul de cumparaturi este activat și trebuie să existe cel puțin o regulă fiscală pentru Cos de cumparaturi",
+End Date,Dată finalizare,
+End Date can not be less than Start Date,Data de încheiere nu poate fi mai mică decât data de începere,
+End Date cannot be before Start Date.,Data de încheiere nu poate fi înainte de data de începere.,
+End Year,Anul de încheiere,
+End Year cannot be before Start Year,Sfârșitul anului nu poate fi înainte de Anul de început,
+End on,Terminați,
+End time cannot be before start time,Ora de încheiere nu poate fi înainte de ora de începere,
+Ends On date cannot be before Next Contact Date.,Sfârșitul de data nu poate fi înaintea datei următoarei persoane de contact.,
+Energy,Energie,
+Engineer,Inginer,
+Enough Parts to Build,Piese de schimb suficient pentru a construi,
+Enroll,A se inscrie,
+Enrolling student,student inregistrat,
+Enrolling students,Înscrierea studenților,
+Enter depreciation details,Introduceți detaliile de depreciere,
+Enter the Bank Guarantee Number before submittting.,Introduceți numărul de garanție bancară înainte de depunere.,
+Enter the name of the Beneficiary before submittting.,Introduceți numele Beneficiarului înainte de depunerea.,
+Enter the name of the bank or lending institution before submittting.,Introduceți numele băncii sau al instituției de credit înainte de depunere.,
+Enter value betweeen {0} and {1},Introduceți valoarea dintre {0} și {1},
+Entertainment & Leisure,Divertisment & Relaxare,
+Entertainment Expenses,Cheltuieli de Divertisment,
+Equity,echitate,
+Error Log,eroare Log,
+Error evaluating the criteria formula,Eroare la evaluarea formulei de criterii,
+Error in formula or condition: {0},Eroare în formulă sau o condiție: {0},
+Error: Not a valid id?,Eroare: Nu a id valid?,
+Estimated Cost,Cost estimat,
+Evaluation,Evaluare,
+"Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Chiar dacă există mai multe reguli de stabilire a prețurilor, cu cea mai mare prioritate, se aplică apoi următoarele priorități interne:",
+Event,Eveniment,
+Event Location,Locația evenimentului,
+Event Name,Numele evenimentului,
+Exchange Gain/Loss,Cheltuiala / Venit din diferente de curs valutar,
+Exchange Rate Revaluation master.,Master reevaluarea cursului de schimb.,
+Exchange Rate must be same as {0} {1} ({2}),Cursul de schimb trebuie să fie același ca și {0} {1} ({2}),
+Excise Invoice,Factura acciza,
+Execution,Execuţie,
+Executive Search,Cautare executiva,
+Expand All,Extinde toate,
+Expected Delivery Date,Data de Livrare Preconizata,
+Expected Delivery Date should be after Sales Order Date,Data de livrare preconizată trebuie să fie după data de comandă de vânzare,
+Expected End Date,Data de Incheiere Preconizata,
+Expected Hrs,Se așteptau ore,
+Expected Start Date,Data de Incepere Preconizata,
+Expense,cheltuială,
+Expense / Difference account ({0}) must be a 'Profit or Loss' account,"Cheltuială cont / Diferența ({0}) trebuie să fie un cont de ""profit sau pierdere""",
+Expense Account,Cont de cheltuieli,
+Expense Claim,Solicitare Cheltuială,
+Expense Claim for Vehicle Log {0},Solicitare Cheltuială pentru Log Vehicul {0},
+Expense Claim {0} already exists for the Vehicle Log,Solicitare Cheltuială {0} există deja pentru Log Vehicul,
+Expense Claims,Creanțe cheltuieli,
+Expense account is mandatory for item {0},Cont de cheltuieli este obligatoriu pentru articolul {0},
+Expenses,cheltuieli,
+Expenses Included In Asset Valuation,Cheltuieli incluse în evaluarea activelor,
+Expenses Included In Valuation,Cheltuieli incluse în evaluare,
+Expired Batches,Loturile expirate,
+Expires On,Expira la,
+Expiring On,Expirând On,
+Expiry (In Days),Expirării (în zile),
+Explore,Explorați,
+Export E-Invoices,Export facturi electronice,
+Extra Large,Extra mare,
+Extra Small,Extra Small,
+Fail,eșua,
+Failed,A eșuat,
+Failed to create website,Eroare la crearea site-ului,
+Failed to install presets,Eroare la instalarea presetărilor,
+Failed to login,Eroare la autentificare,
+Failed to setup company,Setarea companiei nu a reușit,
+Failed to setup defaults,Setările prestabilite nu au reușit,
+Failed to setup post company fixtures,Nu sa reușit configurarea posturilor companiei,
+Fax,Fax,
+Fee,taxă,
+Fee Created,Taxa a fost creată,
+Fee Creation Failed,Crearea de comisioane a eșuat,
+Fee Creation Pending,Crearea taxelor în așteptare,
+Fee Records Created - {0},Taxa de inregistrare Creat - {0},
+Feedback,Reactie,
+Fees,Taxele de,
+Female,Feminin,
+Fetch Data,Fetch Data,
+Fetch Subscription Updates,Actualizați abonamentul la preluare,
+Fetch exploded BOM (including sub-assemblies),Obtine FDM expandat (inclusiv subansamblurile),
+Fetching records......,Recuperarea înregistrărilor ......,
+Field Name,Nume câmp,
+Fieldname,Nume câmp,
+Fields,Câmpuri,
+Fill the form and save it,Completați formularul și salvați-l,
+Filter Employees By (Optional),Filtrați angajații după (opțional),
+"Filter Fields Row #{0}: Fieldname <b>{1}</b> must be of type ""Link"" or ""Table MultiSelect""",Rândul câmpurilor de filtrare # {0}: Numele de câmp <b>{1}</b> trebuie să fie de tipul &quot;Link&quot; sau &quot;MultiSelect de tabel&quot;,
+Filter Total Zero Qty,Filtrați numărul total zero,
+Finance Book,Cartea de finanțe,
+Financial / accounting year.,An financiar / contabil.,
+Financial Services,Servicii financiare,
+Financial Statements,Situațiile financiare,
+Financial Year,An financiar,
+Finish,finalizarea,
+Finished Good,Terminat bine,
+Finished Good Item Code,Cod articol bun finalizat,
+Finished Goods,Produse finite,
+Finished Item {0} must be entered for Manufacture type entry,Postul terminat {0} trebuie să fie introdusă de intrare de tip fabricarea,
+Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,Produsul finit <b>{0}</b> și Cantitatea <b>{1}</b> nu pot fi diferite,
+First Name,Prenume,
+"Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","Regimul fiscal este obligatoriu, vă rugăm să setați regimul fiscal în companie {0}",
+Fiscal Year,An fiscal,
+Fiscal Year End Date should be one year after Fiscal Year Start Date,Data de încheiere a anului fiscal trebuie să fie un an de la data începerii anului fiscal,
+Fiscal Year Start Date and Fiscal Year End Date are already set in Fiscal Year {0},Data începerii anului fiscal și se termină anul fiscal la data sunt deja stabilite în anul fiscal {0},
+Fiscal Year Start Date should be one year earlier than Fiscal Year End Date,Data de începere a anului fiscal ar trebui să fie cu un an mai devreme decât data de încheiere a anului fiscal,
+Fiscal Year {0} does not exist,Anul fiscal {0} nu există,
+Fiscal Year {0} is required,Anul fiscal {0} este necesară,
+Fiscal Year {0} not found,Anul fiscal {0} nu a fost găsit,
+Fixed Asset,Activ Fix,
+Fixed Asset Item must be a non-stock item.,Fix elementul de activ trebuie să fie un element de bază non-stoc.,
+Fixed Assets,Active Fixe,
+Following Material Requests have been raised automatically based on Item's re-order level,Ca urmare a solicitărilor de materiale au fost ridicate în mod automat în funcție de nivelul de re-comanda item,
+Following accounts might be selected in GST Settings:,Următoarele conturi ar putea fi selectate în Setări GST:,
+Following course schedules were created,Următoarele programe au fost create,
+Following item {0} is not marked as {1} item. You can enable them as {1} item from its Item master,Următorul articol {0} nu este marcat ca {1} element. Puteți să le activați ca element {1} din capitolul Articol,
+Following items {0} are not marked as {1} item. You can enable them as {1} item from its Item master,Următoarele elemente {0} nu sunt marcate ca {1} element. Puteți să le activați ca element {1} din capitolul Articol,
+Food,Produse Alimentare,
+"Food, Beverage & Tobacco","Produse Alimentare, Bauturi si Tutun",
+For,Pentru,
+"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.","Pentru elementele &quot;produse Bundle&quot;, Warehouse, Serial No și lot nr vor fi luate în considerare de la &quot;ambalare List&quot; masa. Dacă Warehouse și Lot nr sunt aceleași pentru toate elementele de ambalaj pentru produs orice &quot;Bundle produs&quot;, aceste valori pot fi introduse în tabelul de punctul principal, valorile vor fi copiate &quot;de ambalare Lista&quot; masă.",
+For Employee,Pentru angajat,
+For Quantity (Manufactured Qty) is mandatory,Pentru Cantitate (fabricat Cant) este obligatorie,
+For Supplier,Pentru Furnizor,
+For Warehouse,Pentru depozit,
+For Warehouse is required before Submit,Pentru Depozit este necesar înainte de Inregistrare,
+"For an item {0}, quantity must be negative number","Pentru un element {0}, cantitatea trebuie să fie număr negativ",
+"For an item {0}, quantity must be positive number","Pentru un element {0}, cantitatea trebuie să fie un număr pozitiv",
+"For job card {0}, you can only make the 'Material Transfer for Manufacture' type stock entry","Pentru cartea de muncă {0}, puteți înscrie doar stocul de tip „Transfer de material pentru fabricare”",
+"For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Pentru rândul {0} în {1}. Pentru a include {2} ratei punctul, randuri {3} De asemenea, trebuie să fie incluse",
+For row {0}: Enter Planned Qty,Pentru rândul {0}: Introduceți cantitatea planificată,
+"For {0}, only credit accounts can be linked against another debit entry","Pentru {0}, numai conturi de credit poate fi legat de o altă intrare în debit",
+"For {0}, only debit accounts can be linked against another credit entry","Pentru {0}, numai conturi de debit poate fi legat de o altă intrare în credit",
+Forum Activity,Activitatea Forumului,
+Free item code is not selected,Codul gratuit al articolului nu este selectat,
+Freight and Forwarding Charges,Incarcatura și Taxe de Expediere,
+Frequency,Frecvență,
+Friday,Vineri,
+From,De la,
+From Address 1,De la adresa 1,
+From Address 2,Din adresa 2,
+From Currency and To Currency cannot be same,Din Valuta și In Valuta nu pot fi identice,
+From Date and To Date lie in different Fiscal Year,De la data și până la data se află în anul fiscal diferit,
+From Date cannot be greater than To Date,De la data nu poate fi mai mare decât la data,
+From Date must be before To Date,Din Data trebuie să fie anterioara Pana la Data,
+From Date should be within the Fiscal Year. Assuming From Date = {0},De la data trebuie să fie în anul fiscal. Presupunând că la data = {0},
+From Date {0} cannot be after employee's relieving Date {1},De la data {0} nu poate fi după data eliberării angajatului {1},
+From Date {0} cannot be before employee's joining Date {1},De la data {0} nu poate fi înainte de data de îmbarcare a angajatului {1},
+From Datetime,De la Datetime,
+From Delivery Note,Din Nota de livrare,
+From Fiscal Year,Din anul fiscal,
+From GSTIN,De la GSTIN,
+From Party Name,De la numele partidului,
+From Pin Code,Din codul PIN,
+From Place,De la loc,
+From Range has to be less than To Range,Din Gama trebuie să fie mai mică de la gama,
+From State,Din stat,
+From Time,Din Time,
+From Time Should Be Less Than To Time,Din timp ar trebui să fie mai puțin decât timpul,
+From Time cannot be greater than To Time.,Din Timpul nu poate fi mai mare decât în timp.,
+"From a supplier under composition scheme, Exempt and Nil rated","De la un furnizor în regim de compoziție, Exempt și Nil au evaluat",
+From and To dates required,Datele De La și Pana La necesare,
+From date can not be less than employee's joining date,De la data nu poate fi mai mică decât data angajării angajatului,
+From value must be less than to value in row {0},Din valoare trebuie să fie mai mică decat in valoare pentru inregistrarea {0},
+From {0} | {1} {2},De la {0} | {1} {2},
+Fuel Price,Preț de combustibil,
+Fuel Qty,combustibil Cantitate,
+Fulfillment,Împlinire,
+Full,Deplin,
+Full Name,Nume complet,
+Full-time,Permanent,
+Fully Depreciated,Depreciata pe deplin,
+Furnitures and Fixtures,Furnitures și Programe,
+"Further accounts can be made under Groups, but entries can be made against non-Groups","Conturile suplimentare pot fi făcute sub Groups, dar intrările pot fi făcute împotriva non-Grupuri",
+Further cost centers can be made under Groups but entries can be made against non-Groups,"Centre de costuri pot fi realizate în grupuri, dar intrările pot fi făcute împotriva non-Grupuri",
+Further nodes can be only created under 'Group' type nodes,Noduri suplimentare pot fi create numai în noduri de tip 'Grup',
+Future dates not allowed,Datele viitoare nu sunt permise,
+GSTIN,GSTIN,
+GSTR3B-Form,GSTR3B-Form,
+Gain/Loss on Asset Disposal,Câștigul / Pierdere de eliminare a activelor,
+Gantt Chart,Diagrama Gantt,
+Gantt chart of all tasks.,Diagrama Gantt a tuturor sarcinilor.,
+Gender,Sex,
+General,General,
+General Ledger,Registru Contabil General,
+Generate Material Requests (MRP) and Work Orders.,Generează cereri de material (MRP) și comenzi de lucru.,
+Generate Secret,Generați secret,
+Get Details From Declaration,Obțineți detalii din declarație,
+Get Employees,Obțineți angajați,
+Get Invocies,Obțineți invocări,
+Get Invoices,Obțineți facturi,
+Get Invoices based on Filters,Obțineți facturi bazate pe filtre,
+Get Items from BOM,Obține articole din FDM,
+Get Items from Healthcare Services,Obțineți articole din serviciile de asistență medicală,
+Get Items from Prescriptions,Obțineți articole din prescripții,
+Get Items from Product Bundle,Obține elemente din Bundle produse,
+Get Suppliers,Obțineți furnizori,
+Get Suppliers By,Obțineți furnizori prin,
+Get Updates,Obțineți actualizări,
+Get customers from,Obțineți clienți de la,
+Get from Patient Encounter,Ia de la întâlnirea cu pacienții,
+Getting Started,Noțiuni de bază,
+GitHub Sync ID,ID-ul de sincronizare GitHub,
+Global settings for all manufacturing processes.,Setările globale pentru toate procesele de producție.,
+Go to the Desktop and start using ERPNext,Du-te la desktop și începe să utilizați ERPNext,
+GoCardless SEPA Mandate,GoCardless Mandatul SEPA,
+GoCardless payment gateway settings,Setările gateway-ului de plată GoCardless,
+Goal and Procedure,Obiectivul și procedura,
+Goals cannot be empty,Obiectivele nu poate fi gol,
+Goods In Transit,Bunuri în tranzit,
+Goods Transferred,Mărfuri transferate,
+Goods and Services Tax (GST India),Mărfuri și servicii fiscale (GST India),
+Goods are already received against the outward entry {0},Mărfurile sunt deja primite cu intrarea exterioară {0},
+Government,Guvern,
+Grand Total,Total general,
+Grant,Acorda,
+Grant Application,Cerere de finanțare nerambursabilă,
+Grant Leaves,Grant Frunze,
+Grant information.,Acordați informații.,
+Grocery,Băcănie,
+Gross Pay,Plata Bruta,
+Gross Profit,Profit brut,
+Gross Profit %,Profit Brut%,
+Gross Profit / Loss,Profit brut / Pierdere,
+Gross Purchase Amount,Sumă brută Cumpărare,
+Gross Purchase Amount is mandatory,Valoarea brută Achiziția este obligatorie,
+Group by Account,Grup in functie de Cont,
+Group by Party,Grup după partid,
+Group by Voucher,Grup in functie de Voucher,
+Group by Voucher (Consolidated),Grup după Voucher (Consolidat),
+Group node warehouse is not allowed to select for transactions,depozit nod grup nu este permis să selecteze pentru tranzacții,
+Group to Non-Group,Grup non-grup,
+Group your students in batches,Grupa elevii în loturi,
+Groups,Grupuri,
+Guardian1 Email ID,Codul de e-mail al Guardian1,
+Guardian1 Mobile No,Guardian1 mobil nr,
+Guardian1 Name,Nume Guardian1,
+Guardian2 Email ID,Codul de e-mail Guardian2,
+Guardian2 Mobile No,Guardian2 mobil nr,
+Guardian2 Name,Nume Guardian2,
+Guest,Oaspete,
+HR Manager,Manager Resurse Umane,
+HSN,HSN,
+HSN/SAC,HSN / SAC,
+Half Day,Jumătate de zi,
+Half Day Date is mandatory,Data semestrului este obligatorie,
+Half Day Date should be between From Date and To Date,Jumătate Data zi ar trebui să fie între De la data si pana in prezent,
+Half Day Date should be in between Work From Date and Work End Date,Data de la jumătate de zi ar trebui să se afle între Data de lucru și Data de terminare a lucrului,
+Half Yearly,Semestrial,
+Half day date should be in between from date and to date,Data de la jumătate de zi ar trebui să fie între data și data,
+Half-Yearly,Semestrial,
+Hardware,Hardware,
+Head of Marketing and Sales,Director de Marketing și Vânzări,
+Health Care,Servicii de Sanatate,
+Healthcare,Sănătate,
+Healthcare (beta),Servicii medicale (beta),
+Healthcare Practitioner,Medicul de îngrijire medicală,
+Healthcare Practitioner not available on {0},Medicul de îngrijire medicală nu este disponibil la {0},
+Healthcare Practitioner {0} not available on {1},Medicul de îngrijire medicală {0} nu este disponibil la {1},
+Healthcare Service Unit,Serviciul de asistență medicală,
+Healthcare Service Unit Tree,Unitatea de servicii de asistență medicală,
+Healthcare Service Unit Type,Tipul unității de servicii medicale,
+Healthcare Services,Servicii pentru sanatate,
+Healthcare Settings,Setări de asistență medicală,
+Hello,buna,
+Help Results for,Rezultate de ajutor pentru,
+High,Ridicat,
+High Sensitivity,Sensibilitate crescută,
+Hold,Păstrarea / Ţinerea / Deţinerea,
+Hold Invoice,Rețineți factura,
+Holiday,Vacanţă,
+Holiday List,Lista de vacanță,
+Hotel Rooms of type {0} are unavailable on {1},Camerele Hotel de tip {0} nu sunt disponibile în {1},
+Hotels,Hoteluri,
+Hourly,ore,
+Hours,ore,
+House rent paid days overlapping with {0},Chirie de casă zile plătite care se suprapun cu {0},
+House rented dates required for exemption calculation,Datele de închiriat pentru casa cerute pentru calcularea scutirii,
+House rented dates should be atleast 15 days apart,Căminul de închiriat al casei trebuie să fie la cel puțin 15 zile,
+How Pricing Rule is applied?,Cum se aplică regula pret?,
+Hub Category,Categorie Hub,
+Hub Sync ID,Hub ID de sincronizare,
+Human Resource,Resurse umane,
+Human Resources,Resurse umane,
+IFSC Code,Codul IFSC,
+IGST Amount,Suma IGST,
+IP Address,Adresa IP,
+ITC Available (whether in full op part),ITC Disponibil (fie în opțiune integrală),
+ITC Reversed,ITC inversat,
+Identifying Decision Makers,Identificarea factorilor de decizie,
+"If Auto Opt In is checked, then the customers will be automatically linked with the concerned Loyalty Program (on save)","Dacă este bifată opțiunea Auto Opt In, clienții vor fi conectați automat la programul de loialitate respectiv (la salvare)",
+"If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.","În cazul în care mai multe reguli de stabilire a prețurilor continuă să prevaleze, utilizatorii sunt rugați să setați manual prioritate pentru a rezolva conflictul.",
+"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.","Dacă regula de preț este selectată pentru &quot;Rate&quot;, va suprascrie lista de prețuri. Tarifarea tarifului Rata de rată este rata finală, deci nu trebuie să aplicați nici o reducere suplimentară. Prin urmare, în tranzacții cum ar fi Comandă de Vânzare, Comandă de Achiziție etc, va fi extrasă în câmpul &quot;Rată&quot;, mai degrabă decât în câmpul &quot;Rata Prețurilor&quot;.",
+"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.","În cazul în care două sau mai multe reguli de stabilire a prețurilor sunt găsite bazează pe condițiile de mai sus, se aplică prioritate. Prioritatea este un număr între 0 și 20 în timp ce valoarea implicită este zero (gol). Numărul mai mare înseamnă că va avea prioritate în cazul în care există mai multe norme de stabilire a prețurilor, cu aceleași condiții.",
+"If unlimited expiry for the Loyalty Points, keep the Expiry Duration empty or 0.","Dacă expiră nelimitat pentru Punctele de loialitate, păstrați Durata de expirare goală sau 0.",
+"If you have any questions, please get back to us.","Dacă aveți întrebări, vă rugăm să ne întoarcem la noi.",
+Ignore Existing Ordered Qty,Ignorați cantitatea comandată existentă,
+Image,Imagine,
+Image View,Imagine Vizualizare,
+Import Data,Importați date,
+Import Day Book Data,Importați datele cărții de zi,
+Import Log,Import Conectare,
+Import Master Data,Importați datele de bază,
+Import in Bulk,Importare în masă,
+Import of goods,Importul de bunuri,
+Import of services,Importul serviciilor,
+Importing Items and UOMs,Importarea de articole și UOM-uri,
+Importing Parties and Addresses,Importarea părților și adreselor,
+In Maintenance,În Mentenanță,
+In Production,In productie,
+In Qty,În Cantitate,
+In Stock Qty,În stoc Cantitate,
+In Stock: ,In stoc:,
+In Value,În valoare,
+"In the case of multi-tier program, Customers will be auto assigned to the concerned tier as per their spent","În cazul unui program cu mai multe niveluri, Clienții vor fi automat alocați nivelului respectiv în funcție de cheltuielile efectuate",
+Inactive,Inactiv,
+Incentives,stimulente,
+Include Default Book Entries,Includeți intrări implicite în cărți,
+Include Exploded Items,Includeți articole explodate,
+Include POS Transactions,Includeți tranzacțiile POS,
+Include UOM,Includeți UOM,
+Included in Gross Profit,Inclus în Profitul brut,
+Income,Venit,
+Income Account,Contul de venit,
+Income Tax,Impozit pe venit,
+Incoming,Primite,
+Incoming Rate,Rate de intrare,
+Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction.,Număr incorect de contabilitate intrările găsit. Este posibil să fi selectat un cont greșit în tranzacție.,
+Increment cannot be 0,Creștere nu poate fi 0,
+Increment for Attribute {0} cannot be 0,Creștere pentru Atribut {0} nu poate fi 0,
+Indirect Expenses,Cheltuieli indirecte,
+Indirect Income,Venituri indirecte,
+Individual,Individual,
+Ineligible ITC,ITC neeligibil,
+Initiated,Iniţiat,
+Inpatient Record,Înregistrări de pacienți,
+Insert,Introduceți,
+Installation Note,Instalare Notă,
+Installation Note {0} has already been submitted,Instalarea Nota {0} a fost deja prezentat,
+Installation date cannot be before delivery date for Item {0},Data de instalare nu poate fi înainte de data de livrare pentru postul {0},
+Installing presets,Instalarea presetărilor,
+Institute Abbreviation,Institutul Abreviere,
+Institute Name,Numele Institutului,
+Instructor,Instructor,
+Insufficient Stock,Stoc insuficient,
+Insurance Start date should be less than Insurance End date,Asigurare Data de pornire ar trebui să fie mai mică de asigurare Data terminării,
+Integrated Tax,Impozit integrat,
+Inter-State Supplies,Consumabile inter-statale,
+Interest Amount,Suma Dobânda,
+Interests,interese,
+Intern,interna,
+Internet Publishing,Editura Internet,
+Intra-State Supplies,Furnizori intra-statale,
+Introduction,Introducere,
+Invalid Attribute,Atribut nevalid,
+Invalid Blanket Order for the selected Customer and Item,Comanda nevalabilă pentru client și element selectat,
+Invalid Company for Inter Company Transaction.,Companie nevalidă pentru tranzacția inter companie.,
+Invalid GSTIN! A GSTIN must have 15 characters.,GSTIN nevalid! Un GSTIN trebuie să aibă 15 caractere.,
+Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.,GSTIN nevalid! Primele 2 cifre ale GSTIN ar trebui să se potrivească cu numărul de stat {0}.,
+Invalid GSTIN! The input you've entered doesn't match the format of GSTIN.,GSTIN nevalid! Intrarea introdusă nu corespunde formatului GSTIN.,
+Invalid Posting Time,Ora nevalidă a postării,
+Invalid attribute {0} {1},atribut nevalid {0} {1},
+Invalid quantity specified for item {0}. Quantity should be greater than 0.,Cantitate nevalidă specificată pentru element {0}. Cantitatea ar trebui să fie mai mare decât 0.,
+Invalid reference {0} {1},Referință invalid {0} {1},
+Invalid {0},Invalid {0},
+Invalid {0} for Inter Company Transaction.,Nevalabil {0} pentru tranzacția între companii.,
+Invalid {0}: {1},Invalid {0}: {1},
+Inventory,Inventarierea,
+Investment Banking,Investment Banking,
+Investments,investiţii,
+Invoice,Factură,
+Invoice Created,Factura creată,
+Invoice Discounting,Reducerea facturilor,
+Invoice Patient Registration,Inregistrarea pacientului,
+Invoice Posting Date,Data Postare factură,
+Invoice Type,Tip Factura,
+Invoice already created for all billing hours,Factura deja creată pentru toate orele de facturare,
+Invoice can't be made for zero billing hour,Factura nu poate fi făcută pentru cantitate 0 ore facturabile,
+Invoice {0} no longer exists,Factura {0} nu mai există,
+Invoiced,facturată,
+Invoiced Amount,Sumă facturată,
+Invoices,Facturi,
+Invoices for Costumers.,Facturi pentru clienți.,
+Inward supplies from ISD,Consumabile interioare de la ISD,
+Inward supplies liable to reverse charge (other than 1 & 2 above),Livrări interne susceptibile de încărcare inversă (altele decât 1 și 2 de mai sus),
+Is Active,Este activ,
+Is Default,Este Implicit,
+Is Existing Asset,Este activ existent,
+Is Frozen,Este inghetat,
+Is Group,Is Group,
+Issue,Problema,
+Issue Material,Eliberarea Material,
+Issued,Emis,
+Issues,Probleme,
+It is needed to fetch Item Details.,Este nevoie să-i aducă Detalii despre articol.,
+Item,Obiect,
+Item 1,Postul 1,
+Item 2,Punctul 2,
+Item 3,Punctul 3,
+Item 4,Punctul 4,
+Item 5,Punctul 5,
+Item Cart,Cos,
+Item Code,Cod articol,
+Item Code cannot be changed for Serial No.,Cod articol nu pot fi schimbate pentru Serial No.,
+Item Code required at Row No {0},Cod Articol necesar la inregistrarea Nr. {0},
+Item Description,Descriere Articol,
+Item Group,Grup Articol,
+Item Group Tree,Ramificatie Grup Articole,
+Item Group not mentioned in item master for item {0},Grupa de articole care nu sunt menționate la punctul de master pentru element {0},
+Item Name,Numele articolului,
+Item Price added for {0} in Price List {1},Articol Preț adăugată pentru {0} în lista de prețuri {1},
+"Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates.","Elementul Preț apare de mai multe ori pe baza listei de prețuri, furnizor / client, valută, element, UOM, cantitate și date.",
+Item Price updated for {0} in Price List {1},Articol Preț actualizat pentru {0} în lista de prețuri {1},
+Item Row {0}: {1} {2} does not exist in above '{1}' table,Rândul {0}: {1} {2} nu există în tabelul de mai sus {1},
+Item Tax Row {0} must have account of type Tax or Income or Expense or Chargeable,Taxa Articol pentru inregistrarea {0} trebuie sa detina un cont de tip Fiscal sau De Venituri sau De Cheltuieli sau Taxabil,
+Item Template,Șablon de șablon,
+Item Variant Settings,Setări pentru variantele de articol,
+Item Variant {0} already exists with same attributes,Postul Varianta {0} există deja cu aceleași atribute,
+Item Variants,Variante Postul,
+Item Variants updated,Variante de articol actualizate,
+Item has variants.,Element are variante.,
+Item must be added using 'Get Items from Purchase Receipts' button,"Postul trebuie să fie adăugate folosind ""obține elemente din Cumpără Încasări"" buton",
+Item valuation rate is recalculated considering landed cost voucher amount,Rata de evaluare Articolul este recalculat în vedere aterizat sumă voucher de cost,
+Item variant {0} exists with same attributes,Postul varianta {0} există cu aceleași atribute,
+Item {0} does not exist,Articolul {0} nu există,
+Item {0} does not exist in the system or has expired,Articolul {0} nu există în sistem sau a expirat,
+Item {0} has already been returned,Articolul {0} a fost deja returnat,
+Item {0} has been disabled,Postul {0} a fost dezactivat,
+Item {0} has reached its end of life on {1},Articolul {0} a ajuns la sfârșitul cliclului sau de viață in {1},
+Item {0} ignored since it is not a stock item,"Element {0} ignorat, deoarece nu este un element de stoc",
+"Item {0} is a template, please select one of its variants","Postul {0} este un șablon, vă rugăm să selectați unul dintre variantele sale",
+Item {0} is cancelled,Articolul {0} este anulat,
+Item {0} is disabled,Postul {0} este dezactivat,
+Item {0} is not a serialized Item,Articolul {0} nu este un articol serializat,
+Item {0} is not a stock Item,Articolul{0} nu este un element de stoc,
+Item {0} is not active or end of life has been reached,Articolul {0} nu este activ sau sfarsitul ciclului sau de viata a fost atins,
+Item {0} is not setup for Serial Nos. Check Item master,Articolul {0} nu este configurat pentru Numerotare Seriala. Verificati Articolul Principal.,
+Item {0} is not setup for Serial Nos. Column must be blank,Articolul {0} nu este configurat pentru Numerotare Seriala. Coloana trebuie să fie vida,
+Item {0} must be a Fixed Asset Item,Postul {0} trebuie să fie un element activ fix,
+Item {0} must be a Sub-contracted Item,Articolul {0} trebuie să fie un Articol Sub-contractat,
+Item {0} must be a non-stock item,Postul {0} trebuie să fie un element de bază non-stoc,
+Item {0} must be a stock Item,Articolul {0} trebuie să fie un Articol de Stoc,
+Item {0} not found,Articolul {0} nu a fost găsit,
+Item {0} not found in 'Raw Materials Supplied' table in Purchase Order {1},Postul {0} nu a fost găsit în &quot;Materii prime furnizate&quot; masă în Comandă {1},
+Item {0}: Ordered qty {1} cannot be less than minimum order qty {2} (defined in Item).,Postul {0}: Cantitate comandat {1} nu poate fi mai mică de cantitate minimă de comandă {2} (definită la punctul).,
+Item: {0} does not exist in the system,Postul: {0} nu există în sistemul,
+Items,Articole,
+Items Filter,Filtrarea elementelor,
+Items and Pricing,Articole și Prețuri,
+Items for Raw Material Request,Articole pentru cererea de materii prime,
+Job Card,Carte de muncă,
+Job Description,Descrierea postului,
+Job Offer,Ofertă de muncă,
+Job card {0} created,Cartea de activitate {0} a fost creată,
+Jobs,Posturi,
+Join,A adera,
+Journal Entries {0} are un-linked,Intrările Jurnal {0} sunt ne-legate,
+Journal Entry,Intrare în jurnal,
+Journal Entry {0} does not have account {1} or already matched against other voucher,Jurnal de intrare {0} nu are cont {1} sau deja comparate cu alte voucher,
+Kanban Board,Consiliul de Kanban,
+Key Reports,Rapoarte cheie,
+LMS Activity,Activitate LMS,
+Lab Test,Test de laborator,
+Lab Test Report,Raport de testare în laborator,
+Lab Test Sample,Test de laborator,
+Lab Test Template,Lab Test Template,
+Lab Test UOM,Laboratorul de testare UOM,
+Lab Tests and Vital Signs,Teste de laborator și semne vitale,
+Lab result datetime cannot be before testing datetime,Rezultatul datetimei de laborator nu poate fi înainte de data testării,
+Lab testing datetime cannot be before collection datetime,Timpul de testare al laboratorului nu poate fi înainte de data de colectare,
+Label,Eticheta,
+Laboratory,Laborator,
+Language Name,Nume limbă,
+Large,Mare,
+Last Communication,Ultima comunicare,
+Last Communication Date,Ultima comunicare,
+Last Name,Nume,
+Last Order Amount,Ultima cantitate,
+Last Order Date,Ultima comandă Data,
+Last Purchase Price,Ultima valoare de cumpărare,
+Last Purchase Rate,Ultima Rate de Cumparare,
+Latest,Ultimul,
+Latest price updated in all BOMs,Ultimul preț actualizat în toate BOM-urile,
+Lead,Pistă,
+Lead Count,Număr Pistă,
+Lead Owner,Proprietar Pistă,
+Lead Owner cannot be same as the Lead,Plumb Proprietarul nu poate fi aceeași ca de plumb,
+Lead Time Days,Timpul in Zile Conducere,
+Lead to Quotation,Pistă către Ofertă,
+"Leads help you get business, add all your contacts and more as your leads","Oportunitati de afaceri ajuta să obțineți, adăugați toate contactele și mai mult ca dvs. conduce",
+Learn,Învăța,
+Leave Approval Notification,Lăsați notificarea de aprobare,
+Leave Blocked,Concediu Blocat,
+Leave Encashment,Lasă încasări,
+Leave Management,Lasă managementul,
+Leave Status Notification,Lăsați notificarea de stare,
+Leave Type,Tip Concediu,
+Leave Type is madatory,Tipul de plecare este madatoriu,
+Leave Type {0} cannot be allocated since it is leave without pay,"Lasă un {0} Tipul nu poate fi alocată, deoarece este în concediu fără plată",
+Leave Type {0} cannot be carry-forwarded,Lasă Tipul {0} nu poate fi transporta-transmise,
+Leave Type {0} is not encashable,Tipul de plecare {0} nu este încasat,
+Leave Without Pay,Concediu Fără Plată,
+Leave and Attendance,Plece și prezență,
+Leave application {0} already exists against the student {1},Lăsați aplicația {0} să existe deja împotriva elevului {1},
+"Leave cannot be allocated before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Concediu nu poate fi repartizat înainte {0}, ca echilibru concediu a fost deja carry transmise în viitor înregistrarea alocare concediu {1}",
+"Leave cannot be applied/cancelled before {0}, as leave balance has already been carry-forwarded in the future leave allocation record {1}","Lasă nu poate fi aplicat / anulata pana la {0}, ca echilibru concediu a fost deja carry transmise în viitor înregistrarea alocare concediu {1}",
+Leave of type {0} cannot be longer than {1},Concediul de tip {0} nu poate dura mai mare de {1},
+Leaves,Frunze,
+Leaves Allocated Successfully for {0},Concedii alocate cu succes pentru {0},
+Leaves has been granted sucessfully,Frunzele au fost acordate cu succes,
+Leaves must be allocated in multiples of 0.5,"Concediile trebuie să fie alocate în multipli de 0.5""",
+Leaves per Year,Frunze pe an,
+Ledger,Registru Contabil,
+Legal,Juridic,
+Legal Expenses,Cheltuieli Juridice,
+Letter Head,Antet Scrisoare,
+Letter Heads for print templates.,Antete de Scrisoare de Sabloane de Imprimare.,
+Level,Nivel,
+Liability,Răspundere,
+License,Licență,
+Lifecycle,Ciclu de viață,
+Limit,Limită,
+Limit Crossed,limita Traversat,
+Link to Material Request,Link la solicitarea materialului,
+List of all share transactions,Lista tuturor tranzacțiilor cu acțiuni,
+List of available Shareholders with folio numbers,Lista Acționarilor disponibili cu numere folio,
+Loading Payment System,Încărcarea sistemului de plată,
+Loan,Împrumut,
+Loan Amount cannot exceed Maximum Loan Amount of {0},Suma creditului nu poate depăși valoarea maximă a împrumutului de {0},
+Loan Application,Cerere de împrumut,
+Loan Management,Managementul împrumuturilor,
+Loan Repayment,Rambursare a creditului,
+Loan Start Date and Loan Period are mandatory to save the Invoice Discounting,Data de început a împrumutului și perioada de împrumut sunt obligatorii pentru a salva reducerea facturilor,
+Loans (Liabilities),Imprumuturi (Raspunderi),
+Loans and Advances (Assets),Împrumuturi și avansuri (active),
+Local,Local,
+Log,Buturuga,
+Logs for maintaining sms delivery status,Busteni pentru menținerea statutului de livrare sms,
+Lost,Pierdut,
+Lost Reasons,Motivele pierdute,
+Low,Scăzut,
+Low Sensitivity,Sensibilitate scăzută,
+Lower Income,Micsoreaza Venit,
+Loyalty Amount,Suma de loialitate,
+Loyalty Point Entry,Punct de loialitate,
+Loyalty Points,Puncte de loialitate,
+"Loyalty Points will be calculated from the spent done (via the Sales Invoice), based on collection factor mentioned.","Punctele de loialitate vor fi calculate din suma cheltuită (prin factura de vânzare), pe baza factorului de colectare menționat.",
+Loyalty Points: {0},Puncte de fidelitate: {0},
+Loyalty Program,Program de fidelizare,
+Main,Principal,
+Maintenance,Mentenanţă,
+Maintenance Log,Jurnal Mentenanță,
+Maintenance Manager,Manager Mentenanță,
+Maintenance Schedule,Program Mentenanță,
+Maintenance Schedule is not generated for all the items. Please click on 'Generate Schedule',Programul de Mentenanta nu este generat pentru toate articolele. Vă rugăm să faceți clic pe 'Generare Program',
+Maintenance Schedule {0} exists against {1},Planul de Mentenanță {0} există împotriva {1},
+Maintenance Schedule {0} must be cancelled before cancelling this Sales Order,Programul de Mentenanță{0} trebuie anulat înainte de a anula această Comandă de Vânzări,
+Maintenance Status has to be Cancelled or Completed to Submit,Starea de întreținere trebuie anulată sau finalizată pentru a fi trimisă,
+Maintenance User,Întreținere utilizator,
+Maintenance Visit,Vizită Mentenanță,
+Maintenance Visit {0} must be cancelled before cancelling this Sales Order,Vizita de Mentenanță {0} trebuie să fie anulată înainte de a anula această Comandă de Vânzări,
+Maintenance start date can not be before delivery date for Serial No {0},Data de Incepere a Mentenantei nu poate fi anterioara datei de livrare aferent de Nr. de Serie {0},
+Make,Realizare,
+Make Payment,Plateste,
+Make project from a template.,Realizați proiectul dintr-un șablon.,
+Making Stock Entries,Efectuarea de stoc Entries,
+Male,Masculin,
+Manage Customer Group Tree.,Gestioneaza Ramificatiile de Group a Clientului.,
+Manage Sales Partners.,Gestionează Parteneri Vânzări,
+Manage Sales Person Tree.,Gestioneaza Ramificatiile Persoanei responsabila cu Vanzarile,
+Manage Territory Tree.,Gestioneaza Ramificatiile Teritoriule.,
+Manage your orders,Gestionează Comenzi,
+Management,Management,
+Manager,Manager,
+Managing Projects,Managementul Proiectelor,
+Managing Subcontracting,Gestionarea Subcontracte,
+Mandatory,Obligatoriu,
+Mandatory field - Academic Year,Domeniu obligatoriu - An universitar,
+Mandatory field - Get Students From,Domeniu obligatoriu - Obțineți elevii de la,
+Mandatory field - Program,Câmp obligatoriu - Program,
+Manufacture,Fabricare,
+Manufacturer,Producător,
+Manufacturer Part Number,Numarul de piesa,
+Manufacturing,Producţie,
+Manufacturing Quantity is mandatory,Cantitatea de fabricație este obligatorie,
+Mapping,Cartografierea,
+Mapping Type,Tipul de tipărire,
+Mark Absent,Mark Absent,
+Mark Attendance,Marchează prezența,
+Mark Half Day,Mark jumatate de zi,
+Mark Present,Mark Prezent,
+Marketing,Marketing,
+Marketing Expenses,Cheltuieli de marketing,
+Marketplace,Piata de desfacere,
+Marketplace Error,Eroare de pe piață,
+Masters,Masterat,
+Match Payments with Invoices,Plățile se potrivesc cu facturi,
+Match non-linked Invoices and Payments.,Potrivesc Facturi non-legate și plăți.,
+Material,Material,
+Material Consumption,Consumul de materiale,
+Material Consumption is not set in Manufacturing Settings.,Consumul de materiale nu este setat în Setări de fabricare.,
+Material Receipt,Primirea de material,
+Material Request,Cerere de material,
+Material Request Date,Cerere de material Data,
+Material Request No,Cerere de material Nu,
+"Material Request not created, as quantity for Raw Materials already available.","Cerere de material nefiind creată, ca cantitate pentru materiile prime deja disponibile.",
+Material Request of maximum {0} can be made for Item {1} against Sales Order {2},Cerere de material de maximum {0} se poate face pentru postul {1} împotriva comandă de vânzări {2},
+Material Request to Purchase Order,Cerere de material de cumpărare Ordine,
+Material Request {0} is cancelled or stopped,Cerere de material {0} este anulată sau oprită,
+Material Request {0} submitted.,Cerere de materiale {0} trimisă.,
+Material Transfer,Transfer de material,
+Material Transferred,Material transferat,
+Material to Supplier,Material de Furnizor,
+Max Exemption Amount cannot be greater than maximum exemption amount {0} of Tax Exemption Category {1},Suma maximă de scutire nu poate fi mai mare decât valoarea scutirii maxime {0} din categoria scutirii de impozite {1},
+Max benefits should be greater than zero to dispense benefits,Beneficiile maxime ar trebui să fie mai mari decât zero pentru a renunța la beneficii,
+Max discount allowed for item: {0} is {1}%,Discount maxim permis pentru articol: {0} este {1}%,
+Max: {0},Max: {0},
+Maximum Samples - {0} can be retained for Batch {1} and Item {2}.,Probele maxime - {0} pot fi păstrate pentru lotul {1} și articolul {2}.,
+Maximum Samples - {0} have already been retained for Batch {1} and Item {2} in Batch {3}.,Probele maxime - {0} au fost deja reținute pentru lotul {1} și articolul {2} din lotul {3}.,
+Maximum amount eligible for the component {0} exceeds {1},Suma maximă eligibilă pentru componenta {0} depășește {1},
+Maximum benefit amount of component {0} exceeds {1},Suma maximă de beneficii a componentei {0} depășește {1},
+Maximum benefit amount of employee {0} exceeds {1},Suma maximă a beneficiilor angajatului {0} depășește {1},
+Maximum discount for Item {0} is {1}%,Reducerea maximă pentru articolul {0} este {1}%,
+Maximum leave allowed in the leave type {0} is {1},Permisul maxim permis în tipul de concediu {0} este {1},
+Medical,Medical,
+Medical Code,Codul medical,
+Medical Code Standard,Codul medical standard,
+Medical Department,Departamentul medical,
+Medical Record,Fișă medicală,
+Medium,Medie,
+Meeting,Întâlnire,
+Member Activity,Activitatea membrilor,
+Member ID,Membru ID,
+Member Name,Numele membrului,
+Member information.,Informații despre membri.,
+Membership,apartenență,
+Membership Details,Detalii de membru,
+Membership ID,ID-ul de membru,
+Membership Type,Tipul de membru,
+Memebership Details,Detalii de membru,
+Memebership Type Details,Detalii despre tipul de membru,
+Merge,contopi,
+Merge Account,Îmbinare cont,
+Merge with Existing Account,Mergeți cu contul existent,
+"Merging is only possible if following properties are same in both records. Is Group, Root Type, Company","Fuziune este posibilă numai în cazul în care următoarele proprietăți sunt aceleași în ambele registre. Este Group, Root Type, Company",
+Message Examples,Exemple de mesaje,
+Message Sent,Mesajul a fost trimis,
+Method,Metoda,
+Middle Income,Venituri medii,
+Middle Name,Al doilea nume,
+Middle Name (Optional),Al Doilea Nume (Opțional),
+Min Amt can not be greater than Max Amt,Min Amt nu poate fi mai mare decât Max Amt,
+Min Qty can not be greater than Max Qty,Min Cantitate nu poate fi mai mare decât Max Cantitate,
+Minimum Lead Age (Days),Vârsta minimă de plumb (zile),
+Miscellaneous Expenses,Cheltuieli diverse,
+Missing Currency Exchange Rates for {0},Lipsesc cursuri de schimb valutar pentru {0},
+Missing email template for dispatch. Please set one in Delivery Settings.,Șablonul de e-mail lipsă pentru expediere. Alegeți unul din Setările de livrare.,
+"Missing value for Password, API Key or Shopify URL","Valoare lipsă pentru parola, cheia API sau adresa URL pentru cumpărături",
+Mode of Payment,Modul de plată,
+Mode of Payments,Modul de plată,
+Mode of Transport,Mijloc de transport,
+Mode of Transportation,Mijloc de transport,
+Mode of payment is required to make a payment,Modul de plată este necesară pentru a efectua o plată,
+Model,Model,
+Moderate Sensitivity,Sensibilitate moderată,
+Monday,Luni,
+Monthly,Lunar,
+Monthly Distribution,Distributie lunar,
+Monthly Repayment Amount cannot be greater than Loan Amount,Rambursarea lunară Suma nu poate fi mai mare decât Suma creditului,
+More,Mai mult,
+More Information,Mai multe informatii,
+More than one selection for {0} not allowed,Nu sunt permise mai multe selecții pentru {0},
+More...,Mai Mult...,
+Motion Picture & Video,Motion Picture & Video,
+Move,Mutare,
+Move Item,Postul mutare,
+Multi Currency,Multi valutar,
+Multiple Item prices.,Mai multe prețuri element.,
+Multiple Loyalty Program found for the Customer. Please select manually.,Programul de loialitate multiplă găsit pentru client. Selectați manual.,
+"Multiple Price Rules exists with same criteria, please resolve conflict by assigning priority. Price Rules: {0}","Reguli de preturi multiple există cu aceleași criterii, vă rugăm să rezolve conflictul prin atribuirea de prioritate. Reguli de preț: {0}",
+Multiple Variants,Variante multiple,
+Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year,ani fiscali multiple exista in data de {0}. Vă rugăm să setați companie în anul fiscal,
+Music,Muzica,
+My Account,Contul Meu,
+Name error: {0},Numele de eroare: {0},
+Name of new Account. Note: Please don't create accounts for Customers and Suppliers,Numele de cont nou. Notă: Vă rugăm să nu creați conturi pentru clienți și furnizori,
+Name or Email is mandatory,Nume sau E-mail este obligatorie,
+Nature Of Supplies,Natura aprovizionării,
+Navigating,Navigarea,
+Needs Analysis,Analiza nevoilor,
+Negative Quantity is not allowed,Nu este permisă cantitate negativă,
+Negative Valuation Rate is not allowed,Negativ Rata de evaluare nu este permis,
+Negotiation/Review,Negocierea / revizuire,
+Net Asset value as on,Valoarea activelor nete pe,
+Net Cash from Financing,Numerar net din Finantare,
+Net Cash from Investing,Numerar net din investiții,
+Net Cash from Operations,Numerar net din operațiuni,
+Net Change in Accounts Payable,Schimbarea net în conturi de plătit,
+Net Change in Accounts Receivable,Schimbarea net în conturile de creanțe,
+Net Change in Cash,Schimbarea net în numerar,
+Net Change in Equity,Schimbarea net în capitaluri proprii,
+Net Change in Fixed Asset,Schimbarea net în active fixe,
+Net Change in Inventory,Schimbarea net în inventar,
+Net ITC Available(A) - (B),ITC net disponibil (A) - (B),
+Net Pay,Plată netă,
+Net Pay cannot be less than 0,Plata netă nu poate fi mai mică decât 0,
+Net Profit,Profit net,
+Net Salary Amount,Valoarea netă a salariului,
+Net Total,Total net,
+Net pay cannot be negative,Salariul net nu poate fi negativ,
+New Account Name,Nume nou cont,
+New Address,Adresa noua,
+New BOM,Nou BOM,
+New Batch ID (Optional),ID-ul lotului nou (opțional),
+New Batch Qty,Numărul nou de loturi,
+New Company,Companie nouă,
+New Cost Center Name,Numele noului centru de cost,
+New Customer Revenue,Noi surse de venit pentru clienți,
+New Customers,clienti noi,
+New Department,Departamentul nou,
+New Employee,Angajat nou,
+New Location,Locație nouă,
+New Quality Procedure,Noua procedură de calitate,
+New Sales Invoice,Adauga factură de vânzări,
+New Sales Person Name,Nume nou Agent de vânzări,
+New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,Noua ordine nu pot avea Warehouse. Depozit trebuie să fie stabilite de către Bursa de intrare sau de primire de cumparare,
+New Warehouse Name,Nume nou depozit,
+New credit limit is less than current outstanding amount for the customer. Credit limit has to be atleast {0},Noua limită de credit este mai mică decât valoarea curentă restante pentru client. Limita de credit trebuie să fie atleast {0},
+New task,Sarcina noua,
+New {0} pricing rules are created,Sunt create noi {0} reguli de preț,
+Newsletters,Buletine,
+Newspaper Publishers,Editorii de ziare,
+Next,Următor,
+Next Contact By cannot be same as the Lead Email Address,Următoarea Contact Prin faptul că nu poate fi aceeași cu adresa de e-mail Plumb,
+Next Contact Date cannot be in the past,În continuare Contact Data nu poate fi în trecut,
+Next Steps,Pasii urmatori,
+No Action,Fara actiune,
+No Customers yet!,Nu există clienți încă!,
+No Data,No Data,
+No Delivery Note selected for Customer {},Nu este selectată nicio notificare de livrare pentru client {},
+No Employee Found,Nu a fost găsit angajat,
+No Item with Barcode {0},Nici un articol cu coduri de bare {0},
+No Item with Serial No {0},Nici un articol cu ordine {0},
+No Items available for transfer,Nu există elemente disponibile pentru transfer,
+No Items selected for transfer,Nu există elemente selectate pentru transfer,
+No Items to pack,Nu sunt produse în ambalaj,
+No Items with Bill of Materials to Manufacture,Nu există niciun articol cu Lista de materiale pentru fabricarea,
+No Items with Bill of Materials.,Nu există articole cu Bill of Materials.,
+No Permission,Nici o permisiune,
+No Remarks,Nu Observații,
+No Result to submit,Niciun rezultat nu trebuie trimis,
+No Salary Structure assigned for Employee {0} on given date {1},Nu există structură salarială atribuită pentru angajat {0} la data dată {1},
+No Staffing Plans found for this Designation,Nu au fost găsite planuri de personal pentru această desemnare,
+No Student Groups created.,Nu există grupuri create de studenți.,
+No Students in,Nu există studenți în,
+No Tax Withholding data found for the current Fiscal Year.,Nu au fost găsite date privind reținerea fiscală pentru anul fiscal curent.,
+No Work Orders created,Nu au fost create comenzi de lucru,
+No accounting entries for the following warehouses,Nici o intrare contabile pentru următoarele depozite,
+No active or default Salary Structure found for employee {0} for the given dates,Nr Structură activă sau Salariul implicit găsite pentru angajat al {0} pentru datele indicate,
+No contacts with email IDs found.,Nu au fost găsite contacte cu ID-urile de e-mail.,
+No data for this period,Nu există date pentru această perioadă,
+No description given,Nici o descriere dat,
+No employees for the mentioned criteria,Nu există angajați pentru criteriile menționate,
+No gain or loss in the exchange rate,Nu există cheltuieli sau venituri din diferente ale cursului de schimb,
+No items listed,Nu sunt enumerate elemente,
+No items to be received are overdue,Nu sunt întârziate niciun element de primit,
+No material request created,Nu a fost creată nicio solicitare materială,
+No more updates,Nu există mai multe actualizări,
+No of Interactions,Nr de interacțiuni,
+No of Shares,Numărul de acțiuni,
+No pending Material Requests found to link for the given items.,Nu au fost găsite solicitări de material în așteptare pentru link-ul pentru elementele date.,
+No products found,Nu au fost găsite produse,
+No products found.,Nu găsiți produse.,
+No record found,Nu s-au găsit înregistrări,
+No records found in the Invoice table,Nu sunt găsite inregistrari în tabelul de facturi înregistrate,
+No records found in the Payment table,Nu sunt găsite în tabelul de plăți înregistrări,
+No replies from,Nu există răspunsuri de la,
+No salary slip found to submit for the above selected criteria OR salary slip already submitted,Nu s-a găsit nicio corespondență salarială pentru criteriile de mai sus sau salariul deja trimis,
+No tasks,Nu există nicio sarcină,
+No time sheets,Nu există nicio foaie de timp,
+No values,Fără valori,
+No {0} found for Inter Company Transactions.,Nu a fost găsit {0} pentru tranzacțiile Intercompanie.,
+Non GST Inward Supplies,Consumabile interioare non-GST,
+Non Profit,Non-Profit,
+Non Profit (beta),Nonprofit (beta),
+Non-GST outward supplies,Oferte externe non-GST,
+Non-Group to Group,Non-Grup la Grup,
+None,Nici unul,
+None of the items have any change in quantity or value.,Nici unul din elementele au nici o schimbare în cantitate sau de valoare.,
+Nos,nos,
+Not Available,Indisponibil,
+Not Marked,nemarcate,
+Not Paid and Not Delivered,Nu sunt plătite și nu sunt livrate,
+Not Permitted,Nu este permisă,
+Not Started,Neînceput,
+Not active,Nu este activ,
+Not allow to set alternative item for the item {0},Nu permiteți setarea unui element alternativ pentru articolul {0},
+Not allowed to update stock transactions older than {0},Nu este permis să actualizeze tranzacțiile bursiere mai vechi de {0},
+Not authorized to edit frozen Account {0},Nu este autorizat pentru a edita Contul {0} blocat,
+Not authroized since {0} exceeds limits,Nu authroized din {0} depășește limitele,
+Not permitted for {0},Nu este permisă {0},
+"Not permitted, configure Lab Test Template as required","Nu este permisă, configurați Șablon de testare Lab așa cum este necesar",
+Not permitted. Please disable the Service Unit Type,Nu sunt acceptate. Dezactivați tipul unității de serviciu,
+Note: Due / Reference Date exceeds allowed customer credit days by {0} day(s),Notă: Datorită / Reference Data depășește de companie zile de credit client de {0} zi (le),
+Note: Item {0} entered multiple times,Notă: Articolul {0} a intrat de mai multe ori,
+Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified,"Notă: Plata de intrare nu va fi creat deoarece ""Cash sau cont bancar"" nu a fost specificat",
+Note: System will not check over-delivery and over-booking for Item {0} as quantity or amount is 0,"Notă: Sistemul nu va verifica peste, livrare și supra-rezervări pentru postul {0} ca și cantitatea sau valoarea este 0",
+Note: There is not enough leave balance for Leave Type {0},Notă: Nu este echilibrul concediu suficient pentru concediul de tip {0},
+Note: This Cost Center is a Group. Cannot make accounting entries against groups.,Notă: Acest centru de cost este un grup. Nu pot face înregistrări contabile impotriva grupuri.,
+Note: {0},Notă: {0},
+Notes,Observații,
+Nothing is included in gross,Nimic nu este inclus în brut,
+Nothing more to show.,Nimic mai mult pentru a arăta.,
+Nothing to change,Nimic de schimbat,
+Notice Period,Perioada de preaviz,
+Notify Customers via Email,Notificați clienții prin e-mail,
+Number,Număr,
+Number of Depreciations Booked cannot be greater than Total Number of Depreciations,Numărul de Deprecieri Booked nu poate fi mai mare decât Număr total de Deprecieri,
+Number of Interaction,Numărul interacțiunii,
+Number of Order,Numărul de comandă,
+"Number of new Account, it will be included in the account name as a prefix","Numărul de cont nou, acesta va fi inclus în numele contului ca prefix",
+"Number of new Cost Center, it will be included in the cost center name as a prefix","Numărul noului Centru de cost, acesta va fi inclus în prefixul centrului de costuri",
+Number of root accounts cannot be less than 4,Numărul de conturi root nu poate fi mai mic de 4,
+Odometer,Contorul de kilometraj,
+Office Equipments,Echipamente de birou,
+Office Maintenance Expenses,Cheltuieli Mentenanță Birou,
+Office Rent,Birou inchiriat,
+On Hold,In asteptare,
+On Net Total,Pe Net Total,
+One customer can be part of only single Loyalty Program.,Un client poate face parte dintr-un singur program de loialitate.,
+Online Auctions,Licitatii online,
+Only Leave Applications with status 'Approved' and 'Rejected' can be submitted,Lăsați numai aplicațiile cu statut „Aprobat“ și „Respins“ pot fi depuse,
+"Only the Student Applicant with the status ""Approved"" will be selected in the table below.",În tabelul de mai jos va fi selectat numai Solicitantul studenților cu statutul &quot;Aprobat&quot;.,
+Only users with {0} role can register on Marketplace,Numai utilizatorii cu rolul {0} se pot înregistra pe Marketplace,
+Open BOM {0},Deschideți BOM {0},
+Open Item {0},Deschis Postul {0},
+Open Notifications,Notificări deschise,
+Open Orders,Comenzi deschise,
+Open a new ticket,Deschideți un nou bilet,
+Opening,Deschidere,
+Opening (Cr),Deschidere (Cr),
+Opening (Dr),Deschidere (Dr),
+Opening Accounting Balance,Sold Contabilitate,
+Opening Accumulated Depreciation,Deschidere Amortizarea Acumulate,
+Opening Accumulated Depreciation must be less than equal to {0},Amortizarea de deschidere trebuie să fie mai mică Acumulate decât egală cu {0},
+Opening Balance,Soldul de deschidere,
+Opening Balance Equity,Sold Equity,
+Opening Date and Closing Date should be within same Fiscal Year,Deschiderea și data inchiderii ar trebui să fie în același an fiscal,
+Opening Date should be before Closing Date,"Deschiderea Data ar trebui să fie, înainte de Data inchiderii",
+Opening Entry Journal,Deschiderea Jurnalului de intrare,
+Opening Invoice Creation Tool,Deschiderea Instrumentului de creare a facturilor,
+Opening Invoice Item,Deschidere element factură,
+Opening Invoices,Deschiderea facturilor,
+Opening Invoices Summary,Sumar de deschidere a facturilor,
+Opening Qty,Deschiderea Cantitate,
+Opening Stock,deschidere stoc,
+Opening Stock Balance,Sold Stock,
+Opening Value,Valoarea de deschidere,
+Opening {0} Invoice created,Deschidere {0} Factură creată,
+Operation,Operație,
+Operation Time must be greater than 0 for Operation {0},Funcționarea timp trebuie să fie mai mare decât 0 pentru funcționare {0},
+"Operation {0} longer than any available working hours in workstation {1}, break down the operation into multiple operations","Operațiunea {0} mai mult decât orice ore de lucru disponibile în stație de lucru {1}, descompun operațiunea în mai multe operațiuni",
+Operations,Operatii,
+Operations cannot be left blank,Operații nu poate fi lăsat necompletat,
+Opp Count,Opp Count,
+Opp/Lead %,Opp / Plumb%,
+Opportunities,Oportunități,
+Opportunities by lead source,Oportunități după sursă pistă,
+Opportunity,Oportunitate,
+Opportunity Amount,Oportunitate Sumă,
+Optional Holiday List not set for leave period {0},Lista de vacanță opțională nu este setată pentru perioada de concediu {0},
+"Optional. Sets company's default currency, if not specified.","Opțional. Setează implicit moneda companiei, în cazul în care nu este specificat.",
+Optional. This setting will be used to filter in various transactions.,Opțional. Această setare va fi utilizat pentru a filtra în diverse tranzacții.,
+Options,Optiuni,
+Order Count,Numărătoarea comenzilor,
+Order Entry,Intrare comandă,
+Order Value,Valoarea comenzii,
+Order rescheduled for sync,Ordonată reprogramată pentru sincronizare,
+Order/Quot %,Ordine / Cotare%,
+Ordered,Ordonat,
+Ordered Qty,Ordonat Cantitate,
+"Ordered Qty: Quantity ordered for purchase, but not received.","Comandat Cantitate: Cantitatea comandat pentru cumpărare, dar nu a primit.",
+Orders,Comenzi,
+Orders released for production.,Comenzi lansat pentru producție.,
+Organization,Organizare,
+Organization Name,Numele Organizatiei,
+Other,Altul,
+Other Reports,Alte rapoarte,
+"Other outward supplies(Nil rated,Exempted)","Alte consumabile exterioare (Nil evaluat, scutit)",
+Others,Altel,
+Out Qty,Out Cantitate,
+Out Value,Valoarea afară,
+Out of Order,Scos din uz,
+Outgoing,Trimise,
+Outstanding,remarcabil,
+Outstanding Amount,Remarcabil Suma,
+Outstanding Amt,Impresionant Amt,
+Outstanding Cheques and Deposits to clear,Cecuri restante și pentru a șterge Depozite,
+Outstanding for {0} cannot be less than zero ({1}),Restante pentru {0} nu poate fi mai mică decât zero ({1}),
+Outward taxable supplies(zero rated),Livrări impozabile externe (zero),
+Overdue,întârziat,
+Overlap in scoring between {0} and {1},Suprapunerea punctajului între {0} și {1},
+Overlapping conditions found between:,Condiții se suprapun găsite între:,
+Owner,Proprietar,
+PAN,TIGAIE,
+POS,POS,
+POS Profile,POS Profil,
+POS Profile is required to use Point-of-Sale,Profilul POS este necesar pentru a utiliza Punctul de vânzare,
+POS Profile required to make POS Entry,POS Profil necesare pentru a face POS intrare,
+POS Settings,Setări POS,
+Packed quantity must equal quantity for Item {0} in row {1},Cantitate ambalate trebuie să fie egală cantitate pentru postul {0} în rândul {1},
+Packing Slip,Slip de ambalare,
+Packing Slip(s) cancelled,Slip de ambalare (e) anulate,
+Paid,Plătit,
+Paid Amount,Suma plătită,
+Paid Amount cannot be greater than total negative outstanding amount {0},Suma plătită nu poate fi mai mare decât suma totală negativă restante {0},
+Paid amount + Write Off Amount can not be greater than Grand Total,Suma plătită + Scrie Off Suma nu poate fi mai mare decât Grand total,
+Paid and Not Delivered,Plătite și nu sunt livrate,
+Parameter,Parametru,
+Parent Item {0} must not be a Stock Item,Postul părinte {0} nu trebuie să fie un articol stoc,
+Parents Teacher Meeting Attendance,Conferința părinților la conferința părintească,
+Part-time,Part-time,
+Partially Depreciated,parțial Depreciata,
+Partially Received,Parțial primite,
+Party,Partener,
+Party Name,Nume partid,
+Party Type,Tip de partid,
+Party Type and Party is mandatory for {0} account,Tipul partidului și partidul este obligatoriu pentru contul {0},
+Party Type is mandatory,Tipul de partid este obligatorie,
+Party is mandatory,Party este obligatorie,
+Password,Parolă,
+Password policy for Salary Slips is not set,Politica de parolă pentru Salarii Slips nu este setată,
+Past Due Date,Data trecută,
+Patient,Rabdator,
+Patient Appointment,Numirea pacientului,
+Patient Encounter,Întâlnirea cu pacienții,
+Patient not found,Pacientul nu a fost găsit,
+Pay Remaining,Plătiți rămase,
+Pay {0} {1},Plătește {0} {1},
+Payable,plătibil,
+Payable Account,Contul furnizori,
+Payable Amount,Sumă plătibilă,
+Payment,Plată,
+Payment Cancelled. Please check your GoCardless Account for more details,Plata anulată. Verificați contul GoCardless pentru mai multe detalii,
+Payment Confirmation,Confirmarea platii,
+Payment Date,Data de plată,
+Payment Days,Zile de plată,
+Payment Document,Documentul de plată,
+Payment Due Date,Data scadentă de plată,
+Payment Entries {0} are un-linked,Intrările de plată {0} sunt nesemnalate legate,
+Payment Entry,Intrare plăţi,
+Payment Entry already exists,Există deja intrare plată,
+Payment Entry has been modified after you pulled it. Please pull it again.,Plata intrare a fost modificat după ce-l tras. Vă rugăm să trage din nou.,
+Payment Entry is already created,Plata Intrarea este deja creat,
+Payment Failed. Please check your GoCardless Account for more details,Plata esuata. Verificați contul GoCardless pentru mai multe detalii,
+Payment Gateway,Gateway de plată,
+"Payment Gateway Account not created, please create one manually.","Plata Gateway Cont nu a fost creată, vă rugăm să creați manual unul.",
+Payment Gateway Name,Numele gateway-ului de plată,
+Payment Mode,Modul de plată,
+Payment Receipt Note,Plată Primirea Note,
+Payment Request,Cerere de plata,
+Payment Request for {0},Solicitare de plată pentru {0},
+Payment Tems,Tems de plată,
+Payment Term,Termen de plata,
+Payment Terms,Termeni de plată,
+Payment Terms Template,Formularul termenilor de plată,
+Payment Terms based on conditions,Termeni de plată în funcție de condiții,
+Payment Type,Tip de plată,
+"Payment Type must be one of Receive, Pay and Internal Transfer","Tipul de plată trebuie să fie unul dintre Primire, Pay și de transfer intern",
+Payment against {0} {1} cannot be greater than Outstanding Amount {2},Plata împotriva {0} {1} nu poate fi mai mare decât Impresionant Suma {2},
+Payment of {0} from {1} to {2},Plata pentru {0} de la {1} la {2},
+Payment request {0} created,Solicitarea de plată {0} a fost creată,
+Payments,Plăți,
+Payroll,stat de plată,
+Payroll Number,Număr de salarizare,
+Payroll Payable,Salarizare plateste,
+Payslip,fluturaș,
+Pending Activities,Activități în curs,
+Pending Amount,În așteptarea Suma,
+Pending Leaves,Frunze în așteptare,
+Pending Qty,Așteptare Cantitate,
+Pending Quantity,Cantitate în așteptare,
+Pending Review,Revizuirea în curs,
+Pending activities for today,Activități în așteptare pentru ziua de azi,
+Pension Funds,Fondurile de pensii,
+Percentage Allocation should be equal to 100%,Alocarea procent ar trebui să fie egală cu 100%,
+Perception Analysis,Analiza percepției,
+Period,Perioada,
+Period Closing Entry,Intrarea Perioada de închidere,
+Period Closing Voucher,Voucher perioadă de închidere,
+Periodicity,Periodicitate,
+Personal Details,Detalii personale,
+Pharmaceutical,Farmaceutic,
+Pharmaceuticals,Produse farmaceutice,
+Physician,Medic,
+Piecework,muncă în acord,
+Pincode,Parola așa,
+Place Of Supply (State/UT),Locul livrării (stat / UT),
+Place Order,Locul de comandă,
+Plan Name,Numele planului,
+Plan for maintenance visits.,Plan pentru vizite de mentenanță.,
+Planned Qty,Planificate Cantitate,
+"Planned Qty: Quantity, for which, Work Order has been raised, but is pending to be manufactured.","Cantitate planificată: cantitatea pentru care a fost ridicată comanda de lucru, dar este în curs de fabricare.",
+Planning,Planificare,
+Plants and Machineries,Plante și mașini,
+Please Set Supplier Group in Buying Settings.,Setați Grupul de furnizori în Setări de cumpărare.,
+Please add a Temporary Opening account in Chart of Accounts,Adăugați un cont de deschidere temporară în Planul de conturi,
+Please add the account to root level Company - ,Vă rugăm să adăugați contul la nivelul companiei la nivel root -,
+Please add the remaining benefits {0} to any of the existing component,Vă rugăm să adăugați beneficiile rămase {0} la oricare dintre componentele existente,
+Please check Multi Currency option to allow accounts with other currency,Vă rugăm să verificați Multi opțiune de valuta pentru a permite conturi cu altă valută,
+Please click on 'Generate Schedule',"Vă rugăm să faceți clic pe ""Generate Program""",
+Please click on 'Generate Schedule' to fetch Serial No added for Item {0},"Vă rugăm să faceți clic pe ""Generate Program"", pentru a aduce ordine adăugat pentru postul {0}",
+Please click on 'Generate Schedule' to get schedule,"Vă rugăm să faceți clic pe ""Generate Program"", pentru a obține programul",
+Please confirm once you have completed your training,Vă rugăm să confirmați după ce ați terminat pregătirea,
+Please create purchase receipt or purchase invoice for the item {0},Creați factura de cumpărare sau factura de achiziție pentru elementul {0},
+Please define grade for Threshold 0%,Vă rugăm să definiți gradul pentru pragul 0%,
+Please enable Applicable on Booking Actual Expenses,Activați aplicabil pentru cheltuielile curente de rezervare,
+Please enable Applicable on Purchase Order and Applicable on Booking Actual Expenses,Activați aplicabil la comanda de aprovizionare și aplicabil cheltuielilor curente de rezervare,
+Please enable default incoming account before creating Daily Work Summary Group,Activați contul de intrare implicit înainte de a crea un grup zilnic de lucru,
+Please enable pop-ups,Vă rugăm să activați pop-up-uri,
+Please enter 'Is Subcontracted' as Yes or No,"Va rugam sa introduceti ""este subcontractată"" ca Da sau Nu",
+Please enter API Consumer Key,Introduceți cheia de consum API,
+Please enter API Consumer Secret,Introduceți secretul pentru clienți API,
+Please enter Account for Change Amount,Vă rugăm să introduceți cont pentru Schimbare Sumă,
+Please enter Approving Role or Approving User,Vă rugăm să introduceți Aprobarea Rolul sau aprobarea de utilizare,
+Please enter Cost Center,Va rugam sa introduceti Cost Center,
+Please enter Delivery Date,Introduceți data livrării,
+Please enter Employee Id of this sales person,Vă rugăm să introduceți ID-ul de angajat al acestei persoane de vânzări,
+Please enter Expense Account,Va rugam sa introduceti cont de cheltuieli,
+Please enter Item Code to get Batch Number,Vă rugăm să introduceți codul de articol pentru a obține numărul de lot,
+Please enter Item Code to get batch no,Va rugam sa introduceti codul articol pentru a obține lot nu,
+Please enter Item first,Va rugam sa introduceti Articol primul,
+Please enter Maintaince Details first,Va rugam sa introduceti maintaince detaliile prima,
+Please enter Planned Qty for Item {0} at row {1},Va rugam sa introduceti planificate Cantitate pentru postul {0} la rândul {1},
+Please enter Preferred Contact Email,Vă rugăm să introduceți preferate Contact E-mail,
+Please enter Production Item first,Va rugam sa introduceti de producție Articol întâi,
+Please enter Purchase Receipt first,Va rugam sa introduceti Primirea achiziția,
+Please enter Receipt Document,Vă rugăm să introduceți Document Primirea,
+Please enter Reference date,Vă rugăm să introduceți data de referință,
+Please enter Repayment Periods,Vă rugăm să introduceți perioada de rambursare,
+Please enter Reqd by Date,Introduceți Reqd după dată,
+Please enter Woocommerce Server URL,Introduceți adresa URL a serverului Woocommerce,
+Please enter Write Off Account,Va rugam sa introduceti Scrie Off cont,
+Please enter atleast 1 invoice in the table,Va rugam sa introduceti cel putin 1 factura în tabelul,
+Please enter company first,Va rugam sa introduceti prima companie,
+Please enter company name first,Va rugam sa introduceti numele companiei în primul rând,
+Please enter default currency in Company Master,Va rugam sa introduceti moneda implicit în Compania de Master,
+Please enter message before sending,Vă rugăm să introduceți mesajul înainte de trimitere,
+Please enter parent cost center,Vă rugăm să introduceți centru de cost părinte,
+Please enter quantity for Item {0},Va rugam sa introduceti cantitatea pentru postul {0},
+Please enter relieving date.,Vă rugăm să introduceți data alinarea.,
+Please enter repayment Amount,Vă rugăm să introduceți Suma de rambursare,
+Please enter valid Financial Year Start and End Dates,Va rugam sa introduceti valabil financiare Anul începe și a termina Perioada,
+Please enter valid email address,Introduceți adresa de e-mail validă,
+Please enter {0} first,Va rugam sa introduceti {0} primul,
+Please fill in all the details to generate Assessment Result.,Vă rugăm să completați toate detaliile pentru a genera rezultatul evaluării.,
+Please identify/create Account (Group) for type - {0},Vă rugăm să identificați / să creați un cont (grup) pentru tipul - {0},
+Please identify/create Account (Ledger) for type - {0},Vă rugăm să identificați / să creați un cont (contabil) pentru tipul - {0},
+Please login as another user to register on Marketplace,Conectați-vă ca alt utilizator pentru a vă înregistra pe Marketplace,
+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.,Vă rugăm să asigurați-vă că într-adevăr să ștergeți toate tranzacțiile pentru această companie. Datele dvs. de bază vor rămâne așa cum este. Această acțiune nu poate fi anulată.,
+Please mention Basic and HRA component in Company,Vă rugăm să menționați componentele de bază și HRA în cadrul companiei,
+Please mention Round Off Account in Company,Vă rugăm să menționați rotunji contul în companie,
+Please mention Round Off Cost Center in Company,Vă rugăm să menționați rotunji Center cost în companie,
+Please mention no of visits required,Vă rugăm să menționați nici de vizite necesare,
+Please mention the Lead Name in Lead {0},Menționați numele de plumb din plumb {0},
+Please pull items from Delivery Note,Vă rugăm să trage elemente de livrare Nota,
+Please register the SIREN number in the company information file,Înregistrați numărul SIREN în fișierul cu informații despre companie,
+Please remove this Invoice {0} from C-Form {1},Vă rugăm să eliminați acest factură {0} de la C-Form {1},
+Please save the patient first,Salvați mai întâi pacientul,
+Please save the report again to rebuild or update,Vă rugăm să salvați raportul din nou pentru a reconstrui sau actualiza,
+"Please select Allocated Amount, Invoice Type and Invoice Number in atleast one row","Vă rugăm să selectați suma alocată, de tip Factură și factură Numărul din atleast rând una",
+Please select Apply Discount On,Vă rugăm să selectați Aplicați Discount On,
+Please select BOM against item {0},Selectați BOM pentru elementul {0},
+Please select BOM for Item in Row {0},Vă rugăm să selectați BOM pentru postul în rândul {0},
+Please select BOM in BOM field for Item {0},Vă rugăm să selectați BOM BOM în domeniu pentru postul {0},
+Please select Category first,Vă rugăm să selectați categoria întâi,
+Please select Charge Type first,Vă rugăm să selectați tipul de taxă în primul rând,
+Please select Company,Vă rugăm să selectați Company,
+Please select Company and Designation,Selectați Companie și desemnare,
+Please select Company and Posting Date to getting entries,Selectați Company and Dateing date pentru a obține înregistrări,
+Please select Company first,Vă rugăm să selectați Company primul,
+Please select Completion Date for Completed Asset Maintenance Log,Selectați Data de încheiere pentru jurnalul de întreținere a activelor finalizat,
+Please select Completion Date for Completed Repair,Selectați Data de finalizare pentru Repararea finalizată,
+Please select Course,Selectați cursul,
+Please select Drug,Selectați Droguri,
+Please select Employee,Selectați Angajat,
+Please select Existing Company for creating Chart of Accounts,Vă rugăm să selectați Companie pentru crearea Existent Plan de conturi,
+Please select Healthcare Service,Selectați Serviciul de asistență medicală,
+"Please select Item where ""Is Stock Item"" is ""No"" and ""Is Sales Item"" is ""Yes"" and there is no other Product Bundle",Vă rugăm să selectați postul unde &quot;Este Piesa&quot; este &quot;nu&quot; și &quot;Este punctul de vânzare&quot; este &quot;da&quot; și nu este nici un alt produs Bundle,
+Please select Maintenance Status as Completed or remove Completion Date,Selectați Stare de întreținere ca Completat sau eliminați Data de finalizare,
+Please select Party Type first,Vă rugăm să selectați Party Type primul,
+Please select Patient,Selectați pacientul,
+Please select Patient to get Lab Tests,Selectați pacientul pentru a obține testele de laborator,
+Please select Posting Date before selecting Party,Vă rugăm să selectați Dată postare înainte de a selecta Parte,
+Please select Posting Date first,Vă rugăm să selectați postarea Data primei,
+Please select Price List,Vă rugăm să selectați lista de prețuri,
+Please select Program,Selectați Program,
+Please select Qty against item {0},Selectați Cantitate pentru elementul {0},
+Please select Sample Retention Warehouse in Stock Settings first,Vă rugăm să selectați mai întâi Warehouse de stocare a probelor din Setări stoc,
+Please select Start Date and End Date for Item {0},Vă rugăm să selectați data de început și Data de final pentru postul {0},
+Please select Student Admission which is mandatory for the paid student applicant,Selectați admiterea studenților care este obligatorie pentru solicitantul studenților plătiți,
+Please select a BOM,Selectați un BOM,
+Please select a Batch for Item {0}. Unable to find a single batch that fulfills this requirement,Selectați un lot pentru articolul {0}. Nu se poate găsi un singur lot care să îndeplinească această cerință,
+Please select a Company,Vă rugăm să selectați o companie,
+Please select a batch,Selectați un lot,
+Please select a csv file,Vă rugăm să selectați un fișier csv,
+Please select a field to edit from numpad,Selectați un câmp de editat din numpad,
+Please select a table,Selectați un tabel,
+Please select a valid Date,Selectați o dată validă,
+Please select a value for {0} quotation_to {1},Vă rugăm să selectați o valoare de {0} {1} quotation_to,
+Please select a warehouse,Te rugăm să selectazi un depozit,
+Please select at least one domain.,Selectați cel puțin un domeniu.,
+Please select correct account,Vă rugăm să selectați contul corect,
+Please select date,Vă rugăm să selectați data,
+Please select item code,Vă rugăm să selectați codul de articol,
+Please select month and year,Vă rugăm selectați luna și anul,
+Please select prefix first,Vă rugăm să selectați prefix întâi,
+Please select the Company,Selectați compania,
+Please select the Multiple Tier Program type for more than one collection rules.,Selectați tipul de program cu mai multe niveluri pentru mai multe reguli de colectare.,
+Please select the assessment group other than 'All Assessment Groups',Selectați alt grup de evaluare decât &quot;Toate grupurile de evaluare&quot;,
+Please select the document type first,Vă rugăm să selectați tipul de document primul,
+Please select weekly off day,Vă rugăm să selectați zi liberă pe săptămână,
+Please select {0},Vă rugăm să selectați {0},
+Please select {0} first,Vă rugăm selectați 0} {întâi,
+Please set 'Apply Additional Discount On',Vă rugăm să setați &quot;Aplicați discount suplimentar pe&quot;,
+Please set 'Asset Depreciation Cost Center' in Company {0},Vă rugăm să setați &quot;Activ Center Amortizarea Cost&quot; în companie {0},
+Please set 'Gain/Loss Account on Asset Disposal' in Company {0},Vă rugăm să setați &#39;Gain / Pierdere de cont privind Eliminarea activelor &quot;în companie {0},
+Please set Account in Warehouse {0} or Default Inventory Account in Company {1},Vă rugăm să configurați contul în depozit {0} sau contul implicit de inventar din companie {1},
+Please set B2C Limit in GST Settings.,Setați limita B2C în setările GST.,
+Please set Company,Stabiliți compania,
+Please set Company filter blank if Group By is 'Company',Filtru filtru de companie gol dacă grupul de grup este &quot;companie&quot;,
+Please set Default Payroll Payable Account in Company {0},Vă rugăm să setați Cont Cheltuieli suplimentare salarizare implicit în companie {0},
+Please set Depreciation related Accounts in Asset Category {0} or Company {1},Vă rugăm să setați Conturi aferente amortizării în categoria activelor {0} sau companie {1},
+Please set Email Address,Vă rugăm să setați adresa de e-mail,
+Please set GST Accounts in GST Settings,Vă rugăm să setați Conturi GST în Setări GST,
+Please set Hotel Room Rate on {},Vă rugăm să stabiliți tariful camerei la {},
+Please set Number of Depreciations Booked,Vă rugăm să setați Numărul de Deprecieri rezervat,
+Please set Unrealized Exchange Gain/Loss Account in Company {0},Vă rugăm să setați Contul de Cheltuiala / Venit din diferente de curs valutar in companie {0},
+Please set User ID field in an Employee record to set Employee Role,Vă rugăm să setați câmp ID de utilizator într-o înregistrare angajat să stabilească Angajat rol,
+Please set a default Holiday List for Employee {0} or Company {1},Vă rugăm să setați o valoare implicită Lista de vacanță pentru angajat {0} sau companie {1},
+Please set account in Warehouse {0},Vă rugăm să configurați un cont în Warehouse {0},
+Please set an active menu for Restaurant {0},Vă rugăm să setați un meniu activ pentru Restaurant {0},
+Please set associated account in Tax Withholding Category {0} against Company {1},Vă rugăm să setați contul asociat în categoria de reținere fiscală {0} împotriva companiei {1},
+Please set at least one row in the Taxes and Charges Table,Vă rugăm să setați cel puțin un rând în tabelul Impozite și taxe,
+Please set default Cash or Bank account in Mode of Payment {0},Vă rugăm să setați Cash implicit sau cont bancar în modul de plată {0},
+Please set default account in Salary Component {0},Vă rugăm să setați contul implicit în Salariu Component {0},
+Please set default customer in Restaurant Settings,Alegeți clientul implicit în Setări restaurant,
+Please set default template for Leave Approval Notification in HR Settings.,Stabiliți șablonul prestabilit pentru notificarea de aprobare de ieșire din setările HR.,
+Please set default template for Leave Status Notification in HR Settings.,Stabiliți șablonul implicit pentru notificarea de stare la ieșire în setările HR.,
+Please set default {0} in Company {1},Vă rugăm să setați implicit {0} în {1} companie,
+Please set filter based on Item or Warehouse,Vă rugăm să setați filtru bazat pe postul sau depozit,
+Please set leave policy for employee {0} in Employee / Grade record,Vă rugăm să stabiliți politica de concediu pentru angajatul {0} în evidența Angajat / Grad,
+Please set recurring after saving,Vă rugăm să setați recurente după salvare,
+Please set the Company,Stabiliți compania,
+Please set the Customer Address,Vă rugăm să setați Adresa Clientului,
+Please set the Date Of Joining for employee {0},Vă rugăm să setați data de îmbarcare pentru angajat {0},
+Please set the Default Cost Center in {0} company.,Alegeți Centrul de cost implicit în compania {0}.,
+Please set the Email ID for the Student to send the Payment Request,Vă rugăm să setați ID-ul de e-mail pentru ca studentul să trimită Solicitarea de plată,
+Please set the Item Code first,Vă rugăm să setați mai întâi Codul elementului,
+Please set the Payment Schedule,Vă rugăm să setați Programul de plată,
+Please set the series to be used.,Setați seria care urmează să fie utilizată.,
+Please set {0} for address {1},Vă rugăm să setați {0} pentru adresa {1},
+Please setup Students under Student Groups,Configurați elevii din grupurile de studenți,
+Please share your feedback to the training by clicking on 'Training Feedback' and then 'New',Vă rugăm să împărtășiți feedback-ul dvs. la antrenament făcând clic pe &quot;Feedback Training&quot; și apoi pe &quot;New&quot;,
+Please specify Company,Vă rugăm să specificați companiei,
+Please specify Company to proceed,Vă rugăm să specificați companiei pentru a continua,
+Please specify a valid 'From Case No.',"Vă rugăm să specificați un valabil ""Din cauza nr""",
+Please specify a valid Row ID for row {0} in table {1},Vă rugăm să specificați un ID rând valabil pentru rând {0} în tabelul {1},
+Please specify at least one attribute in the Attributes table,Vă rugăm să specificați cel puțin un atribut în tabelul Atribute,
+Please specify currency in Company,Vă rugăm să specificați în valută companie,
+Please specify either Quantity or Valuation Rate or both,Vă rugăm să specificați fie Cantitate sau Evaluează evaluare sau ambele,
+Please specify from/to range,Vă rugăm să precizați de la / la gama,
+Please supply the specified items at the best possible rates,Vă rugăm să furnizeze elementele specificate la cele mai bune tarife posibile,
+Please update your status for this training event,Actualizați starea dvs. pentru acest eveniment de instruire,
+Please wait 3 days before resending the reminder.,Așteptați 3 zile înainte de a retrimite mementourile.,
+Point of Sale,Point of Sale,
+Point-of-Sale,Punct-de-Vânzare,
+Point-of-Sale Profile,Profil Punct-de-Vânzare,
+Portal,Portal,
+Portal Settings,Setări portal,
+Possible Supplier,posibil furnizor,
+Postal Expenses,Cheltuieli poștale,
+Posting Date,Dată postare,
+Posting Date cannot be future date,Dată postare nu poate fi data viitoare,
+Posting Time,Postarea de timp,
+Posting date and posting time is mandatory,Data postării și postarea de timp este obligatorie,
+Posting timestamp must be after {0},Timestamp postarea trebuie să fie după {0},
+Potential opportunities for selling.,Potențiale oportunități de vânzare.,
+Practitioner Schedule,Programul practicianului,
+Pre Sales,Vânzări pre,
+Preference,Preferinţă,
+Prescribed Procedures,Proceduri prescrise,
+Prescription,Reteta medicala,
+Prescription Dosage,Dozaj de prescripție,
+Prescription Duration,Durata prescrierii,
+Prescriptions,Prescriptiile,
+Present,Prezenta,
+Prev,Anterior,
+Preview,Previzualizați,
+Preview Salary Slip,Previzualizare Salariu alunecare,
+Previous Financial Year is not closed,Exercițiul financiar precedent nu este închis,
+Price,Preț,
+Price List,Lista Prețuri,
+Price List Currency not selected,Lista de pret Valuta nu selectat,
+Price List Rate,Lista de prețuri Rate,
+Price List master.,Maestru Lista de prețuri.,
+Price List must be applicable for Buying or Selling,Lista de prețuri trebuie să fie aplicabilă pentru cumpărarea sau vânzarea de,
+Price List {0} is disabled or does not exist,Listă de prețuri {0} este dezactivat sau nu există,
+Price or product discount slabs are required,Este necesară plăci de reducere a prețului sau a produsului,
+Pricing,Stabilirea pretului,
+Pricing Rule,Regulă de stabilire a prețurilor,
+"Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.","Regula de stabilire a prețurilor este selectat în primul rând bazat pe ""Aplicați pe"" teren, care poate fi produs, Grupa de articole sau de brand.",
+"Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.","Regula de stabilire a prețurilor se face pentru a suprascrie Pret / defini procent de reducere, pe baza unor criterii.",
+Pricing Rule {0} is updated,Regula prețurilor {0} este actualizată,
+Pricing Rules are further filtered based on quantity.,Regulile de stabilire a prețurilor sunt filtrate în continuare în funcție de cantitate.,
+Primary Address Details,Detalii despre adresa primară,
+Primary Contact Details,Detalii de contact primare,
+Principal Amount,Sumă principală,
+Print Format,Print Format,
+Print IRS 1099 Forms,Tipărire formulare IRS 1099,
+Print Report Card,Print Print Card,
+Print Settings,Setări de imprimare,
+Print and Stationery,Imprimare și articole de papetărie,
+Print settings updated in respective print format,Setările de imprimare actualizate în format de imprimare respectiv,
+Print taxes with zero amount,Imprimă taxele cu suma zero,
+Printing and Branding,Imprimarea și Branding,
+Private Equity,Private Equity,
+Privilege Leave,Privilege concediu,
+Probation,probă,
+Probationary Period,Perioadă de probă,
+Procedure,Procedură,
+Process Day Book Data,Procesați datele despre cartea de zi,
+Process Master Data,Procesați datele de master,
+Processing Chart of Accounts and Parties,Procesarea Graficului de conturi și părți,
+Processing Items and UOMs,Prelucrare elemente și UOM-uri,
+Processing Party Addresses,Prelucrarea adreselor partidului,
+Processing Vouchers,Procesarea voucherelor,
+Procurement,achiziții publice,
+Produced Qty,Cantitate produsă,
+Product,Produs,
+Product Bundle,Bundle produs,
+Product Search,Cauta produse,
+Production,Producţie,
+Production Item,Producția Postul,
+Products,Instrumente,
+Profit and Loss,Profit și pierdere,
+Profit for the year,Profitul anului,
+Program,Program,
+Program in the Fee Structure and Student Group {0} are different.,Programul din structura taxelor și grupul de studenți {0} este diferit.,
+Program {0} does not exist.,Programul {0} nu există.,
+Program: ,Program:,
+Progress % for a task cannot be more than 100.,Progres% pentru o sarcină care nu poate fi mai mare de 100.,
+Project Collaboration Invitation,Colaborare proiect Invitație,
+Project Id,ID-ul proiectului,
+Project Manager,Manager de proiect,
+Project Name,Denumirea proiectului,
+Project Start Date,Data de începere a proiectului,
+Project Status,Status Proiect,
+Project Summary for {0},Rezumatul proiectului pentru {0},
+Project Update.,Actualizarea proiectului.,
+Project Value,Valoare proiect,
+Project activity / task.,Activitatea de proiect / sarcină.,
+Project master.,Maestru proiect.,
+Project-wise data is not available for Quotation,Date proiect-înțelept nu este disponibilă pentru ofertă,
+Projected,Proiectat,
+Projected Qty,Numărul estimat,
+Projected Quantity Formula,Formula de cantitate proiectată,
+Projects,proiecte,
+Property,Proprietate,
+Property already added,Proprietățile deja adăugate,
+Proposal Writing,Propunere de scriere,
+Proposal/Price Quote,Propunere / Citat pret,
+Prospecting,Prospectarea,
+Provisional Profit / Loss (Credit),Profit provizorie / Pierdere (Credit),
+Publications,Publicații,
+Publish Items on Website,Publica Articole pe site-ul,
+Published,Data publicării,
+Publishing,editare,
+Purchase,Cumpărarea,
+Purchase Amount,Suma cumpărată,
+Purchase Date,Data cumpărării,
+Purchase Invoice,Factura de cumpărare,
+Purchase Invoice {0} is already submitted,Factura de cumpărare {0} este deja depusă,
+Purchase Manager,Cumpărare Director,
+Purchase Master Manager,Cumpărare Maestru de Management,
+Purchase Order,Comandă de aprovizionare,
+Purchase Order Amount,Suma comenzii de cumpărare,
+Purchase Order Amount(Company Currency),Suma comenzii de cumpărare (moneda companiei),
+Purchase Order Date,Data comenzii de cumpărare,
+Purchase Order Items not received on time,Elemente de comandă de cumpărare care nu au fost primite la timp,
+Purchase Order number required for Item {0},Număr de comandă de aprovizionare necesare pentru postul {0},
+Purchase Order to Payment,Comandă de aprovizionare de plata,
+Purchase Order {0} is not submitted,Comandă {0} nu este prezentat,
+Purchase Orders are not allowed for {0} due to a scorecard standing of {1}.,Comenzile de cumpărare nu sunt permise pentru {0} datorită unui punctaj din {1}.,
+Purchase Orders given to Suppliers.,A achiziționa ordine de date Furnizori.,
+Purchase Price List,Cumparare Lista de preturi,
+Purchase Receipt,Primirea de cumpărare,
+Purchase Receipt {0} is not submitted,Primirea de cumpărare {0} nu este prezentat,
+Purchase Tax Template,Achiziționa Format fiscală,
+Purchase User,Cumpărare de utilizare,
+Purchase orders help you plan and follow up on your purchases,Comenzile de aprovizionare vă ajuta să planificați și să urmați pe achizițiile dvs.,
+Purchasing,cumpărare,
+Purpose must be one of {0},Scopul trebuie să fie una dintre {0},
+Qty,Cantitate,
+Qty To Manufacture,Cantitate pentru fabricare,
+Qty Total,Cantitate totală,
+Qty for {0},Cantitate pentru {0},
+Qualification,Calificare,
+Quality,Calitate,
+Quality Action,Acțiune de calitate,
+Quality Goal.,Obiectivul de calitate.,
+Quality Inspection,Inspecție de calitate,
+Quality Inspection: {0} is not submitted for the item: {1} in row {2},Inspecție de calitate: {0} nu este trimis pentru articol: {1} în rândul {2},
+Quality Management,Managementul calității,
+Quality Meeting,Întâlnire de calitate,
+Quality Procedure,Procedura de calitate,
+Quality Procedure.,Procedura de calitate.,
+Quality Review,Evaluarea calității,
+Quantity,Cantitate,
+Quantity for Item {0} must be less than {1},Cantitatea pentru postul {0} trebuie să fie mai mică de {1},
+Quantity in row {0} ({1}) must be same as manufactured quantity {2},"Cantitatea în rândul {0} ({1}), trebuie să fie aceeași ca și cantitatea produsă {2}",
+Quantity must be less than or equal to {0},Cantitatea trebuie sa fie mai mic sau egal cu {0},
+Quantity must not be more than {0},Cantitatea nu trebuie să fie mai mare de {0},
+Quantity required for Item {0} in row {1},Cantitatea necesară pentru postul {0} în rândul {1},
+Quantity should be greater than 0,Cantitatea trebuie sa fie mai mare decât 0,
+Quantity to Make,Cantitate de făcut,
+Quantity to Manufacture must be greater than 0.,Cantitatea să Fabricare trebuie sa fie mai mare decât 0.,
+Quantity to Produce,Cantitate de produs,
+Quantity to Produce can not be less than Zero,Cantitatea de produs nu poate fi mai mică decât Zero,
+Query Options,Opțiuni de interogare,
+Queued for replacing the BOM. It may take a few minutes.,În așteptare pentru înlocuirea BOM. Ar putea dura câteva minute.,
+Queued for updating latest price in all Bill of Materials. It may take a few minutes.,A intrat în așteptare pentru actualizarea ultimului preț în toate materialele. Ar putea dura câteva minute.,
+Quick Journal Entry,Quick Jurnal de intrare,
+Quot Count,Contele de numere,
+Quot/Lead %,Cota / Plumb%,
+Quotation,Ofertă,
+Quotation {0} is cancelled,Ofertă {0} este anulat,
+Quotation {0} not of type {1},Ofertă {0} nu de tip {1},
+Quotations,Cotațiile,
+"Quotations are proposals, bids you have sent to your customers","Cotațiile sunt propuneri, sumele licitate le-ați trimis clienților dvs.",
+Quotations received from Suppliers.,Cotatiilor primite de la furnizori.,
+Quotations: ,Cotațiile:,
+Quotes to Leads or Customers.,Citate la Oportunitati sau clienți.,
+RFQs are not allowed for {0} due to a scorecard standing of {1},CV-urile nu sunt permise pentru {0} datorită unui punctaj din {1},
+Range,Interval,
+Rate,Rată,
+Rate:,Rată:,
+Rating,evaluare,
+Raw Material,Material brut,
+Raw Materials,Materie prima,
+Raw Materials cannot be blank.,Materii Prime nu poate fi gol.,
+Re-open,Re-deschide,
+Read blog,Citiți blogul,
+Read the ERPNext Manual,Citiți manualul ERPNext,
+Reading Uploaded File,Citind fișierul încărcat,
+Real Estate,Imobiliare,
+Reason For Putting On Hold,Motivul pentru a pune în așteptare,
+Reason for Hold,Motiv pentru reținere,
+Reason for hold: ,Motivul de reținere:,
+Receipt,Chitanţă,
+Receipt document must be submitted,Document primire trebuie să fie depuse,
+Receivable,De încasat,
+Receivable Account,Cont Încasări,
+Received,Primit,
+Received On,Primit la,
+Received Quantity,Cantitate primită,
+Received Stock Entries,Înscrierile primite,
+Receiver List is empty. Please create Receiver List,Receptor Lista goala. Vă rugăm să creați Receiver Lista,
+Recipients,Destinatarii,
+Reconcile,Reconcilierea,
+"Record of all communications of type email, phone, chat, visit, etc.","Înregistrare a tuturor comunicărilor de tip e-mail, telefon, chat, vizita, etc.",
+Records,Înregistrări,
+Redirect URL,Redirecționare URL-ul,
+Ref,Re,
+Ref Date,Ref Data,
+Reference,Referință,
+Reference #{0} dated {1},Reference # {0} din {1},
+Reference Date,Data de referință,
+Reference Doctype must be one of {0},Referința Doctype trebuie să fie una dintre {0},
+Reference Document,Documentul de referință,
+Reference Document Type,Referință Document Type,
+Reference No & Reference Date is required for {0},Nu referință și de referință Data este necesar pentru {0},
+Reference No and Reference Date is mandatory for Bank transaction,De referință nr și de referință Data este obligatorie pentru tranzacție bancară,
+Reference No is mandatory if you entered Reference Date,De referință nu este obligatorie în cazul în care ați introdus Reference Data,
+Reference No.,Numărul de referință,
+Reference Number,Numar de referinta,
+Reference Owner,Proprietar Referință,
+Reference Type,Tipul Referință,
+"Reference: {0}, Item Code: {1} and Customer: {2}","Referință: {0}, Cod articol: {1} și Client: {2}",
+References,Referințe,
+Refresh Token,Actualizează Indicativ,
+Region,Regiune,
+Register,Înregistrare,
+Reject,Respinge,
+Rejected,Respinse,
+Related,Legate de,
+Relation with Guardian1,Relația cu Guardian1,
+Relation with Guardian2,Relația cu Guardian2,
+Release Date,Data eliberării,
+Reload Linked Analysis,Reîncărcați Analiza Legată,
+Remaining,Rămas,
+Remaining Balance,Balanța rămasă,
+Remarks,Remarci,
+Reminder to update GSTIN Sent,Memento pentru actualizarea mesajului GSTIN Trimis,
+Remove item if charges is not applicable to that item,Eliminați element cazul în care costurile nu se aplică în acest element,
+Removed items with no change in quantity or value.,Articole eliminate fară nici o schimbare de cantitate sau  valoare.,
+Reopen,Redeschide,
+Reorder Level,Nivel pentru re-comanda,
+Reorder Qty,Cantitatea de comandat,
+Repeat Customer Revenue,Repetați Venituri Clienți,
+Repeat Customers,Clienții repetate,
+Replace BOM and update latest price in all BOMs,Înlocuiește BOM și actualizează prețul recent în toate BOM-urile,
+Replied,A răspuns:,
+Replies,Răspunsuri,
+Report,Raport,
+Report Builder,Constructor Raport,
+Report Type,Tip Raport,
+Report Type is mandatory,Tip Raport obligatoriu,
+Reports,Rapoarte,
+Reqd By Date,Cerere livrare la data de,
+Reqd Qty,Reqd Cantitate,
+Request for Quotation,Cerere de ofertă,
+Request for Quotations,Cerere de Oferte,
+Request for Raw Materials,Cerere pentru materii prime,
+Request for purchase.,Cerere de achizitie.,
+Request for quotation.,Cerere de ofertă.,
+Requested Qty,Cant. Solicitată,
+"Requested Qty: Quantity requested for purchase, but not ordered.","A solicitat Cantitate: Cantitatea solicitate pentru achiziții, dar nu a ordonat.",
+Requesting Site,Solicitarea site-ului,
+Requesting payment against {0} {1} for amount {2},Se solicita plata contra {0} {1} pentru suma {2},
+Requestor,care a făcut cererea,
+Required On,Cerut pe,
+Required Qty,Cantitate ceruta,
+Required Quantity,Cantitatea necesară,
+Reschedule,Reprogramează,
+Research,Cercetare,
+Research & Development,Cercetare & Dezvoltare,
+Researcher,Cercetător,
+Resend Payment Email,Retrimiteți e-mail-ul de plată,
+Reserve Warehouse,Rezervați Depozitul,
+Reserved Qty,Cant. rezervata,
+Reserved Qty for Production,Cant. rezervata pentru producție,
+Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Cantitate rezervată pentru producție: cantitate de materii prime pentru fabricarea articolelor de fabricație.,
+"Reserved Qty: Quantity ordered for sale, but not delivered.","Rezervate Cantitate: Cantitatea comandat de vânzare, dar nu livrat.",
+Reserved Warehouse is mandatory for Item {0} in Raw Materials supplied,Depozitul rezervat este obligatoriu pentru articolul {0} din materiile prime furnizate,
+Reserved for manufacturing,Rezervat pentru fabricare,
+Reserved for sale,Rezervat pentru vânzare,
+Reserved for sub contracting,Rezervat pentru subcontractare,
+Resistant,Rezistent,
+Resolve error and upload again.,Rezolvați eroarea și încărcați din nou.,
+Responsibilities,responsabilităţi,
+Rest Of The World,Restul lumii,
+Restart Subscription,Reporniți Abonament,
+Restaurant,Restaurant,
+Result Date,Data rezultatului,
+Result already Submitted,Rezultatul deja trimis,
+Resume,Reluare,
+Retail,Cu amănuntul,
+Retail & Wholesale,Retail & Wholesale,
+Retail Operations,Operațiunile de vânzare cu amănuntul,
+Retained Earnings,Venituri reținute,
+Retention Stock Entry,Reținerea stocului,
+Retention Stock Entry already created or Sample Quantity not provided,Reținerea stocului de stocare deja creată sau Cantitatea de eșantion care nu a fost furnizată,
+Return,Întoarcere,
+Return / Credit Note,Revenire / credit Notă,
+Return / Debit Note,Returnare / debit Notă,
+Returns,Se intoarce,
+Reverse Journal Entry,Intrare în jurnal invers,
+Review Invitation Sent,Examinarea invitației trimisă,
+Review and Action,Revizuire și acțiune,
+Role,Rol,
+Rooms Booked,Camere rezervate,
+Root Company,Companie de rădăcină,
+Root Type,Rădăcină Tip,
+Root Type is mandatory,Rădăcină de tip este obligatorie,
+Root cannot be edited.,Rădăcină nu poate fi editat.,
+Root cannot have a parent cost center,Rădăcină nu poate avea un centru de cost părinte,
+Round Off,Rotunji,
+Rounded Total,Rotunjite total,
+Route,Traseu,
+Row # {0}: ,Rând # {0}:,
+Row # {0}: Batch No must be same as {1} {2},Row # {0}: Lot nr trebuie să fie aceeași ca și {1} {2},
+Row # {0}: Cannot return more than {1} for Item {2},Row # {0}: nu se pot întoarce mai mult {1} pentru postul {2},
+Row # {0}: Rate cannot be greater than the rate used in {1} {2},Rândul # {0}: Rata nu poate fi mai mare decât rata folosită în {1} {2},
+Row # {0}: Serial No is mandatory,Row # {0}: Nu serial este obligatorie,
+Row # {0}: Serial No {1} does not match with {2} {3},Row # {0}: Serial No {1} nu se potrivește cu {2} {3},
+Row #{0} (Payment Table): Amount must be negative,Rândul # {0} (tabelul de plată): Suma trebuie să fie negativă,
+Row #{0} (Payment Table): Amount must be positive,Rândul # {0} (tabelul de plată): Suma trebuie să fie pozitivă,
+Row #{0}: Account {1} does not belong to company {2},Rândul # {0}: Contul {1} nu aparține companiei {2},
+Row #{0}: Allocated Amount cannot be greater than outstanding amount.,Rândul # {0}: Suma alocată nu poate fi mai mare decât suma rămasă.,
+"Row #{0}: Asset {1} cannot be submitted, it is already {2}","Rând # {0}: {1} activ nu poate fi prezentat, este deja {2}",
+Row #{0}: Cannot set Rate if amount is greater than billed amount for Item {1}.,Rândul # {0}: nu se poate seta Rata dacă suma este mai mare decât suma facturată pentru articolul {1}.,
+Row #{0}: Clearance date {1} cannot be before Cheque Date {2},Rând # {0}: Data de lichidare {1} nu poate fi înainte de Cheque Data {2},
+Row #{0}: Duplicate entry in References {1} {2},Rândul # {0}: intrarea duplicat în referințe {1} {2},
+Row #{0}: Expected Delivery Date cannot be before Purchase Order Date,Row # {0}: Data livrării așteptată nu poate fi înainte de data comenzii de achiziție,
+Row #{0}: Item added,Rândul # {0}: articol adăugat,
+Row #{0}: Journal Entry {1} does not have account {2} or already matched against another voucher,Rând # {0}: Jurnal de intrare {1} nu are cont {2} sau deja compensată împotriva unui alt voucher,
+Row #{0}: Not allowed to change Supplier as Purchase Order already exists,Row # {0}: Nu este permis să schimbe furnizorul ca Comandă există deja,
+Row #{0}: Please set reorder quantity,Row # {0}: Va rugam sa seta cantitatea reordona,
+Row #{0}: Please specify Serial No for Item {1},Rând # {0}: Vă rugăm să specificați Nu serial pentru postul {1},
+Row #{0}: Qty increased by 1,Rândul # {0}: cantitatea a crescut cu 1,
+Row #{0}: Rate must be same as {1}: {2} ({3} / {4}) ,Row # {0}: Rata trebuie să fie aceeași ca și {1}: {2} ({3} / {4}),
+Row #{0}: Reference Document Type must be one of Expense Claim or Journal Entry,Rândul # {0}: Tipul de document de referință trebuie să fie una dintre revendicările de cheltuieli sau intrări în jurnal,
+"Row #{0}: Reference Document Type must be one of Purchase Order, Purchase Invoice or Journal Entry","Rând # {0}: Tip document de referință trebuie să fie unul dintre comandă cumparare, factură sau Jurnal de intrare",
+Row #{0}: Rejected Qty can not be entered in Purchase Return,Row # {0}: Respins Cantitate nu pot fi introduse în Purchase Întoarcere,
+Row #{0}: Rejected Warehouse is mandatory against rejected Item {1},Row # {0}: Respins Warehouse este obligatorie împotriva postul respins {1},
+Row #{0}: Reqd by Date cannot be before Transaction Date,Rândul # {0}: Reqd by Date nu poate fi înainte de data tranzacției,
+Row #{0}: Set Supplier for item {1},Row # {0}: Set Furnizor de produs {1},
+Row #{0}: Status must be {1} for Invoice Discounting {2},Rândul # {0}: starea trebuie să fie {1} pentru reducerea facturilor {2},
+"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","Rândul # {0}: lotul {1} are doar {2} qty. Selectați un alt lot care are {3} qty disponibil sau împărți rândul în mai multe rânduri, pentru a livra / emite din mai multe loturi",
+Row #{0}: Timings conflicts with row {1},Rând # {0}: conflicte timpilor cu rândul {1},
+Row #{0}: {1} can not be negative for item {2},Row # {0}: {1} nu poate fi negativ pentru elementul {2},
+Row No {0}: Amount cannot be greater than Pending Amount against Expense Claim {1}. Pending Amount is {2},Rândul nr {0}: Suma nu poate fi mai mare decât așteptarea Suma împotriva revendicării cheltuieli {1}. În așteptarea Suma este {2},
+Row {0} : Operation is required against the raw material item {1},Rândul {0}: operația este necesară împotriva elementului de materie primă {1},
+Row {0}# Allocated amount {1} cannot be greater than unclaimed amount {2},Rândul {0} # Suma alocată {1} nu poate fi mai mare decât suma nerevendicată {2},
+Row {0}# Item {1} cannot be transferred more than {2} against Purchase Order {3},Rândul {0} # Articol {1} nu poate fi transferat mai mult de {2} față de comanda de aprovizionare {3},
+Row {0}# Paid Amount cannot be greater than requested advance amount,Rândul {0} # Suma plătită nu poate fi mai mare decât suma solicitată în avans,
+Row {0}: Activity Type is mandatory.,Rândul {0}: Activitatea de tip este obligatorie.,
+Row {0}: Advance against Customer must be credit,Row {0}: avans Clientul trebuie să fie de credit,
+Row {0}: Advance against Supplier must be debit,Row {0}: Advance împotriva Furnizor trebuie să fie de debit,
+Row {0}: Allocated amount {1} must be less than or equals to Payment Entry amount {2},Rândul {0}: Suma alocată {1} trebuie să fie mai mic sau egal cu suma de plată de intrare {2},
+Row {0}: Allocated amount {1} must be less than or equals to invoice outstanding amount {2},Rândul {0}: Suma alocată {1} trebuie să fie mai mic sau egal cu factura suma restanta {2},
+Row {0}: An Reorder entry already exists for this warehouse {1},Rând {0}: O intrare de Comandă există deja pentru acest depozit {1},
+Row {0}: Bill of Materials not found for the Item {1},Rândul {0}: Lista de materiale nu a fost găsit pentru elementul {1},
+Row {0}: Conversion Factor is mandatory,Rând {0}: Factorul de conversie este obligatorie,
+Row {0}: Cost center is required for an item {1},Rând {0}: este necesar un centru de cost pentru un element {1},
+Row {0}: Credit entry can not be linked with a {1},Rând {0}: intrare de credit nu poate fi legat de o {1},
+Row {0}: Currency of the BOM #{1} should be equal to the selected currency {2},Rând {0}: Moneda de BOM # {1} ar trebui să fie egal cu moneda selectată {2},
+Row {0}: Debit entry can not be linked with a {1},Rând {0}: debit de intrare nu poate fi legat de o {1},
+Row {0}: Depreciation Start Date is required,Rând {0}: este necesară începerea amortizării,
+Row {0}: Enter location for the asset item {1},Rând {0}: introduceți locația pentru elementul de activ {1},
+Row {0}: Exchange Rate is mandatory,Row {0}: Cursul de schimb este obligatoriu,
+Row {0}: Expected Value After Useful Life must be less than Gross Purchase Amount,Rând {0}: Valoarea așteptată după viața utilă trebuie să fie mai mică decât suma brută de achiziție,
+Row {0}: From Time and To Time is mandatory.,Rândul {0}: De la timp și de Ora este obligatorie.,
+Row {0}: From Time and To Time of {1} is overlapping with {2},Rândul {0}: De la timp și Ora {1} se suprapune cu {2},
+Row {0}: From time must be less than to time,Rândul {0}: Din timp trebuie să fie mai mic decât în timp,
+Row {0}: Hours value must be greater than zero.,Rândul {0}: Valoarea ore trebuie să fie mai mare decât zero.,
+Row {0}: Invalid reference {1},Rândul {0}: referință invalid {1},
+Row {0}: Party / Account does not match with {1} / {2} in {3} {4},Rând {0}: Parte / conturi nu se potrivește cu {1} / {2} din {3} {4},
+Row {0}: Party Type and Party is required for Receivable / Payable account {1},Row {0}: Partidul Tipul și Partidul este necesar pentru creanțe / cont plateste {1},
+Row {0}: Payment against Sales/Purchase Order should always be marked as advance,Rând {0}: Plata împotriva Vânzări / Ordinului de Procurare ar trebui să fie întotdeauna marcate ca avans,
+Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,"Rând {0}: Vă rugăm să verificați ""Este Advance"" împotriva Cont {1} dacă aceasta este o intrare în avans.",
+Row {0}: Please set at Tax Exemption Reason in Sales Taxes and Charges,Rândul {0}: Vă rugăm să setați motivul scutirii de taxe în impozitele și taxele de vânzare,
+Row {0}: Please set the Mode of Payment in Payment Schedule,Rândul {0}: Vă rugăm să setați modul de plată în programul de plată,
+Row {0}: Please set the correct code on Mode of Payment {1},Rândul {0}: Vă rugăm să setați codul corect pe Modul de plată {1},
+Row {0}: Qty is mandatory,Rând {0}: Cant este obligatorie,
+Row {0}: Quality Inspection rejected for item {1},Rândul {0}: Inspecția de calitate a fost respinsă pentru articolul {1},
+Row {0}: UOM Conversion Factor is mandatory,Row {0}: Factorul de conversie UOM este obligatorie,
+Row {0}: select the workstation against the operation {1},Rând {0}: selectați stația de lucru pentru operația {1},
+Row {0}: {1} Serial numbers required for Item {2}. You have provided {3}.,Rând {0}: {1} Numerele de serie necesare pentru articolul {2}. Ați oferit {3}.,
+Row {0}: {1} must be greater than 0,Rând {0}: {1} trebuie să fie mai mare de 0,
+Row {0}: {1} {2} does not match with {3},Rând {0}: {1} {2} nu se potrivește cu {3},
+Row {0}:Start Date must be before End Date,Rând {0}: Data începerii trebuie să fie înainte de Data de încheiere,
+Rows with duplicate due dates in other rows were found: {0},Au fost găsite rânduri cu date scadente în alte rânduri: {0},
+Rules for adding shipping costs.,Reguli pentru a adăuga costurile de transport maritim.,
+Rules for applying pricing and discount.,Normele de aplicare de stabilire a prețurilor și de scont.,
+S.O. No.,SO No.,
+SGST Amount,Suma SGST,
+SO Qty,SO Cantitate,
+Safety Stock,Stoc de siguranta,
+Salary,Salariu,
+Salary Slip ID,ID-ul de salarizare alunecare,
+Salary Slip of employee {0} already created for this period,Platā angajatului {0} deja creat pentru această perioadă,
+Salary Slip of employee {0} already created for time sheet {1},Salariu de alunecare angajat al {0} deja creat pentru foaie de timp {1},
+Salary Slip submitted for period from {0} to {1},Plata salariului trimisă pentru perioada de la {0} la {1},
+Salary Structure Assignment for Employee already exists,Atribuirea structurii salariale pentru angajat există deja,
+Salary Structure Missing,Structura de salarizare lipsă,
+Salary Structure must be submitted before submission of Tax Ememption Declaration,Structura salariului trebuie depusă înainte de depunerea Declarației de eliberare de impozite,
+Salary Structure not found for employee {0} and date {1},Structura salarială nu a fost găsită pentru angajat {0} și data {1},
+Salary Structure should have flexible benefit component(s) to dispense benefit amount,Structura salariilor ar trebui să aibă componente flexibile pentru beneficiu pentru a renunța la suma beneficiilor,
+"Salary already processed for period between {0} and {1}, Leave application period cannot be between this date range.","Salariu au fost deja procesate pentru perioada între {0} și {1}, Lăsați perioada de aplicare nu poate fi între acest interval de date.",
+Sales,Vânzări,
+Sales Account,Cont de vanzari,
+Sales Expenses,Cheltuieli de Vânzare,
+Sales Funnel,Pâlnie Vânzări,
+Sales Invoice,Factură de vânzări,
+Sales Invoice {0} has already been submitted,Factură de vânzări {0} a fost deja prezentat,
+Sales Invoice {0} must be cancelled before cancelling this Sales Order,Factură de vânzări {0} trebuie anulată înainte de a anula această comandă de vânzări,
+Sales Manager,Director De Vânzări,
+Sales Master Manager,Vânzări Maestru de Management,
+Sales Order,Comandă de vânzări,
+Sales Order Item,Comandă de vânzări Postul,
+Sales Order required for Item {0},Ordinul de vânzări necesar pentru postul {0},
+Sales Order to Payment,Comanda de vânzări la plată,
+Sales Order {0} is not submitted,Comandă de vânzări {0} nu este prezentat,
+Sales Order {0} is not valid,Comandă de vânzări {0} nu este valid,
+Sales Order {0} is {1},Comandă de vânzări {0} este {1},
+Sales Orders,Comenzi de Vânzări,
+Sales Partner,Partener de vânzări,
+Sales Pipeline,Conductă de Vânzări,
+Sales Price List,Lista de prețuri de vânzare,
+Sales Return,Vânzări de returnare,
+Sales Summary,Rezumat Vânzări,
+Sales Tax Template,Format impozitul pe vânzări,
+Sales Team,Echipa de vânzări,
+Sales User,Vânzări de utilizare,
+Sales and Returns,Vânzări și returnări,
+Sales campaigns.,Campanii de vânzări.,
+Sales orders are not available for production,Comenzile de vânzări nu sunt disponibile pentru producție,
+Salutation,Salut,
+Same Company is entered more than once,Aceeași societate este înscris de mai multe ori,
+Same item cannot be entered multiple times.,Același articol nu poate fi introdus de mai multe ori.,
+Same supplier has been entered multiple times,Același furnizor a fost introdus de mai multe ori,
+Sample,Exemplu,
+Sample Collection,Colectie de mostre,
+Sample quantity {0} cannot be more than received quantity {1},Cantitatea de probe {0} nu poate fi mai mare decât cantitatea primită {1},
+Sanctioned,consacrat,
+Sanctioned Amount,Sancționate Suma,
+Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Sancționat Suma nu poate fi mai mare decât revendicarea Suma în rândul {0}.,
+Sand,Nisip,
+Saturday,Sâmbătă,
+Saved,Salvat,
+Saving {0},Salvarea {0},
+Scan Barcode,Scanează codul de bare,
+Schedule,Program,
+Schedule Admission,Programați admiterea,
+Schedule Course,Curs orar,
+Schedule Date,Program Data,
+Schedule Discharge,Programați descărcarea,
+Scheduled,Programat,
+Scheduled Upto,Programată până,
+"Schedules for {0} overlaps, do you want to proceed after skiping overlaped slots ?","Programări pentru suprapunerile {0}, doriți să continuați după ce ați sări peste sloturile suprapuse?",
+Score cannot be greater than Maximum Score,Scorul nu poate fi mai mare decât Scorul maxim,
+Score must be less than or equal to 5,Scorul trebuie să fie mai mică sau egală cu 5,
+Scorecards,Scorecardurilor,
+Scrapped,dezmembrate,
+Search,Căutare,
+Search Results,rezultatele cautarii,
+Search Sub Assemblies,Căutare subansambluri,
+"Search by item code, serial number, batch no or barcode","Căutați după codul de articol, numărul de serie, numărul lotului sau codul de bare",
+"Seasonality for setting budgets, targets etc.","Sezonalitatea pentru stabilirea bugetelor, obiective etc.",
+Secret Key,Cheie secreta,
+Secretary,Secretar,
+Section Code,Codul secțiunii,
+Secured Loans,Împrumuturi garantate,
+Securities & Commodity Exchanges,A Valorilor Mobiliare și Burselor de Mărfuri,
+Securities and Deposits,Titluri de valoare și depozite,
+See All Articles,Vezi toate articolele,
+See all open tickets,Vedeți toate biletele deschise,
+See past orders,Vezi comenzile anterioare,
+See past quotations,Vezi citate anterioare,
+Select,Selectează,
+Select Alternate Item,Selectați elementul alternativ,
+Select Attribute Values,Selectați valorile atributelor,
+Select BOM,Selectați BOM,
+Select BOM and Qty for Production,Selectați BOM și Cant pentru producție,
+"Select BOM, Qty and For Warehouse","Selectați BOM, Qty și For Warehouse",
+Select Batch,Selectați lotul,
+Select Batch Numbers,Selectați numerele lotului,
+Select Brand...,Selectați marca ...,
+Select Company,Selectați Companie,
+Select Company...,Selectați compania ...,
+Select Customer,Selectați Client,
+Select Days,Selectați Zile,
+Select Default Supplier,Selectați Furnizor implicit,
+Select DocType,Selectați DocType,
+Select Fiscal Year...,Selectați Anul fiscal ...,
+Select Item (optional),Selectați elementul (opțional),
+Select Items based on Delivery Date,Selectați elementele bazate pe data livrării,
+Select Items to Manufacture,Selectați elementele de Fabricare,
+Select Loyalty Program,Selectați programul de loialitate,
+Select Patient,Selectați pacientul,
+Select Possible Supplier,Selectați Posibil furnizor,
+Select Property,Selectați proprietatea,
+Select Quantity,Selectați Cantitate,
+Select Serial Numbers,Selectați numerele de serie,
+Select Target Warehouse,Selectați Target Warehouse,
+Select Warehouse...,Selectați Depozit ...,
+Select an account to print in account currency,Selectați un cont pentru a imprima în moneda contului,
+Select an employee to get the employee advance.,Selectați un angajat pentru a avansa angajatul.,
+Select at least one value from each of the attributes.,Selectați cel puțin o valoare din fiecare dintre atribute.,
+Select change amount account,cont Selectați suma schimbare,
+Select company first,Selectați mai întâi compania,
+Select students manually for the Activity based Group,Selectați manual elevii pentru grupul bazat pe activități,
+Select the customer or supplier.,Selectați clientul sau furnizorul.,
+Select the nature of your business.,Selectați natura afacerii dumneavoastră.,
+Select the program first,Selectați mai întâi programul,
+Select to add Serial Number.,Selectați pentru a adăuga număr de serie.,
+Select your Domains,Selectați-vă domeniile,
+Selected Price List should have buying and selling fields checked.,Lista de prețuri selectată ar trebui să verifice câmpurile de cumpărare și vânzare.,
+Sell,Vinde,
+Selling,Vânzare,
+Selling Amount,Vanzarea Suma,
+Selling Price List,Listă Prețuri de Vânzare,
+Selling Rate,Rata de vanzare,
+"Selling must be checked, if Applicable For is selected as {0}","De vânzare trebuie să fie verificate, dacă este cazul Pentru este selectat ca {0}",
+Send Grant Review Email,Trimiteți e-mailul de examinare a granturilor,
+Send Now,Trimite Acum,
+Send SMS,Trimite SMS,
+Send mass SMS to your contacts,Trimite SMS-uri în masă a persoanelor de contact,
+Sensitivity,Sensibilitate,
+Sent,Trimis,
+Serial No and Batch,Serial și Lot nr,
+Serial No is mandatory for Item {0},Nu serial este obligatorie pentru postul {0},
+Serial No {0} does not belong to Batch {1},Numărul de serie {0} nu aparține lotului {1},
+Serial No {0} does not belong to Delivery Note {1},Serial No {0} nu aparține de livrare Nota {1},
+Serial No {0} does not belong to Item {1},Serial Nu {0} nu aparține postul {1},
+Serial No {0} does not belong to Warehouse {1},Serial Nu {0} nu apartine Warehouse {1},
+Serial No {0} does not belong to any Warehouse,Serial nr {0} nu apartine nici unei Warehouse,
+Serial No {0} does not exist,Serial Nu {0} nu există,
+Serial No {0} has already been received,Serial Nu {0} a fost deja primit,
+Serial No {0} is under maintenance contract upto {1},Serial Nu {0} este sub contract de întreținere pana {1},
+Serial No {0} is under warranty upto {1},Serial Nu {0} este în garanție pana {1},
+Serial No {0} not found,Serial nr {0} nu a fost găsit,
+Serial No {0} not in stock,Serial Nu {0} nu este în stoc,
+Serial No {0} quantity {1} cannot be a fraction,Serial Nu {0} {1} cantitate nu poate fi o fracțiune,
+Serial Nos Required for Serialized Item {0},Serial nr necesare pentru postul serializat {0},
+Serial Number: {0} is already referenced in Sales Invoice: {1},Numărul de serie: {0} este deja menționat în factura de vânzare: {1},
+Serial Numbers,Numere de serie,
+Serial Numbers in row {0} does not match with Delivery Note,Numerele de serie din rândul {0} nu se potrivesc cu Nota de livrare,
+Serial no {0} has been already returned,Numărul serial {0} nu a fost deja returnat,
+Serial number {0} entered more than once,Număr de serie {0} a intrat de mai multe ori,
+Serialized Inventory,Inventarul serializat,
+Series Updated,Seria Actualizat,
+Series Updated Successfully,Seria Actualizat cu succes,
+Series is mandatory,Seria este obligatorie,
+Series {0} already used in {1},Series {0} folosit deja în {1},
+Service,Servicii,
+Service Expense,Cheltuieli de serviciu,
+Service Level Agreement,Acord privind nivelul serviciilor,
+Service Level Agreement.,Acord privind nivelul serviciilor.,
+Service Level.,Nivel de servicii.,
+Service Stop Date cannot be after Service End Date,Dată de încetare a serviciului nu poate fi după Data de încheiere a serviciului,
+Service Stop Date cannot be before Service Start Date,Data de începere a serviciului nu poate fi înaintea datei de începere a serviciului,
+Services,Servicii,
+"Set Default Values like Company, Currency, Current Fiscal Year, etc.","Seta valorile implicite, cum ar fi Compania, valutar, Current Anul fiscal, etc",
+Set Details,Setați detalii,
+Set New Release Date,Setați noua dată de lansare,
+Set Project and all Tasks to status {0}?,Setați proiectul și toate sarcinile la starea {0}?,
+Set Status,Setați starea,
+Set Tax Rule for shopping cart,Set Regula fiscală pentru coșul de cumpărături,
+Set as Closed,Setați ca închis,
+Set as Completed,Setați ca Finalizat,
+Set as Default,Setat ca implicit,
+Set as Lost,Setați ca Lost,
+Set as Open,Setați ca Deschis,
+Set default inventory account for perpetual inventory,Setați contul inventarului implicit pentru inventarul perpetuu,
+Set this if the customer is a Public Administration company.,Setați acest lucru dacă clientul este o companie de administrare publică.,
+Set {0} in asset category {1} or company {2},Setați {0} în categoria de active {1} sau în companie {2},
+"Setting Events to {0}, since the Employee attached to the below Sales Persons does not have a User ID{1}","Setarea Evenimente la {0}, deoarece angajatul atașat la mai jos de vânzare Persoanele care nu are un ID de utilizator {1}",
+Setting defaults,Setarea valorilor implicite,
+Setting up Email,Configurarea e-mail,
+Setting up Email Account,Configurarea contului de e-mail,
+Setting up Employees,Configurarea angajati,
+Setting up Taxes,Configurarea Impozite,
+Setting up company,Înființarea companiei,
+Settings,Setări,
+"Settings for online shopping cart such as shipping rules, price list etc.","Setări pentru cosul de cumparaturi on-line, cum ar fi normele de transport maritim, lista de preturi, etc.",
+Settings for website homepage,Setările pentru pagina de start site-ul web,
+Settings for website product listing,Setări pentru listarea produselor site-ului web,
+Settled,Stabilit,
+Setup Gateway accounts.,Setup conturi Gateway.,
+Setup SMS gateway settings,Setări de configurare SMS gateway-ul,
+Setup cheque dimensions for printing,Dimensiunile de instalare pentru imprimare de verificare,
+Setup default values for POS Invoices,Configurați valorile implicite pentru facturile POS,
+Setup mode of POS (Online / Offline),Modul de configurare a POS (online / offline),
+Setup your Institute in ERPNext,Configurați-vă Institutul în ERPNext,
+Share Balance,Soldul acțiunilor,
+Share Ledger,Împărțiți Registru Contabil,
+Share Management,Gestiune partajare,
+Share Transfer,Trimiteți transferul,
+Share Type,Tipul de distribuire,
+Shareholder,Acționar,
+Ship To State,Transport către stat,
+Shipments,Transporturile,
+Shipping,Transport,
+Shipping Address,Adresa de livrare,
+"Shipping Address does not have country, which is required for this Shipping Rule","Adresa de expediere nu are țara, care este necesară pentru această regulă de transport",
+Shipping rule only applicable for Buying,Regulă de expediere aplicabilă numai pentru cumpărături,
+Shipping rule only applicable for Selling,Regulă de expediere aplicabilă numai pentru vânzare,
+Shopify Supplier,Furnizor de magazin,
+Shopping Cart,Cosul de cumparaturi,
+Shopping Cart Settings,Setări Cosul de cumparaturi,
+Short Name,Numele scurt,
+Shortage Qty,Lipsă Cantitate,
+Show Completed,Spectacol finalizat,
+Show Cumulative Amount,Afișați suma cumulată,
+Show Employee,Afișați angajatul,
+Show Open,Afișați deschis,
+Show Opening Entries,Afișare intrări de deschidere,
+Show Payment Details,Afișați detaliile de plată,
+Show Return Entries,Afișați înregistrările returnate,
+Show Salary Slip,Afișează Salariu alunecare,
+Show Variant Attributes,Afișați atribute variate,
+Show Variants,Arată Variante,
+Show closed,Afișează închis,
+Show exploded view,Afișați vizualizarea explodată,
+Show only POS,Afișați numai POS,
+Show unclosed fiscal year's P&L balances,Afișați soldurile L P &amp; anul fiscal unclosed lui,
+Show zero values,Afiseaza valorile nule,
+Sick Leave,A concediului medical,
+Silt,Nămol,
+Single Variant,Varianta unică,
+Single unit of an Item.,Unitate unică a unui articol.,
+"Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}","Scăderea listei de alocare pentru următorii angajați, deoarece înregistrările privind alocarea listei există deja împotriva acestora. {0}",
+"Skipping Salary Structure Assignment for the following employees, as Salary Structure Assignment records already exists against them. {0}","Trecerea alocării structurii salariale pentru următorii angajați, întrucât înregistrările privind structura salariului există deja împotriva lor {0}",
+Slideshow,Slideshow,
+Slots for {0} are not added to the schedule,Sloturile pentru {0} nu sunt adăugate la program,
+Small,Mic,
+Soap & Detergent,Soap & Detergent,
+Software,Software,
+Software Developer,Software Developer,
+Softwares,Softwares,
+Soil compositions do not add up to 100,Compozițiile solului nu adaugă până la 100,
+Sold,Vândut,
+Some emails are invalid,Unele e-mailuri sunt nevalide,
+Some information is missing,Lipsesc unele informații,
+Something went wrong!,Ceva a mers prost!,
+"Sorry, Serial Nos cannot be merged","Ne pare rău, Serial nr nu se pot uni",
+Source,Sursă,
+Source Name,sursa Nume,
+Source Warehouse,Depozit Sursă,
+Source and Target Location cannot be same,Sursa și locația țintă nu pot fi identice,
+Source and target warehouse cannot be same for row {0},Sursă și depozit țintă nu poate fi același pentru rând {0},
+Source and target warehouse must be different,Sursa și depozitul țintă trebuie să fie diferit,
+Source of Funds (Liabilities),Sursa fondurilor (pasive),
+Source warehouse is mandatory for row {0},Depozit sursă este obligatorie pentru rând {0},
+Specified BOM {0} does not exist for Item {1},BOM specificată {0} nu există pentru postul {1},
+Split,Despică,
+Split Batch,Split Lot,
+Split Issue,Emisiune separată,
+Sports,Sport,
+Staffing Plan {0} already exist for designation {1},Planul de personal {0} există deja pentru desemnare {1},
+Standard,Standard,
+Standard Buying,Cumpararea Standard,
+Standard Selling,Vânzarea standard,
+Standard contract terms for Sales or Purchase.,Clauzele contractuale standard pentru vânzări sau de cumpărare.,
+Start Date,Data începerii,
+Start Date of Agreement can't be greater than or equal to End Date.,Data de începere a acordului nu poate fi mai mare sau egală cu data de încheiere.,
+Start Year,Anul de începere,
+"Start and end dates not in a valid Payroll Period, cannot calculate {0}","Datele de început și de încheiere care nu sunt într-o perioadă de salarizare valabilă, nu pot fi calculate {0}",
+"Start and end dates not in a valid Payroll Period, cannot calculate {0}.","Datele de începere și de sfârșit nu se află într-o perioadă de salarizare valabilă, nu pot calcula {0}.",
+Start date should be less than end date for Item {0},Data de începere trebuie să fie mai mică decât data de sfârșit pentru postul {0},
+Start date should be less than end date for task {0},Data de începere ar trebui să fie mai mică decât data de încheiere pentru sarcina {0},
+Start day is greater than end day in task '{0}',Ziua de început este mai mare decât ziua de sfârșit în sarcina &quot;{0}&quot;,
+Start on,Începe,
+State,Stat,
+State/UT Tax,Impozitul de stat / UT,
+Statement of Account,Extras de cont,
+Status must be one of {0},Statusul trebuie să fie unul din {0},
+Stock,Stoc,
+Stock Adjustment,Ajustarea stoc,
+Stock Analytics,Analytics stoc,
+Stock Assets,Active Stoc,
+Stock Available,Stoc disponibil,
+Stock Balance,Stoc Sold,
+Stock Entries already created for Work Order ,Înregistrări stoc deja create pentru comanda de lucru,
+Stock Entry,Stoc de intrare,
+Stock Entry {0} created,Arhivă de intrare {0} creat,
+Stock Entry {0} is not submitted,Stock intrare {0} nu este prezentat,
+Stock Expenses,Cheltuieli stoc,
+Stock In Hand,Stoc în mână,
+Stock Items,stoc,
+Stock Ledger,Registru Contabil Stocuri,
+Stock Ledger Entries and GL Entries are reposted for the selected Purchase Receipts,Stocul Ledger Înscrieri și GL intrările sunt postate pentru selectate Veniturile achiziție,
+Stock Levels,Niveluri stoc,
+Stock Liabilities,Pasive stoc,
+Stock Options,Opțiuni pe acțiuni,
+Stock Qty,Cota stocului,
+Stock Received But Not Billed,"Stock primite, dar nu Considerat",
+Stock Reports,Rapoarte de stoc,
+Stock Summary,Rezumat Stoc,
+Stock Transactions,Tranzacții de stoc,
+Stock UOM,Stoc UOM,
+Stock Value,Valoare stoc,
+Stock balance in Batch {0} will become negative {1} for Item {2} at Warehouse {3},echilibru stoc în Serie {0} va deveni negativ {1} pentru postul {2} la Depozitul {3},
+Stock cannot be updated against Delivery Note {0},Stock nu poate fi actualizat împotriva livrare Nota {0},
+Stock cannot be updated against Purchase Receipt {0},Stock nu poate fi actualizat cu confirmare de primire {0} Purchase,
+Stock cannot exist for Item {0} since has variants,Stock nu poate exista pentru postul {0} deoarece are variante,
+Stock transactions before {0} are frozen,Tranzacțiilor bursiere înainte de {0} sunt înghețate,
+Stop,Oprire,
+Stopped,Oprita,
+"Stopped Work Order cannot be cancelled, Unstop it first to cancel","Oprirea comenzii de lucru nu poate fi anulată, deblocați mai întâi pentru a anula",
+Stores,Magazine,
+Structures have been assigned successfully,Structurile au fost alocate cu succes,
+Student,Student,
+Student Activity,Activitatea studenților,
+Student Address,Adresa studenților,
+Student Admissions,Admitere Student,
+Student Attendance,Participarea studenților,
+"Student Batches help you track attendance, assessments and fees for students","Student Sarjele ajută să urmăriți prezență, evaluările și taxele pentru studenți",
+Student Email Address,Adresa de e-mail Student,
+Student Email ID,ID-ul de student e-mail,
+Student Group,Grupul studențesc,
+Student Group Strength,Grupul Forței Studenților,
+Student Group is already updated.,Grupul de studenți este deja actualizat.,
+Student Group: ,Grupul studenților:,
+Student ID,Carnet de student,
+Student ID: ,Carnet de student:,
+Student LMS Activity,Activitatea LMS a studenților,
+Student Mobile No.,Elev mobil Nr,
+Student Name,Numele studentului,
+Student Name: ,Numele studentului:,
+Student Report Card,Student Card de raportare,
+Student is already enrolled.,Student este deja înscris.,
+Student {0} - {1} appears Multiple times in row {2} & {3},Elev {0} - {1} apare ori multiple în rândul {2} &amp; {3},
+Student {0} does not belong to group {1},Studentul {0} nu aparține grupului {1},
+Student {0} exist against student applicant {1},Student {0} există împotriva solicitantului de student {1},
+"Students are at the heart of the system, add all your students","Studenții sunt în centrul sistemului, adăugați toți elevii",
+Sub Assemblies,Sub Assemblies,
+Sub Type,Subtipul,
+Sub-contracting,Sub-contractare,
+Subcontract,subcontract,
+Subject,Subiect,
+Submit,Trimite,
+Submit Proof,Trimiteți dovada,
+Submit Salary Slip,Prezenta Salariul Slip,
+Submit this Work Order for further processing.,Trimiteți acest ordin de lucru pentru o prelucrare ulterioară.,
+Submit this to create the Employee record,Trimiteți acest lucru pentru a crea înregistrarea angajatului,
+Submitting Salary Slips...,Trimiterea buletinelor de salariu ...,
+Subscription,Abonament,
+Subscription Management,Managementul abonamentelor,
+Subscriptions,Abonamente,
+Subtotal,subtotală,
+Successful,De succes,
+Successfully Reconciled,Împăcați cu succes,
+Successfully Set Supplier,Setați cu succes furnizorul,
+Successfully created payment entries,Au fost create intrări de plată cu succes,
+Successfully deleted all transactions related to this company!,Șters cu succes toate tranzacțiile legate de aceasta companie!,
+Sum of Scores of Assessment Criteria needs to be {0}.,Suma Scorurile de criterii de evaluare trebuie să fie {0}.,
+Sum of points for all goals should be 100. It is {0},Suma de puncte pentru toate obiectivele ar trebui să fie 100. este {0},
+Summary,Rezumat,
+Summary for this month and pending activities,Rezumat pentru această lună și activități în așteptarea,
+Summary for this week and pending activities,Rezumat pentru această săptămână și a activităților în curs,
+Sunday,Duminică,
+Suplier,furnizo,
+Supplier,Furnizor,
+Supplier Group,Grupul de furnizori,
+Supplier Group master.,Managerul grupului de furnizori.,
+Supplier Id,Furnizor Id,
+Supplier Invoice Date cannot be greater than Posting Date,Furnizor Data facturii nu poate fi mai mare decât postare Data,
+Supplier Invoice No,Furnizor Factura Nu,
+Supplier Invoice No exists in Purchase Invoice {0},Furnizor Factura nr există în factură Purchase {0},
+Supplier Name,Furnizor Denumire,
+Supplier Part No,Furnizor de piesa,
+Supplier Quotation,Furnizor ofertă,
+Supplier Scorecard,Scorul de performanță al furnizorului,
+Supplier Warehouse mandatory for sub-contracted Purchase Receipt,Furnizor Depozit obligatoriu pentru contractate sub-cumparare Primirea,
+Supplier database.,Baza de date furnizor.,
+Supplier {0} not found in {1},Furnizorul {0} nu a fost găsit în {1},
+Supplier(s),Furnizor (e),
+Supplies made to UIN holders,Materialele furnizate deținătorilor UIN,
+Supplies made to Unregistered Persons,Furnizare pentru persoane neînregistrate,
+Suppliies made to Composition Taxable Persons,Cupluri făcute persoanelor impozabile din componență,
+Supply Type,Tip de aprovizionare,
+Support,Suport,
+Support Analytics,Suport Analytics,
+Support Settings,Setări de sprijin,
+Support Tickets,Bilete de sprijin,
+Support queries from customers.,Interogări de suport din partea clienților.,
+Susceptible,Susceptibil,
+Sync has been temporarily disabled because maximum retries have been exceeded,"Sincronizarea a fost temporar dezactivată, deoarece au fost depășite încercările maxime",
+Syntax error in condition: {0},Eroare de sintaxă în stare: {0},
+Syntax error in formula or condition: {0},Eroare de sintaxă în formulă sau stare: {0},
+System Manager,System Manager,
+TDS Rate %,Rata TDS%,
+Tap items to add them here,Atingeți elementele pentru a le adăuga aici,
+Target,Țintă,
+Target ({}),Țintă ({}),
+Target On,Țintă pe,
+Target Warehouse,Depozit Țintă,
+Target warehouse is mandatory for row {0},Depozit țintă este obligatorie pentru rând {0},
+Task,Sarcină,
+Tasks,Sarcini,
+Tasks have been created for managing the {0} disease (on row {1}),S-au creat sarcini pentru gestionarea bolii {0} (pe rândul {1}),
+Tax,Impozite,
+Tax Assets,Active Fiscale,
+Tax Category,Categoria fiscală,
+Tax Category for overriding tax rates.,Categorie de impozite pentru cote de impozitare superioare.,
+"Tax Category has been changed to ""Total"" because all the Items are non-stock items",Categoria de taxe a fost modificată la &quot;Total&quot; deoarece toate elementele nu sunt elemente stoc,
+Tax ID,ID impozit,
+Tax Id: ,Cod fiscal:,
+Tax Rate,Cota de impozitare,
+Tax Rule Conflicts with {0},Conflicte normă fiscală cu {0},
+Tax Rule for transactions.,Regula de impozit pentru tranzacțiile.,
+Tax Template is mandatory.,Format de impozitare este obligatorie.,
+Tax Withholding rates to be applied on transactions.,Ratele de reținere fiscală aplicabile tranzacțiilor.,
+Tax template for buying transactions.,Șablon taxa pentru tranzacțiilor de cumpărare.,
+Tax template for item tax rates.,Model de impozitare pentru cote de impozit pe articole.,
+Tax template for selling transactions.,Șablon impozit pentru tranzacțiile de vânzare.,
+Taxable Amount,Sumă impozabilă,
+Taxes,Impozite,
+Team Updates,echipa Actualizări,
+Technology,Tehnologia nou-aparuta,
+Telecommunications,Telecomunicații,
+Telephone Expenses,Cheltuieli de telefon,
+Television,Televiziune,
+Template Name,Numele de șablon,
+Template of terms or contract.,Șablon de termeni sau contractului.,
+Templates of supplier scorecard criteria.,Șabloane ale criteriilor privind tabloul de bord al furnizorului.,
+Templates of supplier scorecard variables.,Șabloane ale variabilelor pentru scorurile pentru furnizori.,
+Templates of supplier standings.,Modele de clasificare a furnizorilor.,
+Temporarily on Hold,Temporar în așteptare,
+Temporary,Temporar,
+Temporary Accounts,Conturi temporare,
+Temporary Opening,Deschiderea temporară,
+Terms and Conditions,Termeni si conditii,
+Terms and Conditions Template,Termeni și condiții Format,
+Territory,Teritoriu,
+Test,Test,
+Thank you,Mulțumesc,
+Thank you for your business!,Vă mulțumesc pentru afacerea dvs!,
+The 'From Package No.' field must neither be empty nor it's value less than 1.,"&quot;Din pachetul nr.&quot; câmpul nu trebuie să fie nici gol, nici valoarea lui mai mică decât 1.",
+The Brand,Marca,
+The Item {0} cannot have Batch,Postul {0} nu poate avea Lot,
+The Loyalty Program isn't valid for the selected company,Programul de loialitate nu este valabil pentru compania selectată,
+The Payment Term at row {0} is possibly a duplicate.,"Termenul de plată la rândul {0} este, eventual, un duplicat.",
+The Term End Date cannot be earlier than the Term Start Date. Please correct the dates and try again.,Pe termen Data de încheiere nu poate fi mai devreme decât Start Termen Data. Vă rugăm să corectați datele și încercați din nou.,
+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.,Pe termen Data de încheiere nu poate fi mai târziu de Anul Data de încheiere a anului universitar la care este legat termenul (anului universitar {}). Vă rugăm să corectați datele și încercați din nou.,
+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.,Start Termen Data nu poate fi mai devreme decât data Anul de începere a anului universitar la care este legat termenul (anului universitar {}). Vă rugăm să corectați datele și încercați din nou.,
+The Year End Date cannot be earlier than the Year Start Date. Please correct the dates and try again.,Anul Data de încheiere nu poate fi mai devreme decât data An Start. Vă rugăm să corectați datele și încercați din nou.,
+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.,Valoarea {0} stabilită în această solicitare de plată este diferită de suma calculată a tuturor planurilor de plată: {1}. Asigurați-vă că este corect înainte de a trimite documentul.,
+The day(s) on which you are applying for leave are holidays. You need not apply for leave.,A doua zi (e) pe care se aplica pentru concediu sunt sărbători. Nu trebuie să se aplice pentru concediu.,
+The field From Shareholder cannot be blank,Câmpul From Shareholder nu poate fi gol,
+The field To Shareholder cannot be blank,Câmpul către acționar nu poate fi necompletat,
+The fields From Shareholder and To Shareholder cannot be blank,Câmpurile de la acționar și de la acționar nu pot fi goale,
+The folio numbers are not matching,Numerele folio nu se potrivesc,
+The holiday on {0} is not between From Date and To Date,Vacanta pe {0} nu este între De la data si pana in prezent,
+The name of the institute for which you are setting up this system.,Numele institutului pentru care configurați acest sistem.,
+The name of your company for which you are setting up this system.,Numele companiei dumneavoastră pentru care vă sunt configurarea acestui sistem.,
+The number of shares and the share numbers are inconsistent,Numărul de acțiuni și numerele de acțiuni sunt incoerente,
+The payment gateway account in plan {0} is different from the payment gateway account in this payment request,Contul gateway-ului de plată din plan {0} este diferit de contul gateway-ului de plată din această solicitare de plată,
+The selected BOMs are not for the same item,Cele BOM selectate nu sunt pentru același articol,
+The selected item cannot have Batch,Elementul selectat nu poate avea lot,
+The seller and the buyer cannot be the same,Vânzătorul și cumpărătorul nu pot fi aceleași,
+The shareholder does not belong to this company,Acționarul nu aparține acestei companii,
+The shares already exist,Acțiunile există deja,
+The shares don't exist with the {0},Acțiunile nu există cu {0},
+"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","Sarcina a fost considerată ca o lucrare de fond. În cazul în care există vreo problemă cu privire la procesare în fundal, sistemul va adăuga un comentariu despre eroarea la această reconciliere a stocului și va reveni la etapa de proiectare.",
+"Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.","Apoi normelor privind prețurile sunt filtrate pe baza Customer, Client Group, Territory, furnizor, furnizor de tip, Campania, Vanzari Partener etc",
+"There are inconsistencies between the rate, no of shares and the amount calculated","Există neconcordanțe între rata, numărul de acțiuni și suma calculată",
+There are more holidays than working days this month.,Există mai multe sărbători decât de zile de lucru în această lună.,
+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.,Pot exista un factor de colectare multiplu diferențiat bazat pe totalul cheltuit. Dar factorul de conversie pentru răscumpărare va fi întotdeauna același pentru toate nivelurile.,
+There can only be 1 Account per Company in {0} {1},Nu poate fi doar un cont per companie în {0} {1},
+"There can only be one Shipping Rule Condition with 0 or blank value for ""To Value""","Nu poate fi doar o singură regulă Condiții presetate cu 0 sau o valoare necompletată pentru ""la valoarea""",
+There is no leave period in between {0} and {1},Nu există o perioadă de concediu între {0} și {1},
+There is not enough leave balance for Leave Type {0},Nu există echilibru concediu suficient pentru concediul de tip {0},
+There is nothing to edit.,Nu este nimic pentru editat.,
+There isn't any item variant for the selected item,Nu există variante de elemente pentru elementul selectat,
+"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.","Se pare că există o problemă cu configurația serverului GoCardless. Nu vă faceți griji, în caz de eșec, suma va fi rambursată în cont.",
+There were errors creating Course Schedule,Au apărut erori la crearea programului de curs,
+There were errors.,Au fost erori.,
+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,"Acest post este un șablon și nu pot fi folosite în tranzacții. Atribute articol vor fi copiate pe în variantele cu excepția cazului în este setat ""Nu Copy""",
+This Item is a Variant of {0} (Template).,Acest element este o variantă de {0} (șablon).,
+This Month's Summary,Rezumatul acestei luni,
+This Week's Summary,Rezumat această săptămână,
+This action will stop future billing. Are you sure you want to cancel this subscription?,Această acțiune va opri facturarea viitoare. Sigur doriți să anulați acest abonament?,
+This covers all scorecards tied to this Setup,Aceasta acoperă toate tabelele de scoruri legate de această configurație,
+This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?,Acest document este peste limita de {0} {1} pentru elementul {4}. Faci un alt {3} împotriva aceleași {2}?,
+This is a root account and cannot be edited.,Acesta este un cont de rădăcină și nu pot fi editate.,
+This is a root customer group and cannot be edited.,Acesta este un grup de clienți rădăcină și nu pot fi editate.,
+This is a root department and cannot be edited.,Acesta este un departament rădăcină și nu poate fi editat.,
+This is a root healthcare service unit and cannot be edited.,Aceasta este o unitate de asistență medicală rădăcină și nu poate fi editată.,
+This is a root item group and cannot be edited.,Acesta este un grup element rădăcină și nu pot fi editate.,
+This is a root sales person and cannot be edited.,Aceasta este o persoană de vânzări rădăcină și nu pot fi editate.,
+This is a root supplier group and cannot be edited.,Acesta este un grup de furnizori rădăcini și nu poate fi editat.,
+This is a root territory and cannot be edited.,Acesta este un teritoriu rădăcină și nu pot fi editate.,
+This is an example website auto-generated from ERPNext,Acesta este un site web exemplu auto-generat de ERPNext,
+This is based on logs against this Vehicle. See timeline below for details,Aceasta se bazează pe bușteni împotriva acestui vehicul. A se vedea calendarul de mai jos pentru detalii,
+This is based on stock movement. See {0} for details,Aceasta se bazează pe mișcare stoc. A se vedea {0} pentru detalii,
+This is based on the Time Sheets created against this project,Aceasta se bazează pe fișele de pontaj create împotriva acestui proiect,
+This is based on the attendance of this Employee,Aceasta se bazează pe prezența a acestui angajat,
+This is based on the attendance of this Student,Aceasta se bazează pe prezența acestui student,
+This is based on transactions against this Customer. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui client. A se vedea calendarul de mai jos pentru detalii,
+This is based on transactions against this Healthcare Practitioner.,Aceasta se bazează pe tranzacțiile împotriva acestui medic.,
+This is based on transactions against this Patient. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui pacient. Consultați linia temporală de mai jos pentru detalii,
+This is based on transactions against this Sales Person. See timeline below for details,Aceasta se bazează pe tranzacțiile efectuate împotriva acestei persoane de vânzări. Consultați linia temporală de mai jos pentru detalii,
+This is based on transactions against this Supplier. See timeline below for details,Aceasta se bazează pe tranzacțiile împotriva acestui furnizor. A se vedea calendarul de mai jos pentru detalii,
+This will submit Salary Slips and create accrual Journal Entry. Do you want to proceed?,Aceasta va trimite salariile de salarizare și va crea înregistrarea de înregistrare în jurnal. Doriți să continuați?,
+This {0} conflicts with {1} for {2} {3},Acest {0} conflicte cu {1} pentru {2} {3},
+Time Sheet for manufacturing.,Fișa de timp pentru fabricație.,
+Time Tracking,Urmărirea timpului,
+"Time slot skiped, the slot {0} to {1} overlap exisiting slot {2} to {3}","Slotul de timp a fost anulat, slotul {0} până la {1} suprapune slotul existent {2} până la {3}",
+Time slots added,Au fost adăugate sloturi de timp,
+Time(in mins),Timp (în min),
+Timer,Cronometrul,
+Timer exceeded the given hours.,Timerul a depășit orele date.,
+Timesheet,Pontaj,
+Timesheet for tasks.,Timesheet pentru sarcini.,
+Timesheet {0} is already completed or cancelled,Pontajul {0} este deja finalizat sau anulat,
+Timesheets,pontaje,
+"Timesheets help keep track of time, cost and billing for activites done by your team","Pontaje ajuta să urmăriți timp, costuri și de facturare pentru activitati efectuate de echipa ta",
+Titles for print templates e.g. Proforma Invoice.,"Titluri de șabloane de imprimare, de exemplu proforma Factura.",
+To,La,
+To Address 1,Pentru a adresa 1,
+To Address 2,Pentru a adresa 2,
+To Bill,Pentru a Bill,
+To Date,La Data,
+To Date cannot be before From Date,Până în prezent nu poate fi înainte de data,
+To Date cannot be less than From Date,Data nu poate fi mai mică decât Din data,
+To Date must be greater than From Date,Pentru data trebuie să fie mai mare decât de la data,
+To Date should be within the Fiscal Year. Assuming To Date = {0},Pentru a Data ar trebui să fie în anul fiscal. Presupunând Pentru a Data = {0},
+To Datetime,Pentru a Datetime,
+To Deliver,A livra,
+To Deliver and Bill,Pentru a livra și Bill,
+To Fiscal Year,Anul fiscal,
+To GSTIN,Pentru GSTIN,
+To Party Name,La numele partidului,
+To Pin Code,Pentru a activa codul,
+To Place,A plasa,
+To Receive,A primi,
+To Receive and Bill,Pentru a primi și Bill,
+To State,A afirma,
+To Warehouse,La Depozit,
+To create a Payment Request reference document is required,Pentru a crea un document de referință privind solicitarea de plată este necesar,
+To date can not be equal or less than from date,Până în prezent nu poate fi egală sau mai mică decât de la data,
+To date can not be less than from date,Până în prezent nu poate fi mai mică decât de la data,
+To date can not greater than employee's relieving date,Până în prezent nu poate fi mai mare decât data scutirii angajatului,
+"To filter based on Party, select Party Type first","Pentru a filtra pe baza Party, selectați Party Tip primul",
+"To get the best out of ERPNext, we recommend that you take some time and watch these help videos.","Pentru a obține cele mai bune din ERPNext, vă recomandăm să luați ceva timp și de ceas aceste filme de ajutor.",
+"To include tax in row {0} in Item rate, taxes in rows {1} must also be included","Pentru a include taxa în rândul {0} în rata articol, impozitele în rânduri {1} trebuie de asemenea să fie incluse",
+To make Customer based incentive schemes.,Pentru a crea scheme de stimulare bazate pe client.,
+"To merge, following properties must be same for both items","Pentru a îmbina, următoarele proprietăți trebuie să fie aceeași pentru ambele elemente",
+"To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.","De a nu aplica regula Preturi într-o anumită tranzacție, ar trebui să fie dezactivat toate regulile de tarifare aplicabile.",
+"To set this Fiscal Year as Default, click on 'Set as Default'","Pentru a seta acest an fiscal ca implicit, faceți clic pe ""Set as Default""",
+To view logs of Loyalty Points assigned to a Customer.,Pentru a vizualiza jurnalele punctelor de loialitate atribuite unui client.,
+To {0},Pentru a {0},
+To {0} | {1} {2},Pentru a {0} | {1} {2},
+Toggle Filters,Comutați filtrele,
+Too many columns. Export the report and print it using a spreadsheet application.,Prea multe coloane. Exporta raportul și imprima utilizând o aplicație de calcul tabelar.,
+Tools,Instrumente,
+Total (Credit),Total (Credit),
+Total (Without Tax),Total (fără taxe),
+Total Absent,Raport Absent,
+Total Achieved,Raport Realizat,
+Total Actual,Raport real,
+Total Allocated Leaves,Frunzele totale alocate,
+Total Amount,Suma totală,
+Total Amount Credited,Suma totală creditată,
+Total Applicable Charges in Purchase Receipt Items table must be same as Total Taxes and Charges,Taxe totale aplicabile în tabelul de achiziție Chitanță Elementele trebuie să fie la fel ca total impozite și taxe,
+Total Budget,Buget total,
+Total Collected: {0},Totalul colectat: {0},
+Total Commission,Total de Comisie,
+Total Contribution Amount: {0},Suma totală a contribuției: {0},
+Total Credit/ Debit Amount should be same as linked Journal Entry,Suma totală a creditului / debitului ar trebui să fie aceeași cu cea înregistrată în jurnal,
+Total Debit must be equal to Total Credit. The difference is {0},Totală de debit trebuie să fie egal cu total Credit. Diferența este {0},
+Total Deduction,Total de deducere,
+Total Invoiced Amount,Suma totală facturată,
+Total Leaves,Frunze totale,
+Total Order Considered,Comanda total Considerat,
+Total Order Value,Valoarea totală Comanda,
+Total Outgoing,Raport de ieșire,
+Total Outstanding,Total deosebit,
+Total Outstanding Amount,Total Suma Impresionant,
+Total Outstanding: {0},Total excepție: {0},
+Total Paid Amount,Total Suma plătită,
+Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total,Suma totală de plată în Planul de Plăți trebuie să fie egală cu Total / Rotunjit,
+Total Payments,Total plăți,
+Total Present,Raport Prezent,
+Total Qty,Raport Cantitate,
+Total Quantity,Cantitatea totala,
+Total Revenue,Raport Venituri,
+Total Student,Student total,
+Total Target,Raport țintă,
+Total Tax,Taxa totală,
+Total Taxable Amount,Sumă impozabilă totală,
+Total Taxable Value,Valoarea impozabilă totală,
+Total Unpaid: {0},Neremunerat totală: {0},
+Total Variance,Raport Variance,
+Total Weightage of all Assessment Criteria must be 100%,Weightage totală a tuturor criteriilor de evaluare trebuie să fie 100%,
+Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2}),avans total ({0}) împotriva Comanda {1} nu poate fi mai mare decât totalul ({2}),
+Total advance amount cannot be greater than total claimed amount,Suma avansului total nu poate fi mai mare decât suma totală revendicată,
+Total advance amount cannot be greater than total sanctioned amount,Suma avansului total nu poate fi mai mare decât suma totală sancționată,
+Total allocated leaves are more days than maximum allocation of {0} leave type for employee {1} in the period,Frunzele totale alocate sunt mai multe zile decât alocarea maximă a tipului de concediu {0} pentru angajatul {1} în perioada respectivă,
+Total allocated leaves are more than days in the period,TOTAL frunze alocate sunt mai mult decât zile în perioada,
+Total allocated percentage for sales team should be 100,Procentul total alocat pentru echipa de vânzări ar trebui să fie de 100,
+Total cannot be zero,Totalul nu poate să fie zero,
+Total contribution percentage should be equal to 100,Procentul total al contribuției ar trebui să fie egal cu 100,
+Total flexible benefit component amount {0} should not be less than max benefits {1},Suma totală a componentelor de beneficii flexibile {0} nu trebuie să fie mai mică decât beneficiile maxime {1},
+Total hours: {0},Numărul total de ore: {0},
+Total leaves allocated is mandatory for Leave Type {0},Numărul total de frunze alocate este obligatoriu pentru Type Leave {0},
+Total working hours should not be greater than max working hours {0},Numărul total de ore de lucru nu trebuie sa fie mai mare de ore de lucru max {0},
+Total {0} ({1}),Total {0} ({1}),
+"Total {0} for all items is zero, may be you should change 'Distribute Charges Based On'","Total {0} pentru toate articolele este zero, poate fi ar trebui să schimbați „Distribuirea cheltuielilor pe baza“",
+Total(Amt),Total (Amt),
+Total(Qty),Total (Cantitate),
+Traceability,Trasabilitate,
+Traceback,Traceback,
+Track Leads by Lead Source.,Urmărește Oportunități după Sursă Oportunitate,
+Training,Pregătire,
+Training Event,Eveniment de formare,
+Training Events,Evenimente de instruire,
+Training Feedback,Feedback formare,
+Training Result,Rezultatul de formare,
+Transaction,Tranzacţie,
+Transaction Date,Data tranzacției,
+Transaction Type,tipul tranzacției,
+Transaction currency must be same as Payment Gateway currency,Moneda de tranzacție trebuie să fie aceeași ca și de plată Gateway monedă,
+Transaction not allowed against stopped Work Order {0},Tranzacția nu este permisă împotriva comenzii de lucru oprita {0},
+Transaction reference no {0} dated {1},de referință al tranzacției nu {0} {1} din,
+Transactions,tranzacţii,
+Transactions can only be deleted by the creator of the Company,Tranzacții pot fi șterse doar de către creatorul Companiei,
+Transfer,Transfer,
+Transfer Material,Material de transfer,
+Transfer Type,Tip de transfer,
+Transfer an asset from one warehouse to another,Se transferă un activ de la un depozit la altul,
+Transfered,transferat,
+Transferred Quantity,Cantitate transferată,
+Transport Receipt Date,Data primirii transportului,
+Transport Receipt No,Primirea transportului nr,
+Transportation,Transport,
+Transporter ID,ID-ul transportatorului,
+Transporter Name,Transporter Nume,
+Travel,Călători,
+Travel Expenses,Cheltuieli de calatorie,
+Tree Type,Arbore Tip,
+Tree of Bill of Materials,Arborele de Bill de materiale,
+Tree of Item Groups.,Arborele de Postul grupuri.,
+Tree of Procedures,Arborele procedurilor,
+Tree of Quality Procedures.,Arborele procedurilor de calitate.,
+Tree of financial Cost Centers.,Tree of centre de cost financiare.,
+Tree of financial accounts.,Arborescentă conturilor financiare.,
+Treshold {0}% appears more than once,Treshold {0}% apare mai mult decât o dată,
+Trial Period End Date Cannot be before Trial Period Start Date,Perioada de încheiere a perioadei de încercare nu poate fi înainte de data începerii perioadei de încercare,
+Trialling,experimentării,
+Type of Business,Tip de afacere,
+Types of activities for Time Logs,Tipuri de activități pentru busteni Timp,
+UOM,UOM,
+UOM Conversion factor is required in row {0},Factor UOM de conversie este necesară în rândul {0},
+UOM coversion factor required for UOM: {0} in Item: {1},Factor coversion UOM UOM necesare pentru: {0} in articol: {1},
+URL,URL-ul,
+Unable to find DocType {0},Nu se poate găsi DocType {0},
+Unable to find exchange rate for {0} to {1} for key date {2}. Please create a Currency Exchange record manually,Imposibil de găsit rata de schimb pentru {0} până la {1} pentru data cheie {2}. Creați manual un registru de schimb valutar,
+Unable to find score starting at {0}. You need to have standing scores covering 0 to 100,Nu se poate găsi scorul începând cu {0}. Trebuie să aveți scoruri în picioare care acoperă între 0 și 100,
+Unable to find variable: ,Imposibil de găsit variabila:,
+Unblock Invoice,Deblocați factura,
+Uncheck all,Deselecteaza tot,
+Unclosed Fiscal Years Profit / Loss (Credit),Unclosed fiscal Ani de Profit / Pierdere (credit),
+Unit,Unitate,
+Unit of Measure,Unitate de măsură,
+Unit of Measure {0} has been entered more than once in Conversion Factor Table,Unitate de măsură {0} a fost introdus mai mult de o dată în Factor de conversie Tabelul,
+Unknown,Necunoscut,
+Unpaid,Neachitat,
+Unsecured Loans,Creditele negarantate,
+Unsubscribe from this Email Digest,Dezabona de la acest e-mail Digest,
+Unsubscribed,Nesubscrise,
+Until,Până la,
+Unverified Webhook Data,Datele Webhook neconfirmate,
+Update Account Name / Number,Actualizați numele / numărul contului,
+Update Account Number / Name,Actualizați numărul / numele contului,
+Update Cost,Actualizare Cost,
+Update Items,Actualizați elementele,
+Update Print Format,Actualizare Format Print,
+Update Response,Actualizați răspunsul,
+Update bank payment dates with journals.,Actualizați datele de plată bancar cu reviste.,
+Update in progress. It might take a while.,Actualizare în curs. Ar putea dura ceva timp.,
+Update rate as per last purchase,Rata de actualizare ca pe ultima achiziție,
+Update stock must be enable for the purchase invoice {0},Actualizați stocul trebuie să fie activat pentru factura de achiziție {0},
+Updating Variants...,Actualizarea variantelor ...,
+Upload your letter head and logo. (you can edit them later).,Încărcați capul scrisoare și logo-ul. (Le puteți edita mai târziu).,
+Upper Income,Venituri de sus,
+Use Sandbox,utilizare Sandbox,
+Used Leaves,Frunze utilizate,
+User,Utilizator,
+User ID,ID-ul de utilizator,
+User ID not set for Employee {0},ID-ul de utilizator nu este setat pentru Angajat {0},
+User Remark,Observație utilizator,
+User has not applied rule on the invoice {0},Utilizatorul nu a aplicat o regulă pentru factură {0},
+User {0} already exists,Utilizatorul {0} există deja,
+User {0} created,Utilizatorul {0} a fost creat,
+User {0} does not exist,Utilizatorul {0} nu există,
+User {0} doesn't have any default POS Profile. Check Default at Row {1} for this User.,Utilizatorul {0} nu are niciun POS profil implicit. Verificați implicit la Rând {1} pentru acest utilizator.,
+User {0} is already assigned to Employee {1},Utilizatorul {0} este deja alocat Angajat {1},
+User {0} is already assigned to Healthcare Practitioner {1},Utilizatorul {0} este deja însărcinat cu medicul de îngrijire medicală {1},
+Users,Utilizatori,
+Utility Expenses,Cheltuieli de utilitate,
+Valid From Date must be lesser than Valid Upto Date.,Valabil din data trebuie să fie mai mică decât valabil până la data.,
+Valid Till,Valabil până la,
+Valid from and valid upto fields are mandatory for the cumulative,Câmpurile valabile și valabile până la acestea sunt obligatorii pentru cumul,
+Valid from date must be less than valid upto date,Valabil de la data trebuie să fie mai mic decât valabil până la data actuală,
+Valid till date cannot be before transaction date,Valabil până la data nu poate fi înainte de data tranzacției,
+Validity,Valabilitate,
+Validity period of this quotation has ended.,Perioada de valabilitate a acestui citat sa încheiat.,
+Valuation Rate,Rata de evaluare,
+Valuation Rate is mandatory if Opening Stock entered,Evaluarea Rata este obligatorie în cazul în care a intrat Deschiderea stoc,
+Valuation type charges can not marked as Inclusive,Taxele de tip evaluare nu poate marcate ca Inclusive,
+Value Or Qty,Valoare sau Cantitate,
+Value Proposition,Propunere de valoare,
+Value for Attribute {0} must be within the range of {1} to {2} in the increments of {3} for Item {4},Valoare pentru atributul {0} trebuie să fie în intervalul de {1} la {2} în trepte de {3} pentru postul {4},
+Value missing,Valoarea lipsește,
+Value must be between {0} and {1},Valoarea trebuie să fie între {0} și {1},
+"Values of exempt, nil rated and non-GST inward supplies","Valorile livrărilor interne scutite, nule și fără GST",
+Variable,Variabil,
+Variance,variație,
+Variance ({}),Varianță ({}),
+Variant,Variantă,
+Variant Attributes,Atribute Variant,
+Variant Based On cannot be changed,Varianta bazată pe nu poate fi modificată,
+Variant Details Report,Varianta Detalii raport,
+Variant creation has been queued.,Crearea de variante a fost în coada de așteptare.,
+Vehicle Expenses,Cheltuielile pentru vehicule,
+Vehicle No,Vehicul Nici,
+Vehicle Type,Tip de vehicul,
+Vehicle/Bus Number,Numărul vehiculului / autobuzului,
+Venture Capital,Capital de risc,
+View Chart of Accounts,Vezi Diagramă de Conturi,
+View Fees Records,Vizualizați înregistrările de taxe,
+View Form,Formular de vizualizare,
+View Lab Tests,Vizualizați testele de laborator,
+View Leads,Vezi Piste,
+View Ledger,Vezi Registru Contabil,
+View Now,Vizualizează acum,
+View a list of all the help videos,Vizualizați o listă cu toate filmele de ajutor,
+View in Cart,Vizualizare Coș,
+Visit report for maintenance call.,Vizitați raport pentru apel de mentenanță.,
+Visit the forums,Vizitați forumurile,
+Vital Signs,Semnele vitale,
+Volunteer,Voluntar,
+Volunteer Type information.,Informații de tip Voluntar.,
+Volunteer information.,Informații despre voluntari.,
+Voucher #,Voucher #,
+Voucher No,Voletul nr,
+Voucher Type,Tip Voucher,
+WIP Warehouse,WIP Depozit,
+Walk In,Walk In,
+Warehouse can not be deleted as stock ledger entry exists for this warehouse.,Depozitul nu poate fi șters deoarece există intrări in registru contabil stocuri pentru acest depozit.,
+Warehouse cannot be changed for Serial No.,Depozit nu poate fi schimbat pentru Serial No.,
+Warehouse is mandatory,Depozitul este obligatoriu,
+Warehouse is mandatory for stock Item {0} in row {1},Depozitul este obligatoriu pentru articol stoc {0} în rândul {1},
+Warehouse not found in the system,Depozit nu a fost găsit în sistemul,
+"Warehouse required at Row No {0}, please set default warehouse for the item {1} for the company {2}","Depozitul necesar la rândul nr. {0}, vă rugăm să setați un depozit implicit pentru elementul {1} pentru companie {2}",
+Warehouse required for stock Item {0},Depozit necesar pentru stoc articol {0},
+Warehouse {0} can not be deleted as quantity exists for Item {1},Depozit {0} nu poate fi ștearsă ca exista cantitate pentru postul {1},
+Warehouse {0} does not belong to company {1},Depozit {0} nu aparține companiei {1},
+Warehouse {0} does not exist,Depozitul {0} nu există,
+"Warehouse {0} is not linked to any account, please mention the account in  the warehouse record or set default inventory account in company {1}.","Warehouse {0} nu este conectat la niciun cont, menționați contul din înregistrarea din depozit sau setați contul de inventar implicit din compania {1}.",
+Warehouses with child nodes cannot be converted to ledger,Depozitele cu noduri copil nu pot fi convertite în registru contabil,
+Warehouses with existing transaction can not be converted to group.,Depozite tranzacție existente nu pot fi convertite în grup.,
+Warehouses with existing transaction can not be converted to ledger.,Depozitele cu tranzacții existente nu pot fi convertite în registru contabil.,
+Warning,Avertisment,
+Warning: Another {0} # {1} exists against stock entry {2},Atenție: Un alt {0} # {1} există împotriva intrării stoc {2},
+Warning: Invalid SSL certificate on attachment {0},Atenție: certificat SSL invalid pe atașament {0},
+Warning: Invalid attachment {0},Atenție: Attachment invalid {0},
+Warning: Leave application contains following block dates,Atenție: Lăsați aplicație conține următoarele date de bloc,
+Warning: Material Requested Qty is less than Minimum Order Qty,Atenție: Materialul solicitat Cant este mai mică decât minima pentru comanda Cantitate,
+Warning: Sales Order {0} already exists against Customer's Purchase Order {1},Atenție: comandă de vânzări {0} există deja împotriva Ordinului de Procurare clientului {1},
+Warning: System will not check overbilling since amount for Item {0} in {1} is zero,Atenție: Sistemul nu va verifica supraîncărcată din sumă pentru postul {0} din {1} este zero,
+Warranty,garanţie,
+Warranty Claim,Garanție revendicarea,
+Warranty Claim against Serial No.,Garantie revendicarea împotriva Serial No.,
+Website,Site web,
+Website Image should be a public file or website URL,Site-ul Image ar trebui să fie un fișier public sau site-ul URL-ul,
+Website Image {0} attached to Item {1} cannot be found,Site-ul Image {0} atașat la postul {1} nu poate fi găsit,
+Website Listing,Înregistrarea site-ului,
+Website Manager,Site-ul Manager de,
+Website Settings,Setarile site-ului,
+Wednesday,Miercuri,
+Week,Săptămână,
+Weekdays,Zilele saptamanii,
+Weekly,Săptămânal,
+Welcome email sent,E-mailul de bun venit a fost trimis,
+Welcome to ERPNext,Bine ati venit la ERPNext,
+What do you need help with?,La ce ai nevoie de ajutor?,
+What does it do?,Ce face?,
+Where manufacturing operations are carried.,În cazul în care operațiunile de fabricație sunt efectuate.,
+White,alb,
+Wire Transfer,Transfer,
+WooCommerce Products,Produse WooCommerce,
+Work In Progress,Lucrări în curs,
+Work Order,Comandă de lucru,
+Work Order already created for all items with BOM,Ordin de lucru deja creat pentru toate articolele cu BOM,
+Work Order cannot be raised against a Item Template,Ordinul de lucru nu poate fi ridicat împotriva unui șablon de element,
+Work Order has been {0},Ordinul de lucru a fost {0},
+Work Order not created,Ordinul de lucru nu a fost creat,
+Work Order {0} must be cancelled before cancelling this Sales Order,Ordinul de lucru {0} trebuie anulat înainte de a anula acest ordin de vânzări,
+Work Order {0} must be submitted,Ordinul de lucru {0} trebuie trimis,
+Work Orders Created: {0},Comenzi de lucru create: {0},
+Work Summary for {0},Rezumat Lucrare pentru {0},
+Work-in-Progress Warehouse is required before Submit,De lucru-in-Progress Warehouse este necesară înainte Trimite,
+Workflow,Flux de lucru,
+Working,De lucru,
+Working Hours,Ore de lucru,
+Workstation,Stație de lucru,
+Workstation is closed on the following dates as per Holiday List: {0},Workstation este închis la următoarele date ca pe lista de vacanta: {0},
+Wrapping up,Înfășurați-vă,
+Wrong Password,Parola gresita,
+Year start date or end date is overlapping with {0}. To avoid please set company,Anul Data de începere sau de încheiere este suprapunerea cu {0}. Pentru a evita vă rugăm să setați companie,
+You are not authorized to add or update entries before {0},Nu ești autorizat să adăugi sau să actualizezi intrări înainte de {0},
+You are not authorized to approve leaves on Block Dates,Tu nu sunt autorizate să aprobe frunze pe bloc Perioada,
+You are not authorized to set Frozen value,Nu esti autorizat pentru a configura valoarea Congelat,
+You are not present all day(s) between compensatory leave request days,Nu vă prezentați toată ziua (zilele) între zilele de solicitare a plății compensatorii,
+You can not change rate if BOM mentioned agianst any item,Nu puteți schimba rata dacă BOM menționat agianst orice element,
+You can not enter current voucher in 'Against Journal Entry' column,"Nu puteți introduce voucher curent în ""Împotriva Jurnalul intrare"" coloană",
+You can only have Plans with the same billing cycle in a Subscription,Puteți avea numai planuri cu același ciclu de facturare într-un abonament,
+You can only redeem max {0} points in this order.,Puteți răscumpăra maxim {0} puncte în această ordine.,
+You can only renew if your membership expires within 30 days,Puteți reînnoi numai dacă expirați în termen de 30 de zile,
+You can only select a maximum of one option from the list of check boxes.,Puteți selecta numai o singură opțiune din lista de casete de selectare.,
+You can only submit Leave Encashment for a valid encashment amount,Puteți să trimiteți numai permisiunea de înregistrare pentru o sumă validă de încasare,
+You can't redeem Loyalty Points having more value than the Grand Total.,Nu puteți valorifica punctele de loialitate cu valoare mai mare decât suma totală.,
+You cannot credit and debit same account at the same time,"Nu puteți credit și de debit același cont, în același timp,",
+You cannot delete Fiscal Year {0}. Fiscal Year {0} is set as default in Global Settings,Nu puteți șterge Anul fiscal {0}. Anul fiscal {0} este setat ca implicit în Setări globale,
+You cannot delete Project Type 'External',Nu puteți șterge tipul de proiect &quot;extern&quot;,
+You cannot edit root node.,Nu puteți edita nodul rădăcină.,
+You cannot restart a Subscription that is not cancelled.,Nu puteți reporni o abonament care nu este anulat.,
+You don't have enought Loyalty Points to redeem,Nu aveți puncte de loialitate pentru a răscumpăra,
+You have already assessed for the assessment criteria {}.,Ați evaluat deja criteriile de evaluare {}.,
+You have already selected items from {0} {1},Ați selectat deja un produs de la {0} {1},
+You have been invited to collaborate on the project: {0},Ați fost invitat să colaboreze la proiect: {0},
+You have entered duplicate items. Please rectify and try again.,Ați introdus elemente cu dubluri. Vă rugăm să rectifice și să încercați din nou.,
+You need to be a user other than Administrator with System Manager and Item Manager roles to register on Marketplace.,Trebuie să fii alt utilizator decât Administrator cu rolul managerului de sistem și al Managerului de articole pentru a te înregistra pe Marketplace.,
+You need to be a user with System Manager and Item Manager roles to add users to Marketplace.,Trebuie să fii un utilizator cu roluri de manager de sistem și manager de articole pentru a adăuga utilizatori la Marketplace.,
+You need to be a user with System Manager and Item Manager roles to register on Marketplace.,Trebuie să fiți utilizator cu funcții Manager Manager și Manager de posturi pentru a vă înregistra pe Marketplace.,
+You need to be logged in to access this page,Trebuie să fii conectat pentru a putea accesa această pagină,
+You need to enable Shopping Cart,Trebuie să activați Coșul de cumpărături,
+You will lose records of previously generated invoices. Are you sure you want to restart this subscription?,Veți pierde înregistrări ale facturilor generate anterior. Sigur doriți să reporniți acest abonament?,
+Your Organization,Organizația dumneavoastră,
+Your cart is Empty,Coșul dvs. este gol,
+Your email address...,Adresa ta de email...,
+Your order is out for delivery!,Comanda dvs. este livrată!,
+Your tickets,Biletele tale,
+ZIP Code,Cod postal,
+[Error],[Eroare],
+[{0}](#Form/Item/{0}) is out of stock,[{0}] (# Forma / Postul / {0}) este din stoc,
+`Freeze Stocks Older Than` should be smaller than %d days.,'Blochează stocuri mai vechi decât' ar trebui să fie mai mic de %d zile.,
+based_on,bazat pe,
+cannot be greater than 100,nu poate fi mai mare de 100,
+disabled user,utilizator dezactivat,
+"e.g. ""Build tools for builders""","de exemplu ""Construi instrumente de constructori """,
+"e.g. ""Primary School"" or ""University""","de exemplu, &quot;Școala primară&quot; sau &quot;Universitatea&quot;",
+"e.g. Bank, Cash, Credit Card","de exemplu, bancar, Cash, Card de credit",
+hidden,ascuns,
+modified,modificată,
+old_parent,old_parent,
+on,Pornit,
+{0} '{1}' is disabled,{0} '{1}' este dezactivat,
+{0} '{1}' not in Fiscal Year {2},{0} '{1}' nu există în anul fiscal {2},
+{0} ({1}) cannot be greater than planned quantity ({2}) in Work Order {3},{0} ({1}) nu poate fi mai mare decât cantitatea planificată ({2}) din Ordinul de Lucru {3},
+{0} - {1} is inactive student,{0} - {1} este elev inactiv,
+{0} - {1} is not enrolled in the Batch {2},{0} - {1} nu este înscris în lotul {2},
+{0} - {1} is not enrolled in the Course {2},{0} - {1} nu este înscris la Cursul {2},
+{0} Budget for Account {1} against {2} {3} is {4}. It will exceed by {5},Bugetul {0} pentru Contul {1} față de {2} {3} este {4}. Acesta este depășit cu {5},
+{0} Digest,{0} Digest,
+{0} Request for {1},{0} Cerere pentru {1},
+{0} Result submittted,{0} Rezultat transmis,
+{0} Serial Numbers required for Item {1}. You have provided {2}.,{0} numere de serie necesare pentru postul {1}. Ați furnizat {2}.,
+{0} Student Groups created.,{0} Grupurile de elevi au fost create.,
+{0} Students have been enrolled,{0} Elevii au fost înscriși,
+{0} against Bill {1} dated {2},{0} comparativ cu factura {1} din data de {2},
+{0} against Purchase Order {1},{0} comparativ cu comanda de cumpărare {1},
+{0} against Sales Invoice {1},{0} comparativ cu factura de vânzări {1},
+{0} against Sales Order {1},{0} comparativ cu comanda de vânzări {1},
+{0} already allocated for Employee {1} for period {2} to {3},{0} deja alocate pentru Angajatul {1} pentru perioada {2} - {3},
+{0} applicable after {1} working days,{0} aplicabil după {1} zile lucrătoare,
+{0} asset cannot be transferred,{0} activul nu poate fi transferat,
+{0} can not be negative,{0} nu poate fi negativ,
+{0} created,{0} creat,
+"{0} currently has a {1} Supplier Scorecard standing, and Purchase Orders to this supplier should be issued with caution.","{0} are în prezent {1} Scor de Furnizor, iar comenzile de achiziție catre acest furnizor ar trebui emise cu prudență.",
+"{0} currently has a {1} Supplier Scorecard standing, and RFQs to this supplier should be issued with caution.","{0} are în prezent {1} Scor de Furnizor, iar cererile de oferta către acest furnizor ar trebui emise cu prudență.",
+{0} does not belong to Company {1},{0} nu aparține Companiei {1},
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner master,{0} nu are un program de practicieni în domeniul sănătății. Adăugați-o la medicul de masterat în domeniul sănătății,
+{0} entered twice in Item Tax,{0} a fost introdus de două ori în taxa articolului,
+{0} for {1},{0} pentru {1},
+{0} has been submitted successfully,{0} a fost trimis cu succes,
+{0} has fee validity till {1},{0} are valabilitate până la data de {1},
+{0} hours,{0} ore,
+{0} in row {1},{0} în rândul {1},
+{0} is blocked so this transaction cannot proceed,"{0} este blocat, astfel încât această tranzacție nu poate continua",
+{0} is mandatory,{0} este obligatoriu,
+{0} is mandatory for Item {1},{0} este obligatoriu pentru articolul {1},
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}.,{0} este obligatoriu. Este posibil ca înregistrarea schimbului valutar nu este creată pentru {1} până la {2}.,
+{0} is not a stock Item,{0} nu este un articol de stoc,
+{0} is not a valid Batch Number for Item {1},{0} nu este un număr de lot valid aferent articolului {1},
+{0} is not added in the table,{0} nu este adăugat în tabel,
+{0} is not in Optional Holiday List,{0} nu este în lista de sărbători opționale,
+{0} is not in a valid Payroll Period,{0} nu este într-o Perioadă de Salarizare validă,
+{0} is now the default Fiscal Year. Please refresh your browser for the change to take effect.,{0} este acum anul fiscal implicit. Vă rugăm să reîmprospătați browser-ul dvs. pentru ca modificarea să aibă efect.,
+{0} is on hold till {1},{0} este în așteptare până la {1},
+{0} item found.,{0} element găsit.,
+{0} items found.,{0} articole găsite.,
+{0} items in progress,{0} elemente în curs,
+{0} items produced,{0} articole produse,
+{0} must appear only once,{0} trebuie să apară doar o singură dată,
+{0} must be negative in return document,{0} trebuie să fie negativ în documentul de retur,
+{0} must be submitted,{0} trebuie transmis,
+{0} not allowed to transact with {1}. Please change the Company.,{0} nu este permis să efectueze tranzacții cu {1}. Vă rugăm să schimbați compania selectată.,
+{0} not found for item {1},{0} nu a fost găsit pentru articolul {1},
+{0} parameter is invalid,Parametrul {0} este nevalid,
+{0} payment entries can not be filtered by {1},{0} înregistrări de plată nu pot fi filtrate de {1},
+{0} should be a value between 0 and 100,{0} ar trebui să fie o valoare cuprinsă între 0 și 100,
+{0} units of [{1}](#Form/Item/{1}) found in [{2}](#Form/Warehouse/{2}),{0} unități de [{1}] (# Forma / Postul / {1}) găsit în [{2}] (# Forma / Depozit / {2}),
+{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction.,{0} unități de {1} necesare în {2} pe {3} {4} pentru {5} pentru a finaliza această tranzacție.,
+{0} units of {1} needed in {2} to complete this transaction.,{0} unități de {1} necesare în {2} pentru a finaliza această tranzacție.,
+{0} valid serial nos for Item {1},{0} numere de serie valabile pentru articolul {1},
+{0} variants created.,{0} variante create.,
+{0} {1} created,{0} {1} creat,
+{0} {1} does not exist,{0} {1} nu există,
+{0} {1} has been modified. Please refresh.,{0} {1} a fost modificat. Vă rugăm să reîmprospătați.,
+{0} {1} has not been submitted so the action cannot be completed,"{0} {1} nu a fost transmis, astfel încât acțiunea nu poate fi finalizată",
+"{0} {1} is associated with {2}, but Party Account is {3}","{0} {1} este asociat cu {2}, dar contul de partid este {3}",
+{0} {1} is cancelled or closed,{0} {1} este anulat sau închis,
+{0} {1} is cancelled or stopped,{0} {1} este anulată sau oprită,
+{0} {1} is cancelled so the action cannot be completed,"{0} {1} este anulată, astfel încât acțiunea nu poate fi terminată",
+{0} {1} is closed,{0} {1} este închis,
+{0} {1} is disabled,{0} {1} este dezactivat,
+{0} {1} is frozen,{0} {1} este blocat,
+{0} {1} is fully billed,{0} {1} este complet facturat,
+{0} {1} is not active,{0} {1} nu este activ,
+{0} {1} is not associated with {2} {3},{0} {1} nu este asociat cu {2} {3},
+{0} {1} is not present in the parent company,{0} {1} nu este prezentă în compania mamă,
+{0} {1} is not submitted,{0} {1} nu este introdus,
+{0} {1} is {2},{0} {1} este {2},
+{0} {1} must be submitted,{0} {1} trebuie să fie introdus,
+{0} {1} not in any active Fiscal Year.,{0} {1} nu se gaseste in niciun an fiscal activ.,
+{0} {1} status is {2},{0} {1} statusul este {2},
+{0} {1}: 'Profit and Loss' type account {2} not allowed in Opening Entry,{0} {1}: &quot;profit și pierdere&quot; cont de tip {2} nu este permisă în orificiul de intrare,
+{0} {1}: Account {2} does not belong to Company {3},{0} {1}: Cont {2} nu aparține Companiei {3},
+{0} {1}: Account {2} is inactive,{0} {1}: Cont {2} este inactiv,
+{0} {1}: Accounting Entry for {2} can only be made in currency: {3},{0} {1}: Intrarea contabila {2} poate fi făcută numai în moneda: {3},
+{0} {1}: Cost Center is mandatory for Item {2},{0} {1}: 아이템 {2} 는 Cost Center가  필수임,
+{0} {1}: Cost Center is required for 'Profit and Loss' account {2}. Please set up a default Cost Center for the Company.,{0} {1}: Centru de cost este necesară pentru &quot;profit și pierdere&quot; cont de {2}. Vă rugăm să configurați un centru de cost implicit pentru companie.,
+{0} {1}: Cost Center {2} does not belong to Company {3},{0} {1}: Cost Center {2} nu aparține Companiei {3},
+{0} {1}: Customer is required against Receivable account {2},{0} {1}: Clientul este necesară împotriva contului Receivable {2},
+{0} {1}: Either debit or credit amount is required for {2},{0} {1}: Fie valoarea creditului de debit sau creditul sunt necesare pentru {2},
+{0} {1}: Supplier is required against Payable account {2},{0} {1}: Furnizorul este necesar pentru Contul de plăți {2},
+{0}% Billed,{0}% facturat,
+{0}% Delivered,{0}% livrat,
+"{0}: Employee email not found, hence email not sent","{0}: E-mail-ul angajatului nu a fost găsit, prin urmare, nu a fost trimis mail",
+{0}: From {0} of type {1},{0}: de la {0} de tipul {1},
+{0}: From {1},{0}: De la {1},
+{0}: {1} does not exists,{0}: {1} nu există,
+{0}: {1} not found in Invoice Details table,{0}: {1} nu a fost găsit în tabelul Detalii factură,
+{} of {},{} de {},
+Assigned To,Atribuit pentru,
+Chat,Chat,
+Completed By,Completat De,
+Conditions,Condiții,
+County,județ,
+Day of Week,Zi a săptămânii,
+"Dear System Manager,","Dragă System Manager,",
+Default Value,Valoare implicită,
+Email Group,E-mail grup,
+Email Settings,Setări e-mail,
+Email not sent to {0} (unsubscribed / disabled),Nu e-mail trimis la {0} (nesubscrise / dezactivat),
+Error Message,Mesaj de eroare,
+Fieldtype,Tip câmp,
+Help Articles,Articole de ajutor,
+ID,ID-ul,
+Images,Imagini,
+Import,Importarea,
+Language,Limba,
+Likes,Au apreciat,
+Merge with existing,Merge cu existente,
+Office,Birou,
+Orientation,Orientare,
+Parent,Mamă,
+Passive,Pasiv,
+Payment Failed,Plata esuata,
+Percent,La sută,
+Permanent,Permanent,
+Personal,Trader,
+Plant,Instalarea,
+Post,Publică,
+Postal,Poștal,
+Postal Code,Cod poștal,
+Previous,Precedenta,
+Provider,Furnizor de,
+Read Only,Doar Citire,
+Recipient,Destinatar,
+Reviews,opinii,
+Sender,Expeditor,
+Shop,Magazin,
+Subsidiary,Filială,
+There is some problem with the file url: {0},Există unele probleme cu URL-ul fișierului: {0},
+There were errors while sending email. Please try again.,Au fost erori în timp ce trimiterea de e-mail. Încercaţi din nou.,
+Values Changed,valori schimbată,
+or,sau,
+Ageing Range 4,Intervalul de îmbătrânire 4,
+Allocated amount cannot be greater than unadjusted amount,Suma alocată nu poate fi mai mare decât suma nejustificată,
+Allocated amount cannot be negative,Suma alocată nu poate fi negativă,
+"Difference Account must be a Asset/Liability type account, since this Stock Entry is an Opening Entry","Contul de diferență trebuie să fie un cont de tip Active / Răspundere, deoarece această intrare de stoc este o intrare de deschidere",
+Error in some rows,Eroare în unele rânduri,
+Import Successful,Import de succes,
+Please save first,Vă rugăm să salvați mai întâi,
+Price not found for item {0} in price list {1},Preț care nu a fost găsit pentru articolul {0} din lista de prețuri {1},
+Warehouse Type,Tip depozit,
+'Date' is required,„Data” este necesară,
+Benefit,Beneficiu,
+Budgets,Bugete,
+Bundle Qty,Cantitate de pachet,
+Company GSTIN,Compania GSTIN,
+Company field is required,Câmpul companiei este obligatoriu,
+Creating Dimensions...,Crearea dimensiunilor ...,
+Duplicate entry against the item code {0} and manufacturer {1},Duplică intrarea în codul articolului {0} și producătorul {1},
+Invalid GSTIN! The input you've entered doesn't match the GSTIN format for UIN Holders or Non-Resident OIDAR Service Providers,GSTIN nevalid! Intrarea introdusă nu se potrivește cu formatul GSTIN pentru deținătorii de UIN sau furnizorii de servicii OIDAR nerezidenți,
+Invoice Grand Total,Total factură mare,
+Last carbon check date cannot be a future date,Ultima dată de verificare a carbonului nu poate fi o dată viitoare,
+Make Stock Entry,Faceți intrarea în stoc,
+Quality Feedback,Feedback de calitate,
+Quality Feedback Template,Șablon de feedback de calitate,
+Rules for applying different promotional schemes.,Reguli pentru aplicarea diferitelor scheme promoționale.,
+Shift,Schimb,
+Show {0},Afișați {0},
+"Special Characters except '-', '#', '.', '/', '{{' and '}}' not allowed in naming series {0}","Caractere speciale, cu excepția &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{{&quot; Și &quot;}}&quot; nu sunt permise în numirea seriei {0}",
+Target Details,Detalii despre țintă,
+{0} already has a Parent Procedure {1}.,{0} are deja o procedură părinte {1}.,
+API,API-ul,
+Annual,Anual,
+Approved,Aprobat,
+Change,Schimbă,
+Contact Email,Email Persoana de Contact,
+Export Type,Tipul de export,
+From Date,Din data,
+Group By,A se grupa cu,
+Importing {0} of {1},Importarea {0} din {1},
+Invalid URL,URL invalid,
+Landscape,Peisaj,
+Last Sync On,Ultima sincronizare activată,
+Naming Series,Naming Series,
+No data to export,Nu există date de exportat,
+Portrait,Portret,
+Print Heading,Imprimare Titlu,
+Scheduler Inactive,Planificator inactiv,
+Scheduler is inactive. Cannot import data.,Planificatorul este inactiv. Nu se pot importa date.,
+Show Document,Afișează documentul,
+Show Traceback,Afișare Traceback,
+Video,Video,
+Webhook Secret,Secret Webhook,
+% Of Grand Total,% Din totalul mare,
+'employee_field_value' and 'timestamp' are required.,„angajat_field_value” și „timestamp” sunt obligatorii.,
+<b>Company</b> is a mandatory filter.,<b>Compania</b> este un filtru obligatoriu.,
+<b>From Date</b> is a mandatory filter.,<b>De la Date</b> este un filtru obligatoriu.,
+<b>From Time</b> cannot be later than <b>To Time</b> for {0},<b>From Time</b> nu poate fi mai târziu decât <b>To Time</b> pentru {0},
+<b>To Date</b> is a mandatory filter.,<b>Până în prezent</b> este un filtru obligatoriu.,
+A new appointment has been created for you with {0},O nouă programare a fost creată pentru dvs. cu {0},
+Account Value,Valoarea contului,
+Account is mandatory to get payment entries,Contul este obligatoriu pentru a obține înregistrări de plată,
+Account is not set for the dashboard chart {0},Contul nu este setat pentru graficul de bord {0},
+Account {0} does not belong to company {1},Contul {0} nu aparține companiei {1},
+Account {0} does not exists in the dashboard chart {1},Contul {0} nu există în graficul de bord {1},
+Account: <b>{0}</b> is capital Work in progress and can not be updated by Journal Entry,Cont: <b>{0}</b> este capital de lucru în desfășurare și nu poate fi actualizat de jurnalul de intrare,
+Account: {0} is not permitted under Payment Entry,Cont: {0} nu este permis în baza intrării de plată,
+Accounting Dimension <b>{0}</b> is required for 'Balance Sheet' account {1}.,Dimensiunea contabilității <b>{0}</b> este necesară pentru contul „bilanț” {1}.,
+Accounting Dimension <b>{0}</b> is required for 'Profit and Loss' account {1}.,Dimensiunea contabilității <b>{0}</b> este necesară pentru contul „Profit și pierdere” {1}.,
+Accounting Masters,Maeștri contabili,
+Accounting Period overlaps with {0},Perioada de contabilitate se suprapune cu {0},
+Activity,Activitate,
+Add / Manage Email Accounts.,Adăugați / gestionați conturi de e-mail.,
+Add Child,Adăugă Copil,
+Add Loan Security,Adăugați securitatea împrumutului,
+Add Multiple,Adăugați mai multe,
+Add Participants,Adăugă Participanți,
+Add to Featured Item,Adăugați la elementele prezentate,
+Add your review,Adăugați-vă recenzia,
+Add/Edit Coupon Conditions,Adăugați / Editați Condițiile cuponului,
+Added to Featured Items,Adăugat la Elementele prezentate,
+Added {0} ({1}),Adăugat {0} ({1}),
+Address Line 1,Adresă Linie 1,
+Addresses,Adrese,
+Admission End Date should be greater than Admission Start Date.,Data de încheiere a admisiei ar trebui să fie mai mare decât data de începere a admiterii.,
+Against Loan,Contra împrumutului,
+Against Loan:,Împrumut contra,
+All,Toate,
+All bank transactions have been created,Toate tranzacțiile bancare au fost create,
+All the depreciations has been booked,Toate amortizările au fost înregistrate,
+Allocation Expired!,Alocare expirată!,
+Allow Resetting Service Level Agreement from Support Settings.,Permiteți resetarea acordului de nivel de serviciu din setările de asistență,
+Amount of {0} is required for Loan closure,Suma de {0} este necesară pentru închiderea împrumutului,
+Amount paid cannot be zero,Suma plătită nu poate fi zero,
+Applied Coupon Code,Codul cuponului aplicat,
+Apply Coupon Code,Aplicați codul promoțional,
+Appointment Booking,Rezervare rezervare,
+"As there are existing transactions against item {0}, you can not change the value of {1}","Deoarece există tranzacții existente la postul {0}, nu puteți modifica valoarea {1}",
+Asset Id,ID material,
+Asset Value,Valoarea activului,
+Asset Value Adjustment cannot be posted before Asset's purchase date <b>{0}</b>.,Reglarea valorii activelor nu poate fi înregistrată înainte de data achiziției activelor <b>{0}</b> .,
+Asset {0} does not belongs to the custodian {1},Activul {0} nu aparține custodului {1},
+Asset {0} does not belongs to the location {1},Activele {0} nu aparțin locației {1},
+At least one of the Applicable Modules should be selected,Trebuie selectat cel puțin unul dintre modulele aplicabile,
+Atleast one asset has to be selected.,Cel puțin un activ trebuie să fie selectat.,
+Attendance Marked,Prezentare marcată,
+Attendance has been marked as per employee check-ins,Participarea a fost marcată conform check-in-urilor angajaților,
+Authentication Failed,Autentificare esuata,
+Automatic Reconciliation,Reconciliere automată,
+Available For Use Date,Disponibil pentru data de utilizare,
+Available Stock,Stoc disponibil,
+"Available quantity is {0}, you need {1}","Cantitatea disponibilă este {0}, aveți nevoie de {1}",
+BOM 1,BOM 1,
+BOM 2,BOM 2,
+BOM Comparison Tool,Instrument de comparare BOM,
+BOM recursion: {0} cannot be child of {1},Recurs recurs BOM: {0} nu poate fi copil de {1},
+BOM recursion: {0} cannot be parent or child of {1},Recurs din BOM: {0} nu poate fi părinte sau copil de {1},
+Back to Home,Înapoi acasă,
+Back to Messages,Înapoi la mesaje,
+Bank Data mapper doesn't exist,Mapper Data Bank nu există,
+Bank Details,Detalii bancare,
+Bank account '{0}' has been synchronized,Contul bancar „{0}” a fost sincronizat,
+Bank account {0} already exists and could not be created again,Contul bancar {0} există deja și nu a mai putut fi creat din nou,
+Bank accounts added,S-au adăugat conturi bancare,
+Batch no is required for batched item {0},Numărul lot nu este necesar pentru articol lot {0},
+Billing Date,Data de facturare,
+Billing Interval Count cannot be less than 1,Numărul de intervale de facturare nu poate fi mai mic de 1,
+Blue,Albastru,
+Book,Carte,
+Book Appointment,Numire carte,
+Brand,Marca,
+Browse,Parcurgere,
+Call Connected,Apel conectat,
+Call Disconnected,Apel deconectat,
+Call Missed,Sună dor,
+Call Summary,Rezumatul apelului,
+Call Summary Saved,Rezumat apel salvat,
+Cancelled,Anulat,
+Cannot Calculate Arrival Time as Driver Address is Missing.,Nu se poate calcula ora de sosire deoarece adresa șoferului lipsește.,
+Cannot Optimize Route as Driver Address is Missing.,Nu se poate optimiza ruta deoarece adresa șoferului lipsește.,
+Cannot complete task {0} as its dependant task {1} are not ccompleted / cancelled.,Nu se poate finaliza sarcina {0} ca sarcină dependentă {1} nu sunt completate / anulate.,
+Cannot create loan until application is approved,Nu se poate crea împrumut până la aprobarea cererii,
+Cannot find a matching Item. Please select some other value for {0}.,Nu pot găsi o potrivire articol. Vă rugăm să selectați o altă valoare pentru {0}.,
+"Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings","Nu se poate depăși pentru articolul {0} din rândul {1} mai mult decât {2}. Pentru a permite supra-facturarea, vă rugăm să setați alocația în Setările conturilor",
+"Capacity Planning Error, planned start time can not be same as end time","Eroare de planificare a capacității, ora de pornire planificată nu poate fi aceeași cu ora finală",
+Categories,Categorii,
+Changes in {0},Modificări în {0},
+Chart,Diagramă,
+Choose a corresponding payment,Alegeți o plată corespunzătoare,
+Click on the link below to verify your email and confirm the appointment,Faceți clic pe linkul de mai jos pentru a vă confirma e-mailul și pentru a confirma programarea,
+Close,Închideți,
+Communication,Comunicare,
+Compact Item Print,Compact Postul de imprimare,
+Company,Compania,
+Company of asset {0} and purchase document {1} doesn't matches.,Compania de activ {0} și documentul de achiziție {1} nu se potrivesc.,
+Compare BOMs for changes in Raw Materials and Operations,Comparați OM-urile pentru modificările materiilor prime și operațiunilor,
+Compare List function takes on list arguments,Comparați funcția Listă ia argumentele listei,
+Complete,Complet,
+Completed,Finalizat,
+Completed Quantity,Cantitate completată,
+Connect your Exotel Account to ERPNext and track call logs,Conectați contul dvs. Exotel la ERPNext și urmăriți jurnalele de apeluri,
+Connect your bank accounts to ERPNext,Conectați-vă conturile bancare la ERPNext,
+Contact Seller,Contacteaza vanzatorul,
+Continue,Continua,
+Cost Center: {0} does not exist,Centrul de costuri: {0} nu există,
+Couldn't Set Service Level Agreement {0}.,Nu s-a putut stabili acordul de nivel de serviciu {0}.,
+Country,Ţară,
+Country Code in File does not match with country code set up in the system,Codul de țară din fișier nu se potrivește cu codul de țară configurat în sistem,
+Create New Contact,Creați un nou contact,
+Create New Lead,Creați noul plumb,
+Create Pick List,Creați lista de alegeri,
+Create Quality Inspection for Item {0},Creați inspecție de calitate pentru articol {0},
+Creating Accounts...,Crearea de conturi ...,
+Creating bank entries...,Crearea intrărilor bancare ...,
+Credit limit is already defined for the Company {0},Limita de credit este deja definită pentru companie {0},
+Ctrl + Enter to submit,Ctrl + Enter pentru a trimite,
+Ctrl+Enter to submit,Ctrl + Enter pentru a trimite,
+Currency,Valută,
+Current Status,Starea curentă a armatei,
+Customer PO,PO de client,
+Customize,Personalizeaza,
+Daily,Zilnic,
+Date,Dată,
+Date Range,Interval de date,
+Date of Birth cannot be greater than Joining Date.,Data nașterii nu poate fi mai mare decât data de aderare.,
+Dear,Dragă,
+Default,Implicit,
+Define coupon codes.,Definiți codurile cuponului.,
+Delayed Days,Zile amânate,
+Delete,Șterge,
+Delivered Quantity,Cantitate livrată,
+Delivery Notes,Note de livrare,
+Depreciated Amount,Suma depreciată,
+Description,Descriere,
+Designation,Destinatie,
+Difference Value,Valoarea diferenței,
+Dimension Filter,Filtrul de dimensiuni,
+Disabled,Dezactivat,
+Disbursement and Repayment,Plată și rambursare,
+Distance cannot be greater than 4000 kms,Distanța nu poate fi mai mare de 4000 km,
+Do you want to submit the material request,Doriți să trimiteți solicitarea materialului,
+Doctype,doctype,
+Document {0} successfully uncleared,Documentul {0} nu a fost clar necunoscut,
+Download Template,Descărcați Sablon,
+Dr,Dr,
+Due Date,Data Limita,
+Duplicate,Duplicat,
+Duplicate Project with Tasks,Duplică proiect cu sarcini,
+Duplicate project has been created,Proiectul duplicat a fost creat,
+E-Way Bill JSON can only be generated from a submitted document,e-Way Bill JSON poate fi generat numai dintr-un document trimis,
+E-Way Bill JSON can only be generated from submitted document,E-Way Bill JSON poate fi generat numai din documentul trimis,
+E-Way Bill JSON cannot be generated for Sales Return as of now,E-Way Bill JSON nu poate fi generat pentru Returnarea vânzărilor de acum,
+ERPNext could not find any matching payment entry,ERPNext nu a găsit nicio intrare de plată potrivită,
+Earliest Age,Cea mai timpurie vârstă,
+Edit Details,Editează detaliile,
+Edit Profile,Editează profilul,
+Either GST Transporter ID or Vehicle No is required if Mode of Transport is Road,"Fie ID-ul transportatorului GST, fie numărul vehiculului nu este necesar dacă modul de transport este rutier",
+Email,E-mail,
+Email Campaigns,Campanii prin e-mail,
+Employee ID is linked with another instructor,ID-ul angajaților este legat de un alt instructor,
+Employee Tax and Benefits,Impozitul și beneficiile angajaților,
+Employee is required while issuing Asset {0},Angajatul este necesar la emiterea de activ {0},
+Employee {0} does not belongs to the company {1},Angajatul {0} nu aparține companiei {1},
+Enable Auto Re-Order,Activați re-comanda automată,
+End Date of Agreement can't be less than today.,Data de încheiere a acordului nu poate fi mai mică decât astăzi.,
+End Time,End Time,
+Energy Point Leaderboard,Tabloul de bord al punctelor energetice,
+Enter API key in Google Settings.,Introduceți cheia API în Setări Google.,
+Enter Supplier,Introduceți furnizorul,
+Enter Value,Introduceți valoarea,
+Entity Type,Tip de entitate,
+Error,Eroare,
+Error in Exotel incoming call,Eroare în apelul primit la Exotel,
+Error: {0} is mandatory field,Eroare: {0} este câmp obligatoriu,
+Event Link,Link de eveniment,
+Exception occurred while reconciling {0},Excepție a avut loc în timp ce s-a reconciliat {0},
+Expected and Discharge dates cannot be less than Admission Schedule date,Datele preconizate și descărcarea de gestiune nu pot fi mai mici decât Data planificării de admitere,
+Expire Allocation,Expirați alocarea,
+Expired,Expirat,
+Export,Exportă,
+Export not allowed. You need {0} role to export.,Export nu este permisă. Ai nevoie de {0} rolul de a exporta.,
+Failed to add Domain,Nu a putut adăuga Domeniul,
+Fetch Items from Warehouse,Obține obiecte de la Depozit,
+Fetching...,... Fetching,
+Field,Camp,
+File Manager,Manager de fișiere,
+Filters,Filtre,
+Finding linked payments,Găsirea plăților legate,
+Fleet Management,Conducerea flotei,
+Following fields are mandatory to create address:,Următoarele câmpuri sunt obligatorii pentru a crea adresa:,
+For Month,Pentru luna,
+"For item {0} at row {1}, count of serial numbers does not match with the picked quantity","Pentru articolul {0} din rândul {1}, numărul de serii nu se potrivește cu cantitatea aleasă",
+For operation {0}: Quantity ({1}) can not be greter than pending quantity({2}),Pentru operare {0}: cantitatea ({1}) nu poate fi mai mare decât cantitatea în curs ({2}),
+For quantity {0} should not be greater than work order quantity {1},Pentru cantitatea {0} nu trebuie să fie mai mare decât cantitatea de comandă de lucru {1},
+Free item not set in the pricing rule {0},Element gratuit care nu este setat în regula prețurilor {0},
+From Date and To Date are Mandatory,De la data și până la data sunt obligatorii,
+From employee is required while receiving Asset {0} to a target location,De la angajat este necesar în timp ce primiți Active {0} către o locație țintă,
+Fuel Expense,Cheltuieli de combustibil,
+Future Payment Amount,Suma viitoare de plată,
+Future Payment Ref,Plată viitoare Ref,
+Future Payments,Plăți viitoare,
+GST HSN Code does not exist for one or more items,Codul GST HSN nu există pentru unul sau mai multe articole,
+Generate E-Way Bill JSON,Generați JSON Bill e-Way,
+Get Items,Obtine Articole,
+Get Outstanding Documents,Obțineți documente de excepție,
+Goal,Obiectiv,
+Greater Than Amount,Mai mare decât suma,
+Green,Verde,
+Group,Grup,
+Group By Customer,Grup după client,
+Group By Supplier,Grup după furnizor,
+Group Node,Nod Group,
+Group Warehouses cannot be used in transactions. Please change the value of {0},Depozitele de grup nu pot fi utilizate în tranzacții. Vă rugăm să schimbați valoarea {0},
+Help,Ajutor,
+Help Article,articol de ajutor,
+"Helps you keep tracks of Contracts based on Supplier, Customer and Employee","Te ajută să ții evidența contractelor bazate pe furnizor, client și angajat",
+Helps you manage appointments with your leads,Vă ajută să gestionați programările cu clienții dvs.,
+Home,Acasă,
+IBAN is not valid,IBAN nu este valid,
+Import Data from CSV / Excel files.,Importați date din fișiere CSV / Excel.,
+In Progress,In progres,
+Incoming call from {0},Apel primit de la {0},
+Incorrect Warehouse,Depozit incorect,
+Intermediate,Intermediar,
+Invalid Barcode. There is no Item attached to this barcode.,Cod de bare nevalid. Nu există niciun articol atașat acestui cod de bare.,
+Invalid credentials,Credențe nevalide,
+Invite as User,Invitați ca utilizator,
+Issue Priority.,Prioritate de emisiune.,
+Issue Type.,Tipul problemei.,
+"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.","Se pare că există o problemă cu configurația benzii serverului. În caz de eșec, suma va fi rambursată în cont.",
+Item Reported,Articol raportat,
+Item listing removed,Elementul de articol a fost eliminat,
+Item quantity can not be zero,Cantitatea articolului nu poate fi zero,
+Item taxes updated,Impozitele pe articol au fost actualizate,
+Item {0}: {1} qty produced. ,Articol {0}: {1} cantitate produsă.,
+Joining Date can not be greater than Leaving Date,Data de înscriere nu poate fi mai mare decât Data de plecare,
+Lab Test Item {0} already exist,Elementul testului de laborator {0} există deja,
+Last Issue,Ultima problemă,
+Latest Age,Etapă tarzie,
+Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay,Cererea de concediu este legată de alocațiile de concediu {0}. Cererea de concediu nu poate fi stabilită ca concediu fără plată,
+Leaves Taken,Frunze luate,
+Less Than Amount,Mai puțin decât suma,
+Liabilities,pasive,
+Loading...,Se încarcă...,
+Loan Amount exceeds maximum loan amount of {0} as per proposed securities,Suma împrumutului depășește valoarea maximă a împrumutului de {0} conform valorilor mobiliare propuse,
+Loan Applications from customers and employees.,Aplicații de împrumut de la clienți și angajați.,
+Loan Disbursement,Decontarea împrumutului,
+Loan Processes,Procese de împrumut,
+Loan Security,Securitatea împrumutului,
+Loan Security Pledge,Gaj de securitate pentru împrumuturi,
+Loan Security Pledge Created : {0},Creditul de securitate al împrumutului creat: {0},
+Loan Security Price,Prețul securității împrumutului,
+Loan Security Price overlapping with {0},Prețul securității împrumutului care se suprapune cu {0},
+Loan Security Unpledge,Unplingge de securitate a împrumutului,
+Loan Security Value,Valoarea securității împrumutului,
+Loan Type for interest and penalty rates,Tip de împrumut pentru dobânzi și rate de penalizare,
+Loan amount cannot be greater than {0},Valoarea împrumutului nu poate fi mai mare de {0},
+Loan is mandatory,Împrumutul este obligatoriu,
+Loans,Credite,
+Loans provided to customers and employees.,Împrumuturi acordate clienților și angajaților.,
+Location,Închiriere,
+Log Type is required for check-ins falling in the shift: {0}.,Tipul de jurnal este necesar pentru check-in-urile care intră în schimb: {0}.,
+Looks like someone sent you to an incomplete URL. Please ask them to look into it.,Se pare că cineva te-a trimis la o adresă URL incompletă. Vă rugăm să cereți-le să se uite în ea.,
+Make Journal Entry,Asigurați Jurnal intrare,
+Make Purchase Invoice,Realizeaza Factura de Cumparare,
+Manufactured,Fabricat,
+Mark Work From Home,Marcați munca de acasă,
+Master,Master,
+Max strength cannot be less than zero.,Rezistența maximă nu poate fi mai mică de zero.,
+Maximum attempts for this quiz reached!,Încercări maxime pentru acest test au fost atinse!,
+Message,Mesaj,
+Missing Values Required,Valorile lipsă necesare,
+Mobile No,Numar de mobil,
+Mobile Number,Numar de mobil,
+Month,Lună,
+Name,Nume,
+Near you,Lângă tine,
+Net Profit/Loss,Profit / Pierdere Netă,
+New Expense,Cheltuieli noi,
+New Invoice,Factură nouă,
+New Payment,Nouă plată,
+New release date should be in the future,Noua dată a lansării ar trebui să fie în viitor,
+Newsletter,Newsletter,
+No Account matched these filters: {},Niciun cont nu se potrivește cu aceste filtre: {},
+No Employee found for the given employee field value. '{}': {},Nu a fost găsit niciun angajat pentru valoarea câmpului dat. &#39;{}&#39;: {},
+No Leaves Allocated to Employee: {0} for Leave Type: {1},Fără frunze alocate angajaților: {0} pentru tipul de concediu: {1},
+No communication found.,Nu a fost găsită nicio comunicare.,
+No correct answer is set for {0},Nu este setat un răspuns corect pentru {0},
+No description,fără descriere,
+No issue has been raised by the caller.,Apelantul nu a pus nicio problemă.,
+No items to publish,Nu există articole de publicat,
+No outstanding invoices found,Nu s-au găsit facturi restante,
+No outstanding invoices found for the {0} {1} which qualify the filters you have specified.,Nu s-au găsit facturi restante pentru {0} {1} care califică filtrele pe care le-ați specificat.,
+No outstanding invoices require exchange rate revaluation,Fără facturi restante nu necesită reevaluarea cursului de schimb,
+No reviews yet,Niciun comentariu încă,
+No views yet,Nu există încă vizionări,
+Non stock items,Articole care nu sunt pe stoc,
+Not Allowed,Nu permise,
+Not allowed to create accounting dimension for {0},Nu este permisă crearea unei dimensiuni contabile pentru {0},
+Not permitted. Please disable the Lab Test Template,Nu sunt acceptate. Vă rugăm să dezactivați șablonul de testare,
+Note,Notă,
+Notes: ,Observații:,
+On Converting Opportunity,La convertirea oportunității,
+On Purchase Order Submission,La trimiterea comenzii de cumpărare,
+On Sales Order Submission,La trimiterea comenzii de vânzare,
+On Task Completion,La finalizarea sarcinii,
+On {0} Creation,La {0} Creație,
+Only .csv and .xlsx files are supported currently,"În prezent, numai fișierele .csv și .xlsx sunt acceptate",
+Only expired allocation can be cancelled,Numai alocarea expirată poate fi anulată,
+Only users with the {0} role can create backdated leave applications,Doar utilizatorii cu rolul {0} pot crea aplicații de concediu retardate,
+Open,Deschide,
+Open Contact,Deschideți contactul,
+Open Lead,Deschideți plumb,
+Opening and Closing,Deschiderea și închiderea,
+Operating Cost as per Work Order / BOM,Costul de operare conform ordinului de lucru / BOM,
+Order Amount,Cantitatea comenzii,
+Page {0} of {1},Pagină {0} din {1},
+Paid amount cannot be less than {0},Suma plătită nu poate fi mai mică de {0},
+Parent Company must be a group company,Compania-mamă trebuie să fie o companie de grup,
+Passing Score value should be between 0 and 100,Valoarea punctajului de trecere ar trebui să fie între 0 și 100,
+Password policy cannot contain spaces or simultaneous hyphens. The format will be restructured automatically,Politica de parolă nu poate conține spații sau cratime simultane. Formatul va fi restructurat automat,
+Patient History,Istoricul pacientului,
+Pause,Pauză,
+Pay,Plăti,
+Payment Document Type,Tip de document de plată,
+Payment Name,Numele de plată,
+Penalty Amount,Suma pedepsei,
+Pending,În așteptarea,
+Performance,Performanţă,
+Period based On,Perioada bazată pe,
+Perpetual inventory required for the company {0} to view this report.,Inventar perpetuu necesar companiei {0} pentru a vedea acest raport.,
+Phone,Telefon,
+Pick List,Lista de alegeri,
+Plaid authentication error,Eroare de autentificare plaidă,
+Plaid public token error,Eroare a simbolului public cu plaid,
+Plaid transactions sync error,Eroare de sincronizare a tranzacțiilor plasate,
+Please check the error log for details about the import errors,Verificați jurnalul de erori pentru detalii despre erorile de import,
+Please create <b>DATEV Settings</b> for Company <b>{}</b>.,Vă rugăm să creați <b>DATEV Setări</b> pentru companie <b>{}</b> .,
+Please create adjustment Journal Entry for amount {0} ,Vă rugăm să creați ajustarea Intrare în jurnal pentru suma {0},
+Please do not create more than 500 items at a time,Vă rugăm să nu creați mai mult de 500 de articole simultan,
+Please enter <b>Difference Account</b> or set default <b>Stock Adjustment Account</b> for company {0},Vă rugăm să introduceți <b>contul de diferență</b> sau să setați <b>contul de ajustare a stocului</b> implicit pentru compania {0},
+Please enter GSTIN and state for the Company Address {0},Vă rugăm să introduceți GSTIN și să indicați adresa companiei {0},
+Please enter Item Code to get item taxes,Vă rugăm să introduceți Codul articolului pentru a obține impozite pe articol,
+Please enter Warehouse and Date,Vă rugăm să introduceți Depozitul și data,
+Please enter the designation,Vă rugăm să introduceți desemnarea,
+Please login as a Marketplace User to edit this item.,Vă rugăm să vă autentificați ca utilizator de piață pentru a edita acest articol.,
+Please login as a Marketplace User to report this item.,Vă rugăm să vă autentificați ca utilizator de piață pentru a raporta acest articol.,
+Please select <b>Template Type</b> to download template,Vă rugăm să selectați <b>Tip de șablon</b> pentru a descărca șablonul,
+Please select Applicant Type first,Vă rugăm să selectați mai întâi tipul de solicitant,
+Please select Customer first,Vă rugăm să selectați Clientul mai întâi,
+Please select Item Code first,Vă rugăm să selectați mai întâi Codul articolului,
+Please select Loan Type for company {0},Vă rugăm să selectați Tip de împrumut pentru companie {0},
+Please select a Delivery Note,Vă rugăm să selectați o notă de livrare,
+Please select a Sales Person for item: {0},Vă rugăm să selectați o persoană de vânzări pentru articol: {0},
+Please select another payment method. Stripe does not support transactions in currency '{0}',Selectați o altă metodă de plată. Stripe nu acceptă tranzacțiile în valută &quot;{0}&quot;,
+Please select the customer.,Vă rugăm să selectați clientul.,
+Please set a Supplier against the Items to be considered in the Purchase Order.,Vă rugăm să setați un furnizor împotriva articolelor care trebuie luate în considerare în comanda de achiziție.,
+Please set account heads in GST Settings for Compnay {0},Vă rugăm să setați capetele de cont în Setările GST pentru Compnay {0},
+Please set an email id for the Lead {0},Vă rugăm să setați un cod de e-mail pentru Lead {0},
+Please set default UOM in Stock Settings,Vă rugăm să setați UOM implicit în Setări stoc,
+Please set filter based on Item or Warehouse due to a large amount of entries.,Vă rugăm să setați filtrul în funcție de articol sau depozit datorită unei cantități mari de înregistrări.,
+Please set up the Campaign Schedule in the Campaign {0},Vă rugăm să configurați Planificarea Campaniei în Campania {0},
+Please set valid GSTIN No. in Company Address for company {0},Vă rugăm să setați numărul GSTIN valid în adresa companiei pentru compania {0},
+Please set {0},Vă rugăm să setați {0},customer
+Please setup a default bank account for company {0},Vă rugăm să configurați un cont bancar implicit pentru companie {0},
+Please specify,Vă rugăm să specificați,
+Please specify a {0},Vă rugăm să specificați un {0},lead
+Pledge Status,Starea gajului,
+Pledge Time,Timp de gaj,
+Printing,Tipărire,
+Priority,Prioritate,
+Priority has been changed to {0}.,Prioritatea a fost modificată la {0}.,
+Priority {0} has been repeated.,Prioritatea {0} a fost repetată.,
+Processing XML Files,Procesarea fișierelor XML,
+Profitability,Rentabilitatea,
+Project,Proiect,
+Proposed Pledges are mandatory for secured Loans,Promisiunile propuse sunt obligatorii pentru împrumuturile garantate,
+Provide the academic year and set the starting and ending date.,Furnizați anul universitar și stabiliți data de început și de încheiere.,
+Public token is missing for this bank,Jurnalul public lipsește pentru această bancă,
+Publish,Publica,
+Publish 1 Item,Publicați 1 articol,
+Publish Items,Publica articole,
+Publish More Items,Publicați mai multe articole,
+Publish Your First Items,Publicați primele dvs. articole,
+Publish {0} Items,Publicați {0} articole,
+Published Items,Articole publicate,
+Purchase Invoice cannot be made against an existing asset {0},Factura de cumpărare nu poate fi făcută cu un activ existent {0},
+Purchase Invoices,Facturi de cumpărare,
+Purchase Orders,Ordine de achiziție,
+Purchase Receipt doesn't have any Item for which Retain Sample is enabled.,Încasarea de cumpărare nu are niciun articol pentru care este activat eșantionul de păstrare.,
+Purchase Return,Înapoi cumpărare,
+Qty of Finished Goods Item,Cantitatea articolului de produse finite,
+Qty or Amount is mandatroy for loan security,Cantitatea sau suma este mandatroy pentru securitatea împrumutului,
+Quality Inspection required for Item {0} to submit,Inspecția de calitate necesară pentru trimiterea articolului {0},
+Quantity to Manufacture,Cantitate de fabricare,
+Quantity to Manufacture can not be zero for the operation {0},Cantitatea de fabricație nu poate fi zero pentru operațiune {0},
+Quarterly,Trimestrial,
+Queued,Coada de așteptare,
+Quick Entry,Intrarea rapidă,
+Quiz {0} does not exist,Chestionarul {0} nu există,
+Quotation Amount,Suma ofertei,
+Rate or Discount is required for the price discount.,Tariful sau Reducerea este necesară pentru reducerea prețului.,
+Reason,Motiv,
+Reconcile Entries,Reconciliați intrările,
+Reconcile this account,Reconciliați acest cont,
+Reconciled,reconciliat,
+Recruitment,Recrutare,
+Red,Roșu,
+Refreshing,Împrospătare,
+Release date must be in the future,Data lansării trebuie să fie în viitor,
+Relieving Date must be greater than or equal to Date of Joining,Data scutirii trebuie să fie mai mare sau egală cu data aderării,
+Rename,Redenumire,
+Rename Not Allowed,Redenumirea nu este permisă,
+Repayment Method is mandatory for term loans,Metoda de rambursare este obligatorie pentru împrumuturile la termen,
+Repayment Start Date is mandatory for term loans,Data de începere a rambursării este obligatorie pentru împrumuturile la termen,
+Report Item,Raport articol,
+Report this Item,Raportați acest articol,
+Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items.,Cantitate rezervată pentru subcontract: cantitate de materii prime pentru a face obiecte subcontractate.,
+Reset,Resetează,
+Reset Service Level Agreement,Resetați Acordul privind nivelul serviciilor,
+Resetting Service Level Agreement.,Resetarea Acordului privind nivelul serviciilor.,
+Return amount cannot be greater unclaimed amount,Suma returnată nu poate fi o sumă nereclamată mai mare,
+Review,Revizuire,
+Room,Cameră,
+Room Type,Tip Cameră,
+Row # ,Rând #,
+Row #{0}: Accepted Warehouse and Supplier Warehouse cannot be same,Rândul # {0}: depozitul acceptat și depozitul furnizorului nu pot fi aceleași,
+Row #{0}: Cannot delete item {1} which has already been billed.,Rândul # {0}: Nu se poate șterge elementul {1} care a fost deja facturat.,
+Row #{0}: Cannot delete item {1} which has already been delivered,Rândul # {0}: Nu se poate șterge articolul {1} care a fost deja livrat,
+Row #{0}: Cannot delete item {1} which has already been received,Rândul # {0}: Nu se poate șterge elementul {1} care a fost deja primit,
+Row #{0}: Cannot delete item {1} which has work order assigned to it.,Rândul # {0}: Nu se poate șterge elementul {1} care i-a fost atribuită o ordine de lucru.,
+Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order.,Rândul # {0}: Nu se poate șterge articolul {1} care este atribuit comenzii de cumpărare a clientului.,
+Row #{0}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor,Rândul # {0}: Nu se poate selecta Furnizorul în timp ce furnizează materii prime subcontractantului,
+Row #{0}: Cost Center {1} does not belong to company {2},Rândul {{0}: Centrul de costuri {1} nu aparține companiei {2},
+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}.,Rândul # {0}: Operația {1} nu este finalizată pentru {2} cantitate de mărfuri finite în Ordinul de lucru {3}. Vă rugăm să actualizați starea operației prin intermediul cărții de lucru {4}.,
+Row #{0}: Payment document is required to complete the transaction,Rândul # {0}: documentul de plată este necesar pentru a finaliza tranzacția,
+Row #{0}: Serial No {1} does not belong to Batch {2},Rândul # {0}: nr. De serie {1} nu aparține lotului {2},
+Row #{0}: Service End Date cannot be before Invoice Posting Date,Rândul # {0}: Data de încheiere a serviciului nu poate fi înainte de Data de înregistrare a facturii,
+Row #{0}: Service Start Date cannot be greater than Service End Date,Rândul # {0}: Data de începere a serviciului nu poate fi mai mare decât Data de încheiere a serviciului,
+Row #{0}: Service Start and End Date is required for deferred accounting,Rândul # {0}: Data de început și de încheiere a serviciului este necesară pentru contabilitate amânată,
+Row {0}: Invalid Item Tax Template for item {1},Rândul {0}: șablonul de impozit pe articol nevalid pentru articolul {1},
+Row {0}: Quantity not available for {4} in warehouse {1} at posting time of the entry ({2} {3}),Rândul {0}: cantitatea nu este disponibilă pentru {4} în depozit {1} la momentul înregistrării la intrare ({2} {3}),
+Row {0}: user has not applied the rule {1} on the item {2},Rândul {0}: utilizatorul nu a aplicat regula {1} pe articolul {2},
+Row {0}:Sibling Date of Birth cannot be greater than today.,Rândul {0}: Data nașterii în materie nu poate fi mai mare decât astăzi.,
+Row({0}): {1} is already discounted in {2},Rândul ({0}): {1} este deja actualizat în {2},
+Rows Added in {0},Rânduri adăugate în {0},
+Rows Removed in {0},Rândurile eliminate în {0},
+Sanctioned Amount limit crossed for {0} {1},Limita sumei sancționate depășită pentru {0} {1},
+Sanctioned Loan Amount already exists for {0} against company {1},Suma de împrumut sancționat există deja pentru {0} față de compania {1},
+Save,Salvează,
+Save Item,Salvare articol,
+Saved Items,Articole salvate,
+Search Items ...,Caută articole ...,
+Search for a payment,Căutați o plată,
+Search for anything ...,Căutați orice ...,
+Search results for,cauta rezultate pentru,
+Select All,Selectează toate,
+Select Difference Account,Selectați Cont de diferență,
+Select a Default Priority.,Selectați o prioritate implicită.,
+Select a company,Selectați o companie,
+Select finance book for the item {0} at row {1},Selectați cartea de finanțe pentru articolul {0} din rândul {1},
+Select only one Priority as Default.,Selectați doar o prioritate ca implicită.,
+Seller Information,Informatiile vanzatorului,
+Send,Trimiteți,
+Send a message,Trimite un mesaj,
+Sending,Trimitere,
+Sends Mails to lead or contact based on a Campaign schedule,Trimite e-mailuri pentru a conduce sau a contacta pe baza unui program de campanie,
+Serial Number Created,Număr de serie creat,
+Serial Numbers Created,Numere de serie create,
+Serial no(s) required for serialized item {0},Numărul (numerele) de serie necesare pentru articolul serializat {0},
+Series,Serii,
+Server Error,Eroare de server,
+Service Level Agreement has been changed to {0}.,Acordul privind nivelul serviciilor a fost modificat în {0}.,
+Service Level Agreement was reset.,Acordul privind nivelul serviciilor a fost resetat.,
+Service Level Agreement with Entity Type {0} and Entity {1} already exists.,Acordul privind nivelul serviciului cu tipul de entitate {0} și entitatea {1} există deja.,
+Set,Setează,
+Set Meta Tags,Setați etichete meta,
+Set {0} in company {1},Setați {0} în companie {1},
+Setup,Configurare,
+Setup Wizard,Vrăjitor Configurare,
+Shift Management,Managementul schimbării,
+Show Future Payments,Afișați plăți viitoare,
+Show Linked Delivery Notes,Afișare Note de livrare conexe,
+Show Sales Person,Afișați persoana de vânzări,
+Show Stock Ageing Data,Afișează date de îmbătrânire a stocurilor,
+Show Warehouse-wise Stock,Afișați stocul înțelept,
+Size,Dimensiune,
+Something went wrong while evaluating the quiz.,Ceva nu a mers în timp ce evaluați testul.,
+Sr,sr,
+Start,Început(Pornire),
+Start Date cannot be before the current date,Data de început nu poate fi înainte de data curentă,
+Start Time,Ora de începere,
+Status,Status,
+Status must be Cancelled or Completed,Starea trebuie anulată sau completată,
+Stock Balance Report,Raportul soldului stocurilor,
+Stock Entry has been already created against this Pick List,Intrarea pe stoc a fost deja creată pe baza acestei liste de alegeri,
+Stock Ledger ID,ID evidență stoc,
+Stock Value ({0}) and Account Balance ({1}) are out of sync for account {2} and it's linked warehouses.,Valoarea stocului ({0}) și soldul contului ({1}) nu sunt sincronizate pentru contul {2} și sunt depozite legate.,
+Stores - {0},Magazine - {0},
+Student with email {0} does not exist,Studentul cu e-mail {0} nu există,
+Submit Review,Trimite recenzie,
+Submitted,Inscrisa,
+Supplier Addresses And Contacts,Adrese furnizorului și de Contacte,
+Synchronize this account,Sincronizați acest cont,
+Tag,Etichetă,
+Target Location is required while receiving Asset {0} from an employee,Locația țintă este necesară în timp ce primiți activ {0} de la un angajat,
+Target Location is required while transferring Asset {0},Locația țintă este necesară în timpul transferului de active {0},
+Target Location or To Employee is required while receiving Asset {0},Locația țintei sau către angajat este necesară în timp ce primiți activ {0},
+Task's {0} End Date cannot be after Project's End Date.,Data de încheiere a sarcinii {0} nu poate fi după data de încheiere a proiectului.,
+Task's {0} Start Date cannot be after Project's End Date.,Data de început a sarcinii {0} nu poate fi după data de încheiere a proiectului.,
+Tax Account not specified for Shopify Tax {0},Contul fiscal nu este specificat pentru Shopify Tax {0},
+Tax Total,Total impozit,
+Template,Șablon,
+The Campaign '{0}' already exists for the {1} '{2}',Campania „{0}” există deja pentru {1} &#39;{2}&#39;,
+The difference between from time and To Time must be a multiple of Appointment,Diferența dintre timp și To Time trebuie să fie multiplu de numire,
+The field Asset Account cannot be blank,Câmpul Contul de active nu poate fi gol,
+The field Equity/Liability Account cannot be blank,Câmpul Contul de capitaluri proprii / pasiv nu poate fi necompletat,
+The following serial numbers were created: <br><br> {0},Au fost create următoarele numere de serie: <br><br> {0},
+The parent account {0} does not exists in the uploaded template,Contul părinte {0} nu există în șablonul încărcat,
+The question cannot be duplicate,Întrebarea nu poate fi duplicată,
+The selected payment entry should be linked with a creditor bank transaction,Intrarea de plată selectată trebuie să fie legată de o tranzacție bancară cu creditor,
+The selected payment entry should be linked with a debtor bank transaction,Intrarea de plată selectată trebuie să fie legată de o tranzacție bancară cu debitori,
+The total allocated amount ({0}) is greated than the paid amount ({1}).,Suma totală alocată ({0}) este majorată decât suma plătită ({1}).,
+There are no vacancies under staffing plan {0},Nu există locuri vacante conform planului de personal {0},
+This Service Level Agreement is specific to Customer {0},Acest Acord de nivel de serviciu este specific Clientului {0},
+This action will unlink this account from any external service integrating ERPNext with your bank accounts. It cannot be undone. Are you certain ?,Această acțiune va deconecta acest cont de orice serviciu extern care integrează ERPNext cu conturile dvs. bancare. Nu poate fi anulată. Esti sigur ?,
+This bank account is already synchronized,Acest cont bancar este deja sincronizat,
+This bank transaction is already fully reconciled,Această tranzacție bancară este deja complet reconciliată,
+This employee already has a log with the same timestamp.{0},Acest angajat are deja un jurnal cu aceeași oră de timp. {0},
+This page keeps track of items you want to buy from sellers.,Această pagină ține evidența articolelor pe care doriți să le cumpărați de la vânzători.,
+This page keeps track of your items in which buyers have showed some interest.,Această pagină ține evidența articolelor dvs. pentru care cumpărătorii au arătat interes.,
+Thursday,Joi,
+Timing,Sincronizare,
+Title,Titlu,
+"To allow over billing, update ""Over Billing Allowance"" in Accounts Settings or the Item.","Pentru a permite facturarea excesivă, actualizați „Indemnizație de facturare” în Setări conturi sau element.",
+"To allow over receipt / delivery, update ""Over Receipt/Delivery Allowance"" in Stock Settings or the Item.","Pentru a permite primirea / livrarea, actualizați „Indemnizația de primire / livrare” în Setări de stoc sau articol.",
+To date needs to be before from date,Până în prezent trebuie să fie înainte de această dată,
+Total,Total,
+Total Early Exits,Total Ieșiri anticipate,
+Total Late Entries,Total intrări târzii,
+Total Payment Request amount cannot be greater than {0} amount,Suma totală a solicitării de plată nu poate fi mai mare decât {0},
+Total payments amount can't be greater than {},Valoarea totală a plăților nu poate fi mai mare de {},
+Totals,Totaluri,
+Training Event:,Eveniment de formare:,
+Transactions already retreived from the statement,Tranzacțiile au fost retrase din extras,
+Transfer Material to Supplier,Transfer de material la furnizor,
+Transport Receipt No and Date are mandatory for your chosen Mode of Transport,Numărul de recepție și data de transport nu sunt obligatorii pentru modul de transport ales,
+Tuesday,Marți,
+Type,Tip,
+Unable to find Salary Component {0},Imposibil de găsit componentul salariului {0},
+Unable to find the time slot in the next {0} days for the operation {1}.,Nu se poate găsi intervalul orar în următoarele {0} zile pentru operația {1}.,
+Unable to update remote activity,Imposibil de actualizat activitatea de la distanță,
+Unknown Caller,Apelant necunoscut,
+Unlink external integrations,Deconectați integrările externe,
+Unmarked Attendance for days,Participarea nemarcată zile întregi,
+Unpublish Item,Publicarea articolului,
+Unreconciled,nereconciliat,
+Unsupported GST Category for E-Way Bill JSON generation,Categorie GST neacceptată pentru generarea JSON Bill E-Way,
+Update,Actualizare,
+Update Details,Detalii detalii,
+Update Taxes for Items,Actualizați impozitele pentru articole,
+"Upload a bank statement, link or reconcile a bank account","Încărcați un extras bancar, conectați sau reconciliați un cont bancar",
+Upload a statement,Încărcați o declarație,
+Use a name that is different from previous project name,Utilizați un nume diferit de numele proiectului anterior,
+User {0} is disabled,Utilizatorul {0} este dezactivat,
+Users and Permissions,Utilizatori și permisiuni,
+Vacancies cannot be lower than the current openings,Posturile vacante nu pot fi mai mici decât deschiderile actuale,
+Valid From Time must be lesser than Valid Upto Time.,Valid From Time trebuie să fie mai mic decât Valid Upto Time.,
+Valuation Rate required for Item {0} at row {1},Rata de evaluare necesară pentru articolul {0} la rândul {1},
+Values Out Of Sync,Valori ieșite din sincronizare,
+Vehicle Type is required if Mode of Transport is Road,Tip de vehicul este necesar dacă modul de transport este rutier,
+Vendor Name,Numele vânzătorului,
+Verify Email,Verificați e-mail,
+View,Vedere,
+View all issues from {0},Vedeți toate problemele din {0},
+View call log,Vizualizați jurnalul de apeluri,
+Warehouse,Depozit,
+Warehouse not found against the account {0},Depozitul nu a fost găsit în contul {0},
+Welcome to {0},Bine ai venit la {0},
+Why do think this Item should be removed?,De ce credeți că acest articol ar trebui eliminat?,
+Work Order {0}: Job Card not found for the operation {1},Comandă de lucru {0}: cartea de muncă nu a fost găsită pentru operație {1},
+Workday {0} has been repeated.,Ziua lucrătoare {0} a fost repetată.,
+XML Files Processed,Fișiere XML procesate,
+Year,An,
+Yearly,Anual,
+You,Tu,
+You are not allowed to enroll for this course,Nu aveți voie să vă înscrieți la acest curs,
+You are not enrolled in program {0},Nu sunteți înscris în programul {0},
+You can Feature upto 8 items.,Puteți prezenta până la 8 articole.,
+You can also copy-paste this link in your browser,"De asemenea, puteți să copiați-paste această legătură în browser-ul dvs.",
+You can publish upto 200 items.,Puteți publica până la 200 de articole.,
+You have to enable auto re-order in Stock Settings to maintain re-order levels.,Trebuie să activați re-comanda auto în Setări stoc pentru a menține nivelurile de re-comandă.,
+You must be a registered supplier to generate e-Way Bill,Pentru a genera Bill e-Way trebuie să fiți un furnizor înregistrat,
+You need to login as a Marketplace User before you can add any reviews.,Trebuie să vă autentificați ca utilizator de piață înainte de a putea adăuga recenzii.,
+Your Featured Items,Articolele dvs. recomandate,
+Your Items,Articolele dvs.,
+Your Profile,Profilul tau,
+Your rating:,Rating-ul tău:,
+and,și,
+e-Way Bill already exists for this document,e-Way Bill există deja pentru acest document,
+woocommerce - {0},woocommerce - {0},
+{0} Coupon used are {1}. Allowed quantity is exhausted,{0} Cuponul utilizat este {1}. Cantitatea admisă este epuizată,
+{0} Name,{0} Nume,
+{0} Operations: {1},{0} Operații: {1},
+{0} bank transaction(s) created,{0} tranzacțiile bancare create,
+{0} bank transaction(s) created and {1} errors,{0} tranzacțiile bancare create și {1} erori,
+{0} can not be greater than {1},{0} nu poate fi mai mare de {1},
+{0} conversations,{0} conversații,
+{0} is not a company bank account,{0} nu este un cont bancar al companiei,
+{0} is not a group node. Please select a group node as parent cost center,{0} nu este un nod de grup. Vă rugăm să selectați un nod de grup ca centru de costuri parentale,
+{0} is not the default supplier for any items.,{0} nu este furnizorul prestabilit pentru niciun articol.,
+{0} is required,{0} este necesar,
+{0}: {1} must be less than {2},{0}: {1} trebuie să fie mai mic decât {2},
+{} is an invalid Attendance Status.,{} este o stare de prezență nevalidă.,
+{} is required to generate E-Way Bill JSON,{} este necesar pentru a genera Bill JSON E-Way,
+"Invalid lost reason {0}, please create a new lost reason","Motiv pierdut nevalabil {0}, vă rugăm să creați un motiv nou pierdut",
+Profit This Year,Profit anul acesta,
+Total Expense,Cheltuieli totale,
+Total Expense This Year,Cheltuieli totale în acest an,
+Total Income,Venit total,
+Total Income This Year,Venit total în acest an,
+Barcode,coduri de bare,
+Bold,Îndrăzneţ,
+Center,Centru,
+Clear,clar,
+Comment,cometariu,
+Comments,Comentarii,
+DocType,DocType,
+Download,Descarca,
+Left,Stânga,
+Link,Legătură,
+New,Nou,
+Not Found,Nu a fost găsit,
+Print,Imprimare,
+Reference Name,nume de referinta,
+Refresh,Actualizare,
+Success,Succes,
+Time,Timp,
+Value,Valoare,
+Actual,Real,
+Add to Cart,Adăugaţi în Coş,
+Days Since Last Order,Zile de la ultima comandă,
+In Stock,In stoc,
+Loan Amount is mandatory,Suma împrumutului este obligatorie,
+Mode Of Payment,Modul de plată,
+No students Found,Nu au fost găsiți studenți,
+Not in Stock,Nu este în stoc,
+Please select a Customer,Selectați un client,
+Printed On,imprimat pe,
+Received From,Primit de la,
+Sales Person,Persoană de vânzări,
+To date cannot be before From date,Până în prezent nu poate fi înainte de data,
+Write Off,Achita,
+{0} Created,{0} a fost creat,
+Email Id,ID-ul de e-mail,
+No,Nu,
+Reference Doctype,DocType referință,
+User Id,Numele de utilizator,
+Yes,da,
+Actual ,Efectiv,
+Add to cart,Adăugaţi în Coş,
+Budget,Buget,
+Chart of Accounts,Grafic de conturi,
+Customer database.,Baza de date pentru clienți.,
+Days Since Last order,Zile de la ultima comandă,
+Download as JSON,Descărcați ca JSON,
+End date can not be less than start date,Data de Incheiere nu poate fi anterioara Datei de Incepere,
+For Default Supplier (Optional),Pentru furnizor implicit (opțional),
+From date cannot be greater than To date,De la data nu poate fi mai mare decât la data,
+Group by,Grupul De,
+In stock,In stoc,
+Item name,Denumire Articol,
+Loan amount is mandatory,Suma împrumutului este obligatorie,
+Minimum Qty,Cantitatea minimă,
+More details,Mai multe detalii,
+Nature of Supplies,Natura aprovizionării,
+No Items found.,Nu au fost gasite articolele.,
+No employee found,Nu a fost găsit angajat,
+No students found,Nu există elevi găsit,
+Not in stock,Nu este în stoc,
+Not permitted,Nu sunt acceptate,
+Open Issues ,Probleme deschise,
+Open Projects ,Deschide Proiecte,
+Open To Do ,Deschideți To Do,
+Operation Id,Operațiunea ID,
+Partially ordered,Comandat parțial,
+Please select company first,Selectați prima companie,
+Please select patient,Selectați pacientul,
+Printed On ,Tipărit pe,
+Projected qty,Numărul estimat,
+Sales person,Persoană de vânzări,
+Serial No {0} Created,Serial Nu {0} a creat,
+Source Location is required for the Asset {0},Sursa Locația este necesară pentru elementul {0},
+Tax Id,Cod de identificare fiscală,
+To Time,La timp,
+To date cannot be before from date,Până în prezent nu poate fi înainte de De la dată,
+Total Taxable value,Valoarea impozabilă totală,
+Upcoming Calendar Events ,Evenimente viitoare Calendar,
+Value or Qty,Valoare sau cantitate,
+Variance ,variație,
+Variant of,Varianta de,
+Write off,Achita,
+hours,ore,
+received from,primit de la,
+to,Până la data,
+Cards,Carduri,
+Percentage,Procent,
+Failed to setup defaults for country {0}. Please contact support@erpnext.com,Eroare la configurarea valorilor prestabilite pentru țară {0}. Vă rugăm să contactați support@erpnext.com,
+Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it.,Rândul # {0}: Elementul {1} nu este un articol serializat / batat. Nu poate avea un număr de serie / nr.,
+Please set {0},Vă rugăm să setați {0},
+Please set {0},Vă rugăm să setați {0},supplier
+Draft,Proiect,"docstatus,=,0"
+Cancelled,Anulat,"docstatus,=,2"
+Please setup Instructor Naming System in Education > Education Settings,Vă rugăm să configurați sistemul de numire a instructorului în educație&gt; Setări educație,
+Please set Naming Series for {0} via Setup > Settings > Naming Series,Vă rugăm să setați Naming Series pentru {0} prin Setare&gt; Setări&gt; Serie pentru denumire,
+UOM Conversion factor ({0} -> {1}) not found for item: {2},Factorul de conversie UOM ({0} -&gt; {1}) nu a fost găsit pentru articol: {2},
+Item Code > Item Group > Brand,Cod articol&gt; Grup de articole&gt; Marcă,
+Customer > Customer Group > Territory,Client&gt; Grup de clienți&gt; Teritoriul,
+Supplier > Supplier Type,Furnizor&gt; Tip furnizor,
+Please setup Employee Naming System in Human Resource > HR Settings,Vă rugăm să configurați sistemul de numire a angajaților în resurse umane&gt; Setări HR,
+Please setup numbering series for Attendance via Setup > Numbering Series,Vă rugăm să configurați seria de numerotare pentru prezență prin Setare&gt; Numerotare,
+The value of {0} differs between Items {1} and {2},Valoarea {0} diferă între elementele {1} și {2},
+Auto Fetch,Preluare automată,
+Fetch Serial Numbers based on FIFO,Obțineți numerele de serie pe baza FIFO,
+"Outward taxable supplies(other than zero rated, nil rated and exempted)","Consumabile impozabile (altele decât zero, zero și scutite)",
+"To allow different rates, disable the {0} checkbox in {1}.","Pentru a permite tarife diferite, dezactivați caseta de selectare {0} din {1}.",
+Current Odometer Value should be greater than Last Odometer Value {0},Valoarea curentă a kilometrului ar trebui să fie mai mare decât ultima valoare a kilometrului {0},
+No additional expenses has been added,Nu s-au adăugat cheltuieli suplimentare,
+Asset{} {assets_link} created for {},Element {} {assets_link} creat pentru {},
+Row {}: Asset Naming Series is mandatory for the auto creation for item {},Rând {}: Seria de denumire a activelor este obligatorie pentru crearea automată a articolului {},
+Assets not created for {0}. You will have to create asset manually.,Elemente care nu au fost create pentru {0}. Va trebui să creați manual activul.,
+{0} {1} has accounting entries in currency {2} for company {3}. Please select a receivable or payable account with currency {2}.,{0} {1} are înregistrări contabile în valută {2} pentru companie {3}. Vă rugăm să selectați un cont de primit sau de plătit cu moneda {2}.,
+Invalid Account,Cont invalid,
+Purchase Order Required,Comandă de aprovizionare necesare,
+Purchase Receipt Required,Cumpărare de primire Obligatoriu,
+Account Missing,Cont lipsă,
+Requested,Solicitată,
+Partially Paid,Parțial plătit,
+Invalid Account Currency,Moneda contului este nevalidă,
+"Row {0}: The item {1}, quantity must be positive number","Rândul {0}: elementul {1}, cantitatea trebuie să fie un număr pozitiv",
+"Please set {0} for Batched Item {1}, which is used to set {2} on Submit.","Vă rugăm să setați {0} pentru articolul lot {1}, care este utilizat pentru a seta {2} la Trimitere.",
+Expiry Date Mandatory,Data de expirare Obligatorie,
+Variant Item,Variant Item,
+BOM 1 {0} and BOM 2 {1} should not be same,BOM 1 {0} și BOM 2 {1} nu ar trebui să fie aceleași,
+Note: Item {0} added multiple times,Notă: articolul {0} a fost adăugat de mai multe ori,
+YouTube,YouTube,
+Vimeo,Vimeo,
+Publish Date,Data publicării,
+Duration,Durată,
+Advanced Settings,Setari avansate,
+Path,cale,
+Components,Componente,
+Verified By,Verificate de,
+Invalid naming series (. missing) for {0},Serii de denumiri nevalide (. Lipsesc) pentru {0},
+Filter Based On,Filtrare bazată pe,
+Reqd by date,Reqd după dată,
+Manufacturer Part Number <b>{0}</b> is invalid,Numărul de piesă al producătorului <b>{0}</b> este nevalid,
+Invalid Part Number,Număr de piesă nevalid,
+Select atleast one Social Media from Share on.,Selectați cel puțin o rețea socială din Partajare pe.,
+Invalid Scheduled Time,Ora programată nevalidă,
+Length Must be less than 280.,Lungimea trebuie să fie mai mică de 280.,
+Error while POSTING {0},Eroare la POSTARE {0},
+"Session not valid, Do you want to login?","Sesiunea nu este validă, doriți să vă autentificați?",
+Session Active,Sesiune activă,
+Session Not Active. Save doc to login.,Sesiunea nu este activă. Salvați documentul pentru autentificare.,
+Error! Failed to get request token.,Eroare! Nu s-a obținut indicativul de solicitare,
+Invalid {0} or {1},{0} sau {1} nevalid,
+Error! Failed to get access token.,Eroare! Nu s-a obținut jetonul de acces.,
+Invalid Consumer Key or Consumer Secret Key,Cheie consumator nevalidă sau cheie secretă consumator,
+Your Session will be expire in ,Sesiunea dvs. va expira în,
+ days.,zile.,
+Session is expired. Save doc to login.,Sesiunea a expirat. Salvați documentul pentru autentificare.,
+Error While Uploading Image,Eroare la încărcarea imaginii,
+You Didn't have permission to access this API,Nu ați avut permisiunea de a accesa acest API,
+Valid Upto date cannot be before Valid From date,Valid Upto date nu poate fi înainte de Valid From date,
+Valid From date not in Fiscal Year {0},Valabil de la data care nu se află în anul fiscal {0},
+Valid Upto date not in Fiscal Year {0},Data actualizată valabilă nu în anul fiscal {0},
+Group Roll No,Rola grupului nr,
+Maintain Same Rate Throughout Sales Cycle,Menține Aceeași Rată in Cursul Ciclului de Vânzări,
+"Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}.","Rândul {1}: Cantitatea ({0}) nu poate fi o fracțiune. Pentru a permite acest lucru, dezactivați „{2}” în UOM {3}.",
+Must be Whole Number,Trebuie să fie Număr întreg,
+Please setup Razorpay Plan ID,Configurați ID-ul planului Razorpay,
+Contact Creation Failed,Crearea contactului nu a reușit,
+{0} already exists for employee {1} and period {2},{0} există deja pentru angajat {1} și perioada {2},
+Leaves Allocated,Frunze alocate,
+Leaves Expired,Frunzele au expirat,
+Leave Without Pay does not match with approved {} records,Concediu fără plată nu se potrivește cu înregistrările {} aprobate,
+Income Tax Slab not set in Salary Structure Assignment: {0},Placa de impozit pe venit nu este setată în atribuirea structurii salariale: {0},
+Income Tax Slab: {0} is disabled,Planșa impozitului pe venit: {0} este dezactivat,
+Income Tax Slab must be effective on or before Payroll Period Start Date: {0},Placa pentru impozitul pe venit trebuie să fie efectivă la data de începere a perioadei de salarizare sau înainte de aceasta: {0},
+No leave record found for employee {0} on {1},Nu s-a găsit nicio evidență de concediu pentru angajatul {0} pe {1},
+Row {0}: {1} is required in the expenses table to book an expense claim.,Rândul {0}: {1} este necesar în tabelul de cheltuieli pentru a rezerva o cerere de cheltuieli.,
+Set the default account for the {0} {1},Setați contul prestabilit pentru {0} {1},
+(Half Day),(Jumătate de zi),
+Income Tax Slab,Placa impozitului pe venit,
+Row #{0}: Cannot set amount or formula for Salary Component {1} with Variable Based On Taxable Salary,Rândul # {0}: Nu se poate stabili suma sau formula pentru componenta salariu {1} cu variabilă pe baza salariului impozabil,
+Row #{}: {} of {} should be {}. Please modify the account or select a different account.,Rândul # {}: {} din {} ar trebui să fie {}. Vă rugăm să modificați contul sau să selectați un alt cont.,
+Row #{}: Please asign task to a member.,Rândul # {}: atribuiți sarcina unui membru.,
+Process Failed,Procesul nu a reușit,
+Tally Migration Error,Eroare de migrare Tally,
+Please set Warehouse in Woocommerce Settings,Vă rugăm să setați Depozitul în Setările Woocommerce,
+Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same,Rândul {0}: Depozitul de livrare ({1}) și Depozitul pentru clienți ({2}) nu pot fi identice,
+Row {0}: Due Date in the Payment Terms table cannot be before Posting Date,Rândul {0}: Data scadenței din tabelul Condiții de plată nu poate fi înainte de Data înregistrării,
+Cannot find {} for item {}. Please set the same in Item Master or Stock Settings.,Nu se poate găsi {} pentru articol {}. Vă rugăm să setați același lucru în Setări articol principal sau stoc,
+Row #{0}: The batch {1} has already expired.,Rândul # {0}: lotul {1} a expirat deja.,
+Start Year and End Year are mandatory,Anul de început și anul de sfârșit sunt obligatorii,
+GL Entry,Intrari GL,
+Cannot allocate more than {0} against payment term {1},Nu se pot aloca mai mult de {0} contra termenului de plată {1},
+The root account {0} must be a group,Contul rădăcină {0} trebuie să fie un grup,
+Shipping rule not applicable for country {0} in Shipping Address,Regula de expediere nu se aplică pentru țara {0} din adresa de expediere,
+Get Payments from,Primiți plăți de la,
+Set Shipping Address or Billing Address,Setați adresa de expediere sau adresa de facturare,
+Consultation Setup,Configurarea consultării,
+Fee Validity,Valabilitate taxă,
+Laboratory Setup,Configurarea laboratorului,
+Dosage Form,Formă de dozare,
+Records and History,Înregistrări și istorie,
+Patient Medical Record,Dosarul medical al pacientului,
+Rehabilitation,Reabilitare,
+Exercise Type,Tipul de exercițiu,
+Exercise Difficulty Level,Nivelul de dificultate al exercițiului,
+Therapy Type,Tip de terapie,
+Therapy Plan,Planul de terapie,
+Therapy Session,Sesiune de terapie,
+Motor Assessment Scale,Scara de evaluare motorie,
+[Important] [ERPNext] Auto Reorder Errors,[Important] [ERPNext] Erori de reordonare automată,
+"Regards,","Salutari,",
+The following {0} were created: {1},Au fost create următoarele {0}: {1},
+Work Orders,comenzi de lucru,
+The {0} {1} created sucessfully,{0} {1} a fost creat cu succes,
+Work Order cannot be created for following reason: <br> {0},Ordinea de lucru nu poate fi creată din următorul motiv:<br> {0},
+Add items in the Item Locations table,Adăugați elemente în tabelul Locații element,
+Update Current Stock,Actualizați stocul curent,
+"{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item","{0} Păstrarea eșantionului se bazează pe lot, vă rugăm să bifați Are Batch No pentru a păstra eșantionul articolului",
+Empty,Gol,
+Currently no stock available in any warehouse,În prezent nu există stoc disponibil în niciun depozit,
+BOM Qty,Cantitatea BOM,
+Time logs are required for {0} {1},Jurnalele de timp sunt necesare pentru {0} {1},
+Total Completed Qty,Cantitatea totală completată,
+Qty to Manufacture,Cantitate pentru fabricare,
+Repay From Salary can be selected only for term loans,Rambursarea din salariu poate fi selectată numai pentru împrumuturile pe termen,
+No valid Loan Security Price found for {0},Nu s-a găsit un preț valid de securitate a împrumutului pentru {0},
+Loan Account and Payment Account cannot be same,Contul de împrumut și Contul de plată nu pot fi aceleași,
+Loan Security Pledge can only be created for secured loans,Garanția de securitate a împrumutului poate fi creată numai pentru împrumuturile garantate,
+Social Media Campaigns,Campanii de socializare,
+From Date can not be greater than To Date,From Date nu poate fi mai mare decât To Date,
+Please set a Customer linked to the Patient,Vă rugăm să setați un client legat de pacient,
+Customer Not Found,Clientul nu a fost găsit,
+Please Configure Clinical Procedure Consumable Item in ,Vă rugăm să configurați articolul consumabil pentru procedura clinică în,
+Missing Configuration,Configurare lipsă,
+Out Patient Consulting Charge Item,Aflați articolul de taxare pentru consultanță pentru pacient,
+Inpatient Visit Charge Item,Taxă pentru vizitarea pacientului,
+OP Consulting Charge,OP Taxă de consultanță,
+Inpatient Visit Charge,Taxă pentru vizitarea bolnavului,
+Appointment Status,Starea numirii,
+Test: ,Test:,
+Collection Details: ,Detalii colecție:,
+{0} out of {1},{0} din {1},
+Select Therapy Type,Selectați Tip de terapie,
+{0} sessions completed,{0} sesiuni finalizate,
+{0} session completed,{0} sesiune finalizată,
+ out of {0},din {0},
+Therapy Sessions,Ședințe de terapie,
+Add Exercise Step,Adăugați Pasul de exerciții,
+Edit Exercise Step,Editați Pasul de exerciții,
+Patient Appointments,Programări pentru pacienți,
+Item with Item Code {0} already exists,Elementul cu codul articolului {0} există deja,
+Registration Fee cannot be negative or zero,Taxa de înregistrare nu poate fi negativă sau zero,
+Configure a service Item for {0},Configurați un articol de serviciu pentru {0},
+Temperature: ,Temperatura:,
+Pulse: ,Puls:,
+Respiratory Rate: ,Rata respiratorie:,
+BP: ,BP:,
+BMI: ,IMC:,
+Note: ,Notă:,
+Check Availability,Verifică Disponibilitate,
+Please select Patient first,Vă rugăm să selectați mai întâi Pacient,
+Please select a Mode of Payment first,Vă rugăm să selectați mai întâi un mod de plată,
+Please set the Paid Amount first,Vă rugăm să setați mai întâi suma plătită,
+Not Therapies Prescribed,Nu terapii prescrise,
+There are no Therapies prescribed for Patient {0},Nu există terapii prescrise pentru pacient {0},
+Appointment date and Healthcare Practitioner are Mandatory,Data numirii și medicul sunt obligatorii,
+No Prescribed Procedures found for the selected Patient,Nu s-au găsit proceduri prescrise pentru pacientul selectat,
+Please select a Patient first,Vă rugăm să selectați mai întâi un pacient,
+There are no procedure prescribed for ,Nu există o procedură prescrisă pentru,
+Prescribed Therapies,Terapii prescrise,
+Appointment overlaps with ,Programarea se suprapune cu,
+{0} has appointment scheduled with {1} at {2} having {3} minute(s) duration.,{0} are programată o întâlnire cu {1} la {2} cu o durată de {3} minute.,
+Appointments Overlapping,Programări care se suprapun,
+Consulting Charges: {0},Taxe de consultanță: {0},
+Appointment Cancelled. Please review and cancel the invoice {0},Programare anulată. Examinați și anulați factura {0},
+Appointment Cancelled.,Programare anulată.,
+Fee Validity {0} updated.,Valabilitatea taxei {0} actualizată.,
+Practitioner Schedule Not Found,Programul practicantului nu a fost găsit,
+{0} is on a Half day Leave on {1},{0} este într-un concediu de jumătate de zi pe {1},
+{0} is on Leave on {1},{0} este în concediu pe {1},
+{0} does not have a Healthcare Practitioner Schedule. Add it in Healthcare Practitioner,{0} nu are un program de asistență medicală. Adăugați-l în Healthcare Practitioner,
+Healthcare Service Units,Unități de servicii medicale,
+Complete and Consume,Completează și consumă,
+Complete {0} and Consume Stock?,Completați {0} și consumați stoc?,
+Complete {0}?,Completați {0}?,
+Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?,Cantitatea de stoc pentru a începe procedura nu este disponibilă în depozit {0}. Doriți să înregistrați o înregistrare de stoc?,
+{0} as on {1},{0} ca pe {1},
+Clinical Procedure ({0}):,Procedură clinică ({0}):,
+Please set Customer in Patient {0},Vă rugăm să setați Clientul în Pacient {0},
+Item {0} is not active,Elementul {0} nu este activ,
+Therapy Plan {0} created successfully.,Planul de terapie {0} a fost creat cu succes.,
+Symptoms: ,Simptome:,
+No Symptoms,Fără simptome,
+Diagnosis: ,Diagnostic:,
+No Diagnosis,Fără diagnostic,
+Drug(s) Prescribed.,Medicament (e) prescris (e).,
+Test(s) Prescribed.,Test (e) prescris (e).,
+Procedure(s) Prescribed.,Procedură (proceduri) prescrise.,
+Counts Completed: {0},Număruri finalizate: {0},
+Patient Assessment,Evaluarea pacientului,
+Assessments,Evaluări,
+Heads (or groups) against which Accounting Entries are made and balances are maintained.,Heads (sau grupuri) față de care înregistrările contabile sunt făcute și soldurile sunt menținute.,
+Account Name,Numele Contului,
+Inter Company Account,Contul Companiei Inter,
+Parent Account,Contul părinte,
+Setting Account Type helps in selecting this Account in transactions.,Setarea Tipul de cont ajută în selectarea acest cont în tranzacții.,
+Chargeable,Taxabil/a,
+Rate at which this tax is applied,Rata la care se aplică acest impozit,
+Frozen,Blocat,
+"If the account is frozen, entries are allowed to restricted users.","În cazul în care contul este blocat, intrările sunt permite utilizatorilor restricționati.",
+Balance must be,Bilanţul trebuie să fie,
+Lft,Lft,
+Rgt,Rgt,
+Old Parent,Vechi mamă,
+Include in gross,Includeți în brut,
+Auditor,Auditor,
+Accounting Dimension,Dimensiunea contabilității,
+Dimension Name,Numele dimensiunii,
+Dimension Defaults,Valorile implicite ale dimensiunii,
+Accounting Dimension Detail,Detalii privind dimensiunea contabilității,
+Default Dimension,Dimensiunea implicită,
+Mandatory For Balance Sheet,Obligatoriu pentru bilanț,
+Mandatory For Profit and Loss Account,Obligatoriu pentru contul de profit și pierdere,
+Accounting Period,Perioadă Contabilă,
+Period Name,Numele perioadei,
+Closed Documents,Documente închise,
+Accounts Settings,Setări Conturi,
+Settings for Accounts,Setări pentru conturi,
+Make Accounting Entry For Every Stock Movement,Realizeaza Intrare de Contabilitate Pentru Fiecare Modificare a Stocului,
+Users with this role are allowed to set frozen accounts and create / modify accounting entries against frozen accounts,Utilizatorii cu acest rol li se permite să stabilească în conturile înghețate și de a crea / modifica intrări contabile împotriva conturile înghețate,
+Determine Address Tax Category From,Determinați categoria de impozitare pe adresa de la,
+Over Billing Allowance (%),Indemnizație de facturare peste (%),
+Credit Controller,Controler de Credit,
+Check Supplier Invoice Number Uniqueness,Cec Furnizor Numărul facturii Unicitatea,
+Make Payment via Journal Entry,Efectuați o plată prin Jurnalul de intrare,
+Unlink Payment on Cancellation of Invoice,Plata unlink privind anularea facturii,
+Book Asset Depreciation Entry Automatically,Încărcarea automată a amortizării activelor din cont,
+Automatically Add Taxes and Charges from Item Tax Template,Adaugă automat impozite și taxe din șablonul de impozit pe articole,
+Automatically Fetch Payment Terms,Obțineți automat Termenii de plată,
+Show Payment Schedule in Print,Afișați programul de plată în Tipărire,
+Currency Exchange Settings,Setările de schimb valutar,
+Allow Stale Exchange Rates,Permiteți rate de schimb stale,
+Stale Days,Zilele stale,
+Report Settings,Setările raportului,
+Use Custom Cash Flow Format,Utilizați formatul fluxului de numerar personalizat,
+Allowed To Transact With,Permis pentru a tranzacționa cu,
+SWIFT number,Număr rapid,
+Branch Code,Codul filialei,
+Address and Contact,Adresa și Contact,
+Address HTML,Adresă HTML,
+Contact HTML,HTML Persoana de Contact,
+Data Import Configuration,Configurarea importului de date,
+Bank Transaction Mapping,Maparea tranzacțiilor bancare,
+Plaid Access Token,Token de acces la carouri,
+Company Account,Contul companiei,
+Account Subtype,Subtipul contului,
+Is Default Account,Este contul implicit,
+Is Company Account,Este un cont de companie,
+Party Details,Party Detalii,
+Account Details,Detalii cont,
+IBAN,IBAN,
+Bank Account No,Contul bancar nr,
+Integration Details,Detalii de integrare,
+Integration ID,ID de integrare,
+Last Integration Date,Ultima dată de integrare,
+Change this date manually to setup the next synchronization start date,Modificați această dată manual pentru a configura următoarea dată de început a sincronizării,
+Mask,Masca,
+Bank Account Subtype,Subtipul contului bancar,
+Bank Account Type,Tipul contului bancar,
+Bank Guarantee,Garantie bancara,
+Bank Guarantee Type,Tip de garanție bancară,
+Receiving,primire,
+Providing,Furnizarea,
+Reference Document Name,Numele documentului de referință,
+Validity in Days,Valabilitate în Zile,
+Bank Account Info,Informații despre contul bancar,
+Clauses and Conditions,Clauze și Condiții,
+Other Details,Alte detalii,
+Bank Guarantee Number,Numărul de garanție bancară,
+Name of Beneficiary,Numele beneficiarului,
+Margin Money,Marja de bani,
+Charges Incurred,Taxele incasate,
+Fixed Deposit Number,Numărul depozitului fix,
+Account Currency,Moneda cont,
+Select the Bank Account to reconcile.,Selectați contul bancar pentru a vă reconcilia.,
+Include Reconciled Entries,Includ intrările împăcat,
+Get Payment Entries,Participările de plată,
+Payment Entries,Intrările de plată,
+Update Clearance Date,Actualizare Clearance Data,
+Bank Reconciliation Detail,Detaliu reconciliere bancară,
+Cheque Number,Număr Cec,
+Cheque Date,Dată Cec,
+Statement Header Mapping,Afișarea antetului de rutare,
+Statement Headers,Antetele declarațiilor,
+Transaction Data Mapping,Transaction Data Mapping,
+Mapped Items,Elemente cartografiate,
+Bank Statement Settings Item,Elementul pentru setările declarației bancare,
+Mapped Header,Antet Cartografiat,
+Bank Header,Antetul băncii,
+Bank Statement Transaction Entry,Intrare tranzacție la declarația bancară,
+Bank Transaction Entries,Intrările de tranzacții bancare,
+New Transactions,Noi tranzacții,
+Match Transaction to Invoices,Tranzacționați tranzacția la facturi,
+Create New Payment/Journal Entry,Creați o nouă plată / intrare în jurnal,
+Submit/Reconcile Payments,Trimiteți / Recondiționați plățile,
+Matching Invoices,Facturi de potrivire,
+Payment Invoice Items,Elemente de factură de plată,
+Reconciled Transactions,Tranzacții Reconciliate,
+Bank Statement Transaction Invoice Item,Tranzacție de poziție bancară,
+Payment Description,Descrierea plății,
+Invoice Date,Data facturii,
+invoice,factura fiscala,
+Bank Statement Transaction Payment Item,Tranzacție de plată a tranzacției,
+outstanding_amount,suma restanta,
+Payment Reference,Referință de plată,
+Bank Statement Transaction Settings Item,Element pentru setările tranzacției din contul bancar,
+Bank Data,Date bancare,
+Mapped Data Type,Mapat tipul de date,
+Mapped Data,Date Cartografiate,
+Bank Transaction,Tranzacție bancară,
+ACC-BTN-.YYYY.-,ACC-BTN-.YYYY.-,
+Transaction ID,ID-ul de tranzacție,
+Unallocated Amount,Suma nealocată,
+Field in Bank Transaction,Câmp în tranzacția bancară,
+Column in Bank File,Coloana în fișierul bancar,
+Bank Transaction Payments,Plăți de tranzacții bancare,
+Control Action,Acțiune de control,
+Applicable on Material Request,Aplicabil la solicitarea materialului,
+Action if Annual Budget Exceeded on MR,Acțiune în cazul depășirii bugetului anual pe MR,
+Warn,Avertiza,
+Ignore,Ignora,
+Action if Accumulated Monthly Budget Exceeded on MR,Acțiune dacă bugetul lunar acumulat este depășit cu MR,
+Applicable on Purchase Order,Aplicabil pe comanda de aprovizionare,
+Action if Annual Budget Exceeded on PO,Acțiune în cazul în care bugetul anual depășește PO,
+Action if Accumulated Monthly Budget Exceeded on PO,Acțiune în cazul în care bugetul lunar acumulat este depășit cu PO,
+Applicable on booking actual expenses,Se aplică la rezervarea cheltuielilor reale,
+Action if Annual Budget Exceeded on Actual,Acțiune în cazul în care bugetul anual depășește suma actuală,
+Action if Accumulated Monthly Budget Exceeded on Actual,Acțiune în cazul în care bugetul lunar acumulat depășește valoarea reală,
+Budget Accounts,Conturile bugetare,
+Budget Account,Contul bugetar,
+Budget Amount,Buget Sumă,
+C-Form,Formular-C,
+ACC-CF-.YYYY.-,ACC-CF-.YYYY.-,
+C-Form No,Nr. formular-C,
+Received Date,Data primit,
+Quarter,Trimestru,
+I,eu,
+II,II,
+III,III,
+IV,IV,
+C-Form Invoice Detail,Detaliu factură formular-C,
+Invoice No,Nr Factura,
+Cash Flow Mapper,Cash Flow Mapper,
+Section Name,Numele secțiunii,
+Section Header,Secțiunea Header,
+Section Leader,Liderul secțiunii,
+e.g Adjustments for:,de ex. ajustări pentru:,
+Section Subtotal,Secțiunea Subtotal,
+Section Footer,Secțiunea Footer,
+Position,Poziţie,
+Cash Flow Mapping,Fluxul de numerar,
+Select Maximum Of 1,Selectați maxim de 1,
+Is Finance Cost,Este costul de finanțare,
+Is Working Capital,Este capitalul de lucru,
+Is Finance Cost Adjustment,Este ajustarea costurilor financiare,
+Is Income Tax Liability,Răspunderea pentru impozitul pe venit,
+Is Income Tax Expense,Cheltuielile cu impozitul pe venit,
+Cash Flow Mapping Accounts,Conturi de cartografiere a fluxurilor de numerar,
+account,Cont,
+Cash Flow Mapping Template,Formatul de cartografiere a fluxului de numerar,
+Cash Flow Mapping Template Details,Detaliile șablonului pentru fluxul de numerar,
+POS-CLO-,POS-CLO-,
+Custody,Custodie,
+Net Amount,Cantitate netă,
+Cashier Closing Payments,Plățile de închidere a caselor,
+Chart of Accounts Importer,Importatorul planului de conturi,
+Import Chart of Accounts from a csv file,Importați Graficul de conturi dintr-un fișier csv,
+Attach custom Chart of Accounts file,Atașați fișierul personalizat al graficului conturilor,
+Chart Preview,Previzualizare grafic,
+Chart Tree,Arbore grafic,
+Cheque Print Template,Format Imprimare Cec,
+Has Print Format,Are Format imprimare,
+Primary Settings,Setări primare,
+Cheque Size,Dimensiune  Cec,
+Regular,Regulat,
+Starting position from top edge,Poziția de la muchia superioară de pornire,
+Cheque Width,Lățime Cec,
+Cheque Height,Cheque Inaltime,
+Scanned Cheque,scanate cecului,
+Is Account Payable,Este cont de plati,
+Distance from top edge,Distanța de la marginea de sus,
+Distance from left edge,Distanța de la marginea din stânga,
+Message to show,Mesaj pentru a arăta,
+Date Settings,Setări Dată,
+Starting location from left edge,Punctul de plecare de la marginea din stânga,
+Payer Settings,Setări plătitorilor,
+Width of amount in word,Lățimea de cuvânt în sumă,
+Line spacing for amount in words,distanța dintre rânduri pentru suma în cuvinte,
+Amount In Figure,Suma în Figura,
+Signatory Position,Poziție semnatar,
+Closed Document,Document închis,
+Track separate Income and Expense for product verticals or divisions.,Urmăriți Venituri separat și cheltuieli verticale produse sau divizii.,
+Cost Center Name,Nume Centrul de Cost,
+Parent Cost Center,Părinte Cost Center,
+lft,LFT,
+rgt,RGT,
+Coupon Code,Codul promoțional,
+Coupon Name,Numele cuponului,
+"e.g. ""Summer Holiday 2019 Offer 20""",de ex. „Oferta de vacanță de vară 2019 20”,
+Coupon Type,Tip cupon,
+Promotional,promoționale,
+Gift Card,Card cadou,
+unique e.g. SAVE20  To be used to get discount,"unic, de exemplu, SAVE20 Pentru a fi utilizat pentru a obține reducere",
+Validity and Usage,Valabilitate și utilizare,
+Valid From,Valabil din,
+Valid Upto,Valid pana la,
+Maximum Use,Utilizare maximă,
+Used,Folosit,
+Coupon Description,Descrierea cuponului,
+Discounted Invoice,Factură redusă,
+Debit to,Debit la,
+Exchange Rate Revaluation,Reevaluarea cursului de schimb,
+Get Entries,Obțineți intrări,
+Exchange Rate Revaluation Account,Contul de reevaluare a cursului de schimb,
+Total Gain/Loss,Total câștig / pierdere,
+Balance In Account Currency,Soldul în moneda contului,
+Current Exchange Rate,Cursul de schimb curent,
+Balance In Base Currency,Soldul în moneda de bază,
+New Exchange Rate,Noul curs de schimb valutar,
+New Balance In Base Currency,Noul echilibru în moneda de bază,
+Gain/Loss,Gain / Pierdere,
+**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.,**Anul fiscal** reprezintă un an financiar. Toate intrările contabile și alte tranzacții majore sunt monitorizate comparativ cu ** Anul fiscal **.,
+Year Name,An Denumire,
+"For e.g. 2012, 2012-13","De exemplu, 2012, 2012-13",
+Year Start Date,An Data începerii,
+Year End Date,Anul Data de încheiere,
+Companies,Companii,
+Auto Created,Crearea automată,
+Stock User,Stoc de utilizare,
+Fiscal Year Company,Anul fiscal companie,
+Debit Amount,Sumă Debit,
+Credit Amount,Suma de credit,
+Debit Amount in Account Currency,Sumă Debit în Monedă Cont,
+Credit Amount in Account Currency,Suma de credit în cont valutar,
+Voucher Detail No,Detaliu voucher Nu,
+Is Opening,Se deschide,
+Is Advance,Este Advance,
+To Rename,Pentru a redenumi,
+GST Account,Contul GST,
+CGST Account,Contul CGST,
+SGST Account,Contul SGST,
+IGST Account,Cont IGST,
+CESS Account,Cont CESS,
+Loan Start Date,Data de început a împrumutului,
+Loan Period (Days),Perioada de împrumut (zile),
+Loan End Date,Data de încheiere a împrumutului,
+Bank Charges,Taxe bancare,
+Short Term Loan Account,Cont de împrumut pe termen scurt,
+Bank Charges Account,Cont de taxe bancare,
+Accounts Receivable Credit Account,Conturi de credit de primit,
+Accounts Receivable Discounted Account,Conturi de primit cu reducere,
+Accounts Receivable Unpaid Account,Conturi de primit un cont neplătit,
+Item Tax Template,Șablon fiscal de articol,
+Tax Rates,Taxe de impozitare,
+Item Tax Template Detail,Detaliu de șablon fiscal,
+Entry Type,Tipul de intrare,
+Inter Company Journal Entry,Intrarea în Jurnalul Inter companiei,
+Bank Entry,Intrare bancară,
+Cash Entry,Cash intrare,
+Credit Card Entry,Card de credit intrare,
+Contra Entry,Contra intrare,
+Excise Entry,Intrare accize,
+Write Off Entry,Amortizare intrare,
+Opening Entry,Deschiderea de intrare,
+ACC-JV-.YYYY.-,ACC-JV-.YYYY.-,
+Accounting Entries,Înregistrări contabile,
+Total Debit,Total debit,
+Total Credit,Total credit,
+Difference (Dr - Cr),Diferența (Dr - Cr),
+Make Difference Entry,Realizeaza Intrare de Diferenta,
+Total Amount Currency,Suma totală Moneda,
+Total Amount in Words,Suma totală în cuvinte,
+Remark,Remarcă,
+Paid Loan,Imprumut platit,
+Inter Company Journal Entry Reference,Întreprindere de referință pentru intrarea în jurnal,
+Write Off Based On,Scrie Off bazat pe,
+Get Outstanding Invoices,Obtine Facturi Neachitate,
+Write Off Amount,Anulați suma,
+Printing Settings,Setări de imprimare,
+Pay To / Recd From,Pentru a plăti / Recd de la,
+Payment Order,Ordin de plată,
+Subscription Section,Secțiunea de abonamente,
+Journal Entry Account,Jurnal de cont intrare,
+Account Balance,Soldul contului,
+Party Balance,Balanța Party,
+Accounting Dimensions,Dimensiuni contabile,
+If Income or Expense,In cazul Veniturilor sau Cheltuielilor,
+Exchange Rate,Rata de schimb,
+Debit in Company Currency,Debit în Monedă Companie,
+Credit in Company Currency,Credit în companie valutar,
+Payroll Entry,Salarizare intrare,
+Employee Advance,Angajat Advance,
+Reference Due Date,Data de referință pentru referință,
+Loyalty Program Tier,Program de loialitate,
+Redeem Against,Răscumpărați împotriva,
+Expiry Date,Data expirării,
+Loyalty Point Entry Redemption,Punctul de răscumpărare a punctelor de loialitate,
+Redemption Date,Data de răscumpărare,
+Redeemed Points,Răscumpărate Puncte,
+Loyalty Program Name,Nume program de loialitate,
+Loyalty Program Type,Tip de program de loialitate,
+Single Tier Program,Program unic de nivel,
+Multiple Tier Program,Program multiplu,
+Customer Territory,Teritoriul clientului,
+Auto Opt In (For all customers),Oprire automată (pentru toți clienții),
+Collection Tier,Colecția Tier,
+Collection Rules,Regulile de colectare,
+Redemption,Răscumpărare,
+Conversion Factor,Factor de conversie,
+1 Loyalty Points = How much base currency?,1 Puncte de loialitate = Cât de multă monedă de bază?,
+Expiry Duration (in days),Termenul de expirare (în zile),
+Help Section,Secțiunea Ajutor,
+Loyalty Program Help,Programul de ajutor pentru loialitate,
+Loyalty Program Collection,Colecția de programe de loialitate,
+Tier Name,Denumirea nivelului,
+Minimum Total Spent,Suma totală cheltuită,
+Collection Factor (=1 LP),Factor de colectare (= 1 LP),
+For how much spent = 1 Loyalty Point,Pentru cât de mult a fost cheltuit = 1 punct de loialitate,
+Mode of Payment Account,Modul de cont de plăți,
+Default Account,Cont Implicit,
+Default account will be automatically updated in POS Invoice when this mode is selected.,Contul implicit va fi actualizat automat în factură POS când este selectat acest mod.,
+**Monthly Distribution** helps you distribute the Budget/Target across months if you have seasonality in your business.,** Lunar Distribuție ** vă ajută să distribuie bugetul / Target peste luni dacă aveți sezonier în afacerea dumneavoastră.,
+Distribution Name,Denumire Distribuție,
+Name of the Monthly Distribution,Numele de Distributie lunar,
+Monthly Distribution Percentages,Procente de distribuție lunare,
+Monthly Distribution Percentage,Lunar Procentaj Distribuție,
+Percentage Allocation,Alocarea procent,
+Create Missing Party,Creați Parte Lipsă,
+Create missing customer or supplier.,Creați client sau furnizor lipsă.,
+Opening Invoice Creation Tool Item,Deschiderea elementului instrumentului de creare a facturilor,
+Temporary Opening Account,Contul de deschidere temporar,
+Party Account,Party Account,
+Type of Payment,Tipul de plată,
+ACC-PAY-.YYYY.-,ACC-PAY-.YYYY.-,
+Receive,Primește,
+Internal Transfer,Transfer intern,
+Payment Order Status,Starea comenzii de plată,
+Payment Ordered,Plata a fost comandată,
+Payment From / To,Plata De la / la,
+Company Bank Account,Cont bancar al companiei,
+Party Bank Account,Cont bancar de partid,
+Account Paid From,Contul plătit De la,
+Account Paid To,Contul Plătite,
+Paid Amount (Company Currency),Plătit Suma (Compania de valuta),
+Received Amount,Sumă Primită,
+Received Amount (Company Currency),Suma primită (Moneda Companiei),
+Get Outstanding Invoice,Obțineți o factură excepțională,
+Payment References,Referințe de plată,
+Writeoff,Achita,
+Total Allocated Amount,Suma totală alocată,
+Total Allocated Amount (Company Currency),Suma totală alocată (Companie Moneda),
+Set Exchange Gain / Loss,Set Exchange Gain / Pierdere,
+Difference Amount (Company Currency),Diferența Sumă (Companie Moneda),
+Write Off Difference Amount,Diferență Sumă Piertdute,
+Deductions or Loss,Deduceri sau Pierderi,
+Payment Deductions or Loss,Deducerile de plată sau pierdere,
+Cheque/Reference Date,Cec/Dată de Referință,
+Payment Entry Deduction,Plată Deducerea intrare,
+Payment Entry Reference,Plată intrare de referință,
+Allocated,Alocat,
+Payment Gateway Account,Plata cont Gateway,
+Payment Account,Cont de plăți,
+Default Payment Request Message,Implicit solicita plata mesaj,
+PMO-,PMO-,
+Payment Order Type,Tipul ordinului de plată,
+Payment Order Reference,Instrucțiuni de plată,
+Bank Account Details,Detaliile contului bancar,
+Payment Reconciliation,Reconcilierea plată,
+Receivable / Payable Account,De încasat de cont / de plătit,
+Bank / Cash Account,Cont bancă / numerar,
+From Invoice Date,De la data facturii,
+To Invoice Date,Pentru a facturii Data,
+Minimum Invoice Amount,Factură cantitate minimă,
+Maximum Invoice Amount,Suma maxima Factură,
+System will fetch all the entries if limit value is zero.,Sistemul va prelua toate intrările dacă valoarea limită este zero.,
+Get Unreconciled Entries,Ia nereconciliate Entries,
+Unreconciled Payment Details,Nereconciliate Detalii de plată,
+Invoice/Journal Entry Details,Factura / Jurnalul Detalii intrari,
+Payment Reconciliation Invoice,Reconcilierea plata facturii,
+Invoice Number,Numar factura,
+Payment Reconciliation Payment,Reconciliere de plata,
+Reference Row,rândul de referință,
+Allocated amount,Suma alocată,
+Payment Request Type,Tip de solicitare de plată,
+Outward,Exterior,
+Inward,interior,
+ACC-PRQ-.YYYY.-,ACC-PRQ-.YYYY.-,
+Transaction Details,Detalii tranzacție,
+Amount in customer's currency,Suma în moneda clientului,
+Is a Subscription,Este un abonament,
+Transaction Currency,Operațiuni valutare,
+Subscription Plans,Planuri de abonament,
+SWIFT Number,Număr rapid,
+Recipient Message And Payment Details,Mesaj destinatar și Detalii de plată,
+Make Sales Invoice,Faceți Factură de Vânzare,
+Mute Email,Mute Email,
+payment_url,payment_url,
+Payment Gateway Details,Plata Gateway Detalii,
+Payment Schedule,Planul de plăți,
+Invoice Portion,Fracțiunea de facturi,
+Payment Amount,Plata Suma,
+Payment Term Name,Numele termenului de plată,
+Due Date Based On,Data de bază bazată pe,
+Day(s) after invoice date,Ziua (zilele) după data facturii,
+Day(s) after the end of the invoice month,Ziua (zilele) de la sfârșitul lunii facturii,
+Month(s) after the end of the invoice month,Luna (luni) după sfârșitul lunii facturii,
+Credit Days,Zile de Credit,
+Credit Months,Lunile de credit,
+Allocate Payment Based On Payment Terms,Alocați plata în funcție de condițiile de plată,
+"If this checkbox is checked, paid amount will be splitted and allocated as per the amounts in payment schedule against each payment term","Dacă această casetă de selectare este bifată, suma plătită va fi împărțită și alocată conform sumelor din programul de plată pentru fiecare termen de plată",
+Payment Terms Template Detail,Plata detaliilor privind termenii de plată,
+Closing Fiscal Year,Închiderea Anului Fiscal,
+Closing Account Head,Închidere Cont Principal,
+"The account head under Liability or Equity, in which Profit/Loss will be booked","Capul de cont sub răspunderea sau a capitalului propriu, în care Profit / Pierdere vor fi rezervate",
+POS Customer Group,Grup Clienți POS,
+POS Field,Câmpul POS,
+POS Item Group,POS Articol Grupa,
+Company Address,Adresă Companie,
+Update Stock,Actualizare stock,
+Ignore Pricing Rule,Ignora Regula Preturi,
+Applicable for Users,Aplicabil pentru utilizatori,
+Sales Invoice Payment,Vânzări factură de plată,
+Item Groups,Grupuri articol,
+Only show Items from these Item Groups,Afișați numai articole din aceste grupuri de articole,
+Customer Groups,Grupuri de clienți,
+Only show Customer of these Customer Groups,Afișați numai Clientul acestor grupuri de clienți,
+Write Off Account,Scrie Off cont,
+Write Off Cost Center,Scrie Off cost Center,
+Account for Change Amount,Contul pentru Schimbare Sumă,
+Taxes and Charges,Impozite și Taxe,
+Apply Discount On,Aplicați Discount pentru,
+POS Profile User,Utilizator de profil POS,
+Apply On,Se aplică pe,
+Price or Product Discount,Preț sau reducere produs,
+Apply Rule On Item Code,Aplicați regula pe codul articolului,
+Apply Rule On Item Group,Aplicați regula pe grupul de articole,
+Apply Rule On Brand,Aplicați regula pe marcă,
+Mixed Conditions,Condiții mixte,
+Conditions will be applied on all the selected items combined. ,Condițiile se vor aplica pe toate elementele selectate combinate.,
+Is Cumulative,Este cumulativ,
+Coupon Code Based,Bazat pe codul cuponului,
+Discount on Other Item,Reducere la alt articol,
+Apply Rule On Other,Aplicați regula pe alte,
+Party Information,Informații despre petreceri,
+Quantity and Amount,Cantitate și sumă,
+Min Qty,Min Cantitate,
+Max Qty,Max Cantitate,
+Min Amt,Amt min,
+Max Amt,Max Amt,
+Period Settings,Setări perioade,
+Margin,Margin,
+Margin Type,Tipul de marjă,
+Margin Rate or Amount,Rata de marjă sau Sumă,
+Price Discount Scheme,Schema de reducere a prețurilor,
+Rate or Discount,Tarif sau Discount,
+Discount Percentage,Procentul de Reducere,
+Discount Amount,Reducere Suma,
+For Price List,Pentru Lista de Preturi,
+Product Discount Scheme,Schema de reducere a produsului,
+Same Item,Același articol,
+Free Item,Articol gratuit,
+Threshold for Suggestion,Prag pentru sugestie,
+System will notify to increase or decrease quantity or amount ,Sistemul va notifica să crească sau să scadă cantitatea sau cantitatea,
+"Higher the number, higher the priority","Este mai mare numărul, mai mare prioritate",
+Apply Multiple Pricing Rules,Aplicați mai multe reguli privind prețurile,
+Apply Discount on Rate,Aplicați reducere la tarif,
+Validate Applied Rule,Validați regula aplicată,
+Rule Description,Descrierea regulii,
+Pricing Rule Help,Regula de stabilire a prețurilor de ajutor,
+Promotional Scheme Id,Codul promoțional ID,
+Promotional Scheme,Schema promoțională,
+Pricing Rule Brand,Marca de regulă a prețurilor,
+Pricing Rule Detail,Detaliu privind regula prețurilor,
+Child Docname,Numele documentului pentru copii,
+Rule Applied,Regula aplicată,
+Pricing Rule Item Code,Regula prețurilor Cod articol,
+Pricing Rule Item Group,Grupul de articole din regula prețurilor,
+Price Discount Slabs,Placi cu reducere de preț,
+Promotional Scheme Price Discount,Schema promoțională Reducere de preț,
+Product Discount Slabs,Placi cu reducere de produse,
+Promotional Scheme Product Discount,Schema promoțională Reducere de produs,
+Min Amount,Suma minima,
+Max Amount,Suma maximă,
+Discount Type,Tipul reducerii,
+ACC-PINV-.YYYY.-,ACC-PINV-.YYYY.-,
+Tax Withholding Category,Categoria de reținere fiscală,
+Edit Posting Date and Time,Editare postare Data și ora,
+Is Paid,Este platit,
+Is Return (Debit Note),Este Return (Nota de debit),
+Apply Tax Withholding Amount,Aplicați suma de reținere fiscală,
+Accounting Dimensions ,Dimensiuni contabile,
+Supplier Invoice Details,Furnizor Detalii factură,
+Supplier Invoice Date,Furnizor Data facturii,
+Return Against Purchase Invoice,Reveni Împotriva cumparare factură,
+Select Supplier Address,Selectați Furnizor Adresă,
+Contact Person,Persoană de contact,
+Select Shipping Address,Selectați adresa de expediere,
+Currency and Price List,Valută și lista de prețuri,
+Price List Currency,Lista de pret Valuta,
+Price List Exchange Rate,Lista de schimb valutar,
+Set Accepted Warehouse,Set depozit acceptat,
+Rejected Warehouse,Depozit Respins,
+Warehouse where you are maintaining stock of rejected items,Depozit în cazul în care se menține stocul de articole respinse,
+Raw Materials Supplied,Materii prime furnizate,
+Supplier Warehouse,Furnizor Warehouse,
+Pricing Rules,Reguli privind prețurile,
+Supplied Items,Articole furnizate,
+Total (Company Currency),Total (Company valutar),
+Net Total (Company Currency),Net total (Compania de valuta),
+Total Net Weight,Greutatea totală netă,
+Shipping Rule,Regula de transport maritim,
+Purchase Taxes and Charges Template,Achiziționa impozite și taxe Template,
+Purchase Taxes and Charges,Taxele de cumpărare și Taxe,
+Tax Breakup,Descărcarea de impozite,
+Taxes and Charges Calculation,Impozite și Taxe Calcul,
+Taxes and Charges Added (Company Currency),Impozite și Taxe adăugate (Compania de valuta),
+Taxes and Charges Deducted (Company Currency),Impozite și taxe deduse (Compania de valuta),
+Total Taxes and Charges (Company Currency),Total Impozite si Taxe (Compania valutar),
+Taxes and Charges Added,Impozite și Taxe Added,
+Taxes and Charges Deducted,Impozite și Taxe dedus,
+Total Taxes and Charges,Total Impozite și Taxe,
+Additional Discount,Discount suplimentar,
+Apply Additional Discount On,Aplicați Discount suplimentare La,
+Additional Discount Amount (Company Currency),Discount suplimentar Suma (companie de valuta),
+Additional Discount Percentage,Procent de reducere suplimentară,
+Additional Discount Amount,Suma de reducere suplimentară,
+Grand Total (Company Currency),Total general (Valuta Companie),
+Rounding Adjustment (Company Currency),Rotunjire ajustare (moneda companiei),
+Rounded Total (Company Currency),Rotunjite total (Compania de valuta),
+In Words (Company Currency),În cuvinte (Compania valutar),
+Rounding Adjustment,Ajustare Rotunjire,
+In Words,În cuvinte,
+Total Advance,Total de Advance,
+Disable Rounded Total,Dezactivati Totalul Rotunjit,
+Cash/Bank Account,Numerar/Cont Bancar,
+Write Off Amount (Company Currency),Scrie Off Suma (Compania de valuta),
+Set Advances and Allocate (FIFO),Setați avansuri și alocați (FIFO),
+Get Advances Paid,Obtine Avansurile Achitate,
+Advances,Avansuri,
+Terms,Termeni,
+Terms and Conditions1,Termeni și Conditions1,
+Group same items,Același grup de elemente,
+Print Language,Limba de imprimare,
+"Once set, this invoice will be on hold till the set date","Odată stabilită, această factură va fi reținută până la data stabilită",
+Credit To,De Creditat catre,
+Party Account Currency,Partidul cont valutar,
+Against Expense Account,Comparativ contului de cheltuieli,
+Inter Company Invoice Reference,Interfața de referință pentru interfața companiei,
+Is Internal Supplier,Este furnizor intern,
+Start date of current invoice's period,Data perioadei de factura de curent începem,
+End date of current invoice's period,Data de încheiere a perioadei facturii curente,
+Update Auto Repeat Reference,Actualizați referința de repetare automată,
+Purchase Invoice Advance,Factura de cumpărare în avans,
+Purchase Invoice Item,Factura de cumpărare Postul,
+Quantity and Rate,Cantitatea și rata,
+Received Qty,Cantitate primita,
+Accepted Qty,Cantitate acceptată,
+Rejected Qty,Cant. Respinsă,
+UOM Conversion Factor,Factorul de conversie UOM,
+Discount on Price List Rate (%),Reducere la Lista de preturi Rate (%),
+Price List Rate (Company Currency),Lista de prețuri Rate (Compania de valuta),
+Rate (Company Currency),Rata de (Compania de valuta),
+Amount (Company Currency),Sumă (monedă companie),
+Is Free Item,Este articol gratuit,
+Net Rate,Rata netă,
+Net Rate (Company Currency),Rata netă (companie de valuta),
+Net Amount (Company Currency),Suma netă (companie de valuta),
+Item Tax Amount Included in Value,Suma impozitului pe articol inclus în valoare,
+Landed Cost Voucher Amount,Costul Landed Voucher Suma,
+Raw Materials Supplied Cost,Costul materiilor prime livrate,
+Accepted Warehouse,Depozit Acceptat,
+Serial No,Nr. serie,
+Rejected Serial No,Respins de ordine,
+Expense Head,Beneficiar Cheltuiala,
+Is Fixed Asset,Este activ fix,
+Asset Location,Locația activelor,
+Deferred Expense,Cheltuieli amânate,
+Deferred Expense Account,Contul de cheltuieli amânate,
+Service Stop Date,Data de începere a serviciului,
+Enable Deferred Expense,Activați cheltuielile amânate,
+Service Start Date,Data de începere a serviciului,
+Service End Date,Data de încheiere a serviciului,
+Allow Zero Valuation Rate,Permiteți ratei de evaluare zero,
+Item Tax Rate,Rata de Impozitare Articol,
+Tax detail table fetched from item master as a string and stored in this field.\nUsed for Taxes and Charges,Taxa detaliu tabel preluat de la maestru articol ca un șir și stocate în acest domeniu.\n Folosit pentru Impozite și Taxe,
+Purchase Order Item,Comandă de aprovizionare Articol,
+Purchase Receipt Detail,Detaliu de primire a achiziției,
+Item Weight Details,Greutate Detalii articol,
+Weight Per Unit,Greutate pe unitate,
+Total Weight,Greutate totală,
+Weight UOM,Greutate UOM,
+Page Break,Page Break,
+Consider Tax or Charge for,Considerare Taxa sau Cost pentru,
+Valuation and Total,Evaluare și Total,
+Valuation,Evaluare,
+Add or Deduct,Adăugaţi sau deduceţi,
+Deduct,Deduce,
+On Previous Row Amount,La rândul precedent Suma,
+On Previous Row Total,Inapoi la rândul Total,
+On Item Quantity,Pe cantitatea articolului,
+Reference Row #,Reference Row #,
+Is this Tax included in Basic Rate?,Este acest fiscală inclusă în rata de bază?,
+"If checked, the tax amount will be considered as already included in the Print Rate / Print Amount","In cazul in care se bifeaza, suma taxelor va fi considerată ca fiind deja inclusa în Rata de Imprimare / Suma de Imprimare",
+Account Head,Titularul Contului,
+Tax Amount After Discount Amount,Suma taxa După Discount Suma,
+Item Wise Tax Detail ,Articolul Detaliu fiscal înțelept,
+"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.","Șablon de impozitare standard care pot fi aplicate la toate tranzacțiile de cumpărare. Acest model poate conține lista de capete fiscale și, de asemenea, mai multe capete de cheltuieli, cum ar fi ""de transport"", ""asigurare"", ""manipulare"" etc. \n\n #### Notă \n\n Rata de impozitare pe care o definiți aici va fi rata de impozitare standard pentru toate Articole ** **. Dacă există articole ** **, care au preturi diferite, acestea trebuie să fie adăugate în ** Impozitul Postul ** masă în ** ** postul comandantului.\n\n #### Descrierea de coloane \n\n 1. Calcul Tip: \n - Acest lucru poate fi pe ** net total ** (care este suma cuantum de bază).\n - ** La rândul precedent Raport / Suma ** (pentru impozite sau taxe cumulative). Dacă selectați această opțiune, impozitul va fi aplicat ca procent din rândul anterior (în tabelul de impozitare) suma totală sau.\n - ** ** Real (după cum sa menționat).\n 2. Șeful cont: Registrul cont în care acest impozit va fi rezervat \n 3. Cost Center: În cazul în care taxa / taxa este un venit (cum ar fi de transport maritim) sau cheltuieli trebuie să se rezervat împotriva unui centru de cost.\n 4. Descriere: Descriere a taxei (care vor fi tipărite în facturi / citate).\n 5. Notă: Rata de Profit Brut.\n 6. Suma: suma taxei.\n 7. Total: total cumulat la acest punct.\n 8. Introduceți Row: Dacă bazat pe ""Înapoi Row Total"", puteți selecta numărul rând care vor fi luate ca bază pentru acest calcul (implicit este rândul precedent).\n 9. Luați în considerare Brut sau Taxa pentru: În această secțiune puteți specifica dacă taxa / taxa este doar pentru evaluare (nu o parte din total) sau numai pe total (nu adaugă valoare elementul) sau pentru ambele.\n 10. Adăugați sau deduce: Fie că doriți să adăugați sau deduce taxa.",
+Salary Component Account,Contul de salariu Componentă,
+Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.,Default cont bancar / numerar vor fi actualizate automat în Jurnalul de intrare a salariului când este selectat acest mod.,
+ACC-SINV-.YYYY.-,ACC-SINV-.YYYY.-,
+Include Payment (POS),Include de plată (POS),
+Offline POS Name,Offline Numele POS,
+Is Return (Credit Note),Este retur (nota de credit),
+Return Against Sales Invoice,Reveni Împotriva Vânzări factură,
+Update Billed Amount in Sales Order,Actualizați suma facturată în comandă de vânzări,
+Customer PO Details,Detalii PO pentru clienți,
+Customer's Purchase Order,Comandă clientului,
+Customer's Purchase Order Date,Data Comanda de Aprovizionare Client,
+Customer Address,Adresă Client,
+Shipping Address Name,Transport Adresa Nume,
+Company Address Name,Nume Companie,
+Rate at which Customer Currency is converted to customer's base currency,Rata la care Clientul valuta este convertită în valuta de bază a clientului,
+Rate at which Price list currency is converted to customer's base currency,Rata la care lista de prețuri moneda este convertit în valuta de bază a clientului,
+Set Source Warehouse,Set sursă depozit,
+Packing List,Lista de ambalare,
+Packed Items,Articole pachet,
+Product Bundle Help,Produs Bundle Ajutor,
+Time Sheet List,Listă de timp Sheet,
+Time Sheets,Foi de timp,
+Total Billing Amount,Suma totală de facturare,
+Sales Taxes and Charges Template,Impozite vânzări și șabloane Taxe,
+Sales Taxes and Charges,Taxele de vânzări și Taxe,
+Loyalty Points Redemption,Răscumpărarea punctelor de loialitate,
+Redeem Loyalty Points,Răscumpărați punctele de loialitate,
+Redemption Account,Cont de Răscumpărare,
+Redemption Cost Center,Centrul de cost de răscumpărare,
+In Words will be visible once you save the Sales Invoice.,În cuvinte va fi vizibil după salvarea facturii.,
+Allocate Advances Automatically (FIFO),Alocați avansuri automat (FIFO),
+Get Advances Received,Obtine Avansurile Primite,
+Base Change Amount (Company Currency),De schimbare a bazei Suma (Companie Moneda),
+Write Off Outstanding Amount,Scrie Off remarcabile Suma,
+Terms and Conditions Details,Termeni și condiții Detalii,
+Is Internal Customer,Este client intern,
+Is Discounted,Este redus,
+Unpaid and Discounted,Neplătit și redus,
+Overdue and Discounted,Întârziat și redus,
+Accounting Details,Detalii Contabilitate,
+Debit To,Debit Pentru,
+Is Opening Entry,Deschiderea este de intrare,
+C-Form Applicable,Formular-C aplicabil,
+Commission Rate (%),Rata de Comision (%),
+Sales Team1,Vânzări TEAM1,
+Against Income Account,Comparativ contului de venit,
+Sales Invoice Advance,Factura Vanzare Advance,
+Advance amount,Sumă în avans,
+Sales Invoice Item,Factură de vânzări Postul,
+Customer's Item Code,Cod Articol Client,
+Brand Name,Denumire marcă,
+Qty as per Stock UOM,Cantitate conform Stock UOM,
+Discount and Margin,Reducere și marja de profit,
+Rate With Margin,Rate cu marjă,
+Discount (%) on Price List Rate with Margin,Reducere (%) la rata de listă cu marjă,
+Rate With Margin (Company Currency),Rata cu marjă (moneda companiei),
+Delivered By Supplier,Livrate de Furnizor,
+Deferred Revenue,Venituri amânate,
+Deferred Revenue Account,Contul de venituri amânate,
+Enable Deferred Revenue,Activați venitul amânat,
+Stock Details,Stoc Detalii,
+Customer Warehouse (Optional),Depozit de client (opțional),
+Available Batch Qty at Warehouse,Cantitate lot disponibilă în depozit,
+Available Qty at Warehouse,Cantitate disponibilă în depozit,
+Delivery Note Item,Articol de nota de Livrare,
+Base Amount (Company Currency),Suma de bază (Companie Moneda),
+Sales Invoice Timesheet,Vânzări factură Pontaj,
+Time Sheet,Fișa de timp,
+Billing Hours,Ore de facturare,
+Timesheet Detail,Detalii pontaj,
+Tax Amount After Discount Amount (Company Currency),Suma impozitului pe urma Discount Suma (companie de valuta),
+Item Wise Tax Detail,Detaliu Taxa Avizata Articol,
+Parenttype,ParentType,
+"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.","Șablon de impozitare standard, care pot fi aplicate la toate tranzacțiile de vânzare. Acest model poate conține lista de capete fiscale și, de asemenea, mai multe capete de cheltuieli / venituri, cum ar fi ""de transport"", ""asigurare"", ""manipulare"" etc. \n\n #### Notă \n\n vă Rata de impozitare defini aici va fi cota de impozitare standard pentru toate Articole ** **. Dacă există articole ** **, care au preturi diferite, acestea trebuie să fie adăugate în ** Impozitul Postul ** masă în ** ** postul comandantului.\n\n #### Descrierea de coloane \n\n 1. Calcul Tip: \n - Acest lucru poate fi pe ** net total ** (care este suma cuantum de bază).\n - ** La rândul precedent Raport / Suma ** (pentru impozite sau taxe cumulative). Dacă selectați această opțiune, impozitul va fi aplicat ca procent din rândul anterior (în tabelul de impozitare) suma totală sau.\n - ** ** Real (după cum sa menționat).\n 2. Șeful cont: Registrul cont în care acest impozit va fi rezervat \n 3. Cost Center: În cazul în care taxa / taxa este un venit (cum ar fi de transport maritim) sau cheltuieli trebuie să se rezervat împotriva unui centru de cost.\n 4. Descriere: Descriere a taxei (care vor fi tipărite în facturi / citate).\n 5. Notă: Rata de Profit Brut.\n 6. Suma: suma taxei.\n 7. Total: total cumulat la acest punct.\n 8. Introduceți Row: Dacă bazat pe ""Înapoi Row Total"", puteți selecta numărul rând care vor fi luate ca bază pentru acest calcul (implicit este rândul precedent).\n 9. Este Brut inclus în rata de bază ?: Dacă verifica acest lucru, înseamnă că acest impozit nu va fi arătată tabelul de mai jos articol, dar vor fi incluse în rata de bază din tabelul punctul principal. Acest lucru este util în cazul în care doriți dau un preț plat (cu toate taxele incluse) preț pentru clienți.",
+* Will be calculated in the transaction.,* Va fi calculat în cadrul tranzacției.,
+From No,De la nr,
+To No,Pentru a Nu,
+Is Company,Este compania,
+Current State,Starea curenta,
+Purchased,Cumparate,
+From Shareholder,De la acționar,
+From Folio No,Din Folio nr,
+To Shareholder,Pentru acționar,
+To Folio No,Pentru Folio nr,
+Equity/Liability Account,Contul de capitaluri proprii,
+Asset Account,Cont de active,
+(including),(inclusiv),
+ACC-SH-.YYYY.-,ACC-SH-.YYYY.-,
+Folio no.,Folio nr.,
+Address and Contacts,Adresa și Contacte,
+Contact List,Listă de contacte,
+Hidden list maintaining the list of contacts linked to Shareholder,Lista ascunsă menținând lista contactelor legate de acționar,
+Specify conditions to calculate shipping amount,Precizați condițiile de calcul cantitate de transport maritim,
+Shipping Rule Label,Regula de transport maritim Label,
+example: Next Day Shipping,exemplu: Next Day Shipping,
+Shipping Rule Type,Tipul regulii de transport,
+Shipping Account,Contul de transport maritim,
+Calculate Based On,Calculaţi pe baza,
+Fixed,Fix,
+Net Weight,Greutate netă,
+Shipping Amount,Suma de transport maritim,
+Shipping Rule Conditions,Condiții Regula de transport maritim,
+Restrict to Countries,Limitează la Țări,
+Valid for Countries,Valabil pentru țările,
+Shipping Rule Condition,Regula Condiții presetate,
+A condition for a Shipping Rule,O condiție pentru o normă de transport,
+From Value,Din Valoare,
+To Value,La valoarea,
+Shipping Rule Country,Regula de transport maritim Tara,
+Subscription Period,Perioada de abonament,
+Subscription Start Date,Data de începere a abonamentului,
+Cancelation Date,Data Anulării,
+Trial Period Start Date,Perioada de începere a perioadei de încercare,
+Trial Period End Date,Data de încheiere a perioadei de încercare,
+Current Invoice Start Date,Data de începere a facturii actuale,
+Current Invoice End Date,Data de încheiere a facturii actuale,
+Days Until Due,Zile Până la Termen,
+Number of days that the subscriber has to pay invoices generated by this subscription,Numărul de zile în care abonatul trebuie să plătească facturile generate de acest abonament,
+Cancel At End Of Period,Anulați la sfârșitul perioadei,
+Generate Invoice At Beginning Of Period,Generați factura la începutul perioadei,
+Plans,Planuri,
+Discounts,reduceri,
+Additional DIscount Percentage,Procent Discount Suplimentar,
+Additional DIscount Amount,Valoare discount-ului suplimentar,
+Subscription Invoice,Factura de abonament,
+Subscription Plan,Planul de abonament,
+Cost,Cost,
+Billing Interval,Intervalul de facturare,
+Billing Interval Count,Intervalul de facturare,
+"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","Numărul de intervale pentru câmpul intervalului, de exemplu, dacă Intervalul este &quot;Zile&quot; și Numărul de intervale de facturare este de 3, facturile vor fi generate la fiecare 3 zile",
+Payment Plan,Plan de plată,
+Subscription Plan Detail,Detaliile planului de abonament,
+Plan,Plan,
+Subscription Settings,Setările pentru abonament,
+Grace Period,Perioadă de grație,
+Number of days after invoice date has elapsed before canceling subscription or marking subscription as unpaid,Numărul de zile după expirarea datei facturii înainte de a anula abonamentul sau marcarea abonamentului ca neplătit,
+Prorate,Prorate,
+Tax Rule,Regula de impozitare,
+Tax Type,Tipul de impozitare,
+Use for Shopping Cart,Utilizați pentru Cos de cumparaturi,
+Billing City,Oraș de facturare,
+Billing County,Județ facturare,
+Billing State,Situatie facturare,
+Billing Zipcode,Cod poștal de facturare,
+Billing Country,Țara facturării,
+Shipping City,Transport Oraș,
+Shipping County,County transport maritim,
+Shipping State,Stat de transport maritim,
+Shipping Zipcode,Cod poștal de expediere,
+Shipping Country,Transport Tara,
+Tax Withholding Account,Contul de reținere fiscală,
+Tax Withholding Rates,Ratele de reținere fiscală,
+Rates,Tarife,
+Tax Withholding Rate,Rata reținerii fiscale,
+Single Transaction Threshold,Singurul prag de tranzacție,
+Cumulative Transaction Threshold,Valoarea cumulată a tranzacției,
+Agriculture Analysis Criteria,Criterii de analiză a agriculturii,
+Linked Doctype,Legate de Doctype,
+Water Analysis,Analiza apei,
+Soil Analysis,Analiza solului,
+Plant Analysis,Analiza plantelor,
+Fertilizer,Îngrăşământ,
+Soil Texture,Textura solului,
+Weather,Vreme,
+Agriculture Manager,Directorul Agriculturii,
+Agriculture User,Utilizator agricol,
+Agriculture Task,Agricultura,
+Task Name,Sarcina Nume,
+Start Day,Ziua de început,
+End Day,Sfârșitul zilei,
+Holiday Management,Gestionarea concediului,
+Ignore holidays,Ignorați sărbătorile,
+Previous Business Day,Ziua lucrătoare anterioară,
+Next Business Day,Ziua următoare de lucru,
+Urgent,De urgență,
+Crop,A decupa,
+Crop Name,Numele plantei,
+Scientific Name,Nume stiintific,
+"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.. ","Puteți defini toate sarcinile care trebuie îndeplinite pentru această recoltă aici. Câmpul de zi este folosit pentru a menționa ziua în care sarcina trebuie efectuată, 1 fiind prima zi, etc.",
+Crop Spacing,Decuparea culturii,
+Crop Spacing UOM,Distanțarea culturii UOM,
+Row Spacing,Spațierea rândului,
+Row Spacing UOM,Rândul de spațiu UOM,
+Perennial,peren,
+Biennial,Bienal,
+Planting UOM,Plantarea UOM,
+Planting Area,Zona de plantare,
+Yield UOM,Randamentul UOM,
+Materials Required,Materiale necesare,
+Produced Items,Articole produse,
+Produce,Legume şi fructe,
+Byproducts,produse secundare,
+Linked Location,Locație conectată,
+A link to all the Locations in which the Crop is growing,O legătură către toate locațiile în care cultura este în creștere,
+This will be day 1 of the crop cycle,Aceasta va fi prima zi a ciclului de cultură,
+ISO 8601 standard,Standardul ISO 8601,
+Cycle Type,Tip ciclu,
+Less than a year,Mai putin de un an,
+The minimum length between each plant in the field for optimum growth,Lungimea minimă dintre fiecare plantă din câmp pentru creștere optimă,
+The minimum distance between rows of plants for optimum growth,Distanța minimă dintre rânduri de plante pentru creștere optimă,
+Detected Diseases,Au detectat bolile,
+List of diseases detected on the field. When selected it'll automatically add a list of tasks to deal with the disease ,"Lista bolilor detectate pe teren. Când este selectată, va adăuga automat o listă de sarcini pentru a face față bolii",
+Detected Disease,Boala detectată,
+LInked Analysis,Analiza analizată,
+Disease,boală,
+Tasks Created,Sarcini create,
+Common Name,Denumire Comună,
+Treatment Task,Sarcina de tratament,
+Treatment Period,Perioada de tratament,
+Fertilizer Name,Denumirea îngrășămintelor,
+Density (if liquid),Densitatea (dacă este lichidă),
+Fertilizer Contents,Conținutul de îngrășăminte,
+Fertilizer Content,Conținut de îngrășăminte,
+Linked Plant Analysis,Analiza plantelor conectate,
+Linked Soil Analysis,Analiza solului conectat,
+Linked Soil Texture,Textură de sol conectată,
+Collection Datetime,Data colecției,
+Laboratory Testing Datetime,Timp de testare a laboratorului,
+Result Datetime,Rezultat Datatime,
+Plant Analysis Criterias,Condiții de analiză a plantelor,
+Plant Analysis Criteria,Criterii de analiză a plantelor,
+Minimum Permissible Value,Valoarea minimă admisă,
+Maximum Permissible Value,Valoarea maximă admisă,
+Ca/K,Ca / K,
+Ca/Mg,Ca / Mg,
+Mg/K,Mg / K,
+(Ca+Mg)/K,(Ca + Mg) / K,
+Ca/(K+Ca+Mg),Ca / (K + Ca + Mg),
+Soil Analysis Criterias,Criterii de analiză a solului,
+Soil Analysis Criteria,Criterii de analiză a solului,
+Soil Type,Tipul de sol,
+Loamy Sand,Nisip argilos,
+Sandy Loam,Sandy Loam,
+Loam,Lut,
+Silt Loam,Silt Loam,
+Sandy Clay Loam,Sandy Clay Loam,
+Clay Loam,Argilos,
+Silty Clay Loam,Silty Clay Loam,
+Sandy Clay,Sandy Clay,
+Silty Clay,Lut de râu,
+Clay Composition (%),Compoziția de lut (%),
+Sand Composition (%),Compoziția nisipului (%),
+Silt Composition (%),Compoziția Silt (%),
+Ternary Plot,Ternar Plot,
+Soil Texture Criteria,Criterii de textură a solului,
+Type of Sample,Tipul de eșantion,
+Container,recipient,
+Origin,Origine,
+Collection Temperature ,Temperatura colecției,
+Storage Temperature,Temperatura de depozitare,
+Appearance,Aspect,
+Person Responsible,Persoană responsabilă,
+Water Analysis Criteria,Criterii de analiză a apei,
+Weather Parameter,Parametrul vremii,
+ACC-ASS-.YYYY.-,ACC-ASS-.YYYY.-,
+Asset Owner,Proprietarul de proprietar,
+Asset Owner Company,Societatea de proprietari de active,
+Custodian,Custode,
+Disposal Date,eliminare Data,
+Journal Entry for Scrap,Intrare Jurnal pentru Deșeuri,
+Available-for-use Date,Data disponibilă pentru utilizare,
+Calculate Depreciation,Calculează Amortizare,
+Allow Monthly Depreciation,Permite amortizarea lunară,
+Number of Depreciations Booked,Numărul de Deprecieri rezervat,
+Finance Books,Cărți de finanțare,
+Straight Line,Linie dreapta,
+Double Declining Balance,Dublu degresive,
+Manual,Manual,
+Value After Depreciation,Valoarea după amortizare,
+Total Number of Depreciations,Număr total de Deprecieri,
+Frequency of Depreciation (Months),Frecventa de amortizare (Luni),
+Next Depreciation Date,Data următoarei amortizări,
+Depreciation Schedule,Program de amortizare,
+Depreciation Schedules,Orarele de amortizare,
+Insurance details,Detalii de asigurare,
+Policy number,Numărul politicii,
+Insurer,Asiguratorul,
+Insured value,Valoarea asigurată,
+Insurance Start Date,Data de începere a asigurării,
+Insurance End Date,Data de încheiere a asigurării,
+Comprehensive Insurance,Asigurare completă,
+Maintenance Required,Mentenanță Necesară,
+Check if Asset requires Preventive Maintenance or Calibration,Verificați dacă activul necesită întreținere preventivă sau calibrare,
+Booked Fixed Asset,Carte imobilizată rezervată,
+Purchase Receipt Amount,Suma chitanței de cumpărare,
+Default Finance Book,Cartea de finanțare implicită,
+Quality Manager,Manager de calitate,
+Asset Category Name,Nume activ Categorie,
+Depreciation Options,Opțiunile de amortizare,
+Enable Capital Work in Progress Accounting,Activați activitatea de capital în contabilitate în curs,
+Finance Book Detail,Detaliile cărții de finanțe,
+Asset Category Account,Cont activ Categorie,
+Fixed Asset Account,Cont activ fix,
+Accumulated Depreciation Account,Cont Amortizarea cumulată,
+Depreciation Expense Account,Contul de amortizare de cheltuieli,
+Capital Work In Progress Account,Activitatea de capital în curs de desfășurare,
+Asset Finance Book,Cartea de finanțare a activelor,
+Written Down Value,Valoarea scrise în jos,
+Expected Value After Useful Life,Valoarea așteptată după viață utilă,
+Rate of Depreciation,Rata de depreciere,
+In Percentage,În procent,
+Maintenance Team,Echipă de Mentenanță,
+Maintenance Manager Name,Nume Manager Mentenanță,
+Maintenance Tasks,Sarcini de Mentenanță,
+Manufacturing User,Producție de utilizare,
+Asset Maintenance Log,Jurnalul de întreținere a activelor,
+ACC-AML-.YYYY.-,ACC-CSB-.YYYY.-,
+Maintenance Type,Tip Mentenanta,
+Maintenance Status,Stare Mentenanta,
+Planned,Planificat,
+Has Certificate ,Are certificat,
+Certificate,Certificat,
+Actions performed,Acțiuni efectuate,
+Asset Maintenance Task,Activitatea de întreținere a activelor,
+Maintenance Task,Activitate Mentenanță,
+Preventive Maintenance,Mentenanță preventivă,
+Calibration,Calibrare,
+2 Yearly,2 Anual,
+Certificate Required,Certificat necesar,
+Assign to Name,Atribuiți la Nume,
+Next Due Date,Data următoare,
+Last Completion Date,Ultima dată de finalizare,
+Asset Maintenance Team,Echipa de întreținere a activelor,
+Maintenance Team Name,Nume Echipă de Mentenanță,
+Maintenance Team Members,Membri Echipă de Mentenanță,
+Purpose,Scopul,
+Stock Manager,Stock Manager,
+Asset Movement Item,Element de mișcare a activelor,
+Source Location,Locația sursei,
+From Employee,Din Angajat,
+Target Location,Locația țintă,
+To Employee,Pentru angajat,
+Asset Repair,Repararea activelor,
+ACC-ASR-.YYYY.-,ACC-ASR-.YYYY.-,
+Failure Date,Dată de nerespectare,
+Assign To Name,Alocați nume,
+Repair Status,Stare de reparare,
+Error Description,Descrierea erorii,
+Downtime,downtime,
+Repair Cost,Costul reparațiilor,
+Manufacturing Manager,Manager de Producție,
+Current Asset Value,Valoarea activului curent,
+New Asset Value,Valoare nouă a activelor,
+Make Depreciation Entry,Asigurați-vă Amortizarea Intrare,
+Finance Book Id,Numărul cărții de credit,
+Location Name,Numele locatiei,
+Parent Location,Locația părintească,
+Is Container,Este Container,
+Check if it is a hydroponic unit,Verificați dacă este o unitate hidroponică,
+Location Details,Detalii despre locație,
+Latitude,Latitudine,
+Longitude,Longitudine,
+Area,Zonă,
+Area UOM,Zona UOM,
+Tree Details,copac Detalii,
+Maintenance Team Member,Membru Echipă de Mentenanță,
+Team Member,Membru al echipei,
+Maintenance Role,Rol de Mentenanță,
+Buying Settings,Configurări cumparare,
+Settings for Buying Module,Setări pentru cumparare Modulul,
+Supplier Naming By,Furnizor de denumire prin,
+Default Supplier Group,Grupul prestabilit de furnizori,
+Default Buying Price List,Lista de POrețuri de Cumparare Implicita,
+Backflush Raw Materials of Subcontract Based On,Materiile de bază din substratul bazat pe,
+Material Transferred for Subcontract,Material transferat pentru subcontractare,
+Over Transfer Allowance (%),Indemnizație de transfer peste (%),
+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.,"Procentaj pe care vi se permite să transferați mai mult în raport cu cantitatea comandată. De exemplu: Dacă ați comandat 100 de unități. iar alocația dvs. este de 10%, atunci vi se permite să transferați 110 unități.",
+PUR-ORD-.YYYY.-,PUR-ORD-.YYYY.-,
+Get Items from Open Material Requests,Obține elemente din materiale Cereri deschide,
+Fetch items based on Default Supplier.,Obțineți articole pe baza furnizorului implicit.,
+Required By,Cerute de,
+Order Confirmation No,Confirmarea nr,
+Order Confirmation Date,Data de confirmare a comenzii,
+Customer Mobile No,Client Mobile Nu,
+Customer Contact Email,Contact Email client,
+Set Target Warehouse,Stabilește Depozitul țintă,
+Sets 'Warehouse' in each row of the Items table.,Setează „Depozit” în fiecare rând al tabelului Elemente.,
+Supply Raw Materials,Aprovizionarea cu materii prime,
+Purchase Order Pricing Rule,Regula de preț a comenzii de achiziție,
+Set Reserve Warehouse,Set Rezerva Depozit,
+In Words will be visible once you save the Purchase Order.,În cuvinte va fi vizibil după ce a salva Ordinul de cumparare.,
+Advance Paid,Avans plătit,
+Tracking,Urmărirea,
+% Billed,% Facurat,
+% Received,% Primit,
+Ref SQ,Ref SQ,
+Inter Company Order Reference,Referință de comandă între companii,
+Supplier Part Number,Furnizor Număr,
+Billed Amt,Suma facturată,
+Warehouse and Reference,Depozit și Referință,
+To be delivered to customer,Pentru a fi livrat clientului,
+Material Request Item,Material Cerere Articol,
+Supplier Quotation Item,Furnizor ofertă Articol,
+Against Blanket Order,Împotriva ordinului pătură,
+Blanket Order,Ordinul de ștergere,
+Blanket Order Rate,Rata de comandă a plicului,
+Returned Qty,Cant. Returnată,
+Purchase Order Item Supplied,Comandă de aprovizionare Articol Livrat,
+BOM Detail No,Detaliu BOM nr.,
+Stock Uom,Stoc UOM,
+Raw Material Item Code,Cod Articol Materie Prima,
+Supplied Qty,Furnizat Cantitate,
+Purchase Receipt Item Supplied,Primirea de cumpărare Articol Livrat,
+Current Stock,Stoc curent,
+PUR-RFQ-.YYYY.-,PUR-RFQ-.YYYY.-,
+For individual supplier,Pentru furnizor individual,
+Link to Material Requests,Link către cereri de materiale,
+Message for Supplier,Mesaj pentru Furnizor,
+Request for Quotation Item,Articol Cerere de Oferta,
+Required Date,Data de livrare ceruta,
+Request for Quotation Supplier,Furnizor Cerere de Ofertă,
+Send Email,Trimiteți-ne email,
+Quote Status,Citat Stare,
+Download PDF,descarcă PDF,
+Supplier of Goods or Services.,Furnizor de bunuri sau servicii.,
+Name and Type,Numele și tipul,
+SUP-.YYYY.-,SUP-.YYYY.-,
+Default Bank Account,Cont Bancar Implicit,
+Is Transporter,Este Transporter,
+Represents Company,Reprezintă Compania,
+Supplier Type,Furnizor Tip,
+Allow Purchase Invoice Creation Without Purchase Order,Permiteți crearea facturii de cumpărare fără comandă de achiziție,
+Allow Purchase Invoice Creation Without Purchase Receipt,Permiteți crearea facturii de cumpărare fără chitanță de cumpărare,
+Warn RFQs,Aflați RFQ-urile,
+Warn POs,Avertizează PO-urile,
+Prevent RFQs,Preveniți RFQ-urile,
+Prevent POs,Preveniți PO-urile,
+Billing Currency,Moneda de facturare,
+Default Payment Terms Template,Șablonul Termenii de plată standard,
+Block Supplier,Furnizorul de blocuri,
+Hold Type,Tineți tip,
+Leave blank if the Supplier is blocked indefinitely,Lăsați necompletat dacă Furnizorul este blocat pe o perioadă nedeterminată,
+Default Payable Accounts,Implicit conturi de plătit,
+Mention if non-standard payable account,Menționați dacă contul de plată non-standard,
+Default Tax Withholding Config,Config,
+Supplier Details,Detalii furnizor,
+Statutory info and other general information about your Supplier,Info statutar și alte informații generale despre dvs. de Furnizor,
+PUR-SQTN-.YYYY.-,PUR-SQTN-.YYYY.-,
+Supplier Address,Furnizor Adresa,
+Link to material requests,Link la cererile de materiale,
+Rounding Adjustment (Company Currency,Rotunjire ajustare (moneda companiei,
+Auto Repeat Section,Se repetă secțiunea Auto,
+Is Subcontracted,Este subcontractată,
+Lead Time in days,Timp Pistă în zile,
+Supplier Score,Scorul furnizorului,
+Indicator Color,Indicator Culoare,
+Evaluation Period,Perioada de evaluare,
+Per Week,Pe saptamana,
+Per Month,Pe luna,
+Per Year,Pe an,
+Scoring Setup,Punctul de configurare,
+Weighting Function,Funcție de ponderare,
+"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","Variabilele caracterelor pot fi utilizate, precum și: {total_score} (scorul total din acea perioadă), {period_number} (numărul de perioade până în prezent)",
+Scoring Standings,Puncte de scor,
+Criteria Setup,Setarea criteriilor,
+Load All Criteria,Încărcați toate criteriile,
+Scoring Criteria,Criterii de evaluare,
+Scorecard Actions,Caracteristicile Scorecard,
+Warn for new Request for Quotations,Avertizare pentru o nouă solicitare de ofertă,
+Warn for new Purchase Orders,Avertizați pentru comenzi noi de achiziție,
+Notify Supplier,Notificați Furnizor,
+Notify Employee,Notificați angajatul,
+Supplier Scorecard Criteria,Criteriile Scorecard pentru furnizori,
+Criteria Name,Numele de criterii,
+Max Score,Scor maxim,
+Criteria Formula,Criterii Formula,
+Criteria Weight,Criterii Greutate,
+Supplier Scorecard Period,Perioada de evaluare a furnizorului,
+PU-SSP-.YYYY.-,PU-SSP-.YYYY.-,
+Period Score,Scorul perioadei,
+Calculations,Calculele,
+Criteria,criterii,
+Variables,variabile,
+Supplier Scorecard Setup,Setarea Scorecard pentru furnizori,
+Supplier Scorecard Scoring Criteria,Criteriile de evaluare a Scorecard-ului furnizorului,
+Score,Scor,
+Supplier Scorecard Scoring Standing,Scorecard pentru Scorecard furnizor,
+Standing Name,Numele permanent,
+Purple,Violet,
+Yellow,Galben,
+Orange,portocale,
+Min Grade,Gradul minim,
+Max Grade,Max Grad,
+Warn Purchase Orders,Avertizați comenzile de cumpărare,
+Prevent Purchase Orders,Împiedicați comenzile de achiziție,
+Employee ,Angajat,
+Supplier Scorecard Scoring Variable,Scorul variabil al scorului de performanță al furnizorului,
+Variable Name,Numele variabil,
+Parameter Name,Nume parametru,
+Supplier Scorecard Standing,Graficul Scorecard pentru furnizori,
+Notify Other,Notificați alta,
+Supplier Scorecard Variable,Variabila tabelului de variabile pentru furnizori,
+Call Log,Jurnal de Apel,
+Received By,Primit de,
+Caller Information,Informații despre apelant,
+Contact Name,Nume Persoana de Contact,
+Lead ,Conduce,
+Lead Name,Nume Pistă,
+Ringing,țiuit,
+Missed,Pierdute,
+Call Duration in seconds,Durata apelului în câteva secunde,
+Recording URL,Înregistrare URL,
+Communication Medium,Comunicare Mediu,
+Communication Medium Type,Tip mediu de comunicare,
+Voice,Voce,
+Catch All,Prindele pe toate,
+"If there is no assigned timeslot, then communication will be handled by this group","Dacă nu există un interval de timp alocat, comunicarea va fi gestionată de acest grup",
+Timeslots,Intervale de timp,
+Communication Medium Timeslot,Timeslot mediu de comunicare,
+Employee Group,Grupul de angajați,
+Appointment,Programare,
+Scheduled Time,Timpul programat,
+Unverified,neverificat,
+Customer Details,Detalii Client,
+Phone Number,Numar de telefon,
+Skype ID,ID Skype,
+Linked Documents,Documente legate,
+Appointment With,Programare cu,
+Calendar Event,Calendar Eveniment,
+Appointment Booking Settings,Setări rezervare numire,
+Enable Appointment Scheduling,Activați programarea programării,
+Agent Details,Detalii agent,
+Availability Of Slots,Disponibilitatea sloturilor,
+Number of Concurrent Appointments,Numărul de întâlniri simultane,
+Agents,agenţi,
+Appointment Details,Detalii despre numire,
+Appointment Duration (In Minutes),Durata numirii (în proces-verbal),
+Notify Via Email,Notificați prin e-mail,
+Notify customer and agent via email on the day of the appointment.,Notificați clientul și agentul prin e-mail în ziua programării.,
+Number of days appointments can be booked in advance,Numărul de întâlniri de zile poate fi rezervat în avans,
+Success Settings,Setări de succes,
+Success Redirect URL,Adresa URL de redirecționare,
+"Leave blank for home.\nThis is relative to site URL, for example ""about"" will redirect to ""https://yoursitename.com/about""","Lăsați gol pentru casă. Aceasta este relativă la adresa URL a site-ului, de exemplu „despre” se va redirecționa la „https://yoursitename.com/about”",
+Appointment Booking Slots,Rezervare pentru sloturi de rezervare,
+Day Of Week,Zi a Săptămânii,
+From Time ,Din Time,
+Campaign Email Schedule,Program de e-mail al campaniei,
+Send After (days),Trimite După (zile),
+Signed,Semnat,
+Party User,Utilizator de petreceri,
+Unsigned,Nesemnat,
+Fulfilment Status,Starea de îndeplinire,
+N/A,N / A,
+Unfulfilled,neîmplinit,
+Partially Fulfilled,Parțial îndeplinite,
+Fulfilled,Fulfilled,
+Lapsed,caducă,
+Contract Period,Perioada contractuala,
+Signee Details,Signee Detalii,
+Signee,Signee,
+Signed On,Signed On,
+Contract Details,Detaliile contractului,
+Contract Template,Model de contract,
+Contract Terms,Termenii contractului,
+Fulfilment Details,Detalii de execuție,
+Requires Fulfilment,Necesită îndeplinirea,
+Fulfilment Deadline,Termenul de îndeplinire,
+Fulfilment Terms,Condiții de îndeplinire,
+Contract Fulfilment Checklist,Lista de verificare a executării contului,
+Requirement,Cerinţă,
+Contract Terms and Conditions,Termeni și condiții contractuale,
+Fulfilment Terms and Conditions,Condiții și condiții de îndeplinire,
+Contract Template Fulfilment Terms,Termenii de îndeplinire a modelului de contract,
+Email Campaign,Campania de e-mail,
+Email Campaign For ,Campanie prin e-mail,
+Lead is an Organization,Pista este o Organizație,
+CRM-LEAD-.YYYY.-,CRM-LEAD-.YYYY.-,
+Person Name,Nume persoană,
+Lost Quotation,ofertă pierdută,
+Interested,Interesat,
+Converted,Transformat,
+Do Not Contact,Nu contactati,
+From Customer,De la Client,
+Campaign Name,Denumire campanie,
+Follow Up,Urmare,
+Next Contact By,Următor Contact Prin,
+Next Contact Date,Următor Contact Data,
+Ends On,Se termină pe,
+Address & Contact,Adresă și contact,
+Mobile No.,Numar de mobil,
+Lead Type,Tip Pistă,
+Channel Partner,Partner Canal,
+Consultant,Consultant,
+Market Segment,Segmentul de piață,
+Industry,Industrie,
+Request Type,Tip Cerere,
+Product Enquiry,Intrebare produs,
+Request for Information,Cerere de informații,
+Suggestions,Sugestii,
+Blog Subscriber,Abonat blog,
+LinkedIn Settings,Setări LinkedIn,
+Company ID,ID-ul companiei,
+OAuth Credentials,Acreditări OAuth,
+Consumer Key,Cheia consumatorului,
+Consumer Secret,Secretul consumatorului,
+User Details,Detalii utilizator,
+Person URN,Persoana URN,
+Session Status,Starea sesiunii,
+Lost Reason Detail,Detaliu ratiune pierduta,
+Opportunity Lost Reason,Motivul pierdut din oportunitate,
+Potential Sales Deal,Oferta potențiale Vânzări,
+CRM-OPP-.YYYY.-,CRM-OPP-.YYYY.-,
+Opportunity From,Oportunitate de la,
+Customer / Lead Name,Client / Nume Principal,
+Opportunity Type,Tip de oportunitate,
+Converted By,Convertit de,
+Sales Stage,Stadiu Vânzări,
+Lost Reason,Motiv Pierdere,
+Expected Closing Date,Data de închidere preconizată,
+To Discuss,Pentru a discuta,
+With Items,Cu articole,
+Probability (%),Probabilitate (%),
+Contact Info,Informaţii Persoana de Contact,
+Customer / Lead Address,Client / Adresa principala,
+Contact Mobile No,Nr. Mobil Persoana de Contact,
+Enter name of campaign if source of enquiry is campaign,Introduceți numele de campanie dacă sursa de anchetă este campanie,
+Opportunity Date,Oportunitate Data,
+Opportunity Item,Oportunitate Articol,
+Basic Rate,Rată elementară,
+Stage Name,Nume de Scenă,
+Social Media Post,Postare pe rețelele sociale,
+Post Status,Stare postare,
+Posted,Postat,
+Share On,Distribuie pe,
+Twitter,Stare de nervozitate,
+LinkedIn,LinkedIn,
+Twitter Post Id,Codul postării pe Twitter,
+LinkedIn Post Id,Cod postare LinkedIn,
+Tweet,Tweet,
+Twitter Settings,Setări Twitter,
+API Secret Key,Cheia secretă API,
+Term Name,Nume termen,
+Term Start Date,Termenul Data de începere,
+Term End Date,Termenul Data de încheiere,
+Academics User,Utilizator cadru pedagogic,
+Academic Year Name,Nume An Universitar,
+Article,Articol,
+LMS User,Utilizator LMS,
+Assessment Criteria Group,Grup de criterii de evaluare,
+Assessment Group Name,Numele grupului de evaluare,
+Parent Assessment Group,Grup părinte de evaluare,
+Assessment Name,Nume evaluare,
+Grading Scale,Scala de notare,
+Examiner,Examinator,
+Examiner Name,Nume examinator,
+Supervisor,supraveghetor,
+Supervisor Name,Nume supervizor,
+Evaluate,A evalua,
+Maximum Assessment Score,Scor maxim de evaluare,
+Assessment Plan Criteria,Criterii Plan de evaluare,
+Maximum Score,Scor maxim,
+Result,Rezultat,
+Total Score,Scorul total,
+Grade,calitate,
+Assessment Result Detail,Detalii rezultat evaluare,
+Assessment Result Tool,Instrument de Evaluare Rezultat,
+Result HTML,rezultat HTML,
+Content Activity,Activitate de conținut,
+Last Activity ,Ultima activitate,
+Content Question,Întrebare de conținut,
+Question Link,Link de întrebări,
+Course Name,Numele cursului,
+Topics,Subiecte,
+Hero Image,Imaginea eroului,
+Default Grading Scale,Scale Standard Standard folosit,
+Education Manager,Director de educație,
+Course Activity,Activitate de curs,
+Course Enrollment,Înscriere la curs,
+Activity Date,Data activității,
+Course Assessment Criteria,Criterii de evaluare a cursului,
+Weightage,Weightage,
+Course Content,Conținutul cursului,
+Quiz,chestionare,
+Program Enrollment,programul de înscriere,
+Enrollment Date,Data de inscriere,
+Instructor Name,Nume instructor,
+EDU-CSH-.YYYY.-,EDU-CSH-.YYYY.-,
+Course Scheduling Tool,Instrument curs de programare,
+Course Start Date,Data începerii cursului,
+To TIme,La timp,
+Course End Date,Desigur Data de încheiere,
+Course Topic,Subiectul cursului,
+Topic,Subiect,
+Topic Name,Nume subiect,
+Education Settings,Setări educaționale,
+Current Academic Year,Anul academic curent,
+Current Academic Term,Termen academic actual,
+Attendance Freeze Date,Data de înghețare a prezenței,
+Validate Batch for Students in Student Group,Validați lotul pentru elevii din grupul de studenți,
+"For Batch based Student Group, the Student Batch will be validated for every Student from the Program Enrollment.","Pentru grupul de studenți bazat pe loturi, lotul student va fi validat pentru fiecare student din înscrierea în program.",
+Validate Enrolled Course for Students in Student Group,Validați cursul înscris pentru elevii din grupul de studenți,
+"For Course based Student Group, the Course will be validated for every Student from the enrolled Courses in Program Enrollment.","Pentru grupul de studenți bazat pe cursuri, cursul va fi validat pentru fiecare student din cursurile înscrise în înscrierea în program.",
+Make Academic Term Mandatory,Asigurați-obligatoriu termenul academic,
+"If enabled, field Academic Term will be Mandatory in Program Enrollment Tool.","Dacă este activată, domeniul Academic Term va fi obligatoriu în Instrumentul de înscriere în program.",
+Skip User creation for new Student,Omiteți crearea utilizatorului pentru noul student,
+"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.","În mod implicit, este creat un nou utilizator pentru fiecare student nou. Dacă este activat, nu va fi creat niciun utilizator nou atunci când este creat un nou student.",
+Instructor Records to be created by,Instructor de înregistrări care urmează să fie create de către,
+Employee Number,Numar angajat,
+Fee Category,Taxă Categorie,
+Fee Component,Taxa de Component,
+Fees Category,Taxele de Categoria,
+Fee Schedule,Taxa de Program,
+Fee Structure,Structura Taxa de,
+EDU-FSH-.YYYY.-,EDU-FSH-.YYYY.-,
+Fee Creation Status,Starea de creare a taxelor,
+In Process,În procesul de,
+Send Payment Request Email,Trimiteți e-mail de solicitare de plată,
+Student Category,Categoria de student,
+Fee Breakup for each student,Taxă pentru fiecare student,
+Total Amount per Student,Suma totală pe student,
+Institution,Instituţie,
+Fee Schedule Program,Programul programului de plăți,
+Student Batch,Lot de student,
+Total Students,Total studenți,
+Fee Schedule Student Group,Taxă Schedule Student Group,
+EDU-FST-.YYYY.-,EDU-FST-.YYYY.-,
+EDU-FEE-.YYYY.-,EDU-FEE-.YYYY.-,
+Include Payment,Includeți plata,
+Send Payment Request,Trimiteți Cerere de Plată,
+Student Details,Detalii studențești,
+Student Email,Student Email,
+Grading Scale Name,Standard Nume Scala,
+Grading Scale Intervals,Intervale de notare Scala,
+Intervals,intervale,
+Grading Scale Interval,Clasificarea Scala Interval,
+Grade Code,Cod grad,
+Threshold,Prag,
+Grade Description,grad Descriere,
+Guardian,gardian,
+Guardian Name,Nume tutore,
+Alternate Number,Număr alternativ,
+Occupation,Ocupaţie,
+Work Address,Adresa de,
+Guardian Of ,Guardian Of,
+Students,Elevi,
+Guardian Interests,Guardian Interese,
+Guardian Interest,Interes tutore,
+Interest,Interes,
+Guardian Student,Guardian Student,
+EDU-INS-.YYYY.-,EDU-INS-.YYYY.-,
+Instructor Log,Jurnalul instructorului,
+Other details,Alte detalii,
+Option,Opțiune,
+Is Correct,Este corect,
+Program Name,Numele programului,
+Program Abbreviation,Abreviere de program,
+Courses,cursuri,
+Is Published,Este publicat,
+Allow Self Enroll,Permiteți înscrierea de sine,
+Is Featured,Este prezentat,
+Intro Video,Introducere video,
+Program Course,Curs Program,
+School House,School House,
+Boarding Student,Student de internare,
+Check this if the Student is residing at the Institute's Hostel.,Verificați dacă studentul este rezident la Hostelul Institutului.,
+Walking,mers,
+Institute's Bus,Biblioteca Institutului,
+Public Transport,Transport public,
+Self-Driving Vehicle,Vehicul cu autovehicul,
+Pick/Drop by Guardian,Pick / Drop de Guardian,
+Enrolled courses,Cursuri înscrise,
+Program Enrollment Course,Curs de înscriere la curs,
+Program Enrollment Fee,Programul de înscriere Taxa,
+Program Enrollment Tool,Programul Instrumentul de înscriere,
+Get Students From,Elevii de la a lua,
+Student Applicant,Solicitantul elev,
+Get Students,Studenți primi,
+Enrollment Details,Detalii de înscriere,
+New Program,programul nou,
+New Student Batch,Noul lot de studenți,
+Enroll Students,Studenți Enroll,
+New Academic Year,Anul universitar nou,
+New Academic Term,Termen nou academic,
+Program Enrollment Tool Student,Programul de înscriere Instrumentul Student,
+Student Batch Name,Nume elev Lot,
+Program Fee,Taxa de program,
+Question,Întrebare,
+Single Correct Answer,Un singur răspuns corect,
+Multiple Correct Answer,Răspuns corect multiplu,
+Quiz Configuration,Configurarea testului,
+Passing Score,Scor de trecere,
+Score out of 100,Scor din 100,
+Max Attempts,Încercări maxime,
+Enter 0 to waive limit,Introduceți 0 până la limita de renunțare,
+Grading Basis,Bazele gradării,
+Latest Highest Score,Cel mai mare scor,
+Latest Attempt,Ultima încercare,
+Quiz Activity,Activitate de testare,
+Enrollment,înrolare,
+Pass,Trece,
+Quiz Question,Întrebare întrebare,
+Quiz Result,Rezultatul testului,
+Selected Option,Opțiunea selectată,
+Correct,Corect,
+Wrong,Gresit,
+Room Name,Nume Cameră,
+Room Number,Număr Cameră,
+Seating Capacity,Numărul de locuri,
+House Name,Numele casei,
+EDU-STU-.YYYY.-,EDU-STU-.YYYY.-,
+Student Mobile Number,Elev Număr mobil,
+Joining Date,Data Angajării,
+Blood Group,Grupă de sânge,
+A+,A+,
+A-,A-,
+B+,B +,
+B-,B-,
+O+,O +,
+O-,O-,
+AB+,AB+,
+AB-,AB-,
+Nationality,Naţionalitate,
+Home Address,Adresa de acasa,
+Guardian Details,Detalii tutore,
+Guardians,tutorii,
+Sibling Details,Detalii sibling,
+Siblings,siblings,
+Exit,Iesire,
+Date of Leaving,Data Părăsirii,
+Leaving Certificate Number,Părăsirea Număr certificat,
+Reason For Leaving,Motivul plecării,
+Student Admission,Admiterea studenților,
+Admission Start Date,Data de începere a Admiterii,
+Admission End Date,Data de încheiere Admiterii,
+Publish on website,Publica pe site-ul,
+Eligibility and Details,Eligibilitate și detalii,
+Student Admission Program,Programul de Admitere în Studenți,
+Minimum Age,Varsta minima,
+Maximum Age,Vârsta maximă,
+Application Fee,Taxă de aplicare,
+Naming Series (for Student Applicant),Seria de denumire (pentru Student Solicitant),
+LMS Only,Numai LMS,
+EDU-APP-.YYYY.-,EDU-APP-.YYYY.-,
+Application Status,Starea aplicației,
+Application Date,Data aplicării,
+Student Attendance Tool,Instrumentul de student Participarea,
+Group Based On,Grup pe baza,
+Students HTML,HTML studenții,
+Group Based on,Grup bazat pe,
+Student Group Name,Numele grupului studențesc,
+Max Strength,Putere max,
+Set 0 for no limit,0 pentru a seta nici o limită,
+Instructors,instructorii,
+Student Group Creation Tool,Instrumentul de creare a grupului de student,
+Leave blank if you make students groups per year,Lăsați necompletat dacă faceți grupuri de elevi pe an,
+Get Courses,Cursuri de a lua,
+Separate course based Group for every Batch,Separați un grup bazat pe cursuri pentru fiecare lot,
+Leave unchecked if you don't want to consider batch while making course based groups. ,Lăsați necontrolabil dacă nu doriți să luați în considerare lotul în timp ce faceți grupuri bazate pe curs.,
+Student Group Creation Tool Course,Curs de grup studențesc instrument de creare,
+Course Code,Codul cursului,
+Student Group Instructor,Student Grup Instructor,
+Student Group Student,Student Group Student,
+Group Roll Number,Numărul rolurilor de grup,
+Student Guardian,student la Guardian,
+Relation,Relație,
+Mother,Mamă,
+Father,tată,
+Student Language,Limba Student,
+Student Leave Application,Aplicație elev Concediul,
+Mark as Present,Marcați ca prezent,
+Student Log,Jurnal de student,
+Academic,Academic,
+Achievement,Realizare,
+Student Report Generation Tool,Instrumentul de generare a rapoartelor elevilor,
+Include All Assessment Group,Includeți tot grupul de evaluare,
+Show Marks,Afișați marcajele,
+Add letterhead,Adăugă Antet,
+Print Section,Imprimare secțiune,
+Total Parents Teacher Meeting,Întâlnire între profesorii de părinți,
+Attended by Parents,Participat de părinți,
+Assessment Terms,Termeni de evaluare,
+Student Sibling,elev Sibling,
+Studying in Same Institute,Studiind în același Institut,
+NO,NU,
+YES,Da,
+Student Siblings,Siblings Student,
+Topic Content,Conținut subiect,
+Amazon MWS Settings,Amazon MWS Settings,
+ERPNext Integrations,Integrări ERPNext,
+Enable Amazon,Activați Amazon,
+MWS Credentials,Certificatele MWS,
+Seller ID,ID-ul vânzătorului,
+AWS Access Key ID,Codul AWS Access Key,
+MWS Auth Token,MWS Auth Token,
+Market Place ID,ID-ul pieței,
+AE,AE,
+AU,AU,
+BR,BR,
+CA,CA,
+CN,CN,
+DE,DE,
+ES,ES,
+FR,FR,
+IN,ÎN,
+JP,JP,
+IT,ACEASTA,
+MX,MX,
+UK,Regatul Unit,
+US,S.U.A.,
+Customer Type,tip de client,
+Market Place Account Group,Grupul de cont de pe piață,
+After Date,După data,
+Amazon will synch data updated after this date,Amazon va sincroniza datele actualizate după această dată,
+Sync Taxes and Charges,Sincronizați taxele și taxele,
+Get financial breakup of Taxes and charges data by Amazon ,Obțineți despărțirea financiară a datelor fiscale și taxe de către Amazon,
+Sync Products,Produse de sincronizare,
+Always sync your products from Amazon MWS before synching the Orders details,Sincronizați întotdeauna produsele dvs. de la Amazon MWS înainte de a sincroniza detaliile comenzilor,
+Sync Orders,Sincronizați comenzile,
+Click this button to pull your Sales Order data from Amazon MWS.,Faceți clic pe acest buton pentru a vă trage datele de comandă de vânzări de la Amazon MWS.,
+Enable Scheduled Sync,Activați sincronizarea programată,
+Check this to enable a scheduled Daily synchronization routine via scheduler,Verificați acest lucru pentru a activa o rutină zilnică de sincronizare programată prin programator,
+Max Retry Limit,Max Retry Limit,
+Exotel Settings,Setări Exotel,
+Account SID,Cont SID,
+API Token,Token API,
+GoCardless Mandate,GoCardless Mandate,
+Mandate,Mandat,
+GoCardless Customer,Clientul GoCardless,
+GoCardless Settings,Setări GoCardless,
+Webhooks Secret,Webhooks Secret,
+Plaid Settings,Setări Plaid,
+Synchronize all accounts every hour,Sincronizați toate conturile în fiecare oră,
+Plaid Client ID,Cod client Plaid,
+Plaid Secret,Plaid Secret,
+Plaid Environment,Mediu plaid,
+sandbox,Sandbox,
+development,dezvoltare,
+production,producție,
+QuickBooks Migrator,QuickBooks Migrator,
+Application Settings,Setările aplicației,
+Token Endpoint,Token Endpoint,
+Scope,domeniu,
+Authorization Settings,Setările de autorizare,
+Authorization Endpoint,Autorizație,
+Authorization URL,Adresa de autorizare,
+Quickbooks Company ID,Coduri de identificare rapidă a companiei,
+Company Settings,Setări Company,
+Default Shipping Account,Contul de transport implicit,
+Default Warehouse,Depozit Implicit,
+Default Cost Center,Centru Cost Implicit,
+Undeposited Funds Account,Contul fondurilor nedeclarate,
+Shopify Log,Magazinul de jurnal,
+Request Data,Solicită Date,
+Shopify Settings,Rafinați setările,
+status html,starea html,
+Enable Shopify,Activați Shopify,
+App Type,Tipul aplicației,
+Last Sync Datetime,Ultima dată de sincronizare,
+Shop URL,Adresa URL magazin,
+eg: frappe.myshopify.com,de ex .: frappe.myshopify.com,
+Shared secret,Secret împărtășit,
+Webhooks Details,Detaliile Webhooks,
+Webhooks,Webhooks,
+Customer Settings,Setările clientului,
+Default Customer,Client Implicit,
+Customer Group will set to selected group while syncing customers from Shopify,Grupul de clienți va seta grupul selectat în timp ce va sincroniza clienții din Shopify,
+For Company,Pentru Companie,
+Cash Account will used for Sales Invoice creation,Contul de numerar va fi utilizat pentru crearea facturii de vânzări,
+Update Price from Shopify To ERPNext Price List,Actualizați prețul de la Shopify la lista de prețuri ERP următoare,
+Default Warehouse to to create Sales Order and Delivery Note,Warehouse implicit pentru a crea o comandă de vânzări și o notă de livrare,
+Sales Order Series,Seria de comandă de vânzări,
+Import Delivery Notes from Shopify on Shipment,Importă note de livrare de la Shopify la expediere,
+Delivery Note Series,Seria de note de livrare,
+Import Sales Invoice from Shopify if Payment is marked,Importă factura de vânzare din Shopify dacă este marcată plata,
+Sales Invoice Series,Seria de facturi de vânzări,
+Shopify Tax Account,Achiziționați contul fiscal,
+Shopify Tax/Shipping Title,Achiziționați titlul fiscal / transport,
+ERPNext Account,Contul ERPNext,
+Shopify Webhook Detail,Bucurați-vă de detaliile Webhook,
+Webhook ID,ID-ul Webhook,
+Tally Migration,Migrația de tip Tally,
+Master Data,Date Master,
+"Data exported from Tally that consists of the Chart of Accounts, Customers, Suppliers, Addresses, Items and UOMs","Date exportate de la Tally care constă din Planul de conturi, clienți, furnizori, adrese, articole și UOM-uri",
+Is Master Data Processed,Sunt prelucrate datele master,
+Is Master Data Imported,Sunt importate datele de master,
+Tally Creditors Account,Contul creditorilor Tally,
+Creditors Account set in Tally,Contul creditorilor stabilit în Tally,
+Tally Debtors Account,Contul debitorilor,
+Debtors Account set in Tally,Contul debitorilor stabilit în Tally,
+Tally Company,Tally Company,
+Company Name as per Imported Tally Data,Numele companiei conform datelor importate Tally,
+Default UOM,UOM implicit,
+UOM in case unspecified in imported data,UOM în cazul nespecificat în datele importate,
+ERPNext Company,Compania ERPNext,
+Your Company set in ERPNext,Compania dvs. a fost setată în ERPNext,
+Processed Files,Fișiere procesate,
+Parties,Petreceri,
+UOMs,UOMs,
+Vouchers,Bonuri,
+Round Off Account,Rotunji cont,
+Day Book Data,Date despre cartea de zi,
+Day Book Data exported from Tally that consists of all historic transactions,"Date din agenda de zi exportate din Tally, care constă în toate tranzacțiile istorice",
+Is Day Book Data Processed,Sunt prelucrate datele despre cartea de zi,
+Is Day Book Data Imported,Sunt importate datele despre cartea de zi,
+Woocommerce Settings,Setări Woocommerce,
+Enable Sync,Activați sincronizarea,
+Woocommerce Server URL,Adresa URL a serverului Woocommerce,
+Secret,Secret,
+API consumer key,Cheia pentru consumatori API,
+API consumer secret,Secretul consumatorului API,
+Tax Account,Contul fiscal,
+Freight and Forwarding Account,Contul de expediere și de expediere,
+Creation User,Utilizator creație,
+"The user that will be used to create Customers, Items and Sales Orders. This user should have the relevant permissions.","Utilizatorul care va fi utilizat pentru a crea clienți, articole și comenzi de vânzare. Acest utilizator ar trebui să aibă permisiunile relevante.",
+"This warehouse will be used to create Sales Orders. The fallback warehouse is ""Stores"".",Acest depozit va fi folosit pentru a crea comenzi de vânzare. Depozitul în retragere este „Magazine”.,
+"The fallback series is ""SO-WOO-"".",Seria Fallback este „SO-WOO-”.,
+This company will be used to create Sales Orders.,Această companie va fi folosită pentru a crea comenzi de vânzare.,
+Delivery After (Days),Livrare după (zile),
+This is the default offset (days) for the Delivery Date in Sales Orders. The fallback offset is 7 days from the order placement date.,Aceasta este compensarea implicită (zile) pentru data livrării în comenzile de vânzare. Decalarea compensării este de 7 zile de la data plasării comenzii.,
+"This is the default UOM used for items and Sales orders. The fallback UOM is ""Nos"".",Acesta este UOM-ul implicit utilizat pentru articole și comenzi de vânzări. UOM-ul în rezervă este „Nos”.,
+Endpoints,Endpoints,
+Endpoint,Punct final,
+Antibiotic Name,Numele antibioticului,
+Healthcare Administrator,Administrator de asistență medicală,
+Laboratory User,Utilizator de laborator,
+Is Inpatient,Este internat,
+Default Duration (In Minutes),Durata implicită (în minute),
+Body Part,Parte a corpului,
+Body Part Link,Legătura părții corpului,
+HLC-CPR-.YYYY.-,HLC-CPR-.YYYY.-,
+Procedure Template,Șablon de procedură,
+Procedure Prescription,Procedura de prescriere,
+Service Unit,Unitate de service,
+Consumables,Consumabile,
+Consume Stock,Consumați stocul,
+Invoice Consumables Separately,Consumabile facturate separat,
+Consumption Invoiced,Consum facturat,
+Consumable Total Amount,Suma totală consumabilă,
+Consumption Details,Detalii despre consum,
+Nursing User,Utilizator Nursing,
+Clinical Procedure Item,Articol de procedură clinică,
+Invoice Separately as Consumables,Factureaza distinct ca si consumabile,
+Transfer Qty,Cantitate transfer,
+Actual Qty (at source/target),Cant. efectivă (la sursă/destinaţie),
+Is Billable,Este facturabil,
+Allow Stock Consumption,Permiteți consumul de stoc,
+Sample UOM,Exemplu UOM,
+Collection Details,Detaliile colecției,
+Change In Item,Modificare element,
+Codification Table,Tabelul de codificare,
+Complaints,Reclamații,
+Dosage Strength,Dozabilitate,
+Strength,Putere,
+Drug Prescription,Droguri de prescripție,
+Drug Name / Description,Denumirea / descrierea medicamentului,
+Dosage,Dozare,
+Dosage by Time Interval,Dozaj după intervalul de timp,
+Interval,Interval,
+Interval UOM,Interval UOM,
+Hour,Oră,
+Update Schedule,Actualizați programul,
+Exercise,Exercițiu,
+Difficulty Level,Nivel de dificultate,
+Counts Target,Numără ținta,
+Counts Completed,Număruri finalizate,
+Assistance Level,Nivelul de asistență,
+Active Assist,Asistență activă,
+Exercise Name,Numele exercițiului,
+Body Parts,Parti ale corpului,
+Exercise Instructions,Instrucțiuni de exerciții,
+Exercise Video,Video de exerciții,
+Exercise Steps,Pași de exerciții,
+Steps,Pași,
+Steps Table,Tabelul Pașilor,
+Exercise Type Step,Tipul exercițiului Pas,
+Max number of visit,Numărul maxim de vizite,
+Visited yet,Vizitată încă,
+Reference Appointments,Programări de referință,
+Valid till,Valabil până la,
+Fee Validity Reference,Referința valabilității taxei,
+Basic Details,Detalii de bază,
+HLC-PRAC-.YYYY.-,HLC-PRAC-.YYYY.-,
+Mobile,Mobil,
+Phone (R),Telefon (R),
+Phone (Office),Telefon (Office),
+Employee and User Details,Detalii despre angajat și utilizator,
+Hospital,Spital,
+Appointments,Programari,
+Practitioner Schedules,Practitioner Schedules,
+Charges,Taxe,
+Out Patient Consulting Charge,Taxă de consultanță pentru pacienți,
+Default Currency,Monedă Implicită,
+Healthcare Schedule Time Slot,Programul de îngrijire a sănătății Time Slot,
+Parent Service Unit,Serviciul pentru părinți,
+Service Unit Type,Tip de unitate de service,
+Allow Appointments,Permiteți întâlnirilor,
+Allow Overlap,Permiteți suprapunerea,
+Inpatient Occupancy,Ocuparea locului de muncă,
+Occupancy Status,Starea ocupației,
+Vacant,Vacant,
+Occupied,Ocupat,
+Item Details,Detalii despre articol,
+UOM Conversion in Hours,Conversie UOM în ore,
+Rate / UOM,Rata / UOM,
+Change in Item,Modificați articolul,
+Out Patient Settings,Setări pentru pacient,
+Patient Name By,Nume pacient,
+Patient Name,Numele pacientului,
+Link Customer to Patient,Conectați clientul la pacient,
+"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.","Dacă este bifată, va fi creat un client, cartografiat pacientului. Facturile de pacienți vor fi create împotriva acestui Client. De asemenea, puteți selecta Clientul existent în timp ce creați pacientul.",
+Default Medical Code Standard,Standardul medical standard standard,
+Collect Fee for Patient Registration,Colectați taxa pentru înregistrarea pacientului,
+Checking this will create new Patients with a Disabled status by default and will only be enabled after invoicing the Registration Fee.,Verificând acest lucru se vor crea noi pacienți cu starea Dezactivat în mod implicit și vor fi activate numai după facturarea Taxei de înregistrare.,
+Registration Fee,Taxă de Înregistrare,
+Automate Appointment Invoicing,Automatizați facturarea programării,
+Manage Appointment Invoice submit and cancel automatically for Patient Encounter,Gestionați trimiterea și anularea facturii de întâlnire în mod automat pentru întâlnirea cu pacienții,
+Enable Free Follow-ups,Activați urmăriri gratuite,
+Number of Patient Encounters in Valid Days,Numărul de întâlniri cu pacienți în zilele valabile,
+The number of free follow ups (Patient Encounters in valid days) allowed,Numărul de urmăriri gratuite (întâlniri cu pacienții în zile valide) permis,
+Valid Number of Days,Număr valid de zile,
+Time period (Valid number of days) for free consultations,Perioada de timp (număr valid de zile) pentru consultări gratuite,
+Default Healthcare Service Items,Articole prestabilite pentru serviciile medicale,
+"You can configure default Items for billing consultation charges, procedure consumption items and inpatient visits","Puteți configura articole implicite pentru facturarea taxelor de consultare, a articolelor de consum procedură și a vizitelor internate",
+Clinical Procedure Consumable Item,Procedura clinică Consumabile,
+Default Accounts,Conturi implicite,
+Default income accounts to be used if not set in Healthcare Practitioner to book Appointment charges.,Conturile de venit implicite care trebuie utilizate dacă nu sunt stabilite în practicienii din domeniul sănătății pentru a rezerva taxele de numire.,
+Default receivable accounts to be used to book Appointment charges.,Conturi de creanță implicite care urmează să fie utilizate pentru rezervarea cheltuielilor pentru programare.,
+Out Patient SMS Alerts,Alerte SMS ale pacientului,
+Patient Registration,Inregistrarea pacientului,
+Registration Message,Mesaj de înregistrare,
+Confirmation Message,Mesaj de confirmare,
+Avoid Confirmation,Evitați confirmarea,
+Do not confirm if appointment is created for the same day,Nu confirmați dacă se creează o întâlnire pentru aceeași zi,
+Appointment Reminder,Memento pentru numire,
+Reminder Message,Mesaj Memento,
+Remind Before,Memento Înainte,
+Laboratory Settings,Setări de laborator,
+Create Lab Test(s) on Sales Invoice Submission,Creați teste de laborator la trimiterea facturilor de vânzări,
+Checking this will create Lab Test(s) specified in the Sales Invoice on submission.,Verificând acest lucru se vor crea teste de laborator specificate în factura de vânzare la trimitere.,
+Create Sample Collection document for Lab Test,Creați un document de colectare a probelor pentru testul de laborator,
+Checking this will create a Sample Collection document  every time you create a Lab Test,"Verificând acest lucru, veți crea un document de colectare a probelor de fiecare dată când creați un test de laborator",
+Employee name and designation in print,Numele și denumirea angajatului în imprimat,
+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.,Bifați acest lucru dacă doriți ca numele și denumirea angajatului asociate cu utilizatorul care trimite documentul să fie tipărite în raportul de testare de laborator.,
+Do not print or email Lab Tests without Approval,Nu imprimați sau trimiteți prin e-mail testele de laborator fără aprobare,
+Checking this will restrict printing and emailing of Lab Test documents unless they have the status as Approved.,"Verificarea acestui lucru va restricționa imprimarea și trimiterea prin e-mail a documentelor de test de laborator, cu excepția cazului în care acestea au statutul de Aprobat.",
+Custom Signature in Print,Semnătură personalizată în imprimare,
+Laboratory SMS Alerts,Alerte SMS de laborator,
+Result Printed Message,Rezultat Mesaj tipărit,
+Result Emailed Message,Rezultat Mesaj prin e-mail,
+Check In,Verifica,
+Check Out,Verifică,
+HLC-INP-.YYYY.-,HLC-INP-.YYYY.-,
+A Positive,A Pozitive,
+A Negative,Un negativ,
+AB Positive,AB pozitiv,
+AB Negative,AB Negativ,
+B Positive,B pozitiv,
+B Negative,B Negativ,
+O Positive,O pozitiv,
+O Negative,O Negativ,
+Date of birth,Data Nașterii,
+Admission Scheduled,Admiterea programată,
+Discharge Scheduled,Descărcarea programată,
+Discharged,evacuate,
+Admission Schedule Date,Data calendarului de admitere,
+Admitted Datetime,Timpul admis,
+Expected Discharge,Descărcarea anticipată,
+Discharge Date,Data descărcării,
+Lab Prescription,Lab prescription,
+Lab Test Name,Numele testului de laborator,
+Test Created,Testul a fost creat,
+Submitted Date,Data transmisă,
+Approved Date,Data aprobarii,
+Sample ID,ID-ul probelor,
+Lab Technician,Tehnician de laborator,
+Report Preference,Raportați raportul,
+Test Name,Numele testului,
+Test Template,Șablon de testare,
+Test Group,Grupul de testare,
+Custom Result,Rezultate personalizate,
+LabTest Approver,LabTest Approver,
+Add Test,Adăugați test,
+Normal Range,Interval normal,
+Result Format,Formatul rezultatelor,
+Single,Celibatar,
+Compound,Compus,
+Descriptive,Descriptiv,
+Grouped,grupate,
+No Result,Nici un rezultat,
+This value is updated in the Default Sales Price List.,Această valoare este actualizată în lista prestabilită a prețurilor de vânzare.,
+Lab Routine,Laboratorul de rutină,
+Result Value,Valoare Rezultat,
+Require Result Value,Necesita valoarea rezultatului,
+Normal Test Template,Șablonul de test normal,
+Patient Demographics,Demografia pacientului,
+HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
+Middle Name (optional),Prenume (opțional),
+Inpatient Status,Starea staționarului,
+"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.","Dacă „Link Client to Pacient” este bifat în Setările asistenței medicale și un Client existent nu este selectat, atunci va fi creat un Client pentru acest Pacient pentru înregistrarea tranzacțiilor în modulul Conturi.",
+Personal and Social History,Istoria personală și socială,
+Marital Status,Stare civilă,
+Married,Căsătorit,
+Divorced,Divorțat/a,
+Widow,Văduvă,
+Patient Relation,Relația pacientului,
+"Allergies, Medical and Surgical History","Alergii, Istorie medicală și chirurgicală",
+Allergies,Alergii,
+Medication,Medicament,
+Medical History,Istoricul medical,
+Surgical History,Istorie chirurgicală,
+Risk Factors,Factori de Risc,
+Occupational Hazards and Environmental Factors,Riscuri Ocupaționale și Factori de Mediu,
+Other Risk Factors,Alți factori de risc,
+Patient Details,Detalii pacient,
+Additional information regarding the patient,Informații suplimentare privind pacientul,
+HLC-APP-.YYYY.-,HLC-APP-.YYYY.-,
+Patient Age,Vârsta pacientului,
+Get Prescribed Clinical Procedures,Obțineți proceduri clinice prescrise,
+Therapy,Terapie,
+Get Prescribed Therapies,Obțineți terapii prescrise,
+Appointment Datetime,Data programării,
+Duration (In Minutes),Durata (în minute),
+Reference Sales Invoice,Factură de vânzare de referință,
+More Info,Mai multe informatii,
+Referring Practitioner,Practicant referitor,
+Reminded,Reamintit,
+HLC-PA-.YYYY.-,HLC-PA-.YYYY.-,
+Assessment Template,Șablon de evaluare,
+Assessment Datetime,Evaluare Datetime,
+Assessment Description,Evaluare Descriere,
+Assessment Sheet,Fișa de evaluare,
+Total Score Obtained,Scorul total obținut,
+Scale Min,Scală Min,
+Scale Max,Scală Max,
+Patient Assessment Detail,Detaliu evaluare pacient,
+Assessment Parameter,Parametru de evaluare,
+Patient Assessment Parameter,Parametrul de evaluare a pacientului,
+Patient Assessment Sheet,Fișa de evaluare a pacientului,
+Patient Assessment Template,Șablon de evaluare a pacientului,
+Assessment Parameters,Parametrii de evaluare,
+Parameters,Parametrii,
+Assessment Scale,Scara de evaluare,
+Scale Minimum,Scala minimă,
+Scale Maximum,Scală maximă,
+HLC-ENC-.YYYY.-,HLC-ENC-.YYYY.-,
+Encounter Date,Data întâlnirii,
+Encounter Time,Întâlniți timpul,
+Encounter Impression,Întâlniți impresiile,
+Symptoms,Simptome,
+In print,În imprimare,
+Medical Coding,Codificarea medicală,
+Procedures,Proceduri,
+Therapies,Terapii,
+Review Details,Detalii de examinare,
+Patient Encounter Diagnosis,Diagnosticul întâlnirii pacientului,
+Patient Encounter Symptom,Simptomul întâlnirii pacientului,
+HLC-PMR-.YYYY.-,HLC-PMR-.YYYY.-,
+Attach Medical Record,Atașați fișa medicală,
+Reference DocType,DocType de referință,
+Spouse,soț,
+Family,Familie,
+Schedule Details,Detalii program,
+Schedule Name,Numele programului,
+Time Slots,Intervale de timp,
+Practitioner Service Unit Schedule,Unitatea Serviciului de Practician,
+Procedure Name,Numele procedurii,
+Appointment Booked,Numirea rezervată,
+Procedure Created,Procedura creată,
+HLC-SC-.YYYY.-,HLC-SC-.YYYY.-,
+Collected By,Colectată de,
+Particulars,Particularități,
+Result Component,Componenta Rezultat,
+HLC-THP-.YYYY.-,HLC-THP-.YYYY.-,
+Therapy Plan Details,Detalii despre planul de terapie,
+Total Sessions,Total sesiuni,
+Total Sessions Completed,Total sesiuni finalizate,
+Therapy Plan Detail,Detaliu plan de terapie,
+No of Sessions,Nr de sesiuni,
+Sessions Completed,Sesiuni finalizate,
+Tele,Tele,
+Exercises,Exerciții,
+Therapy For,Terapie pt,
+Add Exercises,Adăugați exerciții,
+Body Temperature,Temperatura corpului,
+Presence of a fever (temp &gt; 38.5 °C/101.3 °F or sustained temp &gt; 38 °C/100.4 °F),"Prezența febrei (temperatură&gt; 38,5 ° C sau temperatură susținută&gt; 38 ° C / 100,4 ° F)",
+Heart Rate / Pulse,Ritm cardiac / puls,
+Adults' pulse rate is anywhere between 50 and 80 beats per minute.,Rata pulsului adulților este între 50 și 80 de bătăi pe minut.,
+Respiratory rate,Rata respiratorie,
+Normal reference range for an adult is 16–20 breaths/minute (RCP 2012),Intervalul normal de referință pentru un adult este de 16-20 respirații / minut (RCP 2012),
+Tongue,Limbă,
+Coated,Acoperit,
+Very Coated,Foarte acoperit,
+Normal,Normal,
+Furry,Cu blană,
+Cuts,Bucăți,
+Abdomen,Abdomen,
+Bloated,Umflat,
+Fluid,Fluid,
+Constipated,Constipat,
+Reflexes,reflexe,
+Hyper,Hyper,
+Very Hyper,Foarte Hyper,
+One Sided,O singură față,
+Blood Pressure (systolic),Tensiunea arterială (sistolică),
+Blood Pressure (diastolic),Tensiunea arterială (diastolică),
+Blood Pressure,Tensiune arteriala,
+"Normal resting blood pressure in an adult is approximately 120 mmHg systolic, and 80 mmHg diastolic, abbreviated ""120/80 mmHg""","Tensiunea arterială normală de repaus la un adult este de aproximativ 120 mmHg sistolică și 80 mmHg diastolică, abreviată &quot;120/80 mmHg&quot;",
+Nutrition Values,Valorile nutriției,
+Height (In Meter),Înălțime (în metri),
+Weight (In Kilogram),Greutate (în kilograme),
+BMI,IMC,
+Hotel Room,Cameră de hotel,
+Hotel Room Type,Tip camera de hotel,
+Capacity,Capacitate,
+Extra Bed Capacity,Capacitatea patului suplimentar,
+Hotel Manager,Hotel Manager,
+Hotel Room Amenity,Hotel Amenity Room,
+Billable,Facturabil,
+Hotel Room Package,Pachetul de camere hotel,
+Amenities,dotări,
+Hotel Room Pricing,Pretul camerei hotelului,
+Hotel Room Pricing Item,Hotel Pricing Room Item,
+Hotel Room Pricing Package,Pachetul pentru tarifarea camerei hotelului,
+Hotel Room Reservation,Rezervarea camerelor hotelului,
+Guest Name,Numele oaspetelui,
+Late Checkin,Încearcă târziu,
+Booked,rezervat,
+Hotel Reservation User,Utilizator rezervare hotel,
+Hotel Room Reservation Item,Rezervare cameră cameră,
+Hotel Settings,Setările hotelului,
+Default Taxes and Charges,Impozite și taxe prestabilite,
+Default Invoice Naming Series,Seria implicită de numire a facturilor,
+Additional Salary,Salariu suplimentar,
+HR,HR,
+HR-ADS-.YY.-.MM.-,HR-ADS-.YY .-. MM.-,
+Salary Component,Componenta de salarizare,
+Overwrite Salary Structure Amount,Suprascrieți suma structurii salariilor,
+Deduct Full Tax on Selected Payroll Date,Reduceți impozitul complet pe data de salarizare selectată,
+Payroll Date,Data salarizării,
+Date on which this component is applied,Data la care se aplică această componentă,
+Salary Slip,Salariul Slip,
+Salary Component Type,Tipul componentei salariale,
+HR User,Utilizator HR,
+Appointment Letter,Scrisoare de programare,
+Job Applicant,Solicitant loc de muncă,
+Applicant Name,Nume solicitant,
+Appointment Date,Data de intalnire,
+Appointment Letter Template,Model de scrisoare de numire,
+Body,Corp,
+Closing Notes,Note de închidere,
+Appointment Letter content,Numire scrisoare conținut,
+Appraisal,Expertiză,
+HR-APR-.YY.-.MM.,HR-APR-.YY.-.MM.,
+Appraisal Template,Model expertiză,
+For Employee Name,Pentru Numele Angajatului,
+Goals,Obiective,
+Total Score (Out of 5),Scor total (din 5),
+"Any other remarks, noteworthy effort that should go in the records.","Orice alte observații, efort remarcabil care ar trebui înregistrate.",
+Appraisal Goal,Obiectiv expertiză,
+Key Responsibility Area,Domeni de Responsabilitate Cheie,
+Weightage (%),Weightage (%),
+Score (0-5),Scor (0-5),
+Score Earned,Scor Earned,
+Appraisal Template Title,Titlu model expertivă,
+Appraisal Template Goal,Obiectiv model expertivă,
+KRA,KRA,
+Key Performance Area,Domeniu de Performanță Cheie,
+HR-ATT-.YYYY.-,HR-ATT-.YYYY.-,
+On Leave,La plecare,
+Work From Home,Lucru de acasă,
+Leave Application,Aplicatie pentru Concediu,
+Attendance Date,Dată prezenţă,
+Attendance Request,Cererea de participare,
+Late Entry,Intrare târzie,
+Early Exit,Iesire timpurie,
+Half Day Date,Jumatate de zi Data,
+On Duty,La datorie,
+Explanation,Explicaţie,
+Compensatory Leave Request,Solicitare de plecare compensatorie,
+Leave Allocation,Alocare Concediu,
+Worked On Holiday,Lucrat în vacanță,
+Work From Date,Lucrul de la data,
+Work End Date,Data terminării lucrării,
+Email Sent To,Email trimis catre,
+Select Users,Selectați Utilizatori,
+Send Emails At,Trimite email-uri La,
+Reminder,Memento,
+Daily Work Summary Group User,Utilizatorul grupului zilnic de lucru sumar,
+email,e-mail,
+Parent Department,Departamentul părinților,
+Leave Block List,Lista Concedii Blocate,
+Days for which Holidays are blocked for this department.,Zile pentru care Sărbătorile sunt blocate pentru acest departament.,
+Leave Approver,Aprobator Concediu,
+Expense Approver,Aprobator Cheltuieli,
+Department Approver,Departamentul Aprobare,
+Approver,Aprobator,
+Required Skills,Aptitudini necesare,
+Skills,Aptitudini,
+Designation Skill,Indemanare de desemnare,
+Skill,Calificare,
+Driver,Conducător auto,
+HR-DRI-.YYYY.-,HR-DRI-.YYYY.-,
+Suspended,Suspendat,
+Transporter,Transporter,
+Applicable for external driver,Aplicabil pentru driverul extern,
+Cellphone Number,Număr de Telefon Mobil,
+License Details,Detalii privind licența,
+License Number,Numărul de licență,
+Issuing Date,Data emiterii,
+Driving License Categories,Categorii de licență de conducere,
+Driving License Category,Categoria permiselor de conducere,
+Fleet Manager,Manager de flotă,
+Driver licence class,Clasa permisului de conducere,
+HR-EMP-,HR-vorba sunt,
+Employment Type,Tip angajare,
+Emergency Contact,Contact de Urgență,
+Emergency Contact Name,Nume de contact de urgență,
+Emergency Phone,Telefon de Urgență,
+ERPNext User,Utilizator ERPNext,
+"System User (login) ID. If set, it will become default for all HR forms.","ID Utilizator Sistem (conectare). Dacă este setat, va deveni implicit pentru toate formularele de resurse umane.",
+Create User Permission,Creați permisiunea utilizatorului,
+This will restrict user access to other employee records,Acest lucru va restricționa accesul utilizatorilor la alte înregistrări ale angajaților,
+Joining Details,Detalii Angajare,
+Offer Date,Oferta Date,
+Confirmation Date,Data de Confirmare,
+Contract End Date,Data de Incheiere Contract,
+Notice (days),Preaviz (zile),
+Date Of Retirement,Data Pensionării,
+Department and Grade,Departamentul și Gradul,
+Reports to,Rapoartează către,
+Attendance and Leave Details,Detalii de participare și concediu,
+Leave Policy,Lasati politica,
+Attendance Device ID (Biometric/RF tag ID),Prezentarea dispozitivului de identificare (biometric / RF tag tag),
+Applicable Holiday List,Listă de concedii aplicabile,
+Default Shift,Schimbare implicită,
+Salary Details,Detalii salariu,
+Salary Mode,Mod de salariu,
+Bank A/C No.,Bancă A/C nr.,
+Health Insurance,Asigurare de sanatate,
+Health Insurance Provider,Asigurari de sanatate,
+Health Insurance No,Asigurări de sănătate nr,
+Prefered Email,E-mail Preferam,
+Personal Email,Personal de e-mail,
+Permanent Address Is,Adresa permanentă este,
+Rented,Închiriate,
+Owned,Deținut,
+Permanent Address,Permanent Adresa,
+Prefered Contact Email,Contact Email Preferam,
+Company Email,E-mail Companie,
+Provide Email Address registered in company,Furnizarea Adresa de email inregistrata in companie,
+Current Address Is,Adresa Actuală Este,
+Current Address,Adresa actuală,
+Personal Bio,Personal Bio,
+Bio / Cover Letter,Bio / Cover Letter,
+Short biography for website and other publications.,Scurta biografie pentru site-ul web și alte publicații.,
+Passport Number,Numărul de pașaport,
+Date of Issue,Data Problemei,
+Place of Issue,Locul eliberării,
+Widowed,Văduvit,
+Family Background,Context familial,
+"Here you can maintain family details like name and occupation of parent, spouse and children","Aici puteți stoca detalii despre familie, cum ar fi numele și ocupația parintelui, sotului/sotiei și copiilor",
+Health Details,Detalii Sănătate,
+"Here you can maintain height, weight, allergies, medical concerns etc","Aici puteți stoca informatii despre inaltime, greutate, alergii, probleme medicale etc",
+Educational Qualification,Detalii Calificare de Învățământ,
+Previous Work Experience,Anterior Work Experience,
+External Work History,Istoricul lucrului externă,
+History In Company,Istoric In Companie,
+Internal Work History,Istoria interne de lucru,
+Resignation Letter Date,Dată Scrisoare de Demisie,
+Relieving Date,Alinarea Data,
+Reason for Leaving,Motiv pentru plecare,
+Leave Encashed?,Concediu Incasat ?,
+Encashment Date,Data plata in Numerar,
+New Workplace,Nou loc de muncă,
+HR-EAD-.YYYY.-,HR-EAD-.YYYY.-,
+Returned Amount,Suma restituită,
+Claimed,Revendicat,
+Advance Account,Advance Account,
+Employee Attendance Tool,Instrumentul Participarea angajat,
+Unmarked Attendance,Participarea nemarcat,
+Employees HTML,Angajații HTML,
+Marked Attendance,Participarea marcat,
+Marked Attendance HTML,Participarea marcat HTML,
+Employee Benefit Application,Aplicația pentru beneficiile angajaților,
+Max Benefits (Yearly),Beneficii maxime (anual),
+Remaining Benefits (Yearly),Alte beneficii (anuale),
+Payroll Period,Perioada de salarizare,
+Benefits Applied,Beneficii aplicate,
+Dispensed Amount (Pro-rated),Sumă distribuită (Pro-evaluată),
+Employee Benefit Application Detail,Detaliile aplicației pentru beneficiile angajaților,
+Earning Component,Componenta câștigurilor,
+Pay Against Benefit Claim,Plătiți împotriva revendicării beneficiilor,
+Max Benefit Amount,Suma maximă a beneficiilor,
+Employee Benefit Claim,Revendicarea beneficiilor pentru angajați,
+Claim Date,Data revendicării,
+Benefit Type and Amount,Tip de prestație și sumă,
+Claim Benefit For,Revendicați beneficiul pentru,
+Max Amount Eligible,Sumă maximă eligibilă,
+Expense Proof,Cheltuieli de probă,
+Employee Boarding Activity,Activitatea de îmbarcare a angajaților,
+Activity Name,Nume Activitate,
+Task Weight,sarcina Greutate,
+Required for Employee Creation,Necesar pentru crearea angajaților,
+Applicable in the case of Employee Onboarding,Aplicabil în cazul angajării angajaților,
+Employee Checkin,Verificarea angajatilor,
+Log Type,Tip jurnal,
+OUT,OUT,
+Location / Device ID,Locație / ID dispozitiv,
+Skip Auto Attendance,Treci la prezența automată,
+Shift Start,Start Shift,
+Shift End,Shift End,
+Shift Actual Start,Shift Start inițial,
+Shift Actual End,Schimbare finală efectivă,
+Employee Education,Educație Angajat,
+School/University,Școlar / universitar,
+Graduate,Absolvent,
+Post Graduate,Postuniversitar,
+Under Graduate,Sub Absolvent,
+Year of Passing,Ani de la promovarea,
+Class / Percentage,Clasă / Procent,
+Major/Optional Subjects,Subiecte Majore / Opționale,
+Employee External Work History,Istoric Extern Locuri de Munca Angajat,
+Total Experience,Experiența totală,
+Default Leave Policy,Implicit Politica de plecare,
+Default Salary Structure,Structura salarială implicită,
+Employee Group Table,Tabelul grupului de angajați,
+ERPNext User ID,ID utilizator ERPNext,
+Employee Health Insurance,Angajarea Asigurărilor de Sănătate,
+Health Insurance Name,Nume de Asigurări de Sănătate,
+Employee Incentive,Angajament pentru angajați,
+Incentive Amount,Sumă stimulativă,
+Employee Internal Work History,Istoric Intern Locuri de Munca Angajat,
+Employee Onboarding,Angajarea la bord,
+Notify users by email,Notifica utilizatorii prin e-mail,
+Employee Onboarding Template,Formularul de angajare a angajatului,
+Activities,Activități,
+Employee Onboarding Activity,Activitatea de angajare a angajaților,
+Employee Other Income,Alte venituri ale angajaților,
+Employee Promotion,Promovarea angajaților,
+Promotion Date,Data promoției,
+Employee Promotion Details,Detaliile de promovare a angajaților,
+Employee Promotion Detail,Detaliile de promovare a angajaților,
+Employee Property History,Istoricul proprietății angajatului,
+Employee Separation,Separarea angajaților,
+Employee Separation Template,Șablon de separare a angajaților,
+Exit Interview Summary,Exit Interviu Rezumat,
+Employee Skill,Indemanarea angajatilor,
+Proficiency,Experiență,
+Evaluation Date,Data evaluării,
+Employee Skill Map,Harta de îndemânare a angajaților,
+Employee Skills,Abilități ale angajaților,
+Trainings,instruiri,
+Employee Tax Exemption Category,Angajament categoria de scutire fiscală,
+Max Exemption Amount,Suma maximă de scutire,
+Employee Tax Exemption Declaration,Declarația de scutire fiscală a angajaților,
+Declarations,Declaraţii,
+Total Declared Amount,Suma totală declarată,
+Total Exemption Amount,Valoarea totală a scutirii,
+Employee Tax Exemption Declaration Category,Declarația de scutire fiscală a angajaților,
+Exemption Sub Category,Scutirea subcategoria,
+Exemption Category,Categoria de scutire,
+Maximum Exempted Amount,Suma maximă scutită,
+Declared Amount,Suma declarată,
+Employee Tax Exemption Proof Submission,Sustine gratuitatea acestui serviciu si acceseaza,
+Submission Date,Data depunerii,
+Tax Exemption Proofs,Dovezi privind scutirea de taxe,
+Total Actual Amount,Suma totală reală,
+Employee Tax Exemption Proof Submission Detail,Angajamentul de scutire fiscală Detaliu de prezentare a probelor,
+Maximum Exemption Amount,Suma maximă de scutire,
+Type of Proof,Tip de probă,
+Actual Amount,Suma reală,
+Employee Tax Exemption Sub Category,Scutirea de impozit pe categorii de angajați,
+Tax Exemption Category,Categoria de scutire de taxe,
+Employee Training,Instruirea angajaților,
+Training Date,Data formării,
+Employee Transfer,Transfer de angajați,
+Transfer Date,Data transferului,
+Employee Transfer Details,Detaliile transferului angajatului,
+Employee Transfer Detail,Detalii despre transferul angajatului,
+Re-allocate Leaves,Re-alocarea frunzelor,
+Create New Employee Id,Creați un nou număr de angajați,
+New Employee ID,Codul angajatului nou,
+Employee Transfer Property,Angajamentul transferului de proprietate,
+HR-EXP-.YYYY.-,HR-EXP-.YYYY.-,
+Expense Taxes and Charges,Cheltuiește impozite și taxe,
+Total Sanctioned Amount,Suma totală sancționat,
+Total Advance Amount,Suma totală a avansului,
+Total Claimed Amount,Total suma pretinsă,
+Total Amount Reimbursed,Total suma rambursată,
+Vehicle Log,vehicul Log,
+Employees Email Id,Id Email Angajat,
+More Details,Mai multe detalii,
+Expense Claim Account,Cont Solicitare Cheltuială,
+Expense Claim Advance,Avans Solicitare Cheltuială,
+Unclaimed amount,Sumă nerevendicată,
+Expense Claim Detail,Detaliu Solicitare Cheltuială,
+Expense Date,Data cheltuieli,
+Expense Claim Type,Tip Solicitare Cheltuială,
+Holiday List Name,Denumire Lista de Vacanță,
+Total Holidays,Total sărbători,
+Add Weekly Holidays,Adăugă Sărbători Săptămânale,
+Weekly Off,Săptămânal Off,
+Add to Holidays,Adăugă la Sărbători,
+Holidays,Concedii,
+Clear Table,Sterge Masa,
+HR Settings,Setări Resurse Umane,
+Employee Settings,Setări Angajat,
+Retirement Age,Vârsta de pensionare,
+Enter retirement age in years,Introdu o vârsta de pensionare în anii,
+Stop Birthday Reminders,De oprire de naștere Memento,
+Expense Approver Mandatory In Expense Claim,Aprobator Cheltuieli Obligatoriu în Solicitare Cheltuială,
+Payroll Settings,Setări de salarizare,
+Leave,Părăsi,
+Max working hours against Timesheet,Max ore de lucru împotriva Pontaj,
+Include holidays in Total no. of Working Days,Includ vacanțe în total nr. de zile lucrătoare,
+"If checked, Total no. of Working Days will include holidays, and this will reduce the value of Salary Per Day","In cazul in care se bifeaza, nr. total de zile lucratoare va include si sarbatorile, iar acest lucru va reduce valoarea Salariul pe Zi",
+"If checked, hides and disables Rounded Total field in Salary Slips","Dacă este bifat, ascunde și dezactivează câmpul total rotunjit din Slips-uri de salariu",
+The fraction of daily wages to be paid for half-day attendance,Fracțiunea salariilor zilnice care trebuie plătită pentru participarea la jumătate de zi,
+Email Salary Slip to Employee,E-mail Salariu Slip angajatului,
+Emails salary slip to employee based on preferred email selected in Employee,alunecare email-uri salariul angajatului în funcție de e-mail preferat selectat în Angajat,
+Encrypt Salary Slips in Emails,Criptați diapozitive de salariu în e-mailuri,
+"The salary slip emailed to the employee will be password protected, the password will be generated based on the password policy.","Fișa de salariu trimisă către angajat va fi protejată prin parolă, parola va fi generată pe baza politicii de parolă.",
+Password Policy,Politica de parolă,
+<b>Example:</b> SAL-{first_name}-{date_of_birth.year} <br>This will generate a password like SAL-Jane-1972,<b>Exemplu:</b> SAL- {first_name} - {date_of_birth.year} <br> Aceasta va genera o parolă precum SAL-Jane-1972,
+Leave Settings,Lăsați Setările,
+Leave Approval Notification Template,Lăsați șablonul de notificare de aprobare,
+Leave Status Notification Template,Părăsiți șablonul de notificare a statutului,
+Role Allowed to Create Backdated Leave Application,Rolul permis pentru a crea o cerere de concediu retardat,
+Leave Approver Mandatory In Leave Application,Concedierea obligatorie la cerere,
+Show Leaves Of All Department Members In Calendar,Afișați frunzele tuturor membrilor departamentului în calendar,
+Auto Leave Encashment,Auto Encashment,
+Hiring Settings,Setări de angajare,
+Check Vacancies On Job Offer Creation,Verificați posturile vacante pentru crearea ofertei de locuri de muncă,
+Identification Document Type,Tipul documentului de identificare,
+Effective from,Efectiv de la,
+Allow Tax Exemption,Permiteți scutirea de taxe,
+"If enabled, Tax Exemption Declaration will be considered for income tax calculation.","Dacă este activată, Declarația de scutire de impozit va fi luată în considerare pentru calcularea impozitului pe venit.",
+Standard Tax Exemption Amount,Suma standard de scutire de impozit,
+Taxable Salary Slabs,Taxe salariale,
+Taxes and Charges on Income Tax,Impozite și taxe pe impozitul pe venit,
+Other Taxes and Charges,Alte impozite și taxe,
+Income Tax Slab Other Charges,Impozitul pe venit Slab Alte taxe,
+Min Taxable Income,Venit minim impozabil,
+Max Taxable Income,Venitul maxim impozabil,
+Applicant for a Job,Solicitant pentru un loc de muncă,
+Accepted,Acceptat,
+Job Opening,Loc de munca disponibil,
+Cover Letter,Scrisoare de intenție,
+Resume Attachment,CV-Atașamentul,
+Job Applicant Source,Sursă Solicitant Loc de Muncă,
+Applicant Email Address,Adresa de e-mail a solicitantului,
+Awaiting Response,Se aşteaptă răspuns,
+Job Offer Terms,Condiții Ofertă de Muncă,
+Select Terms and Conditions,Selectați Termeni și condiții,
+Printing Details,Imprimare Detalii,
+Job Offer Term,Termen Ofertă de Muncă,
+Offer Term,Termen oferta,
+Value / Description,Valoare / Descriere,
+Description of a Job Opening,Descrierea unei slujbe,
+Job Title,Denumire Post,
+Staffing Plan,Planul de personal,
+Planned number of Positions,Număr planificat de poziții,
+"Job profile, qualifications required etc.","Profilul postului, calificări necesare, etc",
+HR-LAL-.YYYY.-,HR-LAL-.YYYY.-,
+Allocation,Alocare,
+New Leaves Allocated,Cereri noi de concediu alocate,
+Add unused leaves from previous allocations,Adăugați zile de concediu neutilizate de la alocări anterioare,
+Unused leaves,Frunze neutilizate,
+Total Leaves Allocated,Totalul Frunze alocate,
+Total Leaves Encashed,Frunze totale încorporate,
+Leave Period,Lăsați perioada,
+Carry Forwarded Leaves,Trasmite Concedii Inaintate,
+Apply / Approve Leaves,Aplicați / aprobaţi concedii,
+HR-LAP-.YYYY.-,HR-LAP-.YYYY.-,
+Leave Balance Before Application,Balanta Concediu Inainte de Aplicare,
+Total Leave Days,Total de zile de concediu,
+Leave Approver Name,Lăsați Nume aprobator,
+Follow via Email,Urmați prin e-mail,
+Block Holidays on important days.,Blocaţi zile de sărbătoare în zilele importante.,
+Leave Block List Name,Denumire Lista Concedii Blocate,
+Applies to Company,Se aplică companiei,
+"If not checked, the list will have to be added to each Department where it has to be applied.","In cazul in care este debifat, lista va trebui să fie adăugata fiecarui Departament unde trebuie sa fie aplicată.",
+Block Days,Zile de blocare,
+Stop users from making Leave Applications on following days.,Opri utilizatorii de la a face aplicații concediu pentru următoarele zile.,
+Leave Block List Dates,Date Lista Concedii Blocate,
+Allow Users,Permiteți utilizatori,
+Allow the following users to approve Leave Applications for block days.,Permiteţi următorilor utilizatori să aprobe cereri de concediu pentru zile blocate.,
+Leave Block List Allowed,Lista Concedii Blocate Permise,
+Leave Block List Allow,Permite Lista Concedii Blocate,
+Allow User,Permiteţi utilizator,
+Leave Block List Date,Data Lista Concedii Blocate,
+Block Date,Dată blocare,
+Leave Control Panel,Panou de Control Concediu,
+Select Employees,Selectați angajati,
+Employment Type (optional),Tip de angajare (opțional),
+Branch (optional),Sucursală (opțional),
+Department (optional),Departamentul (opțional),
+Designation (optional),Desemnare (opțional),
+Employee Grade (optional),Gradul angajatului (opțional),
+Employee (optional),Angajat (opțional),
+Allocate Leaves,Alocați frunzele,
+Carry Forward,Transmite Inainte,
+Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Vă rugăm să selectați reporta dacă doriți și să includă echilibrul de anul precedent fiscal lasă în acest an fiscal,
+New Leaves Allocated (In Days),Cereri noi de concediu alocate (în zile),
+Allocate,Alocaţi,
+Leave Balance,Lasă balanța,
+Encashable days,Zile încorporate,
+Encashment Amount,Suma de încasare,
+Leave Ledger Entry,Lăsați intrarea în evidență,
+Transaction Name,Numele tranzacției,
+Is Carry Forward,Este Carry Forward,
+Is Expired,Este expirat,
+Is Leave Without Pay,Este concediu fără plată,
+Holiday List for Optional Leave,Lista de vacanță pentru concediul opțional,
+Leave Allocations,Lăsați alocările,
+Leave Policy Details,Lăsați detaliile politicii,
+Leave Policy Detail,Lăsați detaliile politicii,
+Annual Allocation,Alocarea anuală,
+Leave Type Name,Denumire Tip Concediu,
+Max Leaves Allowed,Frunzele maxime sunt permise,
+Applicable After (Working Days),Aplicabil după (zile lucrătoare),
+Maximum Continuous Days Applicable,Zilele maxime continue sunt aplicabile,
+Is Optional Leave,Este concediu opțională,
+Allow Negative Balance,Permiteţi sold negativ,
+Include holidays within leaves as leaves,Includ zilele de sărbătoare în frunze ca frunze,
+Is Compensatory,Este compensatorie,
+Maximum Carry Forwarded Leaves,Frunze transmise maxim transportat,
+Expire Carry Forwarded Leaves (Days),Expirați transportați frunzele transmise (zile),
+Calculated in days,Calculat în zile,
+Encashment,Încasare,
+Allow Encashment,Permiteți încorporarea,
+Encashment Threshold Days,Zilele pragului de încasare,
+Earned Leave,Salariu câștigat,
+Is Earned Leave,Este lăsat câștigat,
+Earned Leave Frequency,Frecvența de plecare câștigată,
+Rounding,Rotunjire,
+Payroll Employee Detail,Detaliile salariaților salariați,
+Payroll Frequency,Frecventa de salarizare,
+Fortnightly,bilunară,
+Bimonthly,Bilunar,
+Employees,Numar de angajati,
+Number Of Employees,Numar de angajati,
+Employee Details,Detalii angajaților,
+Validate Attendance,Validați participarea,
+Salary Slip Based on Timesheet,Bazat pe salariu Slip Pontaj,
+Select Payroll Period,Perioada de selectare Salarizare,
+Deduct Tax For Unclaimed Employee Benefits,Deducerea Impozitelor Pentru Beneficiile Nerecuperate ale Angajaților,
+Deduct Tax For Unsubmitted Tax Exemption Proof,Deducerea impozitului pentru dovada scutirii fiscale neimpozitate,
+Select Payment Account to make Bank Entry,Selectați Cont de plăți pentru a face Banca de intrare,
+Salary Slips Created,Slipsuri salariale create,
+Salary Slips Submitted,Salariile trimise,
+Payroll Periods,Perioade de salarizare,
+Payroll Period Date,Data perioadei de salarizare,
+Purpose of Travel,Scopul călătoriei,
+Retention Bonus,Bonus de Retenție,
+Bonus Payment Date,Data de plată Bonus,
+Bonus Amount,Bonus Suma,
+Abbr,Presc,
+Depends on Payment Days,Depinde de Zilele de plată,
+Is Tax Applicable,Taxa este aplicabilă,
+Variable Based On Taxable Salary,Variabilă pe salariu impozabil,
+Exempted from Income Tax,Scutit de impozitul pe venit,
+Round to the Nearest Integer,Rotund la cel mai apropiat număr întreg,
+Statistical Component,Componenta statistică,
+"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. ","Dacă este selectată, valoarea specificată sau calculată în această componentă nu va contribui la câștigurile sau deducerile. Cu toate acestea, valoarea sa poate fi menționată de alte componente care pot fi adăugate sau deduse.",
+Do Not Include in Total,Nu includeți în total,
+Flexible Benefits,Beneficii flexibile,
+Is Flexible Benefit,Este benefică flexibilă,
+Max Benefit Amount (Yearly),Sumă maximă pentru beneficiu (anual),
+Only Tax Impact (Cannot Claim But Part of Taxable Income),"Numai impactul fiscal (nu poate fi revendicat, ci parte din venitul impozabil)",
+Create Separate Payment Entry Against Benefit Claim,Creați o intrare separată de plată împotriva revendicării beneficiilor,
+Condition and Formula,Condiție și formulă,
+Amount based on formula,Suma bazată pe formula generală,
+Formula,Formulă,
+Salary Detail,Detalii salariu,
+Component,component,
+Do not include in total,Nu includeți în total,
+Default Amount,Sumă Implicită,
+Additional Amount,Suma suplimentară,
+Tax on flexible benefit,Impozitul pe beneficii flexibile,
+Tax on additional salary,Impozit pe salariu suplimentar,
+Salary Structure,Structura salariu,
+Working Days,Zile lucratoare,
+Salary Slip Timesheet,Salariu alunecare Pontaj,
+Total Working Hours,Numărul total de ore de lucru,
+Hour Rate,Rata Oră,
+Bank Account No.,Cont bancar nr.,
+Earning & Deduction,Câștig Salarial si Deducere,
+Earnings,Câștiguri,
+Deductions,Deduceri,
+Loan repayment,Rambursare a creditului,
+Employee Loan,angajat de împrumut,
+Total Principal Amount,Sumă totală principală,
+Total Interest Amount,Suma totală a dobânzii,
+Total Loan Repayment,Rambursarea totală a creditului,
+net pay info,info net pay,
+Gross Pay - Total Deduction - Loan Repayment,Plata brută - Deducerea totală - rambursare a creditului,
+Total in words,Total în cuvinte,
+Net Pay (in words) will be visible once you save the Salary Slip.,Pay net (în cuvinte) vor fi vizibile după ce salvați fluturasul de salariu.,
+Salary Component for timesheet based payroll.,Componenta de salarizare pentru salarizare bazate pe timesheet.,
+Leave Encashment Amount Per Day,Părăsiți Suma de Invenție pe Zi,
+Max Benefits (Amount),Beneficii maxime (suma),
+Salary breakup based on Earning and Deduction.,Salariul despartire bazat privind câștigul salarial și deducere.,
+Total Earning,Câștigul salarial total de,
+Salary Structure Assignment,Structura salarială,
+Shift Assignment,Schimbare asignare,
+Shift Type,Tip Shift,
+Shift Request,Cerere de schimbare,
+Enable Auto Attendance,Activați prezența automată,
+Mark attendance based on 'Employee Checkin' for Employees assigned to this shift.,Marcați prezența pe baza „Verificării angajaților” pentru angajații repartizați în această schimbă.,
+Auto Attendance Settings,Setări de prezență automată,
+Determine Check-in and Check-out,Determinați check-in și check-out,
+Alternating entries as IN and OUT during the same shift,Alternarea intrărilor ca IN și OUT în timpul aceleiași deplasări,
+Strictly based on Log Type in Employee Checkin,Strict bazat pe tipul de jurnal în verificarea angajaților,
+Working Hours Calculation Based On,Calculul orelor de lucru bazat pe,
+First Check-in and Last Check-out,Primul check-in și ultimul check-out,
+Every Valid Check-in and Check-out,Fiecare check-in și check-out valabil,
+Begin check-in before shift start time (in minutes),Începeți check-in-ul înainte de ora de începere a schimbului (în minute),
+The time before the shift start time during which Employee Check-in is considered for attendance.,Timpul înainte de ora de începere a schimbului în timpul căruia se consideră check-in-ul angajaților pentru participare.,
+Allow check-out after shift end time (in minutes),Permite check-out după ora de încheiere a schimbului (în minute),
+Time after the end of shift during which check-out is considered for attendance.,Timpul după încheierea turei în timpul căreia se face check-out pentru participare.,
+Working Hours Threshold for Half Day,Prag de lucru pentru o jumătate de zi,
+Working hours below which Half Day is marked. (Zero to disable),Ore de lucru sub care este marcată jumătate de zi. (Zero dezactivat),
+Working Hours Threshold for Absent,Prag de lucru pentru orele absente,
+Working hours below which Absent is marked. (Zero to disable),Ore de lucru sub care este marcat absentul. (Zero dezactivat),
+Process Attendance After,Prezență la proces după,
+Attendance will be marked automatically only after this date.,Participarea va fi marcată automat numai după această dată.,
+Last Sync of Checkin,Ultima sincronizare a checkin-ului,
+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.,Ultima sincronizare cunoscută cu succes a verificării angajaților. Resetați acest lucru numai dacă sunteți sigur că toate jurnalele sunt sincronizate din toate locațiile. Vă rugăm să nu modificați acest lucru dacă nu sunteți sigur.,
+Grace Period Settings For Auto Attendance,Setări pentru perioada de grație pentru prezența automată,
+Enable Entry Grace Period,Activați perioada de grație de intrare,
+Late Entry Grace Period,Perioada de grație de intrare târzie,
+The time after the shift start time when check-in is considered as late (in minutes).,"Ora după ora de începere a schimbului, când check-in este considerată întârziată (în minute).",
+Enable Exit Grace Period,Activați Perioada de grație de ieșire,
+Early Exit Grace Period,Perioada de grație de ieșire timpurie,
+The time before the shift end time when check-out is considered as early (in minutes).,"Timpul înainte de ora de încheiere a schimbului, când check-out-ul este considerat mai devreme (în minute).",
+Skill Name,Nume de îndemânare,
+Staffing Plan Details,Detaliile planului de personal,
+Staffing Plan Detail,Detaliile planului de personal,
+Total Estimated Budget,Bugetul total estimat,
+Vacancies,Posturi vacante,
+Estimated Cost Per Position,Costul estimat pe poziție,
+Total Estimated Cost,Costul total estimat,
+Current Count,Contorul curent,
+Current Openings,Deschideri curente,
+Number Of Positions,Numărul de poziții,
+Taxable Salary Slab,Taxable Salary Slab,
+From Amount,Din Sumă,
+To Amount,La suma,
+Percent Deduction,Deducție procentuală,
+Training Program,Program de antrenament,
+Event Status,Stare eveniment,
+Has Certificate,Are certificat,
+Seminar,Seminar,
+Theory,Teorie,
+Workshop,Atelier,
+Conference,Conferinţă,
+Exam,Examen,
+Internet,Internet,
+Self-Study,Studiu individual,
+Advance,Avans,
+Trainer Name,Nume formator,
+Trainer Email,trainer e-mail,
+Attendees,Participanți,
+Employee Emails,E-mailuri ale angajaților,
+Training Event Employee,Eveniment de formare Angajat,
+Invited,invitați,
+Feedback Submitted,Feedbackul a fost trimis,
+Optional,facultativ,
+Training Result Employee,Angajat de formare Rezultat,
+Travel Itinerary,Itinerariul de călătorie,
+Travel From,Călătorie de la,
+Travel To,Călători în,
+Mode of Travel,Modul de călătorie,
+Flight,Zbor,
+Train,Tren,
+Taxi,Taxi,
+Rented Car,Mașină închiriată,
+Meal Preference,Preferința de mâncare,
+Vegetarian,Vegetarian,
+Non-Vegetarian,Non vegetarian,
+Gluten Free,Fara gluten,
+Non Diary,Non-jurnal,
+Travel Advance Required,Advance Travel Required,
+Departure Datetime,Data plecării,
+Arrival Datetime,Ora de sosire,
+Lodging Required,Cazare solicitată,
+Preferred Area for Lodging,Zonă preferată de cazare,
+Check-in Date,Data înscrierii,
+Check-out Date,Verifica data,
+Travel Request,Cerere de călătorie,
+Travel Type,Tip de călătorie,
+Domestic,Intern,
+International,Internaţional,
+Travel Funding,Finanțarea turismului,
+Require Full Funding,Solicitați o finanțare completă,
+Fully Sponsored,Sponsorizat complet,
+"Partially Sponsored, Require Partial Funding","Parțial sponsorizat, necesită finanțare parțială",
+Copy of Invitation/Announcement,Copia invitatiei / anuntului,
+"Details of Sponsor (Name, Location)","Detalii despre sponsor (nume, locație)",
+Identification Document Number,Cod Numeric Personal,
+Any other details,Orice alte detalii,
+Costing Details,Costul detaliilor,
+Costing,Cost,
+Event Details,detaliile evenimentului,
+Name of Organizer,Numele organizatorului,
+Address of Organizer,Adresa organizatorului,
+Travel Request Costing,Costul cererii de călătorie,
+Expense Type,Tipul de cheltuieli,
+Sponsored Amount,Suma sponsorizată,
+Funded Amount,Sumă finanțată,
+Upload Attendance,Încărcați Spectatori,
+Attendance From Date,Prezenţa de la data,
+Attendance To Date,Prezenţa până la data,
+Get Template,Obține șablon,
+Import Attendance,Import Spectatori,
+Upload HTML,Încărcați HTML,
+Vehicle,Vehicul,
+License Plate,Înmatriculare,
+Odometer Value (Last),Valoarea contorului de parcurs (Ultimul),
+Acquisition Date,Data achiziției,
+Chassis No,Nr. Șasiu,
+Vehicle Value,Valoarea vehiculului,
+Insurance Details,Detalii de asigurare,
+Insurance Company,Companie de asigurari,
+Policy No,Politica nr,
+Additional Details,Detalii suplimentare,
+Fuel Type,Tipul combustibilului,
+Petrol,Benzină,
+Diesel,Diesel,
+Natural Gas,Gaz natural,
+Electric,Electric,
+Fuel UOM,combustibil UOM,
+Last Carbon Check,Ultima Verificare carbon,
+Wheels,roţi,
+Doors,Usi,
+HR-VLOG-.YYYY.-,HR-VLOG-.YYYY.-,
+Odometer Reading,Kilometrajul,
+Current Odometer value ,Valoarea actuală a contorului,
+last Odometer Value ,ultima valoare Odometru,
+Refuelling Details,Detalii de realimentare,
+Invoice Ref,Ref factură,
+Service Details,Detalii de serviciu,
+Service Detail,Detaliu serviciu,
+Vehicle Service,Serviciu de vehicule,
+Service Item,Postul de servicii,
+Brake Oil,Ulei de frână,
+Brake Pad,Pad de frână,
+Clutch Plate,Placă de ambreiaj,
+Engine Oil,Ulei de motor,
+Oil Change,Schimbare de ulei,
+Inspection,Inspecţie,
+Mileage,distanță parcursă,
+Hub Tracked Item,Articol urmărit,
+Hub Node,Hub Node,
+Image List,Listă de imagini,
+Item Manager,Postul de manager,
+Hub User,Utilizator Hub,
+Hub Password,Parola Hub,
+Hub Users,Hub utilizatori,
+Marketplace Settings,Setări pentru piață,
+Disable Marketplace,Dezactivați Marketplace,
+Marketplace URL (to hide and update label),Adresa URL de pe piață (pentru ascunderea și actualizarea etichetei),
+Registered,Înregistrat,
+Sync in Progress,Sincronizați în curs,
+Hub Seller Name,Numele vânzătorului Hub,
+Custom Data,Date personalizate,
+Member,Membru,
+Partially Disbursed,parţial Se eliberează,
+Loan Closure Requested,Solicitare de închidere a împrumutului,
+Repay From Salary,Rambursa din salariu,
+Loan Details,Creditul Detalii,
+Loan Type,Tip credit,
+Loan Amount,Sumă împrumutată,
+Is Secured Loan,Este împrumut garantat,
+Rate of Interest (%) / Year,Rata dobânzii (%) / An,
+Disbursement Date,debursare,
+Disbursed Amount,Suma plătită,
+Is Term Loan,Este împrumut pe termen,
+Repayment Method,Metoda de rambursare,
+Repay Fixed Amount per Period,Rambursa Suma fixă pentru fiecare perioadă,
+Repay Over Number of Periods,Rambursa Peste Număr de Perioade,
+Repayment Period in Months,Rambursarea Perioada în luni,
+Monthly Repayment Amount,Suma de rambursare lunar,
+Repayment Start Date,Data de începere a rambursării,
+Loan Security Details,Detalii privind securitatea împrumutului,
+Maximum Loan Value,Valoarea maximă a împrumutului,
+Account Info,Informaţii cont,
+Loan Account,Contul împrumutului,
+Interest Income Account,Contul Interes Venit,
+Penalty Income Account,Cont de venituri din penalități,
+Repayment Schedule,rambursare Program,
+Total Payable Amount,Suma totală de plată,
+Total Principal Paid,Total plătit principal,
+Total Interest Payable,Dobânda totală de plată,
+Total Amount Paid,Suma totală plătită,
+Loan Manager,Managerul de împrumut,
+Loan Info,Creditul Info,
+Rate of Interest,Rata Dobânzii,
+Proposed Pledges,Promisiuni propuse,
+Maximum Loan Amount,Suma maximă a împrumutului,
+Repayment Info,Info rambursarea,
+Total Payable Interest,Dobânda totală de plată,
+Against Loan ,Împotriva împrumutului,
+Loan Interest Accrual,Dobândirea dobânzii împrumutului,
+Amounts,sume,
+Pending Principal Amount,Suma pendintei principale,
+Payable Principal Amount,Suma principală plătibilă,
+Paid Principal Amount,Suma principală plătită,
+Paid Interest Amount,Suma dobânzii plătite,
+Process Loan Interest Accrual,Procesul de dobândă de împrumut,
+Repayment Schedule Name,Numele programului de rambursare,
+Regular Payment,Plată regulată,
+Loan Closure,Închiderea împrumutului,
+Payment Details,Detalii de plata,
+Interest Payable,Dobândi de plătit,
+Amount Paid,Sumă plătită,
+Principal Amount Paid,Suma principală plătită,
+Repayment Details,Detalii de rambursare,
+Loan Repayment Detail,Detaliu rambursare împrumut,
+Loan Security Name,Numele securității împrumutului,
+Unit Of Measure,Unitate de măsură,
+Loan Security Code,Codul de securitate al împrumutului,
+Loan Security Type,Tip de securitate împrumut,
+Haircut %,Tunsori%,
+Loan  Details,Detalii despre împrumut,
+Unpledged,Unpledged,
+Pledged,gajat,
+Partially Pledged,Parțial Gajat,
+Securities,Titluri de valoare,
+Total Security Value,Valoarea totală a securității,
+Loan Security Shortfall,Deficitul de securitate al împrumutului,
+Loan ,Împrumut,
+Shortfall Time,Timpul neajunsurilor,
+America/New_York,America / New_York,
+Shortfall Amount,Suma deficiențelor,
+Security Value ,Valoarea de securitate,
+Process Loan Security Shortfall,Deficitul de securitate a împrumutului de proces,
+Loan To Value Ratio,Raportul împrumut / valoare,
+Unpledge Time,Timp de neîncărcare,
+Loan Name,Nume de împrumut,
+Rate of Interest (%) Yearly,Rata Dobânzii (%) Anual,
+Penalty Interest Rate (%) Per Day,Rata dobânzii de penalizare (%) pe zi,
+Penalty Interest Rate is levied on the pending interest amount on a daily basis in case of delayed repayment ,Rata dobânzii pentru penalități este percepută zilnic pe valoarea dobânzii în curs de rambursare întârziată,
+Grace Period in Days,Perioada de har în zile,
+No. of days from due date until which penalty won't be charged in case of delay in loan repayment,Numărul de zile de la data scadenței până la care nu se va percepe penalitatea în cazul întârzierii rambursării împrumutului,
+Pledge,Angajament,
+Post Haircut Amount,Postează cantitatea de tuns,
+Process Type,Tipul procesului,
+Update Time,Timpul de actualizare,
+Proposed Pledge,Gajă propusă,
+Total Payment,Plată totală,
+Balance Loan Amount,Soldul Suma creditului,
+Is Accrued,Este acumulat,
+Salary Slip Loan,Salariu Slip împrumut,
+Loan Repayment Entry,Intrarea rambursării împrumutului,
+Sanctioned Loan Amount,Suma de împrumut sancționată,
+Sanctioned Amount Limit,Limita sumei sancționate,
+Unpledge,Unpledge,
+Haircut,Tunsoare,
+MAT-MSH-.YYYY.-,MAT-MSH-.YYYY.-,
+Generate Schedule,Generează orar,
+Schedules,Orarele,
+Maintenance Schedule Detail,Detalii Program Mentenanta,
+Scheduled Date,Data programată,
+Actual Date,Data efectiva,
+Maintenance Schedule Item,Articol Program Mentenanță,
+Random,aleatoriu,
+No of Visits,Nu de vizite,
+MAT-MVS-.YYYY.-,MAT-MVS-.YYYY.-,
+Maintenance Date,Dată Mentenanță,
+Maintenance Time,Timp Mentenanta,
+Completion Status,Stare Finalizare,
+Partially Completed,Parțial finalizate,
+Fully Completed,Finalizat,
+Unscheduled,Neprogramat,
+Breakdown,Avarie,
+Purposes,Scopuri,
+Customer Feedback,Feedback Client,
+Maintenance Visit Purpose,Scop Vizită Mentenanță,
+Work Done,Activitatea desfășurată,
+Against Document No,Împotriva documentul nr,
+Against Document Detail No,Comparativ detaliilor documentului nr.,
+MFG-BLR-.YYYY.-,MFG-BLR-.YYYY.-,
+Order Type,Tip comandă,
+Blanket Order Item,Articol de comandă pentru plicuri,
+Ordered Quantity,Ordonat Cantitate,
+Item to be manufactured or repacked,Articol care urmează să fie fabricat sau reambalat,
+Quantity of item obtained after manufacturing / repacking from given quantities of raw materials,Cantitatea de produs obținut după fabricarea / reambalare de la cantități date de materii prime,
+Set rate of sub-assembly item based on BOM,Viteza setată a elementului subansamblu bazat pe BOM,
+Allow Alternative Item,Permiteți un element alternativ,
+Item UOM,Articol FDM,
+Conversion Rate,Rata de conversie,
+Rate Of Materials Based On,Rate de materiale bazate pe,
+With Operations,Cu Operațiuni,
+Manage cost of operations,Gestionează costul operațiunilor,
+Transfer Material Against,Transfer material contra,
+Routing,Rutare,
+Materials,Materiale,
+Quality Inspection Required,Inspecție de calitate necesară,
+Quality Inspection Template,Model de inspecție a calității,
+Scrap,Resturi,
+Scrap Items,resturi Articole,
+Operating Cost,Costul de operare,
+Raw Material Cost,Cost Materie Primă,
+Scrap Material Cost,Cost resturi de materiale,
+Operating Cost (Company Currency),Costul de operare (Companie Moneda),
+Raw Material Cost (Company Currency),Costul materiei prime (moneda companiei),
+Scrap Material Cost(Company Currency),Cost resturi de material (companie Moneda),
+Total Cost,Cost total,
+Total Cost (Company Currency),Cost total (moneda companiei),
+Materials Required (Exploded),Materiale necesare (explodat),
+Exploded Items,Articole explozibile,
+Show in Website,Afișați pe site,
+Item Image (if not slideshow),Imagine Articol (dacă nu exista prezentare),
+Thumbnail,Miniatură,
+Website Specifications,Site-ul Specificații,
+Show Items,Afișare articole,
+Show Operations,Afișați Operații,
+Website Description,Site-ul Descriere,
+BOM Explosion Item,Explozie articol BOM,
+Qty Consumed Per Unit,Cantitate consumata pe unitatea,
+Include Item In Manufacturing,Includeți articole în fabricație,
+BOM Item,Articol BOM,
+Item operation,Operarea elementului,
+Rate & Amount,Rata și suma,
+Basic Rate (Company Currency),Rată elementară (moneda companiei),
+Scrap %,Resturi%,
+Original Item,Articolul original,
+BOM Operation,Operațiune BOM,
+Operation Time ,Timpul de funcționare,
+In minutes,În câteva minute,
+Batch Size,Mărimea lotului,
+Base Hour Rate(Company Currency),Rata de bază ore (companie Moneda),
+Operating Cost(Company Currency),Costul de operare (Companie Moneda),
+BOM Scrap Item,BOM Resturi Postul,
+Basic Amount (Company Currency),Suma de bază (Companie Moneda),
+BOM Update Tool,Instrument Actualizare BOM,
+"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.","Înlocuiți un BOM particular în toate celelalte BOM unde este utilizat. Acesta va înlocui vechiul link BOM, va actualiza costul și va regenera tabelul &quot;BOM Explosion Item&quot; ca pe noul BOM. Actualizează, de asemenea, ultimul preț în toate BOM-urile.",
+Replace BOM,Înlocuiește BOM,
+Current BOM,FDM curent,
+The BOM which will be replaced,BOM care va fi înlocuit,
+The new BOM after replacement,Noul BOM după înlocuirea,
+Replace,Înlocuiește,
+Update latest price in all BOMs,Actualizați cel mai recent preț în toate BOM-urile,
+BOM Website Item,Site-ul BOM Articol,
+BOM Website Operation,Site-ul BOM Funcționare,
+Operation Time,Funcționare Ora,
+PO-JOB.#####,PO-JOB. #####,
+Timing Detail,Detalii detaliate,
+Time Logs,Timp Busteni,
+Total Time in Mins,Timp total în mină,
+Operation ID,ID operațiune,
+Transferred Qty,Transferat Cantitate,
+Job Started,Job a început,
+Started Time,Timpul început,
+Current Time,Ora curentă,
+Job Card Item,Cartelă de posturi,
+Job Card Time Log,Jurnalul de timp al cărții de lucru,
+Time In Mins,Timpul în min,
+Completed Qty,Cantitate Finalizata,
+Manufacturing Settings,Setări de Fabricație,
+Raw Materials Consumption,Consumul de materii prime,
+Allow Multiple Material Consumption,Permiteți consumul mai multor materiale,
+Backflush Raw Materials Based On,Backflush Materii Prime bazat pe,
+Material Transferred for Manufacture,Material Transferat pentru fabricarea,
+Capacity Planning,Planificarea capacității,
+Disable Capacity Planning,Dezactivează planificarea capacității,
+Allow Overtime,Permiteți ore suplimentare,
+Allow Production on Holidays,Permiteţi operaţii de producție pe durata sărbătorilor,
+Capacity Planning For (Days),Planificarea capacitate de (zile),
+Default Warehouses for Production,Depozite implicite pentru producție,
+Default Work In Progress Warehouse,Implicit Lucrări în depozit Progress,
+Default Finished Goods Warehouse,Implicite terminat Marfuri Warehouse,
+Default Scrap Warehouse,Depozitul de resturi implicit,
+Overproduction Percentage For Sales Order,Procentaj de supraproducție pentru comandă de vânzări,
+Overproduction Percentage For Work Order,Procentul de supraproducție pentru comanda de lucru,
+Other Settings,alte setări,
+Update BOM Cost Automatically,Actualizați costul BOM automat,
+Material Request Plan Item,Material Cerere plan plan,
+Material Request Type,Material Cerere tip,
+Material Issue,Problema de material,
+Customer Provided,Client oferit,
+Minimum Order Quantity,Cantitatea minima pentru comanda,
+Default Workstation,Implicit Workstation,
+Production Plan,Plan de productie,
+MFG-PP-.YYYY.-,MFG-PP-.YYYY.-,
+Get Items From,Obține elemente din,
+Get Sales Orders,Obține comenzile de vânzări,
+Material Request Detail,Detalii privind solicitarea materialului,
+Get Material Request,Material Cerere obțineți,
+Material Requests,Cereri de materiale,
+Get Items For Work Order,Obțineți comenzi pentru lucru,
+Material Request Planning,Planificarea solicitărilor materiale,
+Include Non Stock Items,Includeți articole din stoc,
+Include Subcontracted Items,Includeți articole subcontractate,
+Ignore Existing Projected Quantity,Ignorați cantitatea proiectată existentă,
+"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>.","Pentru a afla mai multe despre cantitatea proiectată, <a href=""https://erpnext.com/docs/user/manual/en/stock/projected-quantity"" style=""text-decoration: underline;"" target=""_blank"">faceți clic aici</a> .",
+Download Required Materials,Descărcați materialele necesare,
+Get Raw Materials For Production,Obțineți materii prime pentru producție,
+Total Planned Qty,Cantitatea totală planificată,
+Total Produced Qty,Cantitate total produsă,
+Material Requested,Material solicitat,
+Production Plan Item,Planul de producție Articol,
+Make Work Order for Sub Assembly Items,Realizați comanda de lucru pentru articolele de subansamblare,
+"If enabled, system will create the work order for the exploded items against which BOM is available.","Dacă este activat, sistemul va crea ordinea de lucru pentru elementele explodate pentru care este disponibilă BOM.",
+Planned Start Date,Start data planificată,
+Quantity and Description,Cantitate și descriere,
+material_request_item,material_request_item,
+Product Bundle Item,Produs Bundle Postul,
+Production Plan Material Request,Producția Plan de material Cerere,
+Production Plan Sales Order,Planul de producție comandă de vânzări,
+Sales Order Date,Comandă de vânzări Data,
+Routing Name,Numele de rutare,
+MFG-WO-.YYYY.-,MFG-WO-.YYYY.-,
+Item To Manufacture,Articol pentru Fabricare,
+Material Transferred for Manufacturing,Materii Transferate pentru fabricarea,
+Manufactured Qty,Cantitate Produsă,
+Use Multi-Level BOM,Utilizarea Multi-Level BOM,
+Plan material for sub-assemblies,Material Plan de subansambluri,
+Skip Material Transfer to WIP Warehouse,Treceți transferul de materiale la WIP Warehouse,
+Check if material transfer entry is not required,Verificați dacă nu este necesară introducerea transferului de materiale,
+Backflush Raw Materials From Work-in-Progress Warehouse,Materii prime de tip backflush din depozitul &quot;work-in-progress&quot;,
+Update Consumed Material Cost In Project,Actualizați costurile materialelor consumate în proiect,
+Warehouses,Depozite,
+This is a location where raw materials are available.,Acesta este un loc unde materiile prime sunt disponibile.,
+Work-in-Progress Warehouse,Depozit Lucru-în-Progres,
+This is a location where operations are executed.,Aceasta este o locație în care se execută operațiuni.,
+This is a location where final product stored.,Aceasta este o locație în care este depozitat produsul final.,
+Scrap Warehouse,Depozit fier vechi,
+This is a location where scraped materials are stored.,Aceasta este o locație în care sunt depozitate materiale razuite.,
+Required Items,Articole cerute,
+Actual Start Date,Dată Efectivă de Început,
+Planned End Date,Planificate Data de încheiere,
+Actual End Date,Data efectiva de finalizare,
+Operation Cost,Funcționare cost,
+Planned Operating Cost,Planificate cost de operare,
+Actual Operating Cost,Cost efectiv de operare,
+Additional Operating Cost,Costuri de operare adiţionale,
+Total Operating Cost,Cost total de operare,
+Manufacture against Material Request,Fabricare împotriva Cerere Material,
+Work Order Item,Postul de comandă de lucru,
+Available Qty at Source Warehouse,Cantitate disponibilă la Warehouse sursă,
+Available Qty at WIP Warehouse,Cantitate disponibilă la WIP Warehouse,
+Work Order Operation,Comandă de comandă de lucru,
+Operation Description,Operație Descriere,
+Operation completed for how many finished goods?,Funcționare completat de cât de multe bunuri finite?,
+Work in Progress,Lucrări în curs,
+Estimated Time and Cost,Timpul estimat și cost,
+Planned Start Time,Planificate Ora de începere,
+Planned End Time,Planificate End Time,
+in Minutes,In cateva minute,
+Actual Time and Cost,Timp și cost efective,
+Actual Start Time,Timpul efectiv de începere,
+Actual End Time,Timp efectiv de sfârşit,
+Updated via 'Time Log',"Actualizat prin ""Ora Log""",
+Actual Operation Time,Timp efectiv de funcționare,
+in Minutes\nUpdated via 'Time Log',"în procesul-verbal \n Actualizat prin ""Ora Log""",
+(Hour Rate / 60) * Actual Operation Time,(Tarif orar / 60) * Timp efectiv de operare,
+Workstation Name,Stație de lucru Nume,
+Production Capacity,Capacitatea de producție,
+Operating Costs,Costuri de operare,
+Electricity Cost,Cost energie electrică,
+per hour,pe oră,
+Consumable Cost,Cost Consumabile,
+Rent Cost,Cost Chirie,
+Wages,Salarizare,
+Wages per hour,Salarii pe oră,
+Net Hour Rate,Net Rata de ore,
+Workstation Working Hour,Statie de lucru de ore de lucru,
+Certification Application,Cerere de certificare,
+Name of Applicant,Numele aplicantului,
+Certification Status,Stare Certificare,
+Yet to appear,"Totuși, să apară",
+Certified,Certificat,
+Not Certified,Nu este certificată,
+USD,USD,
+INR,INR,
+Certified Consultant,Consultant Certificat,
+Name of Consultant,Numele consultantului,
+Certification Validity,Valabilitatea Certificare,
+Discuss ID,Discutați ID-ul,
+GitHub ID,ID-ul GitHub,
+Non Profit Manager,Manager non-profit,
+Chapter Head,Capitolul Cap,
+Meetup Embed HTML,Meetup Embed HTML,
+chapters/chapter_name\nleave blank automatically set after saving chapter.,capitole / nume_capitale lasă setul automat să fie setat automat după salvarea capitolului.,
+Chapter Members,Capitolul Membri,
+Members,Membrii,
+Chapter Member,Membru de capitol,
+Website URL,Website URL,
+Leave Reason,Lăsați rațiunea,
+Donor Name,Numele donatorului,
+Donor Type,Tipul donatorului,
+Withdrawn,retrasă,
+Grant Application Details ,Detalii privind cererile de finanțare,
+Grant Description,Descrierea granturilor,
+Requested Amount,Suma solicitată,
+Has any past Grant Record,Are vreun dosar Grant trecut,
+Show on Website,Afișați pe site,
+Assessment  Mark (Out of 10),Marca de evaluare (din 10),
+Assessment  Manager,Manager de evaluare,
+Email Notification Sent,Trimiterea notificării prin e-mail,
+NPO-MEM-.YYYY.-,NPO-MEM-.YYYY.-,
+Membership Expiry Date,Data expirării membrilor,
+Razorpay Details,Detalii Razorpay,
+Subscription ID,ID-ul abonamentului,
+Customer ID,Număr de înregistrare client,
+Subscription Activated,Abonament activat,
+Subscription Start ,Începere abonament,
+Subscription End,Încheierea abonamentului,
+Non Profit Member,Membru non-profit,
+Membership Status,Statutul de membru,
+Member Since,Membru din,
+Payment ID,ID de plată,
+Membership Settings,Setări de membru,
+Enable RazorPay For Memberships,Activați RazorPay pentru calitatea de membru,
+RazorPay Settings,Setări RazorPay,
+Billing Cycle,Ciclu de facturare,
+Billing Frequency,Frecvența de facturare,
+"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.","Numărul de cicluri de facturare pentru care ar trebui să fie taxat clientul. De exemplu, dacă un client cumpără un abonament de 1 an care ar trebui să fie facturat lunar, această valoare ar trebui să fie 12.",
+Razorpay Plan ID,ID-ul planului Razorpay,
+Volunteer Name,Nume de voluntar,
+Volunteer Type,Tipul de voluntari,
+Availability and Skills,Disponibilitate și abilități,
+Availability,Disponibilitate,
+Weekends,Weekend-uri,
+Availability Timeslot,Disponibilitatea Timeslot,
+Morning,Dimineaţă,
+Afternoon,Dupa amiaza,
+Evening,Seară,
+Anytime,Oricând,
+Volunteer Skills,Abilități de voluntariat,
+Volunteer Skill,Abilități de voluntariat,
+Homepage,Pagina Principală,
+Hero Section Based On,Secția Eroilor Bazată pe,
+Homepage Section,Secțiunea Prima pagină,
+Hero Section,Secția Eroilor,
+Tag Line,Eticheta linie,
+Company Tagline for website homepage,Firma Tagline pentru pagina de start site,
+Company Description for website homepage,Descriere companie pentru pagina de start site,
+Homepage Slideshow,Prezentare Slideshow a paginii de start,
+"URL for ""All Products""",URL-ul pentru &quot;Toate produsele&quot;,
+Products to be shown on website homepage,Produsele care urmează să fie afișate pe pagina de pornire site,
+Homepage Featured Product,Pagina de intrare de produse recomandate,
+route,traseu,
+Section Based On,Secțiune bazată pe,
+Section Cards,Cărți de secțiune,
+Number of Columns,Numar de coloane,
+Number of columns for this section. 3 cards will be shown per row if you select 3 columns.,Numărul de coloane pentru această secțiune. 3 cărți vor fi afișate pe rând dacă selectați 3 coloane.,
+Section HTML,Secțiunea HTML,
+Use this field to render any custom HTML in the section.,Utilizați acest câmp pentru a reda orice HTML personalizat în secțiune.,
+Section Order,Comanda secțiunii,
+"Order in which sections should appear. 0 is first, 1 is second and so on.","Ordinea în care ar trebui să apară secțiunile. 0 este primul, 1 este al doilea și așa mai departe.",
+Homepage Section Card,Pagina de secțiune Card de secțiune,
+Subtitle,Subtitlu,
+Products Settings,produse Setări,
+Home Page is Products,Pagina Principală este Produse,
+"If checked, the Home page will be the default Item Group for the website","Dacă este bifată, pagina de pornire va fi implicit postul Grupului pentru site-ul web",
+Show Availability Status,Afișați starea de disponibilitate,
+Product Page,Pagina produsului,
+Products per Page,Produse pe Pagină,
+Enable Field Filters,Activați filtrele de câmp,
+Item Fields,Câmpurile articolului,
+Enable Attribute Filters,Activați filtrele de atribute,
+Attributes,Atribute,
+Hide Variants,Ascundeți variantele,
+Website Attribute,Atribut site web,
+Attribute,Atribute,
+Website Filter Field,Câmpul de filtrare a site-ului web,
+Activity Cost,Cost activitate,
+Billing Rate,Tarif de facturare,
+Costing Rate,Costing Rate,
+title,titlu,
+Projects User,Utilizator Proiecte,
+Default Costing Rate,Rată Cost Implicit,
+Default Billing Rate,Tarif de Facturare Implicit,
+Dependent Task,Sarcina dependent,
+Project Type,Tip de proiect,
+% Complete Method,% Metoda completă,
+Task Completion,sarcina Finalizarea,
+Task Progress,Progresul sarcină,
+% Completed,% Finalizat,
+From Template,Din șablon,
+Project will be accessible on the website to these users,Proiectul va fi accesibil pe site-ul acestor utilizatori,
+Copied From,Copiat de la,
+Start and End Dates,Începere și de încheiere Date,
+Actual Time in Hours (via Timesheet),Ora reală (în ore),
+Costing and Billing,Calculație a cheltuielilor și veniturilor,
+Total Costing Amount (via Timesheet),Suma totală a costurilor (prin intermediul foilor de pontaj),
+Total Expense Claim (via Expense Claim),Revendicarea Total cheltuieli (prin formularele de decont),
+Total Purchase Cost (via Purchase Invoice),Cost total de achiziție (prin cumparare factură),
+Total Sales Amount (via Sales Order),Suma totală a vânzărilor (prin comandă de vânzări),
+Total Billable Amount (via Timesheet),Sumă totală facturată (prin intermediul foilor de pontaj),
+Total Billed Amount (via Sales Invoice),Suma facturată totală (prin facturi de vânzare),
+Total Consumed Material Cost (via Stock Entry),Costul total al materialelor consumate (prin intrarea în stoc),
+Gross Margin,Marja Brută,
+Gross Margin %,Marja Bruta%,
+Monitor Progress,Monitorizați progresul,
+Collect Progress,Collect Progress,
+Frequency To Collect Progress,Frecventa de colectare a progresului,
+Twice Daily,De doua ori pe zi,
+First Email,Primul e-mail,
+Second Email,Al doilea e-mail,
+Time to send,Este timpul să trimiteți,
+Day to Send,Zi de Trimis,
+Message will be sent to the users to get their status on the Project,Mesajul va fi trimis utilizatorilor pentru a obține starea lor în Proiect,
+Projects Manager,Manager Proiecte,
+Project Template,Model de proiect,
+Project Template Task,Sarcina șablonului de proiect,
+Begin On (Days),Începeți (zile),
+Duration (Days),Durata (zile),
+Project Update,Actualizarea proiectului,
+Project User,utilizator proiect,
+View attachments,Vizualizați atașamentele,
+Projects Settings,Setări pentru proiecte,
+Ignore Workstation Time Overlap,Ignorați suprapunerea timpului de lucru al stației,
+Ignore User Time Overlap,Ignorați timpul suprapunerii utilizatorului,
+Ignore Employee Time Overlap,Ignorați suprapunerea timpului angajatului,
+Weight,Greutate,
+Parent Task,Activitatea părintească,
+Timeline,Cronologie,
+Expected Time (in hours),Timp de așteptat (în ore),
+% Progress,% Progres,
+Is Milestone,Este Milestone,
+Task Description,Descrierea sarcinii,
+Dependencies,dependenţe,
+Dependent Tasks,Sarcini dependente,
+Depends on Tasks,Depinde de Sarcini,
+Actual Start Date (via Timesheet),Data Efectiva de Început (prin Pontaj),
+Actual Time in Hours (via Timesheet),Timpul efectiv (în ore),
+Actual End Date (via Timesheet),Dată de Încheiere Efectivă (prin Pontaj),
+Total Costing Amount (via Time Sheet),Suma totală de calculație a costurilor (prin timp Sheet),
+Total Expense Claim (via Expense Claim),Revendicarea Total cheltuieli (prin cheltuieli revendicarea),
+Total Billing Amount (via Time Sheet),Suma totală de facturare (prin timp Sheet),
+Review Date,Data Comentariului,
+Closing Date,Data de Inchidere,
+Task Depends On,Sarcina Depinde,
+Task Type,Tipul sarcinii,
+TS-.YYYY.-,TS-.YYYY.-,
+Employee Detail,Detaliu angajat,
+Billing Details,Detalii de facturare,
+Total Billable Hours,Numărul total de ore facturabile,
+Total Billed Hours,Numărul total de ore facturate,
+Total Costing Amount,Suma totală Costing,
+Total Billable Amount,Suma totală Taxabil,
+Total Billed Amount,Suma totală Billed,
+% Amount Billed,% Suma facturata,
+Hrs,ore,
+Costing Amount,Costing Suma,
+Corrective/Preventive,Corectivă / preventivă,
+Corrective,corectiv,
+Preventive,Preventiv,
+Resolution,Rezoluție,
+Resolutions,rezoluţiile,
+Quality Action Resolution,Rezolvare acțiuni de calitate,
+Quality Feedback Parameter,Parametru de feedback al calității,
+Quality Feedback Template Parameter,Parametrul șablonului de feedback al calității,
+Quality Goal,Obiectivul de calitate,
+Monitoring Frequency,Frecvența de monitorizare,
+Weekday,zi de lucru,
+Objectives,Obiective,
+Quality Goal Objective,Obiectivul calității,
+Objective,Obiectiv,
+Agenda,Agendă,
+Minutes,Minute,
+Quality Meeting Agenda,Agenda întâlnirii de calitate,
+Quality Meeting Minutes,Proces-verbal de calitate al întâlnirii,
+Minute,Minut,
+Parent Procedure,Procedura părinților,
+Processes,procese,
+Quality Procedure Process,Procesul procedurii de calitate,
+Process Description,Descrierea procesului,
+Link existing Quality Procedure.,Conectați procedura de calitate existentă.,
+Additional Information,informatii suplimentare,
+Quality Review Objective,Obiectivul revizuirii calității,
+DATEV Settings,Setări DATEV,
+Regional,Regional,
+Consultant ID,ID-ul consultantului,
+GST HSN Code,Codul GST HSN,
+HSN Code,Codul HSN,
+GST Settings,Setări GST,
+GST Summary,Rezumatul GST,
+GSTIN Email Sent On,GSTIN Email trimis pe,
+GST Accounts,Conturi GST,
+B2C Limit,Limita B2C,
+Set Invoice Value for B2C. B2CL and B2CS calculated based on this invoice value.,Setați valoarea facturii pentru B2C. B2CL și B2CS calculate pe baza acestei valori de facturare.,
+GSTR 3B Report,Raportul GSTR 3B,
+January,ianuarie,
+February,februarie,
+March,Martie,
+April,Aprilie,
+May,Mai,
+June,iunie,
+July,iulie,
+August,August,
+September,Septembrie,
+October,octombrie,
+November,noiembrie,
+December,decembrie,
+JSON Output,Ieșire JSON,
+Invoices with no Place Of Supply,Facturi fără loc de furnizare,
+Import Supplier Invoice,Import factură furnizor,
+Invoice Series,Seria facturilor,
+Upload XML Invoices,Încărcați facturile XML,
+Zip File,Fișier Zip,
+Import Invoices,Importul facturilor,
+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.,Faceți clic pe butonul Import facturi după ce fișierul zip a fost atașat la document. Orice erori legate de procesare vor fi afișate în Jurnalul de erori.,
+Lower Deduction Certificate,Certificat de deducere inferior,
+Certificate Details,Detalii certificat,
+194A,194A,
+194C,194C,
+194D,194D,
+194H,194H,
+194I,194I,
+194J,194J,
+194LA,194LA,
+194LBB,194LBB,
+194LBC,194LBC,
+Certificate No,număr de certificat,
+Deductee Details,Detalii despre deducere,
+PAN No,PAN nr,
+Validity Details,Detalii de valabilitate,
+Rate Of TDS As Per Certificate,Rata TDS conform certificatului,
+Certificate Limit,Limita certificatului,
+Invoice Series Prefix,Prefixul seriei de facturi,
+Active Menu,Meniul activ,
+Restaurant Menu,Meniu Restaurant,
+Price List (Auto created),Listă Prețuri (creată automat),
+Restaurant Manager,Manager Restaurant,
+Restaurant Menu Item,Articol Meniu Restaurant,
+Restaurant Order Entry,Intrare comandă de restaurant,
+Restaurant Table,Masă Restaurant,
+Click Enter To Add,Faceți clic pe Enter to Add,
+Last Sales Invoice,Ultima factură de vânzare,
+Current Order,Comanda actuală,
+Restaurant Order Entry Item,Articol de intrare pentru comandă pentru restaurant,
+Served,servit,
+Restaurant Reservation,Rezervare la restaurant,
+Waitlisted,waitlisted,
+No Show,Neprezentare,
+No of People,Nr de oameni,
+Reservation Time,Timp de rezervare,
+Reservation End Time,Timp de terminare a rezervării,
+No of Seats,Numărul de scaune,
+Minimum Seating,Scaunele minime,
+"Keep Track of Sales Campaigns. Keep track of Leads, Quotations, Sales Order etc from Campaigns to gauge Return on Investment. ","Păstra Tractor de campanii de vanzari. Țineți evidența de afaceri, Cotațiile, comandă de vânzări, etc de la Campanii pentru a evalua Return on Investment.",
+SAL-CAM-.YYYY.-,SAL-CAM-.YYYY.-,
+Campaign Schedules,Programele campaniei,
+Buyer of Goods and Services.,Cumpărător de produse și servicii.,
+CUST-.YYYY.-,CUST-.YYYY.-,
+Default Company Bank Account,Cont bancar al companiei implicite,
+From Lead,Din Pistă,
+Account Manager,Manager Conturi,
+Allow Sales Invoice Creation Without Sales Order,Permiteți crearea facturilor de vânzare fără comandă de vânzare,
+Allow Sales Invoice Creation Without Delivery Note,Permiteți crearea facturilor de vânzare fără notă de livrare,
+Default Price List,Lista de Prețuri Implicita,
+Primary Address and Contact Detail,Adresa principală și detaliile de contact,
+"Select, to make the customer searchable with these fields","Selectați, pentru a face ca clientul să poată fi căutat în aceste câmpuri",
+Customer Primary Contact,Contact primar client,
+"Reselect, if the chosen contact is edited after save",Resetați dacă contactul ales este editat după salvare,
+Customer Primary Address,Adresa primară a clientului,
+"Reselect, if the chosen address is edited after save",Resetați dacă adresa editată este editată după salvare,
+Primary Address,adresa primara,
+Mention if non-standard receivable account,Mentionati daca non-standard cont de primit,
+Credit Limit and Payment Terms,Limita de credit și termenii de plată,
+Additional information regarding the customer.,Informații suplimentare cu privire la client.,
+Sales Partner and Commission,Partener de vânzări și a Comisiei,
+Commission Rate,Rata de Comision,
+Sales Team Details,Detalii de vânzări Echipa,
+Customer POS id,ID POS client,
+Customer Credit Limit,Limita de creditare a clienților,
+Bypass Credit Limit Check at Sales Order,Treceți la verificarea limită de credit la Comandă de vânzări,
+Industry Type,Industrie Tip,
+MAT-INS-.YYYY.-,MAT-INS-.YYYY.-,
+Installation Date,Data de instalare,
+Installation Time,Timp de instalare,
+Installation Note Item,Instalare Notă Postul,
+Installed Qty,Instalat Cantitate,
+Lead Source,Sursa de plumb,
+Period Start Date,Data de începere a perioadei,
+Period End Date,Perioada de sfârșit a perioadei,
+Cashier,Casier,
+Difference,Diferență,
+Modes of Payment,Moduri de plată,
+Linked Invoices,Linked Factures,
+POS Closing Voucher Details,Detalii Voucher de închidere POS,
+Collected Amount,Suma colectată,
+Expected Amount,Suma așteptată,
+POS Closing Voucher Invoices,Facturi pentru voucherele de închidere de la POS,
+Quantity of Items,Cantitatea de articole,
+"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","Grup agregat de articole ** ** în alt articol ** **. Acest lucru este util dacă gruparea de anumite elemente ** ** într-un pachet și să mențină un bilanț al ambalate ** ** Elemente și nu agregate ** Postul **. Pachetul ** Postul ** va avea &quot;Este Piesa&quot; ca &quot;No&quot; și &quot;Este punctul de vânzare&quot;, ca &quot;Da&quot;. De exemplu: dacă sunteți de vânzare Laptop-uri și Rucsacuri separat și au un preț special dacă clientul cumpără atât, atunci laptop + rucsac va fi un nou Bundle produs Postul. Notă: BOM = Bill de materiale",
+Parent Item,Părinte Articol,
+List items that form the package.,Listeaza articole care formează pachetul.,
+SAL-QTN-.YYYY.-,SAL-QTN-.YYYY.-,
+Quotation To,Ofertă Pentru a,
+Rate at which customer's currency is converted to company's base currency,Rata la care moneda clientului este convertită în valuta de bază a companiei,
+Rate at which Price list currency is converted to company's base currency,Rata la care lista de prețuri moneda este convertit în moneda de bază a companiei,
+Additional Discount and Coupon Code,Cod suplimentar de reducere și cupon,
+Referral Sales Partner,Partener de vânzări de recomandări,
+In Words will be visible once you save the Quotation.,În cuvinte va fi vizibil după ce salvați citat.,
+Term Details,Detalii pe termen,
+Quotation Item,Ofertă Articol,
+Against Doctype,Comparativ tipului documentului,
+Against Docname,Comparativ denumirii documentului,
+Additional Notes,Note Aditionale,
+SAL-ORD-.YYYY.-,SAL-ORD-.YYYY.-,
+Skip Delivery Note,Salt nota de livrare,
+In Words will be visible once you save the Sales Order.,În cuvinte va fi vizibil după ce a salva comanda de vânzări.,
+Track this Sales Order against any Project,Urmareste acest Ordin de vânzări față de orice proiect,
+Billing and Delivery Status,Facturare și stare livrare,
+Not Delivered,Nu Pronunțată,
+Fully Delivered,Livrat complet,
+Partly Delivered,Parțial livrate,
+Not Applicable,Nu se aplică,
+%  Delivered,% Livrat,
+% of materials delivered against this Sales Order,% de materiale livrate versus aceasta Comanda,
+% of materials billed against this Sales Order,% de materiale facturate versus această Comandă de Vânzări,
+Not Billed,Nu Taxat,
+Fully Billed,Complet Taxat,
+Partly Billed,Parțial Taxat,
+Ensure Delivery Based on Produced Serial No,Asigurați livrarea pe baza numărului de serie produs,
+Supplier delivers to Customer,Furnizor livrează la client,
+Delivery Warehouse,Depozit de livrare,
+Planned Quantity,Planificate Cantitate,
+For Production,Pentru Producție,
+Work Order Qty,Numărul comenzilor de lucru,
+Produced Quantity,Produs Cantitate,
+Used for Production Plan,Folosit pentru Planul de producție,
+Sales Partner Type,Tip de partener de vânzări,
+Contact No.,Nr. Persoana de Contact,
+Contribution (%),Contribuție (%),
+Contribution to Net Total,Contribuție la Total Net,
+Selling Settings,Setări Vânzare,
+Settings for Selling Module,Setări pentru vânzare Modulul,
+Customer Naming By,Numire Client de catre,
+Campaign Naming By,Campanie denumita de,
+Default Customer Group,Grup Clienți Implicit,
+Default Territory,Teritoriu Implicit,
+Close Opportunity After Days,Închide oportunitate După zile,
+Default Quotation Validity Days,Valabilitatea zilnică a cotațiilor,
+Sales Update Frequency,Frecventa actualizarii vanzarilor,
+Each Transaction,Fiecare tranzacție,
+SMS Center,SMS Center,
+Send To,Trimite la,
+All Contact,Toate contactele,
+All Customer Contact,Toate contactele clienților,
+All Supplier Contact,Toate contactele furnizorului,
+All Sales Partner Contact,Toate contactele partenerului de vânzări,
+All Lead (Open),Toate Pistele (Deschise),
+All Employee (Active),Toți angajații (activi),
+All Sales Person,Toate persoanele de vânzăril,
+Create Receiver List,Creare Lista Recipienti,
+Receiver List,Receptor Lista,
+Messages greater than 160 characters will be split into multiple messages,Mesaje mai mari de 160 de caractere vor fi împărțite în mai multe mesaje,
+Total Characters,Total de caractere,
+Total Message(s),Total mesaj(e),
+Authorization Control,Control de autorizare,
+Authorization Rule,Regulă de autorizare,
+Average Discount,Discount mediiu,
+Customerwise Discount,Reducere Client,
+Itemwise Discount,Reducere Articol-Avizat,
+Customer or Item,Client sau un element,
+Customer / Item Name,Client / Denumire articol,
+Authorized Value,Valoarea autorizată,
+Applicable To (Role),Aplicabil pentru (rol),
+Applicable To (Employee),Aplicabil pentru (angajat),
+Applicable To (User),Aplicabil pentru (utilizator),
+Applicable To (Designation),Aplicabil pentru (destinaţie),
+Approving Role (above authorized value),Aprobarea Rol (mai mare decât valoarea autorizată),
+Approving User  (above authorized value),Aprobarea utilizator (mai mare decât valoarea autorizată),
+Brand Defaults,Valorile implicite ale mărcii,
+Legal Entity / Subsidiary with a separate Chart of Accounts belonging to the Organization.,Entitate Juridică / Filială cu o Diagramă de Conturi separată aparținând Organizației.,
+Change Abbreviation,Schimbă Abreviere,
+Parent Company,Compania mamă,
+Default Values,Valori implicite,
+Default Holiday List,Implicit Listă de vacanță,
+Default Selling Terms,Condiții de vânzare implicite,
+Default Buying Terms,Condiții de cumpărare implicite,
+Create Chart Of Accounts Based On,"Creează Diagramă de Conturi, Bazată pe",
+Standard Template,Format standard,
+Existing Company,Companie existentă,
+Chart Of Accounts Template,Diagramă de Șablon Conturi,
+Existing Company ,companie existentă,
+Date of Establishment,Data Înființării,
+Sales Settings,Setări de vânzări,
+Monthly Sales Target,Vânzări lunare,
+Sales Monthly History,Istoric Lunar de Vânzări,
+Transactions Annual History,Istoricul tranzacțiilor anuale,
+Total Monthly Sales,Vânzări totale lunare,
+Default Cash Account,Cont de Numerar Implicit,
+Default Receivable Account,Implicit cont de încasat,
+Round Off Cost Center,Rotunji cost Center,
+Discount Allowed Account,Cont permis de reducere,
+Discount Received Account,Reducerea contului primit,
+Exchange Gain / Loss Account,Cont Cheltuiala / Venit din diferente de curs valutar,
+Unrealized Exchange Gain/Loss Account,Contul de câștig / pierdere din contul nerealizat,
+Allow Account Creation Against Child Company,Permite crearea de cont împotriva companiei pentru copii,
+Default Payable Account,Implicit cont furnizori,
+Default Employee Advance Account,Implicit Cont Advance Advance Employee,
+Default Cost of Goods Sold Account,Cont Implicit Cost Bunuri Vândute,
+Default Income Account,Contul Venituri Implicit,
+Default Deferred Revenue Account,Implicit Contul cu venituri amânate,
+Default Deferred Expense Account,Implicit contul amânat de cheltuieli,
+Default Payroll Payable Account,Implicit Salarizare cont de plati,
+Default Expense Claim Payable Account,Cont Predefinit Solicitare Cheltuială Achitată,
+Stock Settings,Setări stoc,
+Enable Perpetual Inventory,Activați inventarul perpetuu,
+Default Inventory Account,Contul de inventar implicit,
+Stock Adjustment Account,Cont Ajustarea stoc,
+Fixed Asset Depreciation Settings,Setări de amortizare fixă Activ,
+Series for Asset Depreciation Entry (Journal Entry),Seria pentru intrarea în amortizarea activelor (intrare în jurnal),
+Gain/Loss Account on Asset Disposal,Cont câștig / Pierdere de eliminare a activelor,
+Asset Depreciation Cost Center,Centru de cost Amortizare Activ,
+Budget Detail,Detaliu buget,
+Exception Budget Approver Role,Rolul de abordare a bugetului de excepție,
+Company Info,Informaţii Companie,
+For reference only.,Numai Pentru referință.,
+Company Logo,Logoul companiei,
+Date of Incorporation,Data Încorporării,
+Date of Commencement,Data începerii,
+Phone No,Nu telefon,
+Company Description,Descrierea Companiei,
+Registration Details,Detalii de Înregistrare,
+Company registration numbers for your reference. Tax numbers etc.,Numerele de înregistrare companie pentru referință. Numerele fiscale etc,
+Delete Company Transactions,Ștergeți Tranzacții de Firma,
+Currency Exchange,Curs Valutar,
+Specify Exchange Rate to convert one currency into another,Precizați Rata de schimb a converti o monedă în alta,
+From Currency,Din moneda,
+To Currency,Pentru a valutar,
+For Buying,Pentru cumparare,
+For Selling,Pentru vânzări,
+Customer Group Name,Nume Group Client,
+Parent Customer Group,Părinte Grup Clienți,
+Only leaf nodes are allowed in transaction,Numai noduri frunze sunt permise în tranzacție,
+Mention if non-standard receivable account applicable,Menționa dacă non-standard de cont primit aplicabil,
+Credit Limits,Limitele de credit,
+Email Digest,Email Digest,
+Send regular summary reports via Email.,Trimite rapoarte de sinteză periodice prin e-mail.,
+Email Digest Settings,Setari Email Digest,
+How frequently?,Cât de frecvent?,
+Next email will be sent on:,Următorul email va fi trimis la:,
+Note: Email will not be sent to disabled users,Notă: Adresa de email nu va fi trimis la utilizatorii cu handicap,
+Profit & Loss,Pierderea profitului,
+New Income,noul venit,
+New Expenses,Cheltuieli noi,
+Annual Income,Venit anual,
+Annual Expenses,Cheltuielile anuale,
+Bank Balance,Banca Balance,
+Bank Credit Balance,Soldul creditului bancar,
+Receivables,Creanțe,
+Payables,Datorii,
+Sales Orders to Bill,Comenzi de vânzare către Bill,
+Purchase Orders to Bill,Achiziționați comenzi către Bill,
+New Sales Orders,Noi comenzi de vânzări,
+New Purchase Orders,Noi comenzi de aprovizionare,
+Sales Orders to Deliver,Comenzi de livrare pentru livrare,
+Purchase Orders to Receive,Comenzi de cumpărare pentru a primi,
+New Purchase Invoice,Factură de achiziție nouă,
+New Quotations,Noi Oferte,
+Open Quotations,Oferte deschise,
+Open Issues,Probleme deschise,
+Open Projects,Proiecte deschise,
+Purchase Orders Items Overdue,Elementele comenzilor de cumpărare sunt restante,
+Upcoming Calendar Events,Evenimente calendaristice viitoare,
+Open To Do,Deschis de făcut,
+Add Quote,Adaugă Citat,
+Global Defaults,Valori Implicite Globale,
+Default Company,Companie Implicită,
+Current Fiscal Year,An Fiscal Curent,
+Default Distance Unit,Unitatea de distanță standard,
+Hide Currency Symbol,Ascunde simbol moneda,
+Do not show any symbol like $ etc next to currencies.,Nu afisa nici un simbol de genul $ etc alături de valute.,
+"If disable, 'Rounded Total' field will not be visible in any transaction","Dacă este dezactivat, câmpul 'Total Rotunjit' nu va fi vizibil in nici o tranzacție",
+Disable In Words,Nu fi de acord în cuvinte,
+"If disable, 'In Words' field will not be visible in any transaction","În cazul în care dezactivați, &quot;în cuvinte&quot; câmp nu vor fi vizibile în orice tranzacție",
+Item Classification,Postul Clasificare,
+General Settings,Setări generale,
+Item Group Name,Denumire Grup Articol,
+Parent Item Group,Părinte Grupa de articole,
+Item Group Defaults,Setări implicite pentru grupul de articole,
+Item Tax,Taxa Articol,
+Check this if you want to show in website,Bifati dacă doriți să fie afisat în site,
+Show this slideshow at the top of the page,Arată această prezentare în partea de sus a paginii,
+HTML / Banner that will show on the top of product list.,"HTML / Banner, care va arăta pe partea de sus a listei de produse.",
+Set prefix for numbering series on your transactions,Set prefix pentru seria de numerotare pe tranzacțiile dvs.,
+Setup Series,Seria de configurare,
+Select Transaction,Selectați Transaction,
+Help HTML,Ajutor HTML,
+Series List for this Transaction,Lista de serie pentru această tranzacție,
+User must always select,Utilizatorul trebuie să selecteze întotdeauna,
+Check this if you want to force the user to select a series before saving. There will be no default if you check this.,"Bifati dacă doriți sa fortati utilizatorul să selecteze o serie înainte de a salva. Nu va exista nici o valoare implicita dacă se bifeaza aici.""",
+Update Series,Actualizare Series,
+Change the starting / current sequence number of an existing series.,Schimbați secventa de numar de inceput / curent a unei serii existente.,
+Prefix,Prefix,
+Current Value,Valoare curenta,
+This is the number of the last created transaction with this prefix,Acesta este numărul ultimei tranzacții create cu acest prefix,
+Update Series Number,Actualizare Serii Număr,
+Quotation Lost Reason,Ofertă pierdut rațiunea,
+A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,Un distribuitor terță parte / dealer / agent comisionar / afiliat / re-vânzător care vinde produsele companiei pentru un comision.,
+Sales Partner Name,Numele Partner Sales,
+Partner Type,Tip partener,
+Address & Contacts,Adresă şi contacte,
+Address Desc,Adresă Desc,
+Contact Desc,Persoana de Contact Desc,
+Sales Partner Target,Vânzări Partner țintă,
+Targets,Obiective,
+Show In Website,Arata pe site-ul,
+Referral Code,Codul de recomandare,
+To Track inbound purchase,Pentru a urmări achiziția de intrare,
+Logo,Logo,
+Partner website,site-ul partenerului,
+All Sales Transactions can be tagged against multiple **Sales Persons** so that you can set and monitor targets.,Toate tranzacțiile de vânzări pot fi etichetate comparativ mai multor **Persoane de vânzări** pentru ca dvs. sa puteţi configura și monitoriza obiective.,
+Name and Employee ID,Nume și ID angajat,
+Sales Person Name,Sales Person Nume,
+Parent Sales Person,Mamă Sales Person,
+Select company name first.,Selectați numele companiei în primul rând.,
+Sales Person Targets,Ținte Persoane Vânzări,
+Set targets Item Group-wise for this Sales Person.,Stabilească obiective Articol Grupa-înțelept pentru această persoană de vânzări.,
+Supplier Group Name,Numele grupului de furnizori,
+Parent Supplier Group,Grupul furnizorilor-mamă,
+Target Detail,Țintă Detaliu,
+Target Qty,Țintă Cantitate,
+Target  Amount,Suma țintă,
+Target Distribution,Țintă Distribuție,
+"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.","Termeni și Condiții care pot fi adăugate la vânzările și achizițiile standard.\n\n Exemple: \n\n 1. Perioada de valabilitate a ofertei.\n 1. Conditii de plata (in avans, pe credit, parte în avans etc.).\n 1. Ce este în plus (sau de plătit de către Client).\n 1. Siguranța / avertizare utilizare.\n 1. Garantie dacă este cazul.\n 1. Politica de Returnare.\n 1. Condiții de transport maritim, dacă este cazul.\n 1. Modalitati de litigii de adresare, indemnizație, răspunderea, etc. \n 1. Adresa și de contact ale companiei.",
+Applicable Modules,Module aplicabile,
+Terms and Conditions Help,Termeni și Condiții Ajutor,
+Classification of Customers by region,Clasificarea clienți în funcție de regiune,
+Territory Name,Teritoriului Denumire,
+Parent Territory,Teritoriul părinte,
+Territory Manager,Teritoriu Director,
+For reference,Pentru referință,
+Territory Targets,Obiective Territory,
+Set Item Group-wise budgets on this Territory. You can also include seasonality by setting the Distribution.,"Set bugetelor Grupa înțelept Articol de pe acest teritoriu. Puteți include, de asemenea, sezonier prin setarea distribuție.",
+UOM Name,Numele UOM,
+Check this to disallow fractions. (for Nos),Bifati pentru a nu permite fracțiuni. (Pentru Nos),
+Website Item Group,Site-ul Grupa de articole,
+Cross Listing of Item in multiple groups,Crucea Listarea de punctul în mai multe grupuri,
+Default settings for Shopping Cart,Setările implicite pentru Cosul de cumparaturi,
+Enable Shopping Cart,Activați cosul de cumparaturi,
+Display Settings,Display Settings,
+Show Public Attachments,Afișați atașamentele publice,
+Show Price,Afișați prețul,
+Show Stock Availability,Afișați disponibilitatea stocului,
+Show Contact Us Button,Afișați butonul de contactare,
+Show Stock Quantity,Afișați cantitatea stocului,
+Show Apply Coupon Code,Afișați Aplicați codul de cupon,
+Allow items not in stock to be added to cart,Permiteți adăugarea în coș a articolelor care nu sunt în stoc,
+Prices will not be shown if Price List is not set,Prețurile nu vor fi afișate în cazul în care Prețul de listă nu este setat,
+Quotation Series,Ofertă Series,
+Checkout Settings,setările checkout pentru,
+Enable Checkout,activaţi Checkout,
+Payment Success Url,Plată de succes URL,
+After payment completion redirect user to selected page.,După finalizarea plății redirecționați utilizatorul la pagina selectată.,
+Batch Details,Detalii lot,
+Batch ID,ID-ul lotului,
+image,imagine,
+Parent Batch,Lotul părinte,
+Manufacturing Date,Data Fabricației,
+Batch Quantity,Cantitatea lotului,
+Batch UOM,Lot UOM,
+Source Document Type,Tipul documentului sursă,
+Source Document Name,Numele sursei de document,
+Batch Description,Descriere lot,
+Bin,Coş,
+Reserved Quantity,Cantitate rezervata,
+Actual Quantity,Cantitate Efectivă,
+Requested Quantity,Cantitate Solicitată,
+Reserved Qty for sub contract,Cantitate rezervată pentru subcontract,
+Moving Average Rate,Rata medie mobilă,
+FCFS Rate,Rata FCFS,
+Customs Tariff Number,Tariful vamal Număr,
+Tariff Number,Tarif Număr,
+Delivery To,De Livrare la,
+MAT-DN-.YYYY.-,MAT-DN-.YYYY.-,
+Is Return,Este de returnare,
+Issue Credit Note,Eliberați nota de credit,
+Return Against Delivery Note,Reveni Împotriva livrare Nota,
+Customer's Purchase Order No,Nr. Comanda de Aprovizionare Client,
+Billing Address Name,Numele din adresa de facturare,
+Required only for sample item.,Necesar numai pentru articolul de probă.,
+"If you have created a standard template in Sales Taxes and Charges Template, select one and click on the button below.","Dacă ați creat un model standard la taxele de vânzare și taxe Format, selectați una și faceți clic pe butonul de mai jos.",
+In Words will be visible once you save the Delivery Note.,În cuvinte va fi vizibil după ce a salva de livrare Nota.,
+In Words (Export) will be visible once you save the Delivery Note.,În cuvinte (de export) va fi vizibil după ce a salva de livrare Nota.,
+Transporter Info,Info Transporter,
+Driver Name,Numele șoferului,
+Track this Delivery Note against any Project,Urmareste acest Livrare Note împotriva oricărui proiect,
+Inter Company Reference,Referință între companii,
+Print Without Amount,Imprima Fără Suma,
+% Installed,% Instalat,
+% of materials delivered against this Delivery Note,% de materiale livrate versus acest Aviz de Expeditie,
+Installation Status,Starea de instalare,
+Excise Page Number,Numărul paginii accize,
+Instructions,Instrucţiuni,
+From Warehouse,Din Depozit,
+Against Sales Order,Contra comenzii de vânzări,
+Against Sales Order Item,Contra articolului comenzii de vânzări,
+Against Sales Invoice,Comparativ facturii de vânzări,
+Against Sales Invoice Item,Comparativ articolului facturii de vânzări,
+Available Batch Qty at From Warehouse,Disponibil lot Cantitate puțin din Warehouse,
+Available Qty at From Warehouse,Cantitate Disponibil la Depozitul,
+Delivery Settings,Setări de livrare,
+Dispatch Settings,Dispecerat Setări,
+Dispatch Notification Template,Șablonul de notificare pentru expediere,
+Dispatch Notification Attachment,Expedierea notificării atașament,
+Leave blank to use the standard Delivery Note format,Lăsați necompletat pentru a utiliza formatul standard de livrare,
+Send with Attachment,Trimiteți cu atașament,
+Delay between Delivery Stops,Întârziere între opririle de livrare,
+Delivery Stop,Livrare Stop,
+Lock,Lacăt,
+Visited,Vizitat,
+Order Information,Informații despre comandă,
+Contact Information,Informatii de contact,
+Email sent to,Email trimis catre,
+Dispatch Information,Informații despre expediere,
+Estimated Arrival,Sosirea estimată,
+MAT-DT-.YYYY.-,MAT-DT-.YYYY.-,
+Initial Email Notification Sent,Notificarea inițială de e-mail trimisă,
+Delivery Details,Detalii Livrare,
+Driver Email,E-mail șofer,
+Driver Address,Adresa șoferului,
+Total Estimated Distance,Distanța totală estimată,
+Distance UOM,Distanță UOM,
+Departure Time,Timp de plecare,
+Delivery Stops,Livrarea se oprește,
+Calculate Estimated Arrival Times,Calculează Timp de Sosire Estimat,
+Use Google Maps Direction API to calculate estimated arrival times,Utilizați Google Maps Direction API pentru a calcula orele de sosire estimate,
+Optimize Route,Optimizați ruta,
+Use Google Maps Direction API to optimize route,Utilizați Google Maps Direction API pentru a optimiza ruta,
+In Transit,În trecere,
+Fulfillment User,Utilizator de încredere,
+"A Product or a Service that is bought, sold or kept in stock.","Un produs sau un serviciu care este cumpărat, vândut sau păstrat în stoc.",
+STO-ITEM-.YYYY.-,STO-ELEMENT-.YYYY.-,
+Variant Of,Varianta de,
+"If item is a variant of another item then description, image, pricing, taxes etc will be set from the template unless explicitly specified","Dacă elementul este o variantă de un alt element atunci descriere, imagine, de stabilire a prețurilor, impozite etc vor fi stabilite de șablon dacă nu se specifică în mod explicit",
+Is Item from Hub,Este element din Hub,
+Default Unit of Measure,Unitatea de Măsură Implicita,
+Maintain Stock,Articol Stocabil,
+Standard Selling Rate,Standard de vânzare Rata,
+Auto Create Assets on Purchase,Creați active automate la achiziție,
+Asset Naming Series,Serie de denumire a activelor,
+Over Delivery/Receipt Allowance (%),Indemnizație de livrare / primire (%),
+Barcodes,Coduri de bare,
+Shelf Life In Days,Perioada de valabilitate în zile,
+End of Life,Sfârsitul vieții,
+Default Material Request Type,Implicit Material Tip de solicitare,
+Valuation Method,Metoda de evaluare,
+FIFO,FIFO,
+Moving Average,Mutarea medie,
+Warranty Period (in days),Perioada de garanție (în zile),
+Auto re-order,Re-comandă automată,
+Reorder level based on Warehouse,Nivel pentru re-comanda bazat pe Magazie,
+Will also apply for variants unless overrridden,Se va aplica și pentru variantele cu excepția cazului în overrridden,
+Units of Measure,Unitati de masura,
+Will also apply for variants,"Va aplică, de asemenea pentru variante",
+Serial Nos and Batches,Numere și loturi seriale,
+Has Batch No,Are nr. de Lot,
+Automatically Create New Batch,Creare automată Lot nou,
+Batch Number Series,Seria numerelor serii,
+"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.","Exemplu: ABCD. #####. Dacă seria este setată și numărul lotului nu este menționat în tranzacții, atunci numărul lotului automat va fi creat pe baza acestei serii. Dacă doriți întotdeauna să menționați în mod explicit numărul lotului pentru acest articol, lăsați acest lucru necompletat. Notă: această setare va avea prioritate față de Prefixul Seriei de Nomenclatoare din Setările de stoc.",
+Has Expiry Date,Are data de expirare,
+Retain Sample,Păstrați eșantionul,
+Max Sample Quantity,Cantitate maximă de probă,
+Maximum sample quantity that can be retained,Cantitatea maximă de mostră care poate fi reținută,
+Has Serial No,Are nr. de serie,
+Serial Number Series,Serial Number Series,
+"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.","Exemplu:. ABCD ##### \n Dacă seria este setat și nu de serie nu este menționat în tranzacții, numărul de atunci automat de serie va fi creat pe baza acestei serii. Dacă întotdeauna doriți să se menționeze explicit Serial nr de acest articol. părăsi acest gol.",
+Variants,Variante,
+Has Variants,Are variante,
+"If this item has variants, then it cannot be selected in sales orders etc.","Dacă acest element are variante, atunci nu poate fi selectat în comenzile de vânzări, etc.",
+Variant Based On,Varianta Bazat pe,
+Item Attribute,Postul Atribut,
+"Sales, Purchase, Accounting Defaults","Vânzări, Cumpărare, Definiții de contabilitate",
+Item Defaults,Elemente prestabilite,
+"Purchase, Replenishment Details","Detalii de achiziție, reconstituire",
+Is Purchase Item,Este de cumparare Articol,
+Default Purchase Unit of Measure,Unitatea de măsură prestabilită a măsurii,
+Minimum Order Qty,Comanda minima Cantitate,
+Minimum quantity should be as per Stock UOM,Cantitatea minimă ar trebui să fie conform UOM-ului de stoc,
+Average time taken by the supplier to deliver,Timpul mediu luate de către furnizor de a livra,
+Is Customer Provided Item,Este articol furnizat de client,
+Delivered by Supplier (Drop Ship),Livrate de Furnizor (Drop navelor),
+Supplier Items,Furnizor Articole,
+Foreign Trade Details,Detalii Comerț Exterior,
+Country of Origin,Tara de origine,
+Sales Details,Detalii Vânzări,
+Default Sales Unit of Measure,Unitatea de vânzare standard de măsură,
+Is Sales Item,Este produs de vânzări,
+Max Discount (%),Max Discount (%),
+No of Months,Numărul de luni,
+Customer Items,Articole clientului,
+Inspection Criteria,Criteriile de inspecție,
+Inspection Required before Purchase,Necesar de inspecție înainte de achiziționare,
+Inspection Required before Delivery,Necesar de inspecție înainte de livrare,
+Default BOM,FDM Implicit,
+Supply Raw Materials for Purchase,Materii prime de alimentare pentru cumparare,
+If subcontracted to a vendor,Dacă subcontractat la un furnizor,
+Customer Code,Cod client,
+Default Item Manufacturer,Producător de articole implicit,
+Default Manufacturer Part No,Cod producător implicit,
+Show in Website (Variant),Afișați în site-ul (Variant),
+Items with higher weightage will be shown higher,Articole cu weightage mare va fi afișat mai mare,
+Show a slideshow at the top of the page,Arata un slideshow din partea de sus a paginii,
+Website Image,Imagine Web,
+Website Warehouse,Website Depozit,
+"Show ""In Stock"" or ""Not in Stock"" based on stock available in this warehouse.","Arata ""Pe stoc"" sau ""nu este pe stoc"", bazat pe stoc disponibil în acest depozit.",
+Website Item Groups,Site-ul Articol Grupuri,
+List this Item in multiple groups on the website.,Listeaza acest articol in grupuri multiple de pe site-ul.\,
+Copy From Item Group,Copiere din Grupul de Articole,
+Website Content,Conținutul site-ului web,
+You can use any valid Bootstrap 4 markup in this field. It will be shown on your Item Page.,Puteți utiliza orice marcaj Bootstrap 4 valabil în acest câmp. Acesta va fi afișat pe pagina dvs. de articole.,
+Total Projected Qty,Cantitate totală prevăzută,
+Hub Publishing Details,Detalii privind publicarea Hubului,
+Publish in Hub,Publica in Hub,
+Publish Item to hub.erpnext.com,Publica Postul de hub.erpnext.com,
+Hub Category to Publish,Categorie Hub pentru publicare,
+Hub Warehouse,Hub Depozit,
+"Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.","Publicați &quot;În stoc&quot; sau &quot;Nu este în stoc&quot; pe Hub, pe baza stocurilor disponibile în acest depozit.",
+Synced With Hub,Sincronizat cu Hub,
+Item Alternative,Alternativă la element,
+Alternative Item Code,Codul elementului alternativ,
+Two-way,Două căi,
+Alternative Item Name,Numele elementului alternativ,
+Attribute Name,Denumire atribut,
+Numeric Values,Valori numerice,
+From Range,Din gama,
+Increment,Creștere,
+To Range,La gama,
+Item Attribute Values,Valori Postul Atribut,
+Item Attribute Value,Postul caracteristicii Valoarea,
+Attribute Value,Valoare Atribut,
+Abbreviation,Abreviere,
+"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""","Acest lucru va fi adăugat la Codul punctul de varianta. De exemplu, în cazul în care abrevierea este ""SM"", iar codul produs face ""T-SHIRT"", codul punctul de varianta va fi ""T-SHIRT-SM""",
+Item Barcode,Element de coduri de bare,
+Barcode Type,Tip de cod de bare,
+EAN,EAN,
+UPC-A,UPC-A,
+Item Customer Detail,Detaliu Articol Client,
+"For the convenience of customers, these codes can be used in print formats like Invoices and Delivery Notes","Pentru comoditatea clienților, aceste coduri pot fi utilizate în formate de imprimare cum ar fi Facturi și Note de Livrare",
+Ref Code,Cod de Ref,
+Item Default,Element Implicit,
+Purchase Defaults,Valori implicite pentru achiziții,
+Default Buying Cost Center,Centru de Cost Cumparare Implicit,
+Default Supplier,Furnizor Implicit,
+Default Expense Account,Cont de Cheltuieli Implicit,
+Sales Defaults,Setări prestabilite pentru vânzări,
+Default Selling Cost Center,Centru de Cost Vanzare Implicit,
+Item Manufacturer,Postul Producator,
+Item Price,Preț Articol,
+Packing Unit,Unitate de ambalare,
+Quantity  that must be bought or sold per UOM,Cantitatea care trebuie cumpărată sau vândută pe UOM,
+Item Quality Inspection Parameter,Parametru Inspecție de Calitate Articol,
+Acceptance Criteria,Criteriile de receptie,
+Item Reorder,Reordonare Articol,
+Check in (group),Check-in (grup),
+Request for,Cerere pentru,
+Re-order Level,Nivelul de re-comandă,
+Re-order Qty,Re-comanda Cantitate,
+Item Supplier,Furnizor Articol,
+Item Variant,Postul Varianta,
+Item Variant Attribute,Varianta element Atribut,
+Do not update variants on save,Nu actualizați variantele de salvare,
+Fields will be copied over only at time of creation.,Câmpurile vor fi copiate numai în momentul creării.,
+Allow Rename Attribute Value,Permiteți redenumirea valorii atributului,
+Rename Attribute Value in Item Attribute.,Redenumiți valoarea atributului în atributul de element.,
+Copy Fields to Variant,Copiați câmpurile în varianta,
+Item Website Specification,Specificație Site Articol,
+Table for Item that will be shown in Web Site,Tabelul pentru postul care va fi afișat în site-ul,
+Landed Cost Item,Cost Final Articol,
+Receipt Document Type,Primire Tip de document,
+Receipt Document,Documentul de primire,
+Applicable Charges,Taxe aplicabile,
+Purchase Receipt Item,Primirea de cumpărare Postul,
+Landed Cost Purchase Receipt,Chitanta de Cumparare aferent Costului Final,
+Landed Cost Taxes and Charges,Impozite cost debarcate și Taxe,
+Landed Cost Voucher,Voucher Cost Landed,
+MAT-LCV-.YYYY.-,MAT-LCV-.YYYY.-,
+Purchase Receipts,Încasări de cumparare,
+Purchase Receipt Items,Primirea de cumpărare Articole,
+Get Items From Purchase Receipts,Obține elemente din achiziție Încasări,
+Distribute Charges Based On,Împărțiți taxelor pe baza,
+Landed Cost Help,Costul Ajutor Landed,
+Manufacturers used in Items,Producători utilizați în Articole,
+Limited to 12 characters,Limitată la 12 de caractere,
+MAT-MR-.YYYY.-,MAT-MR-.YYYY.-,
+Partially Ordered,Parțial comandat,
+Transferred,transferat,
+% Ordered,% Comandat,
+Terms and Conditions Content,Termeni și condiții de conținut,
+Quantity and Warehouse,Cantitatea și Warehouse,
+Lead Time Date,Data Timp Conducere,
+Min Order Qty,Min Ordine Cantitate,
+Packed Item,Articol ambalate,
+To Warehouse (Optional),La Depozit (opțional),
+Actual Batch Quantity,Cantitatea actuală de lot,
+Prevdoc DocType,Prevdoc Doctype,
+Parent Detail docname,Părinte Detaliu docname,
+"Generate packing slips for packages to be delivered. Used to notify package number, package contents and its weight.","Generarea de ambalare slip pentru pachetele de a fi livrate. Folosit pentru a notifica numărul pachet, conținutul pachetului și greutatea sa.",
+Indicates that the package is a part of this delivery (Only Draft),Indică faptul că pachetul este o parte din această livrare (Proiect de numai),
+MAT-PAC-.YYYY.-,MAT-PAC-.YYYY.-,
+From Package No.,Din Pachetul Nr.,
+Identification of the package for the delivery (for print),Identificarea pachetului pentru livrare (pentru imprimare),
+To Package No.,La pachetul Nr,
+If more than one package of the same type (for print),În cazul în care mai mult de un pachet de același tip (pentru imprimare),
+Package Weight Details,Pachetul Greutate Detalii,
+The net weight of this package. (calculated automatically as sum of net weight of items),Greutatea netă a acestui pachet. (Calculat automat ca suma de greutate netă de produs),
+Net Weight UOM,Greutate neta UOM,
+Gross Weight,Greutate brută,
+The gross weight of the package. Usually net weight + packaging material weight. (for print),"Greutatea brută a pachetului. Greutate + ambalare, de obicei, greutate netă de material. (Pentru imprimare)",
+Gross Weight UOM,Greutate Brută UOM,
+Packing Slip Item,Bonul Articol,
+DN Detail,Detaliu DN,
+STO-PICK-.YYYY.-,STO-PICK-.YYYY.-,
+Material Transfer for Manufacture,Transfer de materii pentru fabricarea,
+Qty of raw materials will be decided based on the qty of the Finished Goods Item,Cantitatea de materii prime va fi decisă pe baza cantității articolului de produse finite,
+Parent Warehouse,Depozit Părinte,
+Items under this warehouse will be suggested,Articolele din acest depozit vor fi sugerate,
+Get Item Locations,Obțineți locații de articole,
+Item Locations,Locații articol,
+Pick List Item,Alegeți articolul din listă,
+Picked Qty,Cules Qty,
+Price List Master,Lista de preturi Masterat,
+Price List Name,Lista de prețuri Nume,
+Price Not UOM Dependent,Pretul nu este dependent de UOM,
+Applicable for Countries,Aplicabile pentru țările,
+Price List Country,Lista de preturi Țară,
+MAT-PRE-.YYYY.-,MAT-PRE-.YYYY.-,
+Supplier Delivery Note,Nota de livrare a furnizorului,
+Time at which materials were received,Timp în care s-au primit materiale,
+Return Against Purchase Receipt,Reveni cu confirmare de primire cumparare,
+Rate at which supplier's currency is converted to company's base currency,Rata la care moneda furnizorului este convertit în moneda de bază a companiei,
+Sets 'Accepted Warehouse' in each row of the items table.,Setează „Depozit acceptat” în fiecare rând al tabelului cu articole.,
+Sets 'Rejected Warehouse' in each row of the items table.,Setează „Depozit respins” în fiecare rând al tabelului cu articole.,
+Raw Materials Consumed,Materii prime consumate,
+Get Current Stock,Obține stocul curent,
+Consumed Items,Articole consumate,
+Add / Edit Taxes and Charges,Adaugaţi / editaţi taxe și cheltuieli,
+Auto Repeat Detail,Repeatarea detaliilor automate,
+Transporter Details,Detalii Transporter,
+Vehicle Number,Numărul de vehicule,
+Vehicle Date,Vehicul Data,
+Received and Accepted,Primit și Acceptat,
+Accepted Quantity,Cantitatea Acceptata,
+Rejected Quantity,Cantitate Respinsă,
+Accepted Qty as per Stock UOM,Cantitate acceptată conform stocului UOM,
+Sample Quantity,Cantitate de probă,
+Rate and Amount,Rata și volumul,
+MAT-QA-.YYYY.-,MAT-QA-.YYYY.-,
+Report Date,Data raportului,
+Inspection Type,Inspecție Tip,
+Item Serial No,Nr. de Serie Articol,
+Sample Size,Eșantionul de dimensiune,
+Inspected By,Inspectat de,
+Readings,Lecturi,
+Quality Inspection Reading,Inspecție de calitate Reading,
+Reading 1,Lectura 1,
+Reading 2,Lectura 2,
+Reading 3,Lectura 3,
+Reading 4,Lectura 4,
+Reading 5,Lectura 5,
+Reading 6,Lectura 6,
+Reading 7,Lectură 7,
+Reading 8,Lectură 8,
+Reading 9,Lectură 9,
+Reading 10,Lectura 10,
+Quality Inspection Template Name,Numele de șablon de inspecție a calității,
+Quick Stock Balance,Soldul rapid al stocurilor,
+Available Quantity,Cantitate Disponibilă,
+Distinct unit of an Item,Unitate distinctă de Postul,
+Warehouse can only be changed via Stock Entry / Delivery Note / Purchase Receipt,Depozit poate fi modificat numai prin Bursa de primire de intrare / livrare Nota / cumparare,
+Purchase / Manufacture Details,Detalii de cumpărare / Fabricarea,
+Creation Document Type,Tip de document creație,
+Creation Document No,Creare Document Nr.,
+Creation Date,Data creării,
+Creation Time,Timp de creare,
+Asset Details,Detalii privind activul,
+Asset Status,Starea activelor,
+Delivery Document Type,Tipul documentului de Livrare,
+Delivery Document No,Nr. de document de Livrare,
+Delivery Time,Timp de Livrare,
+Invoice Details,Detaliile facturii,
+Warranty / AMC Details,Garanție / AMC Detalii,
+Warranty Expiry Date,Garanție Data expirării,
+AMC Expiry Date,Dată expirare AMC,
+Under Warranty,În garanție,
+Out of Warranty,Ieșit din garanție,
+Under AMC,Sub AMC,
+Out of AMC,Din AMC,
+Warranty Period (Days),Perioada de garanție (zile),
+Serial No Details,Serial Nu Detalii,
+MAT-STE-.YYYY.-,MAT-STE-.YYYY.-,
+Stock Entry Type,Tip intrare stoc,
+Stock Entry (Outward GIT),Intrare pe stoc (GIT exterior),
+Material Consumption for Manufacture,Consumul de materiale pentru fabricare,
+Repack,Reambalați,
+Send to Subcontractor,Trimiteți către subcontractant,
+Delivery Note No,Nr. Nota de Livrare,
+Sales Invoice No,Nr. Factură de Vânzări,
+Purchase Receipt No,Primirea de cumpărare Nu,
+Inspection Required,Inspecție obligatorii,
+From BOM,De la BOM,
+For Quantity,Pentru Cantitate,
+As per Stock UOM,Ca şi pentru stoc UOM,
+Including items for sub assemblies,Inclusiv articole pentru subansambluri,
+Default Source Warehouse,Depozit Sursa Implicit,
+Source Warehouse Address,Adresă Depozit Sursă,
+Default Target Warehouse,Depozit Tinta Implicit,
+Target Warehouse Address,Adresa de destinație a depozitului,
+Update Rate and Availability,Actualizarea Rata și disponibilitatea,
+Total Incoming Value,Valoarea totală a sosi,
+Total Outgoing Value,Valoarea totală de ieșire,
+Total Value Difference (Out - In),Diferența Valoarea totală (Out - In),
+Additional Costs,Costuri suplimentare,
+Total Additional Costs,Costuri totale suplimentare,
+Customer or Supplier Details,Client sau furnizor Detalii,
+Per Transferred,Per transferat,
+Stock Entry Detail,Stoc de intrare Detaliu,
+Basic Rate (as per Stock UOM),Rata de bază (conform Stock UOM),
+Basic Amount,Suma de bază,
+Additional Cost,Cost aditional,
+Serial No / Batch,Serial No / lot,
+BOM No. for a Finished Good Item,Nr. BOM pentru un articol tip produs finalizat,
+Material Request used to make this Stock Entry,Cerere de material utilizat pentru a face acest stoc de intrare,
+Subcontracted Item,Subcontractat element,
+Against Stock Entry,Împotriva intrării pe stoc,
+Stock Entry Child,Copil de intrare în stoc,
+PO Supplied Item,PO Articol furnizat,
+Reference Purchase Receipt,Recepție de achiziție de achiziție,
+Stock Ledger Entry,Registru Contabil Intrări,
+Outgoing Rate,Rata de ieșire,
+Actual Qty After Transaction,Cant. efectivă după tranzacție,
+Stock Value Difference,Valoarea Stock Diferența,
+Stock Queue (FIFO),Stoc Queue (FIFO),
+Is Cancelled,Este anulat,
+Stock Reconciliation,Stoc Reconciliere,
+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.,Acest instrument vă ajută să actualizați sau stabili cantitatea și evaluarea stocului in sistem. Acesta este de obicei folosit pentru a sincroniza valorile de sistem și ceea ce există de fapt în depozite tale.,
+MAT-RECO-.YYYY.-,MAT-RECO-.YYYY.-,
+Reconciliation JSON,Reconciliere JSON,
+Stock Reconciliation Item,Stock reconciliere Articol,
+Before reconciliation,Premergător reconcilierii,
+Current Serial No,Serial curent nr,
+Current Valuation Rate,Rata de evaluare curentă,
+Current Amount,Suma curentă,
+Quantity Difference,cantitate diferenţă,
+Amount Difference,suma diferenţă,
+Item Naming By,Denumire Articol Prin,
+Default Item Group,Group Articol Implicit,
+Default Stock UOM,Stoc UOM Implicit,
+Sample Retention Warehouse,Exemplu de reținere depozit,
+Default Valuation Method,Metoda de Evaluare Implicită,
+Show Barcode Field,Afișează coduri de bare Câmp,
+Convert Item Description to Clean HTML,Conversia elementului de articol pentru a curăța codul HTML,
+Allow Negative Stock,Permiteţi stoc negativ,
+Automatically Set Serial Nos based on FIFO,Setat automat Serial nr bazat pe FIFO,
+Auto Material Request,Cerere automată de material,
+Inter Warehouse Transfer Settings,Setări de transfer între depozite,
+Freeze Stock Entries,Blocheaza Intrarile in Stoc,
+Stock Frozen Upto,Stoc Frozen Până la,
+Batch Identification,Identificarea lotului,
+Use Naming Series,Utilizați seria de numire,
+Naming Series Prefix,Denumirea prefixului seriei,
+UOM Category,Categoria UOM,
+UOM Conversion Detail,Detaliu UOM de conversie,
+Variant Field,Varianta câmpului,
+A logical Warehouse against which stock entries are made.,Un depozit logic față de care se efectuează înregistrări de stoc.,
+Warehouse Detail,Detaliu Depozit,
+Warehouse Name,Denumire Depozit,
+Warehouse Contact Info,Date de contact depozit,
+PIN,PIN,
+ISS-.YYYY.-,ISS-.YYYY.-,
+Raised By (Email),Ridicat de (E-mail),
+Issue Type,Tipul problemei,
+Issue Split From,Problemă Split From,
+Service Level,Nivel de servicii,
+Response By,Răspuns de,
+Response By Variance,Răspuns după variație,
+Ongoing,În curs de desfășurare,
+Resolution By,Rezolvare de,
+Resolution By Variance,Rezolutie prin variatie,
+Service Level Agreement Creation,Crearea contractului de nivel de serviciu,
+First Responded On,Primul Răspuns la,
+Resolution Details,Detalii Rezoluție,
+Opening Date,Data deschiderii,
+Opening Time,Timp de deschidere,
+Resolution Date,Dată Rezoluție,
+Via Customer Portal,Prin portalul de clienți,
+Support Team,Echipa de Suport,
+Issue Priority,Prioritate de emisiune,
+Service Day,Ziua serviciului,
+Workday,Zi de lucru,
+Default Priority,Prioritate implicită,
+Priorities,priorităţi,
+Support Hours,Ore de sprijin,
+Support and Resolution,Suport și rezoluție,
+Default Service Level Agreement,Acordul implicit privind nivelul serviciilor,
+Entity,Entitate,
+Agreement Details,Detalii despre acord,
+Response and Resolution Time,Timp de răspuns și rezolvare,
+Service Level Priority,Prioritate la nivel de serviciu,
+Resolution Time,Timp de rezoluție,
+Support Search Source,Sprijiniți sursa de căutare,
+Source Type,Tipul sursei,
+Query Route String,Query String Rout,
+Search Term Param Name,Termenul de căutare Param Name,
+Response Options,Opțiuni de Răspuns,
+Response Result Key Path,Răspuns Rezultat Cale cheie,
+Post Route String,Postați șirul de rută,
+Post Route Key List,Afișați lista cheilor de rutare,
+Post Title Key,Titlul mesajului cheie,
+Post Description Key,Post Descriere cheie,
+Link Options,Link Opțiuni,
+Source DocType,Sursa DocType,
+Result Title Field,Câmp rezultat titlu,
+Result Preview Field,Câmp de examinare a rezultatelor,
+Result Route Field,Câmp de rutare rezultat,
+Service Level Agreements,Acorduri privind nivelul serviciilor,
+Track Service Level Agreement,Urmăriți acordul privind nivelul serviciilor,
+Allow Resetting Service Level Agreement,Permiteți resetarea contractului de nivel de serviciu,
+Close Issue After Days,Închide Problemă După Zile,
+Auto close Issue after 7 days,Închidere automată Problemă după 7 zile,
+Support Portal,Portal de suport,
+Get Started Sections,Începeți secțiunile,
+Show Latest Forum Posts,Arată ultimele postări pe forum,
+Forum Posts,Mesaje pe forum,
+Forum URL,Adresa URL a forumului,
+Get Latest Query,Obțineți ultima interogare,
+Response Key List,Listă cu chei de răspuns,
+Post Route Key,Introduceți cheia de rutare,
+Search APIs,API-uri de căutare,
+SER-WRN-.YYYY.-,SER-WRN-.YYYY.-,
+Issue Date,Data emiterii,
+Item and Warranty Details,Postul și garanție Detalii,
+Warranty / AMC Status,Garanție / AMC Starea,
+Resolved By,Rezolvat prin,
+Service Address,Adresa serviciu,
+If different than customer address,Dacă diferă de adresa client,
+Raised By,Ridicat De,
+From Company,De la Compania,
+Rename Tool,Instrument Redenumire,
+Utilities,Utilitați,
+Type of document to rename.,Tip de document pentru a redenumi.,
+File to Rename,Fișier de Redenumiți,
+"Attach .csv file with two columns, one for the old name and one for the new name","Atașați fișier .csv cu două coloane, una pentru denumirea veche și una pentru denumirea nouă",
+Rename Log,Redenumi Conectare,
+SMS Log,SMS Conectare,
+Sender Name,Sender Name,
+Sent On,A trimis pe,
+No of Requested SMS,Nu de SMS solicitat,
+Requested Numbers,Numere solicitate,
+No of Sent SMS,Nu de SMS-uri trimise,
+Sent To,Trimis La,
+Absent Student Report,Raport elev absent,
+Assessment Plan Status,Starea planului de evaluare,
+Asset Depreciation Ledger,Registru Amortizatre Active,
+Asset Depreciations and Balances,Amortizari si Balante Active,
+Available Stock for Packing Items,Stoc disponibil pentru articole destinate împachetării,
+Bank Clearance Summary,Sumar aprobare bancă,
+Bank Remittance,Transferul bancar,
+Batch Item Expiry Status,Lot Articol Stare de expirare,
+Batch-Wise Balance History,Istoricul balanţei principale aferente lotului,
+BOM Explorer,BOM Explorer,
+BOM Search,BOM Căutare,
+BOM Stock Calculated,BOM Stocul calculat,
+BOM Variance Report,BOM Raport de variație,
+Campaign Efficiency,Eficiența campaniei,
+Cash Flow,Fluxul de numerar,
+Completed Work Orders,Ordine de lucru finalizate,
+To Produce,Pentru a produce,
+Produced,Produs,
+Consolidated Financial Statement,Situație financiară consolidată,
+Course wise Assessment Report,Raport de evaluare în curs,
+Customer Acquisition and Loyalty,Achiziționare și Loialitate Client,
+Customer Credit Balance,Balanța Clienți credit,
+Customer Ledger Summary,Rezumatul evidenței clienților,
+Customer-wise Item Price,Prețul articolului pentru clienți,
+Customers Without Any Sales Transactions,Clienții fără tranzacții de vânzare,
+Daily Timesheet Summary,Rezumat Pontaj Zilnic,
+Daily Work Summary Replies,Rezumat zilnic de lucrări,
+DATEV,DATEV,
+Delayed Item Report,Raportul întârziat al articolului,
+Delayed Order Report,Raportul de comandă întârziat,
+Delivered Items To Be Billed,Produse Livrate Pentru a fi Facturate,
+Delivery Note Trends,Tendințe Nota de Livrare,
+Electronic Invoice Register,Registrul electronic al facturilor,
+Employee Advance Summary,Sumarul avansului pentru angajați,
+Employee Billing Summary,Rezumatul facturării angajaților,
+Employee Birthday,Zi de naștere angajat,
+Employee Information,Informații angajat,
+Employee Leave Balance,Bilant Concediu Angajat,
+Employee Leave Balance Summary,Rezumatul soldului concediilor angajaților,
+Employees working on a holiday,Numar de angajati care lucreaza in vacanta,
+Eway Bill,Eway Bill,
+Expiring Memberships,Expirarea calității de membru,
+Fichier des Ecritures Comptables [FEC],Fichier des Ecritures Comptabile [FEC],
+Final Assessment Grades,Evaluări finale,
+Fixed Asset Register,Registrul activelor fixe,
+Gross and Net Profit Report,Raport de profit brut și net,
+GST Itemised Purchase Register,GST Registrul achiziționărilor detaliate,
+GST Itemised Sales Register,Registrul de vânzări detaliat GST,
+GST Purchase Register,Registrul achizițiilor GST,
+GST Sales Register,Registrul vânzărilor GST,
+GSTR-1,GSTR-1,
+GSTR-2,GSTR-2,
+Hotel Room Occupancy,Hotel Ocuparea camerei,
+HSN-wise-summary of outward supplies,Rezumatul HSN pentru rezervele exterioare,
+Inactive Customers,Clienții inactive,
+Inactive Sales Items,Articole de vânzare inactive,
+IRS 1099,IRS 1099,
+Issued Items Against Work Order,Articole emise împotriva comenzii de lucru,
+Projected Quantity as Source,Cantitatea ca sursă proiectată,
+Item Balance (Simple),Balanța postului (simplă),
+Item Price Stock,Preț Stoc Articol,
+Item Prices,Preturi Articol,
+Item Shortage Report,Raport Articole Lipsa,
+Item Variant Details,Element Variant Details,
+Item-wise Price List Rate,Rata Lista de Pret Articol-Avizat,
+Item-wise Purchase History,Istoric Achizitii Articol-Avizat,
+Item-wise Purchase Register,Registru Achizitii Articol-Avizat,
+Item-wise Sales History,Istoric Vanzari Articol-Avizat,
+Item-wise Sales Register,Registru Vanzari Articol-Avizat,
+Items To Be Requested,Articole care vor fi solicitate,
+Reserved,Rezervat,
+Itemwise Recommended Reorder Level,Nivel de Reordonare Recomandat al Articolului-Awesome,
+Lead Details,Detalii Pistă,
+Lead Owner Efficiency,Lead Efficiency Owner,
+Loan Repayment and Closure,Rambursarea împrumutului și închiderea,
+Loan Security Status,Starea de securitate a împrumutului,
+Lost Opportunity,Oportunitate pierdută,
+Maintenance Schedules,Program de Mentenanta,
+Material Requests for which Supplier Quotations are not created,Cererile de materiale pentru care nu sunt create Cotațiile Furnizor,
+Monthly Attendance Sheet,Lunar foaia de prezență,
+Open Work Orders,Deschideți comenzile de lucru,
+Qty to Deliver,Cantitate pentru a oferi,
+Patient Appointment Analytics,Analiza programării pacientului,
+Payment Period Based On Invoice Date,Perioada de plată Bazat pe Data facturii,
+Pending SO Items For Purchase Request,Până la SO articole pentru cerere de oferta,
+Procurement Tracker,Urmărirea achizițiilor,
+Product Bundle Balance,Soldul pachetului de produse,
+Production Analytics,Google Analytics de producție,
+Profit and Loss Statement,Profit și pierdere,
+Profitability Analysis,Analiza profitabilității,
+Project Billing Summary,Rezumatul facturării proiectului,
+Project wise Stock Tracking,Urmărirea proiectului în funcție de stoc,
+Project wise Stock Tracking ,Proiect înțelept Tracking Stock,
+Prospects Engaged But Not Converted,Perspective implicate dar nu convertite,
+Purchase Analytics,Analytics de cumpărare,
+Purchase Invoice Trends,Cumpărare Tendințe factură,
+Qty to Receive,Cantitate de a primi,
+Received Qty Amount,Suma de cantitate primită,
+Billed Qty,Qty facturat,
+Purchase Order Trends,Comandă de aprovizionare Tendințe,
+Purchase Receipt Trends,Tendințe Primirea de cumpărare,
+Purchase Register,Cumpărare Inregistrare,
+Quotation Trends,Cotație Tendințe,
+Received Items To Be Billed,Articole primite Pentru a fi facturat,
+Qty to Order,Cantitate pentru comandă,
+Requested Items To Be Transferred,Articole solicitate de transferat,
+Qty to Transfer,Cantitate de a transfera,
+Salary Register,Salariu Înregistrare,
+Sales Analytics,Analitice de vânzare,
+Sales Invoice Trends,Vânzări Tendințe factură,
+Sales Order Trends,Vânzări Ordine Tendințe,
+Sales Partner Commission Summary,Rezumatul Comisiei partenere de vânzări,
+Sales Partner Target Variance based on Item Group,Varianța de țintă a partenerilor de vânzări bazată pe grupul de articole,
+Sales Partner Transaction Summary,Rezumat tranzacție partener vânzări,
+Sales Partners Commission,Comision Agenţi Vânzări,
+Invoiced Amount (Exclusive Tax),Suma facturată (taxă exclusivă),
+Average Commission Rate,Rată de comision medie,
+Sales Payment Summary,Rezumatul plăților pentru vânzări,
+Sales Person Commission Summary,Persoana de vânzări Rezumat al Comisiei,
+Sales Person Target Variance Based On Item Group,Vânzarea persoanei de vânzare Varianța bazată pe grupul de articole,
+Sales Person-wise Transaction Summary,Persoana de vânzări-înțelept Rezumat Transaction,
+Sales Register,Vânzări Inregistrare,
+Serial No Service Contract Expiry,Serial Nu Service Contract de expirare,
+Serial No Status,Serial Nu Statut,
+Serial No Warranty Expiry,Serial Nu Garantie pana,
+Stock Ageing,Stoc Îmbătrânirea,
+Stock and Account Value Comparison,Comparația valorilor stocurilor și conturilor,
+Stock Projected Qty,Stoc proiectată Cantitate,
+Student and Guardian Contact Details,Student și Guardian Detalii de contact,
+Student Batch-Wise Attendance,Lot-înțelept elev Participarea,
+Student Fee Collection,Taxa de student Colectia,
+Student Monthly Attendance Sheet,Elev foaia de prezență lunară,
+Subcontracted Item To Be Received,Articol subcontractat care trebuie primit,
+Subcontracted Raw Materials To Be Transferred,Materii prime subcontractate care trebuie transferate,
+Supplier Ledger Summary,Rezumat evidență furnizor,
+Supplier-Wise Sales Analytics,Furnizor înțelept Vânzări Analytics,
+Support Hour Distribution,Distribuția orelor de distribuție,
+TDS Computation Summary,Rezumatul TDS de calcul,
+TDS Payable Monthly,TDS plătibil lunar,
+Territory Target Variance Based On Item Group,Varianța țintă de teritoriu pe baza grupului de articole,
+Territory-wise Sales,Vânzări înțelese teritoriul,
+Total Stock Summary,Rezumatul Total al Stocului,
+Trial Balance,Balanta,
+Trial Balance (Simple),Soldul de încercare (simplu),
+Trial Balance for Party,Trial Balance pentru Party,
+Unpaid Expense Claim,Solicitare Cheltuială Neachitată,
+Warehouse wise Item Balance Age and Value,Warehouse wise Item Balance Age și Value,
+Work Order Stock Report,Raport de stoc pentru comanda de lucru,
+Work Orders in Progress,Ordine de lucru în curs,
+Validation Error,eroare de validatie,
+Automatically Process Deferred Accounting Entry,Procesați automat intrarea contabilă amânată,
+Bank Clearance,Clearance bancar,
+Bank Clearance Detail,Detaliu de lichidare bancară,
+Update Cost Center Name / Number,Actualizați numele / numărul centrului de costuri,
+Journal Entry Template,Șablon de intrare în jurnal,
+Template Title,Titlul șablonului,
+Journal Entry Type,Tipul intrării în jurnal,
+Journal Entry Template Account,Cont șablon de intrare în jurnal,
+Process Deferred Accounting,Procesul de contabilitate amânată,
+Manual entry cannot be created! Disable automatic entry for deferred accounting in accounts settings and try again,Intrarea manuală nu poate fi creată! Dezactivați intrarea automată pentru contabilitatea amânată în setările conturilor și încercați din nou,
+End date cannot be before start date,Data de încheiere nu poate fi înainte de data de începere,
+Total Counts Targeted,Numărul total vizat,
+Total Counts Completed,Numărul total finalizat,
+Counts Targeted: {0},Număruri vizate: {0},
+Payment Account is mandatory,Contul de plată este obligatoriu,
+"If checked, the full amount will be deducted from taxable income before calculating income tax without any declaration or proof submission.","Dacă este bifat, suma totală va fi dedusă din venitul impozabil înainte de calcularea impozitului pe venit fără nicio declarație sau depunere de dovadă.",
+Disbursement Details,Detalii despre debursare,
+Material Request Warehouse,Depozit cerere material,
+Select warehouse for material requests,Selectați depozitul pentru solicitări de materiale,
+Transfer Materials For Warehouse {0},Transfer de materiale pentru depozit {0},
+Production Plan Material Request Warehouse,Plan de producție Cerere de materiale Depozit,
+Sets 'Source Warehouse' in each row of the items table.,Setează „Depozit sursă” în fiecare rând al tabelului cu articole.,
+Sets 'Target Warehouse' in each row of the items table.,Setează „Depozit țintă” în fiecare rând al tabelului cu articole.,
+Show Cancelled Entries,Afișați intrările anulate,
+Backdated Stock Entry,Intrare de stoc actualizată,
+Row #{}: Currency of {} - {} doesn't matches company currency.,Rândul # {}: moneda {} - {} nu se potrivește cu moneda companiei.,
+{} Assets created for {},{} Active create pentru {},
+{0} Number {1} is already used in {2} {3},{0} Numărul {1} este deja utilizat în {2} {3},
+Update Bank Clearance Dates,Actualizați datele de compensare bancară,
+Healthcare Practitioner: ,Practician medical:,
+Lab Test Conducted: ,Test de laborator efectuat:,
+Lab Test Event: ,Eveniment de test de laborator:,
+Lab Test Result: ,Rezultatul testului de laborator:,
+Clinical Procedure conducted: ,Procedura clinică efectuată:,
+Therapy Session Charges: {0},Taxe pentru sesiunea de terapie: {0},
+Therapy: ,Terapie:,
+Therapy Plan: ,Planul de terapie:,
+Total Counts Targeted: ,Număruri totale vizate:,
+Total Counts Completed: ,Numărul total finalizat:,
+Andaman and Nicobar Islands,Insulele Andaman și Nicobar,
+Andhra Pradesh,Andhra Pradesh,
+Arunachal Pradesh,Arunachal Pradesh,
+Assam,Assam,
+Bihar,Bihar,
+Chandigarh,Chandigarh,
+Chhattisgarh,Chhattisgarh,
+Dadra and Nagar Haveli,Dadra și Nagar Haveli,
+Daman and Diu,Daman și Diu,
+Delhi,Delhi,
+Goa,Goa,
+Gujarat,Gujarat,
+Haryana,Haryana,
+Himachal Pradesh,Himachal Pradesh,
+Jammu and Kashmir,Jammu și Kashmir,
+Jharkhand,Jharkhand,
+Karnataka,Karnataka,
+Kerala,Kerala,
+Lakshadweep Islands,Insulele Lakshadweep,
+Madhya Pradesh,Madhya Pradesh,
+Maharashtra,Maharashtra,
+Manipur,Manipur,
+Meghalaya,Meghalaya,
+Mizoram,Mizoram,
+Nagaland,Nagaland,
+Odisha,Odisha,
+Other Territory,Alt teritoriu,
+Pondicherry,Pondicherry,
+Punjab,Punjab,
+Rajasthan,Rajasthan,
+Sikkim,Sikkim,
+Tamil Nadu,Tamil Nadu,
+Telangana,Telangana,
+Tripura,Tripura,
+Uttar Pradesh,Uttar Pradesh,
+Uttarakhand,Uttarakhand,
+West Bengal,Bengalul de Vest,
+Is Mandatory,Este obligatoriu,
+Published on,publicat pe,
+Service Received But Not Billed,"Serviciu primit, dar nu facturat",
+Deferred Accounting Settings,Setări de contabilitate amânate,
+Book Deferred Entries Based On,Rezervați intrări amânate pe baza,
+Days,Zile,
+Months,Luni,
+Book Deferred Entries Via Journal Entry,Rezervați intrări amânate prin intrarea în jurnal,
+Submit Journal Entries,Trimiteți intrări în jurnal,
+If this is unchecked Journal Entries will be saved in a Draft state and will have to be submitted manually,"Dacă aceasta nu este bifată, jurnalele vor fi salvate într-o stare de schiță și vor trebui trimise manual",
+Enable Distributed Cost Center,Activați Centrul de cost distribuit,
+Distributed Cost Center,Centrul de cost distribuit,
+Dunning,Poftă,
+DUNN-.MM.-.YY.-,DUNN-.MM .-. YY.-,
+Overdue Days,Zile restante,
+Dunning Type,Tipul Dunning,
+Dunning Fee,Taxă Dunning,
+Dunning Amount,Suma Dunning,
+Resolved,S-a rezolvat,
+Unresolved,Nerezolvat,
+Printing Setting,Setare imprimare,
+Body Text,Corpul textului,
+Closing Text,Text de închidere,
+Resolve,Rezolva,
+Dunning Letter Text,Text scrisoare Dunning,
+Is Default Language,Este limba implicită,
+Letter or Email Body Text,Text pentru corp scrisoare sau e-mail,
+Letter or Email Closing Text,Text de închidere prin scrisoare sau e-mail,
+Body and Closing Text Help,Ajutor pentru corp și text de închidere,
+Overdue Interval,Interval întârziat,
+Dunning Letter,Scrisoare Dunning,
+"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.","Această secțiune permite utilizatorului să seteze corpul și textul de închidere al Scrisorii Dunning pentru tipul Dunning în funcție de limbă, care poate fi utilizat în Tipărire.",
+Reference Detail No,Nr. Detalii referință,
+Custom Remarks,Observații personalizate,
+Please select a Company first.,Vă rugăm să selectați mai întâi o companie.,
+"Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning","Rândul # {0}: tipul documentului de referință trebuie să fie unul dintre Comanda de vânzări, Factura de vânzări, Înregistrarea jurnalului sau Sarcina",
+POS Closing Entry,Intrare de închidere POS,
+POS Opening Entry,Intrare de deschidere POS,
+POS Transactions,Tranzacții POS,
+POS Closing Entry Detail,Detaliu intrare închidere POS,
+Opening Amount,Suma de deschidere,
+Closing Amount,Suma de închidere,
+POS Closing Entry Taxes,Taxe de intrare POS închidere,
+POS Invoice,Factură POS,
+ACC-PSINV-.YYYY.-,ACC-PSINV-.YYYY.-,
+Consolidated Sales Invoice,Factură de vânzări consolidată,
+Return Against POS Invoice,Reveniți împotriva facturii POS,
+Consolidated,Consolidat,
+POS Invoice Item,Articol factură POS,
+POS Invoice Merge Log,Jurnal de îmbinare a facturilor POS,
+POS Invoices,Facturi POS,
+Consolidated Credit Note,Nota de credit consolidată,
+POS Invoice Reference,Referință factură POS,
+Set Posting Date,Setați data de înregistrare,
+Opening Balance Details,Detalii sold deschidere,
+POS Opening Entry Detail,Detaliu intrare deschidere POS,
+POS Payment Method,Metoda de plată POS,
+Payment Methods,Metode de plata,
+Process Statement Of Accounts,Procesul de situație a conturilor,
+General Ledger Filters,Filtre majore,
+Customers,Clienți,
+Select Customers By,Selectați Clienți după,
+Fetch Customers,Aduceți clienții,
+Send To Primary Contact,Trimiteți la contactul principal,
+Print Preferences,Preferințe de imprimare,
+Include Ageing Summary,Includeți rezumatul îmbătrânirii,
+Enable Auto Email,Activați e-mailul automat,
+Filter Duration (Months),Durata filtrului (luni),
+CC To,CC To,
+Help Text,Text de ajutor,
+Emails Queued,E-mailuri la coadă,
+Process Statement Of Accounts Customer,Procesul extras de cont client,
+Billing Email,E-mail de facturare,
+Primary Contact Email,E-mail de contact principal,
+PSOA Cost Center,Centrul de cost PSOA,
+PSOA Project,Proiectul PSOA,
+ACC-PINV-RET-.YYYY.-,ACC-PINV-RET-.YYYY.-,
+Supplier GSTIN,Furnizor GSTIN,
+Place of Supply,Locul aprovizionării,
+Select Billing Address,Selectați Adresa de facturare,
+GST Details,Detalii GST,
+GST Category,Categoria GST,
+Registered Regular,Înregistrat regulat,
+Registered Composition,Compoziție înregistrată,
+Unregistered,Neînregistrat,
+SEZ,SEZ,
+Overseas,De peste mări,
+UIN Holders,Titulari UIN,
+With Payment of Tax,Cu plata impozitului,
+Without Payment of Tax,Fără plata impozitului,
+Invoice Copy,Copie factură,
+Original for Recipient,Original pentru Destinatar,
+Duplicate for Transporter,Duplicat pentru Transporter,
+Duplicate for Supplier,Duplicat pentru furnizor,
+Triplicate for Supplier,Triplicat pentru furnizor,
+Reverse Charge,Taxare inversă,
+Y,Da,
+N,N,
+E-commerce GSTIN,Comerț electronic GSTIN,
+Reason For Issuing document,Motivul eliberării documentului,
+01-Sales Return,01-Returnarea vânzărilor,
+02-Post Sale Discount,02-Reducere după vânzare,
+03-Deficiency in services,03-Deficiența serviciilor,
+04-Correction in Invoice,04-Corecție în factură,
+05-Change in POS,05-Modificare POS,
+06-Finalization of Provisional assessment,06-Finalizarea evaluării provizorii,
+07-Others,07-Altele,
+Eligibility For ITC,Eligibilitate pentru ITC,
+Input Service Distributor,Distribuitor de servicii de intrare,
+Import Of Service,Importul serviciului,
+Import Of Capital Goods,Importul de bunuri de capital,
+Ineligible,Neeligibil,
+All Other ITC,Toate celelalte ITC,
+Availed ITC Integrated Tax,Taxă integrată ITC disponibilă,
+Availed ITC Central Tax,Taxă centrală ITC disponibilă,
+Availed ITC State/UT Tax,Impozit ITC de stat / UT disponibil,
+Availed ITC Cess,Cess ITC disponibil,
+Is Nil Rated or Exempted,Este evaluat zero sau scutit,
+Is Non GST,Nu este GST,
+ACC-SINV-RET-.YYYY.-,ACC-SINV-RET-.YYYY.-,
+E-Way Bill No.,E-Way Bill nr.,
+Is Consolidated,Este consolidat,
+Billing Address GSTIN,Adresa de facturare GSTIN,
+Customer GSTIN,Client GSTIN,
+GST Transporter ID,ID GST Transporter,
+Distance (in km),Distanță (în km),
+Road,drum,
+Air,Aer,
+Rail,Feroviar,
+Ship,Navă,
+GST Vehicle Type,Tipul vehiculului GST,
+Over Dimensional Cargo (ODC),Marfă supradimensională (ODC),
+Consumer,Consumator,
+Deemed Export,Export estimat,
+Port Code,Cod port,
+ Shipping Bill Number,Numărul facturii de expediere,
+Shipping Bill Date,Data facturii de expediere,
+Subscription End Date,Data de încheiere a abonamentului,
+Follow Calendar Months,Urmăriți lunile calendaristice,
+If this is checked subsequent new invoices will be created on calendar  month and quarter start dates irrespective of current invoice start date,"Dacă se verifică acest lucru, vor fi create noi facturi ulterioare în lunile calendaristice și în datele de începere a trimestrului, indiferent de data curentă de începere a facturii",
+Generate New Invoices Past Due Date,Generați facturi noi la scadență,
+New invoices will be generated as per schedule even if current invoices are unpaid or past due date,"Facturile noi vor fi generate conform programului, chiar dacă facturile curente sunt neplătite sau sunt scadente",
+Document Type ,Tipul documentului,
+Subscription Price Based On,Prețul abonamentului pe baza,
+Fixed Rate,Rata fixa,
+Based On Price List,Pe baza listei de prețuri,
+Monthly Rate,Rată lunară,
+Cancel Subscription After Grace Period,Anulați abonamentul după perioada de grație,
+Source State,Statul sursă,
+Is Inter State,Este statul Inter,
+Purchase Details,Detalii achiziție,
+Depreciation Posting Date,Data înregistrării amortizării,
+"By default, the Supplier Name is set as per the Supplier Name entered. If you want Suppliers to be named by a  ","În mod implicit, numele furnizorului este setat conform numelui furnizorului introdus. Dacă doriți ca Furnizorii să fie numiți de către un",
+ choose the 'Naming Series' option.,alegeți opțiunea „Denumirea seriei”.,
+Configure the default Price List when creating a new Purchase transaction. Item prices will be fetched from this Price List.,Configurați lista de prețuri implicită atunci când creați o nouă tranzacție de cumpărare. Prețurile articolelor vor fi preluate din această listă de prețuri.,
+"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.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de achiziție sau o chitanță fără a crea mai întâi o comandă de cumpărare. Această configurație poate fi anulată pentru un anumit furnizor activând caseta de selectare „Permite crearea facturii de cumpărare fără comandă de cumpărare” din masterul furnizorului.",
+"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.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de cumpărare fără a crea mai întâi o chitanță de cumpărare. Această configurație poate fi suprascrisă pentru un anumit furnizor activând caseta de selectare „Permite crearea facturii de cumpărare fără chitanță de cumpărare” din masterul furnizorului.",
+Quantity & Stock,Cantitate și stoc,
+Call Details,Detalii apel,
+Authorised By,Autorizat de,
+Signee (Company),Destinatar (companie),
+Signed By (Company),Semnat de (Companie),
+First Response Time,Timpul primului răspuns,
+Request For Quotation,Cerere de ofertă,
+Opportunity Lost Reason Detail,Detaliu despre motivul pierdut al oportunității,
+Access Token Secret,Accesează Token Secret,
+Add to Topics,Adăugați la subiecte,
+...Adding Article to Topics,... Adăugarea articolului la subiecte,
+Add Article to Topics,Adăugați un articol la subiecte,
+This article is already added to the existing topics,Acest articol este deja adăugat la subiectele existente,
+Add to Programs,Adăugați la Programe,
+Programs,Programe,
+...Adding Course to Programs,... Adăugarea cursului la programe,
+Add Course to Programs,Adăugați cursul la programe,
+This course is already added to the existing programs,Acest curs este deja adăugat la programele existente,
+Learning Management System Settings,Setările sistemului de management al învățării,
+Enable Learning Management System,Activați sistemul de gestionare a învățării,
+Learning Management System Title,Titlul sistemului de management al învățării,
+...Adding Quiz to Topics,... Adăugarea testului la subiecte,
+Add Quiz to Topics,Adăugați test la subiecte,
+This quiz is already added to the existing topics,Acest test este deja adăugat la subiectele existente,
+Enable Admission Application,Activați cererea de admitere,
+EDU-ATT-.YYYY.-,EDU-ATT-.YYYY.-,
+Marking attendance,Marcarea prezenței,
+Add Guardians to Email Group,Adăugați Gardieni în grupul de e-mail,
+Attendance Based On,Prezență bazată pe,
+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,Bifați acest lucru pentru a marca studentul ca prezent în cazul în care studentul nu participă la institut pentru a participa sau pentru a reprezenta institutul în orice caz.,
+Add to Courses,Adăugați la Cursuri,
+...Adding Topic to Courses,... Adăugarea subiectului la cursuri,
+Add Topic to Courses,Adăugați subiect la cursuri,
+This topic is already added to the existing courses,Acest subiect este deja adăugat la cursurile existente,
+"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","Dacă Shopify nu are un client în comandă, atunci în timp ce sincronizează comenzile, sistemul va lua în considerare clientul implicit pentru comandă",
+The accounts are set by the system automatically but do confirm these defaults,"Conturile sunt setate automat de sistem, dar confirmă aceste valori implicite",
+Default Round Off Account,Cont implicit rotunjit,
+Failed Import Log,Jurnal de importare eșuat,
+Fixed Error Log,S-a remediat jurnalul de erori,
+Company {0} already exists. Continuing will overwrite the Company and Chart of Accounts,Compania {0} există deja. Continuarea va suprascrie compania și planul de conturi,
+Meta Data,Meta Date,
+Unresolve,Nerezolvat,
+Create Document,Creați document,
+Mark as unresolved,Marcați ca nerezolvat,
+TaxJar Settings,Setări TaxJar,
+Sandbox Mode,Mod Sandbox,
+Enable Tax Calculation,Activați calculul impozitului,
+Create TaxJar Transaction,Creați tranzacția TaxJar,
+Credentials,Acreditări,
+Live API Key,Cheie API live,
+Sandbox API Key,Cheia API Sandbox,
+Configuration,Configurare,
+Tax Account Head,Șef cont fiscal,
+Shipping Account Head,Șef cont de expediere,
+Practitioner Name,Numele practicianului,
+Enter a name for the Clinical Procedure Template,Introduceți un nume pentru șablonul de procedură clinică,
+Set the Item Code which will be used for billing the Clinical Procedure.,Setați codul articolului care va fi utilizat pentru facturarea procedurii clinice.,
+Select an Item Group for the Clinical Procedure Item.,Selectați un grup de articole pentru articolul de procedură clinică.,
+Clinical Procedure Rate,Rata procedurii clinice,
+Check this if the Clinical Procedure is billable and also set the rate.,"Verificați acest lucru dacă procedura clinică este facturabilă și, de asemenea, setați rata.",
+Check this if the Clinical Procedure utilises consumables. Click ,Verificați acest lucru dacă procedura clinică utilizează consumabile. Clic,
+ to know more,să afle mai multe,
+"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.","De asemenea, puteți seta Departamentul medical pentru șablon. După salvarea documentului, un articol va fi creat automat pentru facturarea acestei proceduri clinice. Puteți utiliza apoi acest șablon în timp ce creați proceduri clinice pentru pacienți. Șabloanele vă scutesc de la completarea datelor redundante de fiecare dată. De asemenea, puteți crea șabloane pentru alte operații precum teste de laborator, sesiuni de terapie etc.",
+Descriptive Test Result,Rezultatul testului descriptiv,
+Allow Blank,Permiteți golul,
+Descriptive Test Template,Șablon de test descriptiv,
+"If you want to track Payroll and other HRMS operations for a Practitoner, create an Employee and link it here.","Dacă doriți să urmăriți salarizarea și alte operațiuni HRMS pentru un practician, creați un angajat și conectați-l aici.",
+Set the Practitioner Schedule you just created. This will be used while booking appointments.,Setați programul de practicanți pe care tocmai l-ați creat. Aceasta va fi utilizată la rezervarea programărilor.,
+Create a service item for Out Patient Consulting.,Creați un element de serviciu pentru consultarea externă a pacienților.,
+"If this Healthcare Practitioner works for the In-Patient Department, create a service item for Inpatient Visits.","Dacă acest profesionist din domeniul sănătății lucrează pentru departamentul internat, creați un articol de servicii pentru vizitele internate.",
+Set the Out Patient Consulting Charge for this Practitioner.,Stabiliți taxa pentru consultarea pacientului pentru acest practicant.,
+"If this Healthcare Practitioner also works for the In-Patient Department, set the inpatient visit charge for this Practitioner.","În cazul în care acest profesionist din domeniul sănătății lucrează și pentru secția de internare, stabiliți taxa de vizitare pentru acest practician.",
+"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.","Dacă este bifat, va fi creat un client pentru fiecare pacient. Facturile pacientului vor fi create împotriva acestui client. De asemenea, puteți selecta clientul existent în timp ce creați un pacient. Acest câmp este bifat implicit.",
+Collect Registration Fee,Încasează taxa de înregistrare,
+"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.","Dacă unitatea medicală facturează înregistrările pacienților, puteți verifica acest lucru și puteți stabili taxa de înregistrare în câmpul de mai jos. Verificând acest lucru se vor crea noi pacienți cu starea Dezactivat în mod implicit și vor fi activate numai după facturarea Taxei de înregistrare.",
+Checking this will automatically create a Sales Invoice whenever an appointment is booked for a Patient.,Verificarea acestui lucru va crea automat o factură de vânzare ori de câte ori este rezervată o întâlnire pentru un pacient.,
+Healthcare Service Items,Produse pentru servicii medicale,
+"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 ","Puteți crea un articol de serviciu pentru taxa de vizită internată și setați-l aici. În mod similar, puteți configura alte elemente de servicii medicale pentru facturare în această secțiune. Clic",
+Set up default Accounts for the Healthcare Facility,Configurați conturi implicite pentru unitatea medicală,
+"If you wish to override default accounts settings and configure the Income and Receivable accounts for Healthcare, you can do so here.","Dacă doriți să înlocuiți setările implicite ale conturilor și să configurați conturile de venituri și creanțe pentru asistență medicală, puteți face acest lucru aici.",
+Out Patient SMS alerts,Alerte SMS pentru pacienți,
+"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 ","Dacă doriți să trimiteți alertă SMS la înregistrarea pacientului, puteți activa această opțiune. În mod similar, puteți configura alerte SMS pentru pacient pentru alte funcționalități în această secțiune. Clic",
+Admission Order Details,Detalii comandă de admitere,
+Admission Ordered For,Admiterea comandată pentru,
+Expected Length of Stay,Durata de ședere preconizată,
+Admission Service Unit Type,Tipul unității de servicii de admitere,
+Healthcare Practitioner (Primary),Practician medical (primar),
+Healthcare Practitioner (Secondary),Practician medical (secundar),
+Admission Instruction,Instrucțiuni de admitere,
+Chief Complaint,Plângere șefă,
+Medications,Medicamente,
+Investigations,Investigații,
+Discharge Detials,Detalii de descărcare,
+Discharge Ordered Date,Data comandării descărcării,
+Discharge Instructions,Instrucțiuni de descărcare de gestiune,
+Follow Up Date,Data de urmărire,
+Discharge Notes,Note de descărcare de gestiune,
+Processing Inpatient Discharge,Procesarea externării internate,
+Processing Patient Admission,Procesarea admiterii pacientului,
+Check-in time cannot be greater than the current time,Ora de check-in nu poate fi mai mare decât ora curentă,
+Process Transfer,Transfer de proces,
+HLC-LAB-.YYYY.-,HLC-LAB-.YYYY.-,
+Expected Result Date,Data rezultatului așteptat,
+Expected Result Time,Timp de rezultat așteptat,
+Printed on,Tipărit pe,
+Requesting Practitioner,Practician solicitant,
+Requesting Department,Departamentul solicitant,
+Employee (Lab Technician),Angajat (tehnician de laborator),
+Lab Technician Name,Numele tehnicianului de laborator,
+Lab Technician Designation,Desemnarea tehnicianului de laborator,
+Compound Test Result,Rezultatul testului compus,
+Organism Test Result,Rezultatul testului de organism,
+Sensitivity Test Result,Rezultatul testului de sensibilitate,
+Worksheet Print,Imprimare foaie de lucru,
+Worksheet Instructions,Instrucțiuni pentru foaia de lucru,
+Result Legend Print,Imprimare legendă rezultat,
+Print Position,Poziția de imprimare,
+Bottom,Partea de jos,
+Top,Top,
+Both,Ambii,
+Result Legend,Legenda rezultatului,
+Lab Tests,Teste de laborator,
+No Lab Tests found for the Patient {0},Nu s-au găsit teste de laborator pentru pacient {0},
+"Did not send SMS, missing patient mobile number or message content.","Nu am trimis SMS-uri, lipsă numărul de mobil al pacientului sau conținutul mesajului.",
+No Lab Tests created,Nu au fost create teste de laborator,
+Creating Lab Tests...,Se creează teste de laborator ...,
+Lab Test Group Template,Șablon de grup de test de laborator,
+Add New Line,Adăugați o linie nouă,
+Secondary UOM,UOM secundar,
+"<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>Single</b> : Rezultate care necesită o singură intrare.<br> <b>Compus</b> : Rezultate care necesită mai multe intrări de evenimente.<br> <b>Descriptiv</b> : teste care au mai multe componente ale rezultatelor cu introducerea manuală a rezultatelor.<br> <b>Grupate</b> : șabloane de testare care sunt un grup de alte șabloane de testare.<br> <b>Niciun rezultat</b> : testele fără rezultate, pot fi comandate și facturate, dar nu va fi creat niciun test de laborator. de exemplu. Subteste pentru rezultate grupate",
+"If unchecked, the item will not be available in Sales Invoices for billing but can be used in group test creation. ","Dacă nu este bifat, articolul nu va fi disponibil în facturile de vânzare pentru facturare, dar poate fi utilizat la crearea testului de grup.",
+Description ,Descriere,
+Descriptive Test,Test descriptiv,
+Group Tests,Teste de grup,
+Instructions to be printed on the worksheet,Instrucțiuni care trebuie tipărite pe foaia de lucru,
+"Information to help easily interpret the test report, will be printed as part of the Lab Test result.",Informațiile care vor ajuta la interpretarea cu ușurință a raportului de testare vor fi tipărite ca parte a rezultatului testului de laborator.,
+Normal Test Result,Rezultat normal al testului,
+Secondary UOM Result,Rezultatul UOM secundar,
+Italic,Cursiv,
+Underline,Subliniați,
+Organism,Organism,
+Organism Test Item,Element de testare a organismului,
+Colony Population,Populația coloniei,
+Colony UOM,Colonia UOM,
+Tobacco Consumption (Past),Consumul de tutun (trecut),
+Tobacco Consumption (Present),Consumul de tutun (Prezent),
+Alcohol Consumption (Past),Consumul de alcool (trecut),
+Alcohol Consumption (Present),Consumul de alcool (prezent),
+Billing Item,Articol de facturare,
+Medical Codes,Coduri medicale,
+Clinical Procedures,Proceduri clinice,
+Order Admission,Admiterea comenzii,
+Scheduling Patient Admission,Programarea admiterii pacientului,
+Order Discharge,Descărcare comandă,
+Sample Details,Detalii mostre,
+Collected On,Colectat pe,
+No. of prints,Nr. De amprente,
+Number of prints required for labelling the samples,Numărul de tipăriri necesare pentru etichetarea probelor,
+HLC-VTS-.YYYY.-,HLC-VTS-.YYYY.-,
+In Time,La timp,
+Out Time,Timp liber,
+Payroll Cost Center,Centru de salarizare,
+Approvers,Aprobatori,
+The first Approver in the list will be set as the default Approver.,Primul aprobator din listă va fi setat ca aprobator implicit.,
+Shift Request Approver,Aprobarea cererii de schimbare,
+PAN Number,Număr PAN,
+Provident Fund Account,Contul Fondului Provident,
+MICR Code,Cod MICR,
+Repay unclaimed amount from salary,Rambursați suma nepreluată din salariu,
+Deduction from salary,Deducerea din salariu,
+Expired Leaves,Frunze expirate,
+Reference No,Nr. De referință,
+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.,Procentul de tunsoare este diferența procentuală dintre valoarea de piață a titlului de împrumut și valoarea atribuită respectivului titlu de împrumut atunci când este utilizat ca garanție pentru împrumutul respectiv.,
+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 ,Raportul împrumut la valoare exprimă raportul dintre suma împrumutului și valoarea garanției gajate. O deficiență a garanției împrumutului va fi declanșată dacă aceasta scade sub valoarea specificată pentru orice împrumut,
+If this is not checked the loan by default will be considered as a Demand Loan,"Dacă acest lucru nu este verificat, împrumutul implicit va fi considerat un împrumut la cerere",
+This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower,"Acest cont este utilizat pentru rezervarea rambursărilor de împrumut de la împrumutat și, de asemenea, pentru a plăti împrumuturi către împrumutat",
+This account is capital account which is used to allocate capital for loan disbursal account ,Acest cont este un cont de capital care este utilizat pentru alocarea de capital pentru contul de debursare a împrumutului,
+This account will be used for booking loan interest accruals,Acest cont va fi utilizat pentru rezervarea dobânzilor la dobândă de împrumut,
+This account will be used for booking penalties levied due to delayed repayments,Acest cont va fi utilizat pentru rezervarea penalităților percepute din cauza rambursărilor întârziate,
+Variant BOM,Varianta DOM,
+Template Item,Articol șablon,
+Select template item,Selectați elementul șablon,
+Select variant item code for the template item {0},Selectați varianta codului articolului pentru elementul șablon {0},
+Downtime Entry,Intrare în timp de inactivitate,
+DT-,DT-,
+Workstation / Machine,Stație de lucru / Mașină,
+Operator,Operator,
+In Mins,În minele,
+Downtime Reason,Motivul opririi,
+Stop Reason,Stop Reason,
+Excessive machine set up time,Timp excesiv de configurare a mașinii,
+Unplanned machine maintenance,Întreținerea neplanificată a mașinii,
+On-machine press checks,Verificări de presă la mașină,
+Machine operator errors,Erori operator operator,
+Machine malfunction,Funcționarea defectuoasă a mașinii,
+Electricity down,Electricitate scăzută,
+Operation Row Number,Număr rând operațiune,
+Operation {0} added multiple times in the work order {1},Operația {0} adăugată de mai multe ori în ordinea de lucru {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.","Dacă este bifat, mai multe materiale pot fi utilizate pentru o singură comandă de lucru. Acest lucru este util dacă sunt fabricate unul sau mai multe produse consumatoare de timp.",
+Backflush Raw Materials,Materii prime Backflush,
+"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.","Intrarea în stoc a tipului „Fabricare” este cunoscută sub numele de backflush. Materiile prime consumate pentru fabricarea produselor finite sunt cunoscute sub numele de backflushing.<br><br> La crearea intrării în fabricație, articolele din materie primă sunt revocate pe baza BOM a articolului de producție. Dacă doriți ca elementele din materie primă să fie revocate în funcție de intrarea de transfer de materiale efectuată împotriva respectivei comenzi de lucru, atunci o puteți seta în acest câmp.",
+Work In Progress Warehouse,Depozit Work In Progress,
+This Warehouse will be auto-updated in the Work In Progress Warehouse field of Work Orders.,Acest depozit va fi actualizat automat în câmpul Depozit de lucru în curs al comenzilor de lucru.,
+Finished Goods Warehouse,Depozit de produse finite,
+This Warehouse will be auto-updated in the Target Warehouse field of Work Order.,Acest depozit va fi actualizat automat în câmpul Depozit țintă din Ordinul de lucru.,
+"If ticked, the BOM cost will be automatically updated based on Valuation Rate / Price List Rate / last purchase rate of raw materials.","Dacă este bifat, costul BOM va fi actualizat automat în funcție de rata de evaluare / rata de listă de prețuri / ultima rată de achiziție a materiilor prime.",
+Source Warehouses (Optional),Depozite sursă (opțional),
+"System will pickup the materials from the selected warehouses. If not specified, system will create material request for purchase.","Sistemul va prelua materialele din depozitele selectate. Dacă nu este specificat, sistemul va crea o cerere materială pentru cumpărare.",
+Lead Time,Perioada de grație,
+PAN Details,Detalii PAN,
+Create Customer,Creați client,
+Invoicing,Facturare,
+Enable Auto Invoicing,Activați facturarea automată,
+Send Membership Acknowledgement,Trimiteți confirmarea de membru,
+Send Invoice with Email,Trimiteți factura prin e-mail,
+Membership Print Format,Formatul de tipărire a calității de membru,
+Invoice Print Format,Format de imprimare factură,
+Revoke <Key></Key>,Revoca&lt;Key&gt;&lt;/Key&gt;,
+You can learn more about memberships in the manual. ,Puteți afla mai multe despre abonamente în manual.,
+ERPNext Docs,Documente ERPNext,
+Regenerate Webhook Secret,Regenerați secretul Webhook,
+Generate Webhook Secret,Generați Webhook Secret,
+Copy Webhook URL,Copiați adresa URL Webhook,
+Linked Item,Element conectat,
+Is Recurring,Este recurent,
+HRA Exemption,Scutire HRA,
+Monthly House Rent,Închirierea lunară a casei,
+Rented in Metro City,Închiriat în Metro City,
+HRA as per Salary Structure,HRA conform structurii salariale,
+Annual HRA Exemption,Scutire anuală HRA,
+Monthly HRA Exemption,Scutire HRA lunară,
+House Rent Payment Amount,Suma plății chiriei casei,
+Rented From Date,Închiriat de la Data,
+Rented To Date,Închiriat până în prezent,
+Monthly Eligible Amount,Suma eligibilă lunară,
+Total Eligible HRA Exemption,Scutire HRA eligibilă totală,
+Validating Employee Attendance...,Validarea prezenței angajaților ...,
+Submitting Salary Slips and creating Journal Entry...,Trimiterea fișelor salariale și crearea intrării în jurnal ...,
+Calculate Payroll Working Days Based On,Calculați zilele lucrătoare de salarizare pe baza,
+Consider Unmarked Attendance As,Luați în considerare participarea nemarcată ca,
+Fraction of Daily Salary for Half Day,Fracțiunea salariului zilnic pentru jumătate de zi,
+Component Type,Tipul componentei,
+Provident Fund,Fondul Provident,
+Additional Provident Fund,Fondul Provident suplimentar,
+Provident Fund Loan,Împrumut pentru Fondul Provident,
+Professional Tax,Impozit profesional,
+Is Income Tax Component,Este componenta impozitului pe venit,
+Component properties and references ,Proprietăți și referințe ale componentelor,
+Additional Salary ,Salariu suplimentar,
+Unmarked days,Zile nemarcate,
+Absent Days,Zile absente,
+Conditions and Formula variable and example,Condiții și variabilă Formula și exemplu,
+Feedback By,Feedback de,
+Manufacturing Section,Secțiunea de fabricație,
+"By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","În mod implicit, Numele clientului este setat conform Numelui complet introdus. Dacă doriți ca clienții să fie numiți de un",
+Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configurați lista de prețuri implicită atunci când creați o nouă tranzacție de vânzări. Prețurile articolelor vor fi preluate din această listă de prețuri.,
+"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.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de vânzare sau o notă de livrare fără a crea mai întâi o comandă de vânzare. Această configurație poate fi anulată pentru un anumit Client activând caseta de selectare „Permite crearea facturii de vânzare fără comandă de vânzare” din masterul Clientului.",
+"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.","Dacă această opțiune este configurată „Da”, ERPNext vă va împiedica să creați o factură de vânzare fără a crea mai întâi o notă de livrare. Această configurație poate fi suprascrisă pentru un anumit Client activând caseta de selectare „Permite crearea facturilor de vânzare fără notă de livrare” din masterul Clientului.",
+Default Warehouse for Sales Return,Depozit implicit pentru returnarea vânzărilor,
+Default In Transit Warehouse,Implicit în Depozitul de tranzit,
+Enable Perpetual Inventory For Non Stock Items,Activați inventarul perpetuu pentru articolele fără stoc,
+HRA Settings,Setări HRA,
+Basic Component,Componenta de bază,
+HRA Component,Componenta HRA,
+Arrear Component,Componenta Arrear,
+Please enter the company name to confirm,Vă rugăm să introduceți numele companiei pentru a confirma,
+Quotation Lost Reason Detail,Citat Detaliu motiv pierdut,
+Enable Variants,Activați variantele,
+Save Quotations as Draft,Salvați ofertele ca schiță,
+MAT-DN-RET-.YYYY.-,MAT-DN-RET-.YYYY.-,
+Please Select a Customer,Vă rugăm să selectați un client,
+Against Delivery Note Item,Împotriva articolului Note de livrare,
+Is Non GST ,Nu este GST,
+Image Description,Descrierea imaginii,
+Transfer Status,Stare transfer,
+MAT-PR-RET-.YYYY.-,MAT-PR-RET-.YYYY.-,
+Track this Purchase Receipt against any Project,Urmăriți această chitanță de cumpărare împotriva oricărui proiect,
+Please Select a Supplier,Vă rugăm să selectați un furnizor,
+Add to Transit,Adăugați la tranzit,
+Set Basic Rate Manually,Setați manual rata de bază,
+"By default, the Item Name is set as per the Item Code entered. If you want Items to be named by a ","În mod implicit, numele articolului este setat conform codului articolului introdus. Dacă doriți ca elementele să fie denumite de un",
+Set a Default Warehouse for Inventory Transactions. This will be fetched into the Default Warehouse in the Item master.,Setați un depozit implicit pentru tranzacțiile de inventar. Acest lucru va fi preluat în Depozitul implicit din elementul master.,
+"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.","Acest lucru va permite afișarea articolelor stoc în valori negative. Utilizarea acestei opțiuni depinde de cazul dvs. de utilizare. Cu această opțiune bifată, sistemul avertizează înainte de a obstrucționa o tranzacție care cauzează stoc negativ.",
+Choose between FIFO and Moving Average Valuation Methods. Click ,Alegeți între FIFO și metodele de evaluare medie mobile. Clic,
+ to know more about them.,să afle mai multe despre ele.,
+Show 'Scan Barcode' field above every child table to insert Items with ease.,Afișați câmpul „Scanare cod de bare” deasupra fiecărui tabel copil pentru a insera articole cu ușurință.,
+"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.","Numerele de serie pentru stoc vor fi setate automat pe baza articolelor introduse pe baza primelor în primele ieșiri din tranzacții precum facturi de cumpărare / vânzare, note de livrare etc.",
+"If blank, parent Warehouse Account or company default will be considered in transactions","Dacă este necompletat, contul de depozit părinte sau prestabilitatea companiei vor fi luate în considerare în tranzacții",
+Service Level Agreement Details,Detalii acord nivel de serviciu,
+Service Level Agreement Status,Starea Acordului la nivel de serviciu,
+On Hold Since,În așteptare de când,
+Total Hold Time,Timp total de așteptare,
+Response Details,Detalii de răspuns,
+Average Response Time,Timpul mediu de răspuns,
+User Resolution Time,Ora de rezoluție a utilizatorului,
+SLA is on hold since {0},SLA este în așteptare de la {0},
+Pause SLA On Status,Întrerupeți SLA On Status,
+Pause SLA On,Întrerupeți SLA Activat,
+Greetings Section,Secțiunea Salutări,
+Greeting Title,Titlu de salut,
+Greeting Subtitle,Subtitrare de salut,
+Youtube ID,ID YouTube,
+Youtube Statistics,Statistici Youtube,
+Views,Vizualizări,
+Dislikes,Nu-mi place,
+Video Settings,Setari video,
+Enable YouTube Tracking,Activați urmărirea YouTube,
+30 mins,30 de minute,
+1 hr,1 oră,
+6 hrs,6 ore,
+Patient Progress,Progresul pacientului,
+Targetted,Țintit,
+Score Obtained,Scor obținut,
+Sessions,Sesiuni,
+Average Score,Scor mediu,
+Select Assessment Template,Selectați Șablon de evaluare,
+ out of ,din,
+Select Assessment Parameter,Selectați Parametru de evaluare,
+Gender: ,Gen:,
+Contact: ,A lua legatura:,
+Total Therapy Sessions: ,Total sesiuni de terapie:,
+Monthly Therapy Sessions: ,Sesiuni lunare de terapie:,
+Patient Profile,Profilul pacientului,
+Point Of Sale,Punct de vânzare,
+Email sent successfully.,Email-ul a fost trimis cu succes.,
+Search by invoice id or customer name,Căutați după ID-ul facturii sau numele clientului,
+Invoice Status,Starea facturii,
+Filter by invoice status,Filtrează după starea facturii,
+Select item group,Selectați grupul de articole,
+No items found. Scan barcode again.,Nu au fost gasite articolele. Scanați din nou codul de bare.,
+"Search by customer name, phone, email.","Căutare după numele clientului, telefon, e-mail.",
+Enter discount percentage.,Introduceți procentul de reducere.,
+Discount cannot be greater than 100%,Reducerea nu poate fi mai mare de 100%,
+Enter customer's email,Introduceți adresa de e-mail a clientului,
+Enter customer's phone number,Introduceți numărul de telefon al clientului,
+Customer contact updated successfully.,Contactul clientului a fost actualizat cu succes.,
+Item will be removed since no serial / batch no selected.,Elementul va fi eliminat deoarece nu este selectat niciun serial / lot.,
+Discount (%),Reducere (%),
+You cannot submit the order without payment.,Nu puteți trimite comanda fără plată.,
+You cannot submit empty order.,Nu puteți trimite o comandă goală.,
+To Be Paid,A fi platit,
+Create POS Opening Entry,Creați o intrare de deschidere POS,
+Please add Mode of payments and opening balance details.,Vă rugăm să adăugați detalii despre modul de plată și soldul de deschidere.,
+Toggle Recent Orders,Comutați comenzile recente,
+Save as Draft,Salvează ca ciornă,
+You must add atleast one item to save it as draft.,Trebuie să adăugați cel puțin un articol pentru al salva ca schiță.,
+There was an error saving the document.,A apărut o eroare la salvarea documentului.,
+You must select a customer before adding an item.,Trebuie să selectați un client înainte de a adăuga un articol.,
+Please Select a Company,Vă rugăm să selectați o companie,
+Active Leads,Oportunități active,
+Please Select a Company.,Vă rugăm să selectați o companie.,
+BOM Operations Time,Timp operații BOM,
+BOM ID,ID-ul BOM,
+BOM Item Code,Cod articol BOM,
+Time (In Mins),Timp (în minute),
+Sub-assembly BOM Count,Numărul BOM al subansamblului,
+View Type,Tipul de vizualizare,
+Total Delivered Amount,Suma totală livrată,
+Downtime Analysis,Analiza timpului de oprire,
+Machine,Mașinărie,
+Downtime (In Hours),Timp de inactivitate (în ore),
+Employee Analytics,Analiza angajaților,
+"""From date"" can not be greater than or equal to ""To date""",„De la dată” nu poate fi mai mare sau egal cu „Până în prezent”,
+Exponential Smoothing Forecasting,Previziune de netezire exponențială,
+First Response Time for Issues,Primul timp de răspuns pentru probleme,
+First Response Time for Opportunity,Primul timp de răspuns pentru oportunitate,
+Depreciatied Amount,Suma depreciată,
+Period Based On,Perioada bazată pe,
+Date Based On,Data bazată pe,
+{0} and {1} are mandatory,{0} și {1} sunt obligatorii,
+Consider Accounting Dimensions,Luați în considerare dimensiunile contabile,
+Income Tax Deductions,Deduceri de impozit pe venit,
+Income Tax Component,Componenta impozitului pe venit,
+Income Tax Amount,Suma impozitului pe venit,
+Reserved Quantity for Production,Cantitate rezervată pentru producție,
+Projected Quantity,Cantitatea proiectată,
+ Total Sales Amount,Suma totală a vânzărilor,
+Job Card Summary,Rezumatul fișei de muncă,
+Id,Id,
+Time Required (In Mins),Timp necesar (în minute),
+From Posting Date,De la data înregistrării,
+To Posting Date,Până la data de înregistrare,
+No records found,Nu au fost găsite,
+Customer/Lead Name,Numele clientului / clientului,
+Unmarked Days,Zile nemarcate,
+Jan,Ian,
+Feb,Februarie,
+Mar,Mar,
+Apr,Aprilie,
+Aug,Aug,
+Sep,Sept,
+Oct,Oct,
+Nov,Noiembrie,
+Dec,Dec,
+Summarized View,Vizualizare rezumată,
+Production Planning Report,Raport de planificare a producției,
+Order Qty,Comandați cantitatea,
+Raw Material Code,Codul materiei prime,
+Raw Material Name,Numele materiei prime,
+Allotted Qty,Cantitate alocată,
+Expected Arrival Date,Data de sosire preconizată,
+Arrival Quantity,Cantitatea de sosire,
+Raw Material Warehouse,Depozit de materii prime,
+Order By,Comandați după,
+Include Sub-assembly Raw Materials,Includeți subansamblarea materiilor prime,
+Professional Tax Deductions,Deduceri fiscale profesionale,
+Program wise Fee Collection,Colectarea taxelor în funcție de program,
+Fees Collected,Taxe colectate,
+Project Summary,Sumarul proiectului,
+Total Tasks,Total sarcini,
+Tasks Completed,Sarcini finalizate,
+Tasks Overdue,Sarcini restante,
+Completion,Completare,
+Provident Fund Deductions,Deduceri din fondul Provident,
+Purchase Order Analysis,Analiza comenzii de cumpărare,
+From and To Dates are required.,De la și până la date sunt necesare.,
+To Date cannot be before From Date.,To Date nu poate fi înainte de From Date.,
+Qty to Bill,Cantitate pentru Bill,
+Group by Purchase Order,Grupați după ordinul de cumpărare,
+ Purchase Value,Valoare de cumpărare,
+Total Received Amount,Suma totală primită,
+Quality Inspection Summary,Rezumatul inspecției calității,
+ Quoted Amount,Suma citată,
+Lead Time (Days),Timp de plumb (zile),
+Include Expired,Includeți Expirat,
+Recruitment Analytics,Analize de recrutare,
+Applicant name,Numele solicitantului,
+Job Offer status,Starea ofertei de muncă,
+On Date,La întălnire,
+Requested Items to Order and Receive,Articolele solicitate la comandă și primire,
+Salary Payments Based On Payment Mode,Plăți salariale bazate pe modul de plată,
+Salary Payments via ECS,Plăți salariale prin ECS,
+Account No,Cont nr,
+IFSC,IFSC,
+MICR,MICR,
+Sales Order Analysis,Analiza comenzilor de vânzare,
+Amount Delivered,Suma livrată,
+Delay (in Days),Întârziere (în zile),
+Group by Sales Order,Grupați după comanda de vânzare,
+ Sales Value,Valoarea vânzărilor,
+Stock Qty vs Serial No Count,Cantitate stoc vs număr fără serie,
+Serial No Count,Număr de serie,
+Work Order Summary,Rezumatul comenzii de lucru,
+Produce Qty,Produceți cantitatea,
+Lead Time (in mins),Durata de livrare (în minute),
+Charts Based On,Diagramele bazate pe,
+YouTube Interactions,Interacțiuni YouTube,
+Published Date,Data publicării,
+Barnch,Barnch,
+Select a Company,Selectați o companie,
+Opportunity {0} created,Oportunitate {0} creată,
+Kindly select the company first,Vă rugăm să selectați mai întâi compania,
+Please enter From Date and To Date to generate JSON,Vă rugăm să introduceți De la dată și până la data pentru a genera JSON,
+PF Account,Cont PF,
+PF Amount,Suma PF,
+Additional PF,PF suplimentar,
+PF Loan,Împrumut PF,
+Download DATEV File,Descărcați fișierul DATEV,
+Numero has not set in the XML file,Numero nu a fost setat în fișierul XML,
+Inward Supplies(liable to reverse charge),Consumabile interne (susceptibile de a inversa taxa),
+This is based on the course schedules of this Instructor,Aceasta se bazează pe programele de curs ale acestui instructor,
+Course and Assessment,Curs și evaluare,
+Course {0} has been added to all the selected programs successfully.,Cursul {0} a fost adăugat cu succes la toate programele selectate.,
+Programs updated,Programe actualizate,
+Program and Course,Program și curs,
+{0} or {1} is mandatory,{0} sau {1} este obligatoriu,
+Mandatory Fields,Câmpuri obligatorii,
+Student {0}: {1} does not belong to Student Group {2},Student {0}: {1} nu aparține grupului de studenți {2},
+Student Attendance record {0} already exists against the Student {1},Înregistrarea prezenței studenților {0} există deja împotriva studentului {1},
+Duplicate Entry,Intrare duplicat,
+Course and Fee,Curs și Taxă,
+Not eligible for the admission in this program as per Date Of Birth,Nu este eligibil pentru admiterea în acest program conform datei nașterii,
+Topic {0} has been added to all the selected courses successfully.,Subiectul {0} a fost adăugat cu succes la toate cursurile selectate.,
+Courses updated,Cursuri actualizate,
+{0} {1} has been added to all the selected topics successfully.,{0} {1} a fost adăugat cu succes la toate subiectele selectate.,
+Topics updated,Subiecte actualizate,
+Academic Term and Program,Termen academic și program,
+Please remove this item and try to submit again or update the posting time.,Eliminați acest articol și încercați să trimiteți din nou sau să actualizați ora de postare.,
+Failed to Authenticate the API key.,Autentificarea cheii API nu a reușit.,
+Invalid Credentials,Acreditări nevalide,
+URL can only be a string,Adresa URL poate fi doar un șir,
+"Here is your webhook secret, this will be shown to you only once.","Iată secretul tău webhook, acesta îți va fi afișat o singură dată.",
+The payment for this membership is not paid. To generate invoice fill the payment details,Plata pentru acest membru nu este plătită. Pentru a genera factura completați detaliile de plată,
+An invoice is already linked to this document,O factură este deja legată de acest document,
+No customer linked to member {},Niciun client legat de membru {},
+You need to set <b>Debit Account</b> in Membership Settings,Trebuie să setați <b>Cont de debit</b> în Setări de membru,
+You need to set <b>Default Company</b> for invoicing in Membership Settings,Trebuie să setați <b>Compania implicită</b> pentru facturare în Setări de membru,
+You need to enable <b>Send Acknowledge Email</b> in Membership Settings,Trebuie să activați <b>Trimitere e-mail de confirmare</b> în setările de membru,
+Error creating membership entry for {0},Eroare la crearea intrării de membru pentru {0},
+A customer is already linked to this Member,Un client este deja legat de acest membru,
+End Date must not be lesser than Start Date,Data de încheiere nu trebuie să fie mai mică decât Data de începere,
+Employee {0} already has Active Shift {1}: {2},Angajatul {0} are deja Active Shift {1}: {2},
+ from {0},de la {0},
+ to {0},către {0},
+Please select Employee first.,Vă rugăm să selectați mai întâi Angajat.,
+Please set {0} for the Employee or for Department: {1},Vă rugăm să setați {0} pentru angajat sau pentru departament: {1},
+To Date should be greater than From Date,To Date ar trebui să fie mai mare decât From Date,
+Employee Onboarding: {0} is already for Job Applicant: {1},Integrarea angajaților: {0} este deja pentru solicitantul de post: {1},
+Job Offer: {0} is already for Job Applicant: {1},Ofertă de locuri de muncă: {0} este deja pentru solicitantul de post: {1},
+Only Shift Request with status 'Approved' and 'Rejected' can be submitted,Numai cererea Shift cu starea „Aprobat” și „Respins” poate fi trimisă,
+Shift Assignment: {0} created for Employee: {1},Atribuire schimbare: {0} creată pentru angajat: {1},
+You can not request for your Default Shift: {0},Nu puteți solicita schimbarea implicită: {0},
+Only Approvers can Approve this Request.,Numai aprobatorii pot aproba această solicitare.,
+Asset Value Analytics,Analiza valorii activelor,
+Category-wise Asset Value,Valoarea activelor în funcție de categorie,
+Total Assets,Total active,
+New Assets (This Year),Active noi (anul acesta),
+Row #{}: Depreciation Posting Date should not be equal to Available for Use Date.,Rândul {{}: Data de înregistrare a amortizării nu trebuie să fie egală cu Disponibil pentru data de utilizare.,
+Incorrect Date,Data incorectă,
+Invalid Gross Purchase Amount,Suma brută de achiziție nevalidă,
+There are active maintenance or repairs against the asset. You must complete all of them before cancelling the asset.,Există activități de întreținere sau reparații active asupra activului. Trebuie să le completați pe toate înainte de a anula activul.,
+% Complete,% Complet,
+Back to Course,Înapoi la curs,
+Finish Topic,Finalizați subiectul,
+Mins,Min,
+by,de,
+Back to,Înapoi la,
+Enrolling...,Se înscrie ...,
+You have successfully enrolled for the program ,V-ați înscris cu succes la program,
+Enrolled,Înscris,
+Watch Intro,Urmăriți Introducere,
+We're here to help!,Suntem aici pentru a vă ajuta!,
+Frequently Read Articles,Citiți frecvent articole,
+Please set a default company address,Vă rugăm să setați o adresă implicită a companiei,
+{0} is not a valid state! Check for typos or enter the ISO code for your state.,{0} nu este o stare validă! Verificați dacă există greșeli sau introduceți codul ISO pentru starea dvs.,
+Error occured while parsing Chart of Accounts: Please make sure that no two accounts have the same name,A apărut o eroare la analizarea planului de conturi: asigurați-vă că niciun cont nu are același nume,
+Plaid invalid request error,Eroare solicitare invalidă în carouri,
+Please check your Plaid client ID and secret values,Vă rugăm să verificați ID-ul dvs. de client Plaid și valorile secrete,
+Bank transaction creation error,Eroare la crearea tranzacțiilor bancare,
+Unit of Measurement,Unitate de măsură,
+Fiscal Year {0} Does Not Exist,Anul fiscal {0} nu există,
+Row # {0}: Returned Item {1} does not exist in {2} {3},Rândul # {0}: articolul returnat {1} nu există în {2} {3},
+Valuation type charges can not be marked as Inclusive,Taxele de tip de evaluare nu pot fi marcate ca Incluse,
+You do not have permissions to {} items in a {}.,Nu aveți permisiuni pentru {} articole dintr-un {}.,
+Insufficient Permissions,Permisiuni insuficiente,
+You are not allowed to update as per the conditions set in {} Workflow.,Nu aveți permisiunea de a actualiza conform condițiilor stabilite în {} Workflow.,
+Expense Account Missing,Cont de cheltuieli lipsește,
+{0} is not a valid Value for Attribute {1} of Item {2}.,{0} nu este o valoare validă pentru atributul {1} al articolului {2}.,
+Invalid Value,Valoare invalida,
+The value {0} is already assigned to an existing Item {1}.,Valoarea {0} este deja alocată unui articol existent {1}.,
+"To still proceed with editing this Attribute Value, enable {0} in Item Variant Settings.","Pentru a continua să editați această valoare a atributului, activați {0} în Setări pentru varianta articolului.",
+Edit Not Allowed,Editarea nu este permisă,
+Row #{0}: Item {1} is already fully received in Purchase Order {2},Rândul nr. {0}: Articolul {1} este deja complet primit în Comanda de cumpărare {2},
+You cannot create or cancel any accounting entries with in the closed Accounting Period {0},Nu puteți crea sau anula nicio înregistrare contabilă în perioada de contabilitate închisă {0},
+POS Invoice should have {} field checked.,Factura POS ar trebui să aibă selectat câmpul {}.,
+Invalid Item,Element nevalid,
+Row #{}: You cannot add postive quantities in a return invoice. Please remove item {} to complete the return.,Rândul # {}: nu puteți adăuga cantități postive într-o factură de returnare. Eliminați articolul {} pentru a finaliza returnarea.,
+The selected change account {} doesn't belongs to Company {}.,Contul de modificare selectat {} nu aparține companiei {}.,
+Atleast one invoice has to be selected.,Trebuie selectată cel puțin o factură.,
+Payment methods are mandatory. Please add at least one payment method.,Metodele de plată sunt obligatorii. Vă rugăm să adăugați cel puțin o metodă de plată.,
+Please select a default mode of payment,Vă rugăm să selectați un mod de plată implicit,
+You can only select one mode of payment as default,Puteți selecta doar un mod de plată ca prestabilit,
+Missing Account,Cont lipsă,
+Customers not selected.,Clienții nu sunt selectați.,
+Statement of Accounts,Declarație de conturi,
+Ageing Report Based On ,Raport de îmbătrânire bazat pe,
+Please enter distributed cost center,Vă rugăm să introduceți centrul de cost distribuit,
+Total percentage allocation for distributed cost center should be equal to 100,Alocarea procentuală totală pentru centrul de cost distribuit ar trebui să fie egală cu 100,
+Cannot enable Distributed Cost Center for a Cost Center already allocated in another Distributed Cost Center,Nu se poate activa Centrul de costuri distribuite pentru un centru de costuri deja alocat într-un alt centru de costuri distribuite,
+Parent Cost Center cannot be added in Distributed Cost Center,Centrul de costuri părinte nu poate fi adăugat în Centrul de costuri distribuite,
+A Distributed Cost Center cannot be added in the Distributed Cost Center allocation table.,Un centru de costuri distribuite nu poate fi adăugat în tabelul de alocare a centrului de costuri distribuite.,
+Cost Center with enabled distributed cost center can not be converted to group,Centrul de costuri cu centrul de costuri distribuite activat nu poate fi convertit în grup,
+Cost Center Already Allocated in a Distributed Cost Center cannot be converted to group,Centrul de cost deja alocat într-un centru de cost distribuit nu poate fi convertit în grup,
+Trial Period Start date cannot be after Subscription Start Date,Perioada de încercare Data de începere nu poate fi ulterioară datei de începere a abonamentului,
+Subscription End Date must be after {0} as per the subscription plan,Data de încheiere a abonamentului trebuie să fie după {0} conform planului de abonament,
+Subscription End Date is mandatory to follow calendar months,Data de încheiere a abonamentului este obligatorie pentru a urma lunile calendaristice,
+Row #{}: POS Invoice {} is not against customer {},Rândul # {}: factura POS {} nu este împotriva clientului {},
+Row #{}: POS Invoice {} is not submitted yet,Rândul # {}: factura POS {} nu a fost încă trimisă,
+Row #{}: POS Invoice {} has been {},Rândul # {}: factura POS {} a fost {},
+No Supplier found for Inter Company Transactions which represents company {0},Nu a fost găsit niciun furnizor pentru tranzacțiile între companii care să reprezinte compania {0},
+No Customer found for Inter Company Transactions which represents company {0},Nu a fost găsit niciun client pentru tranzacțiile între companii care reprezintă compania {0},
+Invalid Period,Perioadă nevalidă,
+Selected POS Opening Entry should be open.,Intrarea selectată de deschidere POS ar trebui să fie deschisă.,
+Invalid Opening Entry,Intrare de deschidere nevalidă,
+Please set a Company,Vă rugăm să setați o companie,
+"Sorry, this coupon code's validity has not started","Ne pare rău, valabilitatea acestui cod cupon nu a început",
+"Sorry, this coupon code's validity has expired","Ne pare rău, valabilitatea acestui cod de cupon a expirat",
+"Sorry, this coupon code is no longer valid","Ne pare rău, acest cod de cupon nu mai este valid",
+For the 'Apply Rule On Other' condition the field {0} is mandatory,"Pentru condiția „Aplică regula la altele”, câmpul {0} este obligatoriu",
+{1} Not in Stock,{1} Nu este în stoc,
+Only {0} in Stock for item {1},Numai {0} în stoc pentru articolul {1},
+Please enter a coupon code,Vă rugăm să introduceți un cod de cupon,
+Please enter a valid coupon code,Vă rugăm să introduceți un cod de cupon valid,
+Invalid Child Procedure,Procedură copil nevalidă,
+Import Italian Supplier Invoice.,Importați factura furnizorului italian.,
+"Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}.","Rata de evaluare pentru articolul {0}, este necesară pentru a face înregistrări contabile pentru {1} {2}.",
+ Here are the options to proceed:,Iată opțiunile pentru a continua:,
+"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.","Dacă articolul tranzacționează ca articol cu o rată de evaluare zero în această intrare, activați „Permiteți o rată de evaluare zero” în tabelul {0} Articol.",
+"If not, you can Cancel / Submit this entry ","Dacă nu, puteți anula / trimite această intrare",
+ performing either one below:,efectuând una dintre cele de mai jos:,
+Create an incoming stock transaction for the Item.,Creați o tranzacție de stoc primită pentru articol.,
+Mention Valuation Rate in the Item master.,Menționați rata de evaluare în elementul master.,
+Valuation Rate Missing,Rata de evaluare lipsește,
+Serial Nos Required,Numere de serie necesare,
+Quantity Mismatch,Cantitate necorespunzătoare,
+"Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List.","Vă rugăm să reporniți articolele și să actualizați lista de alegeri pentru a continua. Pentru a întrerupe, anulați lista de alegeri.",
+Out of Stock,Stoc epuizat,
+{0} units of Item {1} is not available.,{0} unități de articol {1} nu sunt disponibile.,
+Item for row {0} does not match Material Request,Elementul pentru rândul {0} nu se potrivește cu Cererea de material,
+Warehouse for row {0} does not match Material Request,Depozitul pentru rândul {0} nu se potrivește cu Cererea de material,
+Accounting Entry for Service,Intrare contabilă pentru service,
+All items have already been Invoiced/Returned,Toate articolele au fost deja facturate / returnate,
+All these items have already been Invoiced/Returned,Toate aceste articole au fost deja facturate / returnate,
+Stock Reconciliations,Reconcilieri stocuri,
+Merge not allowed,Îmbinarea nu este permisă,
+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.,"Următoarele atribute șterse există în variante, dar nu în șablon. Puteți șterge variantele sau puteți păstra atributele în șablon.",
+Variant Items,Elemente variante,
+Variant Attribute Error,Eroare a atributului variantei,
+The serial no {0} does not belong to item {1},Numărul de serie {0} nu aparține articolului {1},
+There is no batch found against the {0}: {1},Nu există niciun lot găsit împotriva {0}: {1},
+Completed Operation,Operațiune finalizată,
+Work Order Analysis,Analiza comenzii de lucru,
+Quality Inspection Analysis,Analiza inspecției calității,
+Pending Work Order,Ordin de lucru în așteptare,
+Last Month Downtime Analysis,Analiza timpului de nefuncționare de luna trecută,
+Work Order Qty Analysis,Analiza cantității comenzii de lucru,
+Job Card Analysis,Analiza fișei de muncă,
+Monthly Total Work Orders,Comenzi lunare totale de lucru,
+Monthly Completed Work Orders,Comenzi de lucru finalizate lunar,
+Ongoing Job Cards,Carduri de muncă în curs,
+Monthly Quality Inspections,Inspecții lunare de calitate,
+(Forecast),(Prognoza),
+Total Demand (Past Data),Cerere totală (date anterioare),
+Total Forecast (Past Data),Prognoză totală (date anterioare),
+Total Forecast (Future Data),Prognoză totală (date viitoare),
+Based On Document,Pe baza documentului,
+Based On Data ( in years ),Pe baza datelor (în ani),
+Smoothing Constant,Netezire constantă,
+Please fill the Sales Orders table,Vă rugăm să completați tabelul Comenzi de vânzare,
+Sales Orders Required,Sunt necesare comenzi de vânzare,
+Please fill the Material Requests table,Vă rugăm să completați tabelul Cereri de materiale,
+Material Requests Required,Cereri materiale necesare,
+Items to Manufacture are required to pull the Raw Materials associated with it.,Articolele de fabricație sunt necesare pentru a extrage materiile prime asociate acestuia.,
+Items Required,Elemente necesare,
+Operation {0} does not belong to the work order {1},Operația {0} nu aparține comenzii de lucru {1},
+Print UOM after Quantity,Imprimați UOM după Cantitate,
+Set default {0} account for perpetual inventory for non stock items,Setați contul {0} implicit pentru inventarul perpetuu pentru articolele care nu sunt în stoc,
+Loan Security {0} added multiple times,Securitatea împrumutului {0} adăugată de mai multe ori,
+Loan Securities with different LTV ratio cannot be pledged against one loan,Titlurile de împrumut cu un raport LTV diferit nu pot fi gajate împotriva unui singur împrumut,
+Qty or Amount is mandatory for loan security!,Cantitatea sau suma este obligatorie pentru securitatea împrumutului!,
+Only submittted unpledge requests can be approved,Numai cererile unpledge trimise pot fi aprobate,
+Interest Amount or Principal Amount is mandatory,Suma dobânzii sau suma principală este obligatorie,
+Disbursed Amount cannot be greater than {0},Suma plătită nu poate fi mai mare de {0},
+Row {0}: Loan Security {1} added multiple times,Rândul {0}: Securitatea împrumutului {1} adăugat de mai multe ori,
+Row #{0}: Child Item should not be a Product Bundle. Please remove Item {1} and Save,Rândul # {0}: articolul secundar nu trebuie să fie un pachet de produse. Eliminați articolul {1} și Salvați,
+Credit limit reached for customer {0},Limita de credit atinsă pentru clientul {0},
+Could not auto create Customer due to the following missing mandatory field(s):,Nu s-a putut crea automat Clientul din cauza următoarelor câmpuri obligatorii lipsă:,
+Please create Customer from Lead {0}.,Vă rugăm să creați Client din Lead {0}.,
+Mandatory Missing,Obligatoriu Lipsește,
+Please set Payroll based on in Payroll settings,Vă rugăm să setați salarizarea pe baza setărilor de salarizare,
+Additional Salary: {0} already exist for Salary Component: {1} for period {2} and {3},Salariu suplimentar: {0} există deja pentru componenta salariu: {1} pentru perioada {2} și {3},
+From Date can not be greater than To Date.,From Date nu poate fi mai mare decât To Date.,
+Payroll date can not be less than employee's joining date.,Data salarizării nu poate fi mai mică decât data aderării angajatului.,
+From date can not be less than employee's joining date.,De la data nu poate fi mai mică decât data aderării angajatului.,
+To date can not be greater than employee's relieving date.,Până în prezent nu poate fi mai mare decât data de eliberare a angajatului.,
+Payroll date can not be greater than employee's relieving date.,Data salarizării nu poate fi mai mare decât data de scutire a angajatului.,
+Row #{0}: Please enter the result value for {1},Rândul # {0}: introduceți valoarea rezultatului pentru {1},
+Mandatory Results,Rezultate obligatorii,
+Sales Invoice or Patient Encounter is required to create Lab Tests,Factura de vânzare sau întâlnirea pacientului sunt necesare pentru a crea teste de laborator,
+Insufficient Data,Date insuficiente,
+Lab Test(s) {0} created successfully,Testele de laborator {0} au fost create cu succes,
+Test :,Test :,
+Sample Collection {0} has been created,A fost creată colecția de probe {0},
+Normal Range: ,Gama normală:,
+Row #{0}: Check Out datetime cannot be less than Check In datetime,Rândul # {0}: data de check out nu poate fi mai mică decât data de check in,
+"Missing required details, did not create Inpatient Record","Lipsesc detaliile solicitate, nu s-a creat înregistrarea internată",
+Unbilled Invoices,Facturi nefacturate,
+Standard Selling Rate should be greater than zero.,Rata de vânzare standard ar trebui să fie mai mare decât zero.,
+Conversion Factor is mandatory,Factorul de conversie este obligatoriu,
+Row #{0}: Conversion Factor is mandatory,Rândul # {0}: factorul de conversie este obligatoriu,
+Sample Quantity cannot be negative or 0,Cantitatea eșantionului nu poate fi negativă sau 0,
+Invalid Quantity,Cantitate nevalidă,
+"Please set defaults for Customer Group, Territory and Selling Price List in Selling Settings","Vă rugăm să setați valorile implicite pentru grupul de clienți, teritoriu și lista de prețuri de vânzare din setările de vânzare",
+{0} on {1},{0} pe {1},
+{0} with {1},{0} cu {1},
+Appointment Confirmation Message Not Sent,Mesajul de confirmare a programării nu a fost trimis,
+"SMS not sent, please check SMS Settings","SMS-ul nu a fost trimis, verificați Setările SMS",
+Healthcare Service Unit Type cannot have both {0} and {1},"Tipul unității de servicii medicale nu poate avea atât {0}, cât și {1}",
+Healthcare Service Unit Type must allow atleast one among {0} and {1},Tipul unității de servicii medicale trebuie să permită cel puțin unul dintre {0} și {1},
+Set Response Time and Resolution Time for Priority {0} in row {1}.,Setați timpul de răspuns și timpul de rezoluție pentru prioritatea {0} în rândul {1}.,
+Response Time for {0} priority in row {1} can't be greater than Resolution Time.,Timpul de răspuns pentru {0} prioritatea în rândul {1} nu poate fi mai mare decât timpul de rezoluție.,
+{0} is not enabled in {1},{0} nu este activat în {1},
+Group by Material Request,Grupați după cerere de material,
+Email Sent to Supplier {0},E-mail trimis către furnizor {0},
+"The Access to Request for Quotation From Portal is Disabled. To Allow Access, Enable it in Portal Settings.","Accesul la cererea de ofertă de la portal este dezactivat. Pentru a permite accesul, activați-l în Setări portal.",
+Supplier Quotation {0} Created,Ofertă furnizor {0} creată,
+Valid till Date cannot be before Transaction Date,Valabil până la data nu poate fi înainte de data tranzacției,
+Unlink Advance Payment on Cancellation of Order,Deconectați plata în avans la anularea comenzii,
+"Simple Python Expression, Example: territory != 'All Territories'","Expresie simplă Python, Exemplu: teritoriu! = „Toate teritoriile”",
+Sales Contributions and Incentives,Contribuții la vânzări și stimulente,
+Sourced by Supplier,Aprovizionat de furnizor,
+Total weightage assigned should be 100%.<br>It is {0},Ponderea totală alocată ar trebui să fie de 100%.<br> Este {0},
+Account {0} exists in parent company {1}.,Contul {0} există în compania mamă {1}.,
+"To overrule this, enable '{0}' in company {1}","Pentru a ignora acest lucru, activați „{0}” în companie {1}",
+Invalid condition expression,Expresie de condiție nevalidă,
+Please Select a Company First,Vă rugăm să selectați mai întâi o companie,
+Please Select Both Company and Party Type First,"Vă rugăm să selectați mai întâi atât compania, cât și tipul de petrecere",
+Provide the invoice portion in percent,Furnizați partea de facturare în procente,
+Give number of days according to prior selection,Dați numărul de zile în funcție de selecția anterioară,
+Email Details,Detalii e-mail,
+"Select a greeting for the receiver. E.g. Mr., Ms., etc.","Selectați o felicitare pentru receptor. De exemplu, domnul, doamna etc.",
+Preview Email,Previzualizați e-mailul,
+Please select a Supplier,Vă rugăm să selectați un furnizor,
+Supplier Lead Time (days),Timp de livrare a furnizorului (zile),
+"Home, Work, etc.","Acasă, serviciu etc.",
+Exit Interview Held On,Ieșiți din interviu,
+Condition and formula,Stare și formulă,
+Sets 'Target Warehouse' in each row of the Items table.,Setează „Depozit țintă” în fiecare rând al tabelului Elemente.,
+Sets 'Source Warehouse' in each row of the Items table.,Setează „Depozit sursă” în fiecare rând al tabelului Elemente.,
+POS Register,Registrul POS,
+"Can not filter based on POS Profile, if grouped by POS Profile","Nu se poate filtra pe baza profilului POS, dacă este grupat după profilul POS",
+"Can not filter based on Customer, if grouped by Customer","Nu se poate filtra pe baza clientului, dacă este grupat după client",
+"Can not filter based on Cashier, if grouped by Cashier","Nu se poate filtra în funcție de Casier, dacă este grupat după Casier",
+Payment Method,Modalitate de plată,
+"Can not filter based on Payment Method, if grouped by Payment Method","Nu se poate filtra pe baza metodei de plată, dacă este grupată după metoda de plată",
+Supplier Quotation Comparison,Compararea ofertelor de ofertă,
+Price per Unit (Stock UOM),Preț per unitate (stoc UOM),
+Group by Supplier,Grup pe furnizor,
+Group by Item,Grupați după articol,
+Remember to set {field_label}. It is required by {regulation}.,Nu uitați să setați {field_label}. Este cerut de {regulament}.,
+Enrollment Date cannot be before the Start Date of the Academic Year {0},Data înscrierii nu poate fi înainte de data de începere a anului academic {0},
+Enrollment Date cannot be after the End Date of the Academic Term {0},Data înscrierii nu poate fi ulterioară datei de încheiere a termenului academic {0},
+Enrollment Date cannot be before the Start Date of the Academic Term {0},Data înscrierii nu poate fi anterioară datei de începere a termenului academic {0},
+Future Posting Not Allowed,Postarea viitoare nu este permisă,
+"To enable Capital Work in Progress Accounting, ","Pentru a permite contabilitatea activității de capital în curs,",
+you must select Capital Work in Progress Account in accounts table,trebuie să selectați Contul de capital în curs în tabelul de conturi,
+You can also set default CWIP account in Company {},"De asemenea, puteți seta contul CWIP implicit în Companie {}",
+The Request for Quotation can be accessed by clicking on the following button,Cererea de ofertă poate fi accesată făcând clic pe butonul următor,
+Regards,Salutari,
+Please click on the following button to set your new password,Vă rugăm să faceți clic pe următorul buton pentru a seta noua parolă,
+Update Password,Actualizați parola,
+Row #{}: Selling rate for item {} is lower than its {}. Selling {} should be atleast {},Rândul # {}: rata de vânzare a articolului {} este mai mică decât {}. Vânzarea {} ar trebui să fie cel puțin {},
+You can alternatively disable selling price validation in {} to bypass this validation.,Puteți dezactiva alternativ validarea prețului de vânzare în {} pentru a ocoli această validare.,
+Invalid Selling Price,Preț de vânzare nevalid,
+Address needs to be linked to a Company. Please add a row for Company in the Links table.,Adresa trebuie să fie legată de o companie. Vă rugăm să adăugați un rând pentru Companie în tabelul Legături.,
+Company Not Linked,Compania nu este legată,
+Import Chart of Accounts from CSV / Excel files,Importați planul de conturi din fișiere CSV / Excel,
+Completed Qty cannot be greater than 'Qty to Manufacture',Cantitatea completată nu poate fi mai mare decât „Cantitatea pentru fabricare”,
+"Row {0}: For Supplier {1}, Email Address is Required to send an email","Rândul {0}: pentru furnizor {1}, este necesară adresa de e-mail pentru a trimite un e-mail",
+"If enabled, the system will post accounting entries for inventory automatically","Dacă este activat, sistemul va înregistra automat înregistrări contabile pentru inventar",
+Accounts Frozen Till Date,Conturi congelate până la data,
+Accounting entries are frozen up to this date. Nobody can create or modify entries except users with the role specified below,"Înregistrările contabile sunt înghețate până la această dată. Nimeni nu poate crea sau modifica intrări, cu excepția utilizatorilor cu rolul specificat mai jos",
+Role Allowed to Set Frozen Accounts and Edit Frozen Entries,Rolul permis pentru setarea conturilor înghețate și editarea intrărilor înghețate,
+Address used to determine Tax Category in transactions,Adresa utilizată pentru determinarea categoriei fiscale în tranzacții,
+"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 ","Procentul pe care vi se permite să îl facturați mai mult pentru suma comandată. De exemplu, dacă valoarea comenzii este de 100 USD pentru un articol și toleranța este setată la 10%, atunci aveți permisiunea de a factura până la 110 USD",
+This role is allowed to submit transactions that exceed credit limits,Acest rol este permis să trimită tranzacții care depășesc limitele de credit,
+"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","Dacă este selectată „Luni”, o sumă fixă va fi înregistrată ca venit sau cheltuială amânată pentru fiecare lună, indiferent de numărul de zile dintr-o lună. Acesta va fi proporțional dacă veniturile sau cheltuielile amânate nu sunt înregistrate pentru o lună întreagă",
+"If this is unchecked, direct GL entries will be created to book deferred revenue or expense","Dacă acest lucru nu este bifat, vor fi create intrări GL directe pentru a înregistra venituri sau cheltuieli amânate",
+Show Inclusive Tax in Print,Afișați impozitul inclus în tipar,
+Only select this if you have set up the Cash Flow Mapper documents,Selectați acest lucru numai dacă ați configurat documentele Cartografierii fluxurilor de numerar,
+Payment Channel,Canal de plată,
+Is Purchase Order Required for Purchase Invoice & Receipt Creation?,Este necesară comanda de cumpărare pentru crearea facturii de achiziție și a chitanței?,
+Is Purchase Receipt Required for Purchase Invoice Creation?,Este necesară chitanța de cumpărare pentru crearea facturii de cumpărare?,
+Maintain Same Rate Throughout the Purchase Cycle,Mențineți aceeași rată pe tot parcursul ciclului de cumpărare,
+Allow Item To Be Added Multiple Times in a Transaction,Permiteți adăugarea articolului de mai multe ori într-o tranzacție,
+Suppliers,Furnizori,
+Send Emails to Suppliers,Trimiteți e-mailuri furnizorilor,
+Select a Supplier,Selectați un furnizor,
+Cannot mark attendance for future dates.,Nu se poate marca prezența pentru date viitoare.,
+Do you want to update attendance? <br> Present: {0} <br> Absent: {1},Doriți să actualizați prezența?<br> Prezent: {0}<br> Absent: {1},
+Mpesa Settings,Setări Mpesa,
+Initiator Name,Numele inițiatorului,
+Till Number,Până la numărul,
+Sandbox,Sandbox,
+ Online PassKey,Online PassKey,
+Security Credential,Acreditare de securitate,
+Get Account Balance,Obțineți soldul contului,
+Please set the initiator name and the security credential,Vă rugăm să setați numele inițiatorului și acreditările de securitate,
+Inpatient Medication Entry,Intrarea în medicamente pentru pacienții internați,
+HLC-IME-.YYYY.-,HLC-IME-.YYYY.-,
+Item Code (Drug),Cod articol (medicament),
+Medication Orders,Comenzi de medicamente,
+Get Pending Medication Orders,Obțineți comenzi de medicamente în așteptare,
+Inpatient Medication Orders,Comenzi pentru medicamente internate,
+Medication Warehouse,Depozit de medicamente,
+Warehouse from where medication stock should be consumed,Depozit de unde ar trebui consumat stocul de medicamente,
+Fetching Pending Medication Orders,Preluarea comenzilor de medicamente în așteptare,
+Inpatient Medication Entry Detail,Detalii privind intrarea medicamentelor pentru pacienții internați,
+Medication Details,Detalii despre medicamente,
+Drug Code,Codul drogurilor,
+Drug Name,Numele medicamentului,
+Against Inpatient Medication Order,Împotriva ordinului privind medicamentul internat,
+Against Inpatient Medication Order Entry,Împotriva introducerii comenzii pentru medicamente internate,
+Inpatient Medication Order,Ordinul privind medicamentul internat,
+HLC-IMO-.YYYY.-,HLC-IMO-.YYYY.-,
+Total Orders,Total comenzi,
+Completed Orders,Comenzi finalizate,
+Add Medication Orders,Adăugați comenzi de medicamente,
+Adding Order Entries,Adăugarea intrărilor de comandă,
+{0} medication orders completed,{0} comenzi de medicamente finalizate,
+{0} medication order completed,{0} comandă de medicamente finalizată,
+Inpatient Medication Order Entry,Intrarea comenzii pentru medicamente internate,
+Is Order Completed,Comanda este finalizată,
+Employee Records to Be Created By,Înregistrările angajaților care trebuie create de,
+Employee records are created using the selected field,Înregistrările angajaților sunt create folosind câmpul selectat,
+Don't send employee birthday reminders,Nu trimiteți memento-uri de ziua angajaților,
+Restrict Backdated Leave Applications,Restricționează aplicațiile de concediu actualizate,
+Sequence ID,ID secvență,
+Sequence Id,Secvența Id,
+Allow multiple material consumptions against a Work Order,Permiteți mai multe consumuri de materiale împotriva unei comenzi de lucru,
+Plan time logs outside Workstation working hours,Planificați jurnalele de timp în afara programului de lucru al stației de lucru,
+Plan operations X days in advance,Planificați operațiunile cu X zile înainte,
+Time Between Operations (Mins),Timpul dintre operații (min.),
+Default: 10 mins,Implicit: 10 minute,
+Overproduction for Sales and Work Order,Supraproducție pentru vânzări și comandă de lucru,
+"Update BOM cost automatically via scheduler, based on the latest Valuation Rate/Price List Rate/Last Purchase Rate of raw materials","Actualizați automat costul BOM prin programator, pe baza celei mai recente rate de evaluare / tarif de listă de prețuri / ultimul procent de cumpărare a materiilor prime",
+Purchase Order already created for all Sales Order items,Comanda de cumpărare deja creată pentru toate articolele comenzii de vânzare,
+Select Items,Selectați elemente,
+Against Default Supplier,Împotriva furnizorului implicit,
+Auto close Opportunity after the no. of days mentioned above,Închidere automată Oportunitate după nr. de zile menționate mai sus,
+Is Sales Order Required for Sales Invoice & Delivery Note Creation?,Este necesară comanda de vânzare pentru crearea facturilor de vânzare și a notelor de livrare?,
+Is Delivery Note Required for Sales Invoice Creation?,Este necesară nota de livrare pentru crearea facturii de vânzare?,
+How often should Project and Company be updated based on Sales Transactions?,Cât de des ar trebui actualizate proiectul și compania pe baza tranzacțiilor de vânzare?,
+Allow User to Edit Price List Rate in Transactions,Permiteți utilizatorului să editeze rata listei de prețuri în tranzacții,
+Allow Item to Be Added Multiple Times in a Transaction,Permiteți adăugarea articolului de mai multe ori într-o tranzacție,
+Allow Multiple Sales Orders Against a Customer's Purchase Order,Permiteți mai multe comenzi de vânzare împotriva comenzii de cumpărare a unui client,
+Validate Selling Price for Item Against Purchase Rate or Valuation Rate,Validați prețul de vânzare al articolului împotriva ratei de achiziție sau a ratei de evaluare,
+Hide Customer's Tax ID from Sales Transactions,Ascundeți codul fiscal al clientului din tranzacțiile de vânzare,
+"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.","Procentul pe care vi se permite să îl primiți sau să livrați mai mult în raport cu cantitatea comandată. De exemplu, dacă ați comandat 100 de unități, iar alocația dvs. este de 10%, atunci aveți permisiunea de a primi 110 unități.",
+Action If Quality Inspection Is Not Submitted,Acțiune dacă inspecția de calitate nu este trimisă,
+Auto Insert Price List Rate If Missing,Introduceți automat prețul listei de prețuri dacă lipsește,
+Automatically Set Serial Nos Based on FIFO,Setați automat numărul de serie pe baza FIFO,
+Set Qty in Transactions Based on Serial No Input,Setați cantitatea în tranzacțiile bazate pe intrare de serie,
+Raise Material Request When Stock Reaches Re-order Level,Creșteți cererea de material atunci când stocul atinge nivelul de re-comandă,
+Notify by Email on Creation of Automatic Material Request,Notificați prin e-mail la crearea cererii automate de materiale,
+Allow Material Transfer from Delivery Note to Sales Invoice,Permiteți transferul de materiale din nota de livrare către factura de vânzare,
+Allow Material Transfer from Purchase Receipt to Purchase Invoice,Permiteți transferul de materiale de la chitanța de cumpărare la factura de cumpărare,
+Freeze Stocks Older Than (Days),Înghețați stocurile mai vechi de (zile),
+Role Allowed to Edit Frozen Stock,Rolul permis pentru editarea stocului înghețat,
+The unallocated amount of Payment Entry {0} is greater than the Bank Transaction's unallocated amount,Valoarea nealocată a intrării de plată {0} este mai mare decât suma nealocată a tranzacției bancare,
+Payment Received,Plata primita,
+Attendance cannot be marked outside of Academic Year {0},Prezența nu poate fi marcată în afara anului academic {0},
+Student is already enrolled via Course Enrollment {0},Studentul este deja înscris prin Înscrierea la curs {0},
+Attendance cannot be marked for future dates.,Prezența nu poate fi marcată pentru datele viitoare.,
+Please add programs to enable admission application.,Vă rugăm să adăugați programe pentru a activa cererea de admitere.,
+The following employees are currently still reporting to {0}:,"În prezent, următorii angajați raportează încă la {0}:",
+Please make sure the employees above report to another Active employee.,Vă rugăm să vă asigurați că angajații de mai sus raportează unui alt angajat activ.,
+Cannot Relieve Employee,Nu poate scuti angajatul,
+Please enter {0},Vă rugăm să introduceți {0},
+Please select another payment method. Mpesa does not support transactions in currency '{0}',Vă rugăm să selectați o altă metodă de plată. Mpesa nu acceptă tranzacții în moneda „{0}”,
+Transaction Error,Eroare de tranzacție,
+Mpesa Express Transaction Error,Eroare tranzacție Mpesa Express,
+"Issue detected with Mpesa configuration, check the error logs for more details","Problemă detectată la configurația Mpesa, verificați jurnalele de erori pentru mai multe detalii",
+Mpesa Express Error,Eroare Mpesa Express,
+Account Balance Processing Error,Eroare procesare sold sold,
+Please check your configuration and try again,Vă rugăm să verificați configurația și să încercați din nou,
+Mpesa Account Balance Processing Error,Eroare de procesare a soldului contului Mpesa,
+Balance Details,Detalii sold,
+Current Balance,Sold curent,
+Available Balance,Sold disponibil,
+Reserved Balance,Sold rezervat,
+Uncleared Balance,Sold neclar,
+Payment related to {0} is not completed,Plata aferentă {0} nu este finalizată,
+Row #{}: Item Code: {} is not available under warehouse {}.,Rândul # {}: Codul articolului: {} nu este disponibil în depozit {}.,
+Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rândul # {}: cantitatea de stoc nu este suficientă pentru codul articolului: {} în depozit {}. Cantitate Disponibilă {}.,
+Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rândul # {}: selectați un număr de serie și împărțiți-l cu elementul: {} sau eliminați-l pentru a finaliza tranzacția.,
+Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.,Rândul # {}: nu a fost selectat niciun număr de serie pentru elementul: {}. Vă rugăm să selectați una sau să o eliminați pentru a finaliza tranzacția.,
+Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.,Rândul # {}: nu a fost selectat niciun lot pentru elementul: {}. Vă rugăm să selectați un lot sau să îl eliminați pentru a finaliza tranzacția.,
+Payment amount cannot be less than or equal to 0,Suma plății nu poate fi mai mică sau egală cu 0,
+Please enter the phone number first,Vă rugăm să introduceți mai întâi numărul de telefon,
+Row #{}: {} {} does not exist.,Rândul # {}: {} {} nu există.,
+Row #{0}: {1} is required to create the Opening {2} Invoices,Rândul # {0}: {1} este necesar pentru a crea facturile de deschidere {2},
+You had {} errors while creating opening invoices. Check {} for more details,Ați avut {} erori la crearea facturilor de deschidere. Verificați {} pentru mai multe detalii,
+Error Occured,A aparut o eroare,
+Opening Invoice Creation In Progress,Se deschide crearea facturii în curs,
+Creating {} out of {} {},Se creează {} din {} {},
+(Serial No: {0}) cannot be consumed as it's reserverd to fullfill Sales Order {1}.,(Nr. De serie: {0}) nu poate fi consumat deoarece este rezervat pentru a îndeplini comanda de vânzare {1}.,
+Item {0} {1},Element {0} {1},
+Last Stock Transaction for item {0} under warehouse {1} was on {2}.,Ultima tranzacție de stoc pentru articolul {0} aflat în depozit {1} a fost pe {2}.,
+Stock Transactions for Item {0} under warehouse {1} cannot be posted before this time.,Tranzacțiile de stoc pentru articolul {0} aflat în depozit {1} nu pot fi înregistrate înainte de această dată.,
+Posting future stock transactions are not allowed due to Immutable Ledger,Înregistrarea tranzacțiilor viitoare cu acțiuni nu este permisă din cauza contabilității imuabile,
+A BOM with name {0} already exists for item {1}.,O listă cu numele {0} există deja pentru articolul {1}.,
+{0}{1} Did you rename the item? Please contact Administrator / Tech support,{0} {1} Ați redenumit articolul? Vă rugăm să contactați administratorul / asistența tehnică,
+At row #{0}: the sequence id {1} cannot be less than previous row sequence id {2},La rândul # {0}: ID-ul secvenței {1} nu poate fi mai mic decât ID-ul anterior al secvenței de rând {2},
+The {0} ({1}) must be equal to {2} ({3}),{0} ({1}) trebuie să fie egal cu {2} ({3}),
+"{0}, complete the operation {1} before the operation {2}.","{0}, finalizați operația {1} înainte de operație {2}.",
+Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No.,Nu se poate asigura livrarea prin numărul de serie deoarece articolul {0} este adăugat cu și fără Asigurați livrarea prin numărul de serie,
+Item {0} has no Serial No. Only serilialized items can have delivery based on Serial No,Articolul {0} nu are nr. De serie. Numai articolele serializate pot fi livrate pe baza numărului de serie,
+No active BOM found for item {0}. Delivery by Serial No cannot be ensured,Nu s-a găsit niciun material activ pentru articolul {0}. Livrarea prin nr. De serie nu poate fi asigurată,
+No pending medication orders found for selected criteria,Nu s-au găsit comenzi de medicamente în așteptare pentru criteriile selectate,
+From Date cannot be after the current date.,From Date nu poate fi după data curentă.,
+To Date cannot be after the current date.,To Date nu poate fi după data curentă.,
+From Time cannot be after the current time.,From Time nu poate fi după ora curentă.,
+To Time cannot be after the current time.,To Time nu poate fi după ora curentă.,
+Stock Entry {0} created and ,Înregistrare stoc {0} creată și,
+Inpatient Medication Orders updated successfully,Comenzile pentru medicamente internate au fost actualizate cu succes,
+Row {0}: Cannot create Inpatient Medication Entry against cancelled Inpatient Medication Order {1},Rândul {0}: Nu se poate crea o intrare pentru medicamentul internat împotriva comenzii anulate pentru medicamentul internat {1},
+Row {0}: This Medication Order is already marked as completed,Rândul {0}: această comandă de medicamente este deja marcată ca finalizată,
+Quantity not available for {0} in warehouse {1},Cantitatea nu este disponibilă pentru {0} în depozit {1},
+Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Vă rugăm să activați Permiteți stocul negativ în setările stocului sau creați intrarea stocului pentru a continua.,
+No Inpatient Record found against patient {0},Nu s-a găsit nicio înregistrare a pacientului internat împotriva pacientului {0},
+An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Există deja un ordin de medicare internă {0} împotriva întâlnirii pacientului {1}.,
+Allow In Returns,Permiteți returnări,
+Hide Unavailable Items,Ascundeți articolele indisponibile,
+Apply Discount on Discounted Rate,Aplicați reducere la tariful redus,
+Therapy Plan Template,Șablon de plan de terapie,
+Fetching Template Details,Preluarea detaliilor șablonului,
+Linked Item Details,Detalii legate de articol,
+Therapy Types,Tipuri de terapie,
+Therapy Plan Template Detail,Detaliu șablon plan de terapie,
+Non Conformance,Non conformist,
+Process Owner,Deținătorul procesului,
+Corrective Action,Acțiune corectivă,
+Preventive Action,Actiune preventiva,
+Problem,Problemă,
+Responsible,Responsabil,
+Completion By,Finalizare de,
+Process Owner Full Name,Numele complet al proprietarului procesului,
+Right Index,Index corect,
+Left Index,Index stânga,
+Sub Procedure,Sub procedură,
+Passed,A trecut,
+Print Receipt,Tipărire chitanță,
+Edit Receipt,Editați chitanța,
+Focus on search input,Concentrați-vă pe introducerea căutării,
+Focus on Item Group filter,Concentrați-vă pe filtrul Grup de articole,
+Checkout Order / Submit Order / New Order,Comanda de comandă / Trimiteți comanda / Comanda nouă,
+Add Order Discount,Adăugați reducere la comandă,
+Item Code: {0} is not available under warehouse {1}.,Cod articol: {0} nu este disponibil în depozit {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numerele de serie nu sunt disponibile pentru articolul {0} aflat în depozit {1}. Vă rugăm să încercați să schimbați depozitul.,
+Fetched only {0} available serial numbers.,S-au preluat numai {0} numere de serie disponibile.,
+Switch Between Payment Modes,Comutați între modurile de plată,
+Enter {0} amount.,Introduceți suma {0}.,
+You don't have enough points to redeem.,Nu aveți suficiente puncte de valorificat.,
+You can redeem upto {0}.,Puteți valorifica până la {0}.,
+Enter amount to be redeemed.,Introduceți suma de răscumpărat.,
+You cannot redeem more than {0}.,Nu puteți valorifica mai mult de {0}.,
+Open Form View,Deschideți vizualizarea formularului,
+POS invoice {0} created succesfully,Factura POS {0} a fost creată cu succes,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Cantitatea de stoc nu este suficientă pentru Codul articolului: {0} în depozit {1}. Cantitatea disponibilă {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Nr. De serie: {0} a fost deja tranzacționat într-o altă factură POS.,
+Balance Serial No,Nr,
+Warehouse: {0} does not belong to {1},Depozit: {0} nu aparține {1},
+Please select batches for batched item {0},Vă rugăm să selectați loturile pentru elementul lot {0},
+Please select quantity on row {0},Vă rugăm să selectați cantitatea de pe rândul {0},
+Please enter serial numbers for serialized item {0},Introduceți numerele de serie pentru articolul serializat {0},
+Batch {0} already selected.,Lotul {0} deja selectat.,
+Please select a warehouse to get available quantities,Vă rugăm să selectați un depozit pentru a obține cantitățile disponibile,
+"For transfer from source, selected quantity cannot be greater than available quantity","Pentru transfer din sursă, cantitatea selectată nu poate fi mai mare decât cantitatea disponibilă",
+Cannot find Item with this Barcode,Nu se poate găsi un articol cu acest cod de bare,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} este obligatoriu. Poate că înregistrarea schimbului valutar nu este creată pentru {1} până la {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} a trimis materiale legate de acesta. Trebuie să anulați activele pentru a crea returnarea achiziției.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Nu se poate anula acest document deoarece este asociat cu materialul trimis {0}. Anulați-l pentru a continua.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rândul # {}: numărul de serie {} a fost deja tranzacționat într-o altă factură POS. Vă rugăm să selectați numărul de serie valid.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rândul # {}: Nr. De serie {} a fost deja tranzacționat într-o altă factură POS. Vă rugăm să selectați numărul de serie valid.,
+Item Unavailable,Elementul nu este disponibil,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rândul # {}: seria nr. {} Nu poate fi returnată deoarece nu a fost tranzacționată în factura originală {},
+Please set default Cash or Bank account in Mode of Payment {},Vă rugăm să setați implicit numerar sau cont bancar în modul de plată {},
+Please set default Cash or Bank account in Mode of Payments {},Vă rugăm să setați implicit numerar sau cont bancar în modul de plăți {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Vă rugăm să vă asigurați că {} contul este un cont de bilanț. Puteți schimba contul părinte într-un cont de bilanț sau puteți selecta un alt cont.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Vă rugăm să vă asigurați că {} contul este un cont de plătit. Schimbați tipul de cont la Plătibil sau selectați un alt cont.,
+Row {}: Expense Head changed to {} ,Rând {}: capul cheltuielilor a fost schimbat în {},
+because account {} is not linked to warehouse {} ,deoarece contul {} nu este conectat la depozit {},
+or it is not the default inventory account,sau nu este contul de inventar implicit,
+Expense Head Changed,Capul cheltuielilor s-a schimbat,
+because expense is booked against this account in Purchase Receipt {},deoarece cheltuielile sunt rezervate pentru acest cont în chitanța de cumpărare {},
+as no Purchase Receipt is created against Item {}. ,deoarece nu se creează chitanță de cumpărare împotriva articolului {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Acest lucru se face pentru a gestiona contabilitatea cazurilor în care Bonul de cumpărare este creat după factura de achiziție,
+Purchase Order Required for item {},Comandă de achiziție necesară pentru articolul {},
+To submit the invoice without purchase order please set {} ,"Pentru a trimite factura fără comandă de cumpărare, setați {}",
+as {} in {},ca în {},
+Mandatory Purchase Order,Comandă de cumpărare obligatorie,
+Purchase Receipt Required for item {},Chitanță de cumpărare necesară pentru articolul {},
+To submit the invoice without purchase receipt please set {} ,"Pentru a trimite factura fără chitanță de cumpărare, setați {}",
+Mandatory Purchase Receipt,Chitanță de cumpărare obligatorie,
+POS Profile {} does not belongs to company {},Profilul POS {} nu aparține companiei {},
+User {} is disabled. Please select valid user/cashier,Utilizatorul {} este dezactivat. Vă rugăm să selectați un utilizator / casier valid,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Rândul # {}: factura originală {} a facturii de returnare {} este {}.,
+Original invoice should be consolidated before or along with the return invoice.,Factura originală ar trebui consolidată înainte sau împreună cu factura de returnare.,
+You can add original invoice {} manually to proceed.,Puteți adăuga factura originală {} manual pentru a continua.,
+Please ensure {} account is a Balance Sheet account. ,Vă rugăm să vă asigurați că {} contul este un cont de bilanț.,
+You can change the parent account to a Balance Sheet account or select a different account.,Puteți schimba contul părinte într-un cont de bilanț sau puteți selecta un alt cont.,
+Please ensure {} account is a Receivable account. ,Vă rugăm să vă asigurați că {} contul este un cont de încasat.,
+Change the account type to Receivable or select a different account.,Schimbați tipul de cont pentru de primit sau selectați un alt cont.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} nu poate fi anulat, deoarece punctele de loialitate câștigate au fost valorificate. Anulați mai întâi {} Nu {}",
+already exists,deja exista,
+POS Closing Entry {} against {} between selected period,Închidere POS {} contra {} între perioada selectată,
+POS Invoice is {},Factura POS este {},
+POS Profile doesn't matches {},Profilul POS nu se potrivește cu {},
+POS Invoice is not {},Factura POS nu este {},
+POS Invoice isn't created by user {},Factura POS nu este creată de utilizator {},
+Row #{}: {},Rând #{}: {},
+Invalid POS Invoices,Facturi POS nevalide,
+Please add the account to root level Company - {},Vă rugăm să adăugați contul la compania la nivel de rădăcină - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","În timp ce creați un cont pentru Compania copil {0}, contul părinte {1} nu a fost găsit. Vă rugăm să creați contul părinte în COA corespunzător",
+Account Not Found,Contul nu a fost găsit,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","În timp ce creați un cont pentru Compania pentru copii {0}, contul părinte {1} a fost găsit ca un cont mare.",
+Please convert the parent account in corresponding child company to a group account.,Vă rugăm să convertiți contul părinte al companiei copil corespunzătoare într-un cont de grup.,
+Invalid Parent Account,Cont părinte nevalid,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Redenumirea acestuia este permisă numai prin intermediul companiei-mamă {0}, pentru a evita nepotrivirea.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Dacă {0} {1} cantitățile articolului {2}, schema {3} va fi aplicată articolului.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Dacă {0} {1} valorează articolul {2}, schema {3} va fi aplicată articolului.",
+"As the field {0} is enabled, the field {1} is mandatory.","Deoarece câmpul {0} este activat, câmpul {1} este obligatoriu.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Deoarece câmpul {0} este activat, valoarea câmpului {1} trebuie să fie mai mare de 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Nu se poate livra numărul de serie {0} al articolului {1} deoarece este rezervat pentru a îndeplini comanda de vânzare {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Comanda de vânzări {0} are rezervare pentru articolul {1}, puteți livra rezervat {1} numai cu {0}.",
+{0} Serial No {1} cannot be delivered,{0} Numărul de serie {1} nu poate fi livrat,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Rândul {0}: articolul subcontractat este obligatoriu pentru materia primă {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Deoarece există suficiente materii prime, cererea de material nu este necesară pentru depozit {0}.",
+" If you still want to proceed, please enable {0}.","Dacă totuși doriți să continuați, activați {0}.",
+The item referenced by {0} - {1} is already invoiced,Elementul la care face referire {0} - {1} este deja facturat,
+Therapy Session overlaps with {0},Sesiunea de terapie se suprapune cu {0},
+Therapy Sessions Overlapping,Sesiunile de terapie se suprapun,
+Therapy Plans,Planuri de terapie,
+"Item Code, warehouse, quantity are required on row {0}","Codul articolului, depozitul, cantitatea sunt necesare pe rândul {0}",
+Get Items from Material Requests against this Supplier,Obțineți articole din solicitările materiale împotriva acestui furnizor,
+Enable European Access,Activați accesul european,
+Creating Purchase Order ...,Se creează comanda de cumpărare ...,
+"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.","Selectați un furnizor din furnizorii prestabiliți ai articolelor de mai jos. La selectare, o comandă de achiziție va fi făcută numai pentru articolele aparținând furnizorului selectat.",
+Row #{}: You must select {} serial numbers for item {}.,Rândul # {}: trebuie să selectați {} numere de serie pentru articol {}.,
diff --git a/erpnext/translations/ru.csv b/erpnext/translations/ru.csv
index 1fc37dd..ab36068 100644
--- a/erpnext/translations/ru.csv
+++ b/erpnext/translations/ru.csv
@@ -7417,15 +7417,15 @@
 Project will be accessible on the website to these users,Проект будет доступен на веб-сайте для этих пользователей,
 Copied From,Скопировано из,
 Start and End Dates,Даты начала и окончания,
-Actual Time (in Hours),Фактическое время (в часах),
+Actual Time in Hours (via Timesheet),Фактическое время (в часах),
 Costing and Billing,Стоимость и платежи,
-Total Costing Amount (via Timesheets),Общая стоимость (по табелю учета рабочего времени),
-Total Expense Claim (via Expense Claims),Итоговая сумма аванса (через возмещение расходов),
+Total Costing Amount (via Timesheet),Общая стоимость (по табелю учета рабочего времени),
+Total Expense Claim (via Expense Claim),Итоговая сумма аванса (через возмещение расходов),
 Total Purchase Cost (via Purchase Invoice),Общая стоимость покупки (по счетам закупок),
 Total Sales Amount (via Sales Order),Общая сумма продажи (по сделке),
-Total Billable Amount (via Timesheets),Общая сумма платежа (по табелю учета рабочего времени),
-Total Billed Amount (via Sales Invoices),Общая сумма выставленных счетов (по счетам продаж),
-Total Consumed Material Cost  (via Stock Entry),Общая потребляемая материальная стоимость (через записи на складе),
+Total Billable Amount (via Timesheet),Общая сумма платежа (по табелю учета рабочего времени),
+Total Billed Amount (via Sales Invoice),Общая сумма выставленных счетов (по счетам продаж),
+Total Consumed Material Cost (via Stock Entry),Общая потребляемая материальная стоимость (через записи на складе),
 Gross Margin,Валовая прибыль,
 Gross Margin %,Валовая маржа %,
 Monitor Progress,Мониторинг готовности,
@@ -7459,12 +7459,10 @@
 Dependencies,Зависимости,
 Dependent Tasks,Зависит от задач,
 Depends on Tasks,Зависит от задач,
-Actual Start Date (via Time Sheet),Фактическая дата начала (по табелю учета рабочего времени),
-Actual Time (in hours),Фактическое время (в часах),
-Actual End Date (via Time Sheet),Фактическая дата окончания (по табелю учета рабочего времени),
-Total Costing Amount (via Time Sheet),Общая калькуляция Сумма (по табелю учета рабочего времени),
+Actual Start Date (via Timesheet),Фактическая дата начала (по табелю учета рабочего времени),
+Actual Time in Hours (via Timesheet),Фактическое время (в часах),
+Actual End Date (via Timesheet),Фактическая дата окончания (по табелю учета рабочего времени),
 Total Expense Claim (via Expense Claim),Итоговая сумма аванса (через Авансовый Отчет),
-Total Billing Amount (via Time Sheet),Общая сумма Billing (по табелю учета рабочего времени),
 Review Date,Дата проверки,
 Closing Date,Дата закрытия,
 Task Depends On,Задача зависит от,
diff --git a/erpnext/translations/rw.csv b/erpnext/translations/rw.csv
index 741f117..7985d35 100644
--- a/erpnext/translations/rw.csv
+++ b/erpnext/translations/rw.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Umushinga uzagerwaho kurubuga kubakoresha,
 Copied From,Yandukuwe Kuva,
 Start and End Dates,Amatariki yo Gutangiriraho no Kurangiza,
-Actual Time (in Hours),Igihe nyacyo (mu masaha),
+Actual Time in Hours (via Timesheet),Igihe nyacyo (mu masaha),
 Costing and Billing,Igiciro na fagitire,
-Total Costing Amount (via Timesheets),Amafaranga Yuzuye Yuzuye (ukoresheje Timesheets),
-Total Expense Claim (via Expense Claims),Ikirego cyose gisabwa (binyuze mubisabwa),
+Total Costing Amount (via Timesheet),Amafaranga Yuzuye Yuzuye (ukoresheje Timesheets),
+Total Expense Claim (via Expense Claim),Ikirego cyose gisabwa (binyuze mubisabwa),
 Total Purchase Cost (via Purchase Invoice),Igiciro cyose cyubuguzi (binyuze muri fagitire yubuguzi),
 Total Sales Amount (via Sales Order),Amafaranga yagurishijwe yose (binyuze mubicuruzwa),
-Total Billable Amount (via Timesheets),Umubare wuzuye wuzuye (ukoresheje Timesheets),
-Total Billed Amount (via Sales Invoices),Umubare wuzuye wuzuye (ukoresheje inyemezabuguzi zo kugurisha),
-Total Consumed Material Cost  (via Stock Entry),Igiciro Cyuzuye Cyakoreshejwe (Binyuze Kwinjira),
+Total Billable Amount (via Timesheet),Umubare wuzuye wuzuye (ukoresheje Timesheets),
+Total Billed Amount (via Sales Invoice),Umubare wuzuye wuzuye (ukoresheje inyemezabuguzi zo kugurisha),
+Total Consumed Material Cost (via Stock Entry),Igiciro Cyuzuye Cyakoreshejwe (Binyuze Kwinjira),
 Gross Margin,Amafaranga menshi,
 Gross Margin %,Inyungu rusange,
 Monitor Progress,Kurikirana iterambere,
@@ -7521,12 +7521,10 @@
 Dependencies,Kwishingikiriza,
 Dependent Tasks,Inshingano Biterwa,
 Depends on Tasks,Biterwa n&#39;inshingano,
-Actual Start Date (via Time Sheet),Itariki nyayo yo gutangiriraho (ukoresheje urupapuro rwigihe),
-Actual Time (in hours),Igihe nyacyo (mu masaha),
-Actual End Date (via Time Sheet),Itariki yo kurangiriraho (ukoresheje urupapuro rwigihe),
-Total Costing Amount (via Time Sheet),Amafaranga Yuzuye Yuzuye (Binyuze kurupapuro),
+Actual Start Date (via Timesheet),Itariki nyayo yo gutangiriraho (ukoresheje urupapuro rwigihe),
+Actual Time in Hours (via Timesheet),Igihe nyacyo (mu masaha),
+Actual End Date (via Timesheet),Itariki yo kurangiriraho (ukoresheje urupapuro rwigihe),
 Total Expense Claim (via Expense Claim),Ikirego cyose gisabwa (binyuze mu gusaba amafaranga),
-Total Billing Amount (via Time Sheet),Umubare w&#39;amafaranga yishyurwa yose (ukoresheje urupapuro rw&#39;igihe),
 Review Date,Itariki yo Gusubiramo,
 Closing Date,Itariki yo gusoza,
 Task Depends On,Inshingano Biterwa na,
diff --git a/erpnext/translations/si.csv b/erpnext/translations/si.csv
index e5ea9bf..46dd4ea 100644
--- a/erpnext/translations/si.csv
+++ b/erpnext/translations/si.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,ව්යාපෘති මේ පරිශීලකයන්ට එම වෙබ් අඩවිය පිවිසිය හැකි වනු ඇත,
 Copied From,සිට පිටපත්,
 Start and End Dates,ආරම්භ කිරීම හා අවසන් දිනයන්,
-Actual Time (in Hours),තථ්‍ය කාලය (පැය වලින්),
+Actual Time in Hours (via Timesheet),තථ්‍ය කාලය (පැය වලින්),
 Costing and Billing,පිරිවැය හා බිල්පත්,
-Total Costing Amount (via Timesheets),මුළු පිරිවැය ප්රමාණය (පත්රිකා මගින්),
-Total Expense Claim (via Expense Claims),(වියදම් හිමිකම් හරහා) මුළු වියදම් හිමිකම්,
+Total Costing Amount (via Timesheet),මුළු පිරිවැය ප්රමාණය (පත්රිකා මගින්),
+Total Expense Claim (via Expense Claim),(වියදම් හිමිකම් හරහා) මුළු වියදම් හිමිකම්,
 Total Purchase Cost (via Purchase Invoice),(මිලදී ගැනීමේ ඉන්වොයිසිය හරහා) මුළු මිලදී ගැනීම පිරිවැය,
 Total Sales Amount (via Sales Order),මුළු විකුණුම් මුදල (විකුණුම් නියෝගය හරහා),
-Total Billable Amount (via Timesheets),මුළු බිල්පත් ප්රමාණය (පත්රිකා මගින්),
-Total Billed Amount (via Sales Invoices),මුළු බිල්පත් ප්රමාණය (විකුණුම් ඉන්වොයිසි හරහා),
-Total Consumed Material Cost  (via Stock Entry),මුළු පාරිභේාිත ද්රව්ය පිරිවැය (කොටස් තොගය හරහා),
+Total Billable Amount (via Timesheet),මුළු බිල්පත් ප්රමාණය (පත්රිකා මගින්),
+Total Billed Amount (via Sales Invoice),මුළු බිල්පත් ප්රමාණය (විකුණුම් ඉන්වොයිසි හරහා),
+Total Consumed Material Cost (via Stock Entry),මුළු පාරිභේාිත ද්රව්ය පිරිවැය (කොටස් තොගය හරහා),
 Gross Margin,දළ ආන්තිකය,
 Gross Margin %,දළ ආන්තිකය%,
 Monitor Progress,ප්රගතිය අධීක්ෂණය කරන්න,
@@ -7521,12 +7521,10 @@
 Dependencies,යැපීම්,
 Dependent Tasks,යැපෙන කාර්යයන්,
 Depends on Tasks,කාර්යයන් මත රඳා පවතී,
-Actual Start Date (via Time Sheet),(කාල පත්රය හරහා) සැබෑ ඇරඹුම් දිනය,
-Actual Time (in hours),සැබෑ කාලය (පැය දී),
-Actual End Date (via Time Sheet),(කාල පත්රය හරහා) සැබෑ අවසානය දිනය,
-Total Costing Amount (via Time Sheet),(කාල පත්රය හරහා) මුළු සැඳුම්ලත් මුදල,
+Actual Start Date (via Timesheet),(කාල පත්රය හරහා) සැබෑ ඇරඹුම් දිනය,
+Actual Time in Hours (via Timesheet),සැබෑ කාලය (පැය දී),
+Actual End Date (via Timesheet),(කාල පත්රය හරහා) සැබෑ අවසානය දිනය,
 Total Expense Claim (via Expense Claim),(වියදම් හිමිකම් හරහා) මුළු වියදම් හිමිකම්,
-Total Billing Amount (via Time Sheet),(කාල පත්රය හරහා) මුළු බිල්පත් ප්රමාණය,
 Review Date,සමාලෝචන දිනය,
 Closing Date,අවසන් දිනය,
 Task Depends On,කාර්ය සාධක මත රඳා පවතී,
diff --git a/erpnext/translations/sk.csv b/erpnext/translations/sk.csv
index d16c492..b8ddbc5 100644
--- a/erpnext/translations/sk.csv
+++ b/erpnext/translations/sk.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projekt bude k dispozícii na webových stránkach k týmto užívateľom,
 Copied From,Skopírované z,
 Start and End Dates,Dátum začatia a ukončenia,
-Actual Time (in Hours),Skutočný čas (v hodinách),
+Actual Time in Hours (via Timesheet),Skutočný čas (v hodinách),
 Costing and Billing,Kalkulácia a fakturácia,
-Total Costing Amount (via Timesheets),Celková výška sumy (prostredníctvom časových rozpisov),
-Total Expense Claim (via Expense Claims),Total Expense Claim (via Expense nárokov),
+Total Costing Amount (via Timesheet),Celková výška sumy (prostredníctvom časových rozpisov),
+Total Expense Claim (via Expense Claim),Total Expense Claim (via Expense nárokov),
 Total Purchase Cost (via Purchase Invoice),Celkové obstarávacie náklady (cez nákupné faktúry),
 Total Sales Amount (via Sales Order),Celková výška predaja (prostredníctvom objednávky predaja),
-Total Billable Amount (via Timesheets),Celková fakturovaná suma (prostredníctvom dochádzky),
-Total Billed Amount (via Sales Invoices),Celková fakturovaná suma (prostredníctvom faktúr za predaj),
-Total Consumed Material Cost  (via Stock Entry),Celková spotreba materiálových nákladov (prostredníctvom vkladu),
+Total Billable Amount (via Timesheet),Celková fakturovaná suma (prostredníctvom dochádzky),
+Total Billed Amount (via Sales Invoice),Celková fakturovaná suma (prostredníctvom faktúr za predaj),
+Total Consumed Material Cost (via Stock Entry),Celková spotreba materiálových nákladov (prostredníctvom vkladu),
 Gross Margin,Hrubá marža,
 Gross Margin %,Hrubá Marža %,
 Monitor Progress,Monitorovanie pokroku,
@@ -7521,12 +7521,10 @@
 Dependencies,závislosti,
 Dependent Tasks,Závislé úlohy,
 Depends on Tasks,Závisí na úlohách,
-Actual Start Date (via Time Sheet),Skutočný dátum začatia (cez Časový rozvrh),
-Actual Time (in hours),Skutočná doba (v hodinách),
-Actual End Date (via Time Sheet),Skutočný dátum ukončenia (cez Time Sheet),
-Total Costing Amount (via Time Sheet),Celková kalkulácie Čiastka (cez Time Sheet),
+Actual Start Date (via Timesheet),Skutočný dátum začatia (cez Časový rozvrh),
+Actual Time in Hours (via Timesheet),Skutočná doba (v hodinách),
+Actual End Date (via Timesheet),Skutočný dátum ukončenia (cez Time Sheet),
 Total Expense Claim (via Expense Claim),Total Expense Claim (via Expense nároku),
-Total Billing Amount (via Time Sheet),Celková suma Billing (cez Time Sheet),
 Review Date,Review Datum,
 Closing Date,Uzávěrka Datum,
 Task Depends On,Úloha je závislá na,
diff --git a/erpnext/translations/sl.csv b/erpnext/translations/sl.csv
index 0890160..741bd83 100644
--- a/erpnext/translations/sl.csv
+++ b/erpnext/translations/sl.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projekt bo na voljo na spletni strani teh uporabnikov,
 Copied From,Kopirano iz,
 Start and End Dates,Začetni in končni datum,
-Actual Time (in Hours),Dejanski čas (v urah),
+Actual Time in Hours (via Timesheet),Dejanski čas (v urah),
 Costing and Billing,Obračunavanje stroškov in plačevanja,
-Total Costing Amount (via Timesheets),Skupni znesek stroškov (prek časopisov),
-Total Expense Claim (via Expense Claims),Total Expense zahtevek (preko Expense zahtevkov),
+Total Costing Amount (via Timesheet),Skupni znesek stroškov (prek časopisov),
+Total Expense Claim (via Expense Claim),Total Expense zahtevek (preko Expense zahtevkov),
 Total Purchase Cost (via Purchase Invoice),Skupaj Nakup Cost (via računu o nakupu),
 Total Sales Amount (via Sales Order),Skupni znesek prodaje (preko prodajnega naloga),
-Total Billable Amount (via Timesheets),Skupni znesek zneska (prek časopisov),
-Total Billed Amount (via Sales Invoices),Skupni fakturirani znesek (prek prodajnih računov),
-Total Consumed Material Cost  (via Stock Entry),Skupni stroški porabljenega materiala (preko zaloge na borzi),
+Total Billable Amount (via Timesheet),Skupni znesek zneska (prek časopisov),
+Total Billed Amount (via Sales Invoice),Skupni fakturirani znesek (prek prodajnih računov),
+Total Consumed Material Cost (via Stock Entry),Skupni stroški porabljenega materiala (preko zaloge na borzi),
 Gross Margin,Gross Margin,
 Gross Margin %,Gross Margin%,
 Monitor Progress,Spremljajte napredek,
@@ -7521,12 +7521,10 @@
 Dependencies,Odvisnosti,
 Dependent Tasks,Odvisne naloge,
 Depends on Tasks,Odvisno od Opravila,
-Actual Start Date (via Time Sheet),Dejanski začetni datum (preko Čas lista),
-Actual Time (in hours),Dejanski čas (v urah),
-Actual End Date (via Time Sheet),Dejanski končni datum (preko Čas lista),
-Total Costing Amount (via Time Sheet),Skupaj Costing Znesek (preko Čas lista),
+Actual Start Date (via Timesheet),Dejanski začetni datum (preko Čas lista),
+Actual Time in Hours (via Timesheet),Dejanski čas (v urah),
+Actual End Date (via Timesheet),Dejanski končni datum (preko Čas lista),
 Total Expense Claim (via Expense Claim),Total Expense zahtevek (preko Expense zahtevka),
-Total Billing Amount (via Time Sheet),Skupni znesek plačevanja (preko Čas lista),
 Review Date,Pregled Datum,
 Closing Date,Zapiranje Datum,
 Task Depends On,Naloga je odvisna od,
diff --git a/erpnext/translations/sq.csv b/erpnext/translations/sq.csv
index 987211a..752ed39 100644
--- a/erpnext/translations/sq.csv
+++ b/erpnext/translations/sq.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projekti do të jetë në dispozicion në faqen e internetit të këtyre përdoruesve,
 Copied From,kopjuar nga,
 Start and End Dates,Filloni dhe Fundi Datat,
-Actual Time (in Hours),Koha aktuale (në orë),
+Actual Time in Hours (via Timesheet),Koha aktuale (në orë),
 Costing and Billing,Kushton dhe Faturimi,
-Total Costing Amount (via Timesheets),Shuma totale e kostos (përmes Timesheets),
-Total Expense Claim (via Expense Claims),Gjithsej Kërkesa shpenzimeve (nëpërmjet kërkesave shpenzime),
+Total Costing Amount (via Timesheet),Shuma totale e kostos (përmes Timesheets),
+Total Expense Claim (via Expense Claim),Gjithsej Kërkesa shpenzimeve (nëpërmjet kërkesave shpenzime),
 Total Purchase Cost (via Purchase Invoice),Gjithsej Kosto Blerje (nëpërmjet Blerje Faturës),
 Total Sales Amount (via Sales Order),Shuma totale e shitjeve (me anë të shitjes),
-Total Billable Amount (via Timesheets),Shuma totale e faturimit (përmes Timesheets),
-Total Billed Amount (via Sales Invoices),Shuma Totale e Faturuar (përmes Faturat e Shitjes),
-Total Consumed Material Cost  (via Stock Entry),Kostoja totale e materialit të konsumuar (nëpërmjet regjistrimit të stoqeve),
+Total Billable Amount (via Timesheet),Shuma totale e faturimit (përmes Timesheets),
+Total Billed Amount (via Sales Invoice),Shuma Totale e Faturuar (përmes Faturat e Shitjes),
+Total Consumed Material Cost (via Stock Entry),Kostoja totale e materialit të konsumuar (nëpërmjet regjistrimit të stoqeve),
 Gross Margin,Marzhi bruto,
 Gross Margin %,Marzhi bruto%,
 Monitor Progress,Monitorimi i progresit,
@@ -7521,12 +7521,10 @@
 Dependencies,Dependencies,
 Dependent Tasks,Detyrat e varura,
 Depends on Tasks,Varet Detyrat,
-Actual Start Date (via Time Sheet),Aktuale Start Date (via Koha Sheet),
-Actual Time (in hours),Koha aktuale (në orë),
-Actual End Date (via Time Sheet),Aktuale End Date (via Koha Sheet),
-Total Costing Amount (via Time Sheet),Total Kostoja Shuma (via Koha Sheet),
+Actual Start Date (via Timesheet),Aktuale Start Date (via Koha Sheet),
+Actual Time in Hours (via Timesheet),Koha aktuale (në orë),
+Actual End Date (via Timesheet),Aktuale End Date (via Koha Sheet),
 Total Expense Claim (via Expense Claim),Gjithsej Kërkesa shpenzimeve (nëpërmjet shpenzimeve Kërkesës),
-Total Billing Amount (via Time Sheet),Total Shuma Faturimi (via Koha Sheet),
 Review Date,Data shqyrtim,
 Closing Date,Data e mbylljes,
 Task Depends On,Detyra varet,
diff --git a/erpnext/translations/sr-SP.csv b/erpnext/translations/sr-SP.csv
index b14e6d8..25223db 100644
--- a/erpnext/translations/sr-SP.csv
+++ b/erpnext/translations/sr-SP.csv
@@ -770,7 +770,7 @@
 Add Item,Dodaj stavku,
 All Customer Groups,Sve grupe kupca,
 Employee Birthday,Rođendan Zaposlenih,
-Total Billed Amount (via Sales Invoices),Ukupno fakturisano (putem fakture prodaje)
+Total Billed Amount (via Sales Invoice),Ukupno fakturisano (putem fakture prodaje),
 Weight UOM,JM Težina,
 Stock Qty,Zaliha,
 Return Against Delivery Note,Povraćaj u vezi sa otpremnicom,
diff --git a/erpnext/translations/sr.csv b/erpnext/translations/sr.csv
index f6cbb57..9991b34 100644
--- a/erpnext/translations/sr.csv
+++ b/erpnext/translations/sr.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Пројекат ће бити доступни на сајту ових корисника,
 Copied From,копиран из,
 Start and End Dates,Почетни и завршни датуми,
-Actual Time (in Hours),Стварно време (у сатима),
+Actual Time in Hours (via Timesheet),Стварно време (у сатима),
 Costing and Billing,Коштају и обрачуна,
-Total Costing Amount (via Timesheets),Укупни износ трошкова (преко Тимесхеета),
-Total Expense Claim (via Expense Claims),Укупни расходи Цлаим (преко Расходи потраживања),
+Total Costing Amount (via Timesheet),Укупни износ трошкова (преко Тимесхеета),
+Total Expense Claim (via Expense Claim),Укупни расходи Цлаим (преко Расходи потраживања),
 Total Purchase Cost (via Purchase Invoice),Укупно набавној вредности (преко фактури),
 Total Sales Amount (via Sales Order),Укупан износ продаје (преко продајног налога),
-Total Billable Amount (via Timesheets),Укупан износ износа (преко Тимесхеета),
-Total Billed Amount (via Sales Invoices),Укупан фактурисани износ (преко фактура продаје),
-Total Consumed Material Cost  (via Stock Entry),Укупни трошкови потрошње материјала (путем залиха залиха),
+Total Billable Amount (via Timesheet),Укупан износ износа (преко Тимесхеета),
+Total Billed Amount (via Sales Invoice),Укупан фактурисани износ (преко фактура продаје),
+Total Consumed Material Cost (via Stock Entry),Укупни трошкови потрошње материјала (путем залиха залиха),
 Gross Margin,Бруто маржа,
 Gross Margin %,Бруто маржа%,
 Monitor Progress,Напредак монитора,
@@ -7521,12 +7521,10 @@
 Dependencies,Зависности,
 Dependent Tasks,Зависни задаци,
 Depends on Tasks,Зависи од Задаци,
-Actual Start Date (via Time Sheet),Стварна Датум почетка (преко Тиме Схеет),
-Actual Time (in hours),Тренутно време (у сатима),
-Actual End Date (via Time Sheet),Стварна Датум завршетка (преко Тиме Схеет),
-Total Costing Amount (via Time Sheet),Укупно Обрачун трошкова Износ (преко Тиме Схеет),
+Actual Start Date (via Timesheet),Стварна Датум почетка (преко Тиме Схеет),
+Actual Time in Hours (via Timesheet),Тренутно време (у сатима),
+Actual End Date (via Timesheet),Стварна Датум завршетка (преко Тиме Схеет),
 Total Expense Claim (via Expense Claim),Укупни расходи Цлаим (преко Екпенсе потраживања),
-Total Billing Amount (via Time Sheet),Укупно Износ обрачуна (преко Тиме Схеет),
 Review Date,Прегледајте Дате,
 Closing Date,Датум затварања,
 Task Depends On,Задатак Дубоко У,
diff --git a/erpnext/translations/sr_sp.csv b/erpnext/translations/sr_sp.csv
index 5e7ae79..c121e6a 100644
--- a/erpnext/translations/sr_sp.csv
+++ b/erpnext/translations/sr_sp.csv
@@ -897,7 +897,7 @@
 Task Progress,% završenosti zadataka,
 % Completed,% završen,
 Project will be accessible on the website to these users,Projekat će biti dostupan na sajtu sledećim korisnicima,
-Total Billed Amount (via Sales Invoices),Ukupno fakturisano (putem fakture prodaje),
+Total Billed Amount (via Sales Invoice),Ukupno fakturisano (putem fakture prodaje),
 Projects Manager,Projektni menadžer,
 Project User,Projektni user,
 Weight,Težina,
diff --git a/erpnext/translations/sv.csv b/erpnext/translations/sv.csv
index ec443e9..02c75b5 100644
--- a/erpnext/translations/sv.csv
+++ b/erpnext/translations/sv.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Projektet kommer att vara tillgänglig på webbplatsen till dessa användare,
 Copied From,Kopierad från,
 Start and End Dates,Start- och slutdatum,
-Actual Time (in Hours),Faktisk tid (i timmar),
+Actual Time in Hours (via Timesheet),Faktisk tid (i timmar),
 Costing and Billing,Kostnadsberäkning och fakturering,
-Total Costing Amount (via Timesheets),Totalkostnadsbelopp (via tidskrifter),
-Total Expense Claim (via Expense Claims),Totalkostnadskrav (via räkningar),
+Total Costing Amount (via Timesheet),Totalkostnadsbelopp (via tidskrifter),
+Total Expense Claim (via Expense Claim),Totalkostnadskrav (via räkningar),
 Total Purchase Cost (via Purchase Invoice),Totala inköpskostnaden (via inköpsfaktura),
 Total Sales Amount (via Sales Order),Totala försäljningsbelopp (via försäljningsorder),
-Total Billable Amount (via Timesheets),Totala fakturabeloppet (via tidstabeller),
-Total Billed Amount (via Sales Invoices),Totalt fakturerat belopp (via försäljningsfakturor),
-Total Consumed Material Cost  (via Stock Entry),Total förbrukad materialkostnad (via lagerinmatning),
+Total Billable Amount (via Timesheet),Totala fakturabeloppet (via tidstabeller),
+Total Billed Amount (via Sales Invoice),Totalt fakturerat belopp (via försäljningsfakturor),
+Total Consumed Material Cost (via Stock Entry),Total förbrukad materialkostnad (via lagerinmatning),
 Gross Margin,Bruttomarginal,
 Gross Margin %,Bruttomarginal%,
 Monitor Progress,Monitor Progress,
@@ -7521,12 +7521,10 @@
 Dependencies,beroenden,
 Dependent Tasks,Beroende uppgifter,
 Depends on Tasks,Beror på Uppgifter,
-Actual Start Date (via Time Sheet),Faktiska startdatum (via Tidrapportering),
-Actual Time (in hours),Faktisk tid (i timmar),
-Actual End Date (via Time Sheet),Faktisk Slutdatum (via Tidrapportering),
-Total Costing Amount (via Time Sheet),Totalt Costing Belopp (via Tidrapportering),
+Actual Start Date (via Timesheet),Faktiska startdatum (via Tidrapportering),
+Actual Time in Hours (via Timesheet),Faktisk tid (i timmar),
+Actual End Date (via Timesheet),Faktisk Slutdatum (via Tidrapportering),
 Total Expense Claim (via Expense Claim),Totalkostnadskrav (via utgiftsräkning),
-Total Billing Amount (via Time Sheet),Totalt Billing Belopp (via Tidrapportering),
 Review Date,Kontroll Datum,
 Closing Date,Slutdatum,
 Task Depends On,Uppgift Beror på,
diff --git a/erpnext/translations/sw.csv b/erpnext/translations/sw.csv
index 989f8b0..7077810 100644
--- a/erpnext/translations/sw.csv
+++ b/erpnext/translations/sw.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Mradi utapatikana kwenye tovuti kwa watumiaji hawa,
 Copied From,Ilikosa Kutoka,
 Start and End Dates,Anza na Mwisho Dates,
-Actual Time (in Hours),Saa Halisi (kwa masaa),
+Actual Time in Hours (via Timesheet),Saa Halisi (kwa masaa),
 Costing and Billing,Gharama na Ulipaji,
-Total Costing Amount (via Timesheets),Kiwango cha jumla cha gharama (kupitia Timesheets),
-Total Expense Claim (via Expense Claims),Madai ya jumla ya gharama (kupitia madai ya gharama),
+Total Costing Amount (via Timesheet),Kiwango cha jumla cha gharama (kupitia Timesheets),
+Total Expense Claim (via Expense Claim),Madai ya jumla ya gharama (kupitia madai ya gharama),
 Total Purchase Cost (via Purchase Invoice),Gharama ya Jumla ya Ununuzi (kupitia Invoice ya Ununuzi),
 Total Sales Amount (via Sales Order),Jumla ya Mauzo Kiasi (kupitia Mauzo ya Mauzo),
-Total Billable Amount (via Timesheets),Kiwango cha Jumla cha Billable (kupitia Timesheets),
-Total Billed Amount (via Sales Invoices),Kiasi kilicholipwa (kwa njia ya Mauzo ya Mauzo),
-Total Consumed Material Cost  (via Stock Entry),Jumla ya Gharama za Nyenzo Zilizotumiwa (kupitia Uingiaji wa hisa),
+Total Billable Amount (via Timesheet),Kiwango cha Jumla cha Billable (kupitia Timesheets),
+Total Billed Amount (via Sales Invoice),Kiasi kilicholipwa (kwa njia ya Mauzo ya Mauzo),
+Total Consumed Material Cost (via Stock Entry),Jumla ya Gharama za Nyenzo Zilizotumiwa (kupitia Uingiaji wa hisa),
 Gross Margin,Margin ya Pato,
 Gross Margin %,Margin ya Pato%,
 Monitor Progress,Kufuatilia Maendeleo,
@@ -7521,12 +7521,10 @@
 Dependencies,Kuzingatia,
 Dependent Tasks,Kazi za wategemezi,
 Depends on Tasks,Inategemea Kazi,
-Actual Start Date (via Time Sheet),Tarehe ya Kuanza Kuanza (kupitia Karatasi ya Muda),
-Actual Time (in hours),Muda halisi (katika Masaa),
-Actual End Date (via Time Sheet),Tarehe ya mwisho ya mwisho (kupitia Karatasi ya Muda),
-Total Costing Amount (via Time Sheet),Kiwango cha jumla cha gharama (kupitia Karatasi ya Muda),
+Actual Start Date (via Timesheet),Tarehe ya Kuanza Kuanza (kupitia Karatasi ya Muda),
+Actual Time in Hours (via Timesheet),Muda halisi (katika Masaa),
+Actual End Date (via Timesheet),Tarehe ya mwisho ya mwisho (kupitia Karatasi ya Muda),
 Total Expense Claim (via Expense Claim),Madai ya jumla ya gharama (kupitia madai ya gharama),
-Total Billing Amount (via Time Sheet),Kiasi cha kulipa jumla (kupitia Karatasi ya Muda),
 Review Date,Tarehe ya Marekebisho,
 Closing Date,Tarehe ya kufunga,
 Task Depends On,Kazi inategemea,
diff --git a/erpnext/translations/ta.csv b/erpnext/translations/ta.csv
index 7314d4b..b63f00e 100644
--- a/erpnext/translations/ta.csv
+++ b/erpnext/translations/ta.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,திட்ட இந்த பயனர்களுக்கு வலைத்தளத்தில் அணுக வேண்டும்,
 Copied From,இருந்து நகலெடுத்து,
 Start and End Dates,தொடக்கம் மற்றும் தேதிகள் End,
-Actual Time (in Hours),உண்மையான நேரம் (மணிநேரத்தில்),
+Actual Time in Hours (via Timesheet),உண்மையான நேரம் (மணிநேரத்தில்),
 Costing and Billing,செலவு மற்றும் பில்லிங்,
-Total Costing Amount (via Timesheets),மொத்த செலவு தொகை (Timesheets வழியாக),
-Total Expense Claim (via Expense Claims),மொத்த செலவு கூறுகின்றனர் (செலவு பற்றிய கூற்றுக்கள் வழியாக),
+Total Costing Amount (via Timesheet),மொத்த செலவு தொகை (Timesheets வழியாக),
+Total Expense Claim (via Expense Claim),மொத்த செலவு கூறுகின்றனர் (செலவு பற்றிய கூற்றுக்கள் வழியாக),
 Total Purchase Cost (via Purchase Invoice),மொத்த கொள்முதல் விலை (கொள்முதல் விலைப்பட்டியல் வழியாக),
 Total Sales Amount (via Sales Order),மொத்த விற்பனை தொகை (விற்பனை ஆணை வழியாக),
-Total Billable Amount (via Timesheets),மொத்த பில்கள் அளவு (டைம்ஸ் ஷீட்ஸ் வழியாக),
-Total Billed Amount (via Sales Invoices),மொத்த விற்பனையாகும் தொகை (விற்பனை பற்றுச்சீட்டுகள் வழியாக),
-Total Consumed Material Cost  (via Stock Entry),மொத்த நுகர்வு பொருள் செலவு (பங்கு நுழைவு வழியாக),
+Total Billable Amount (via Timesheet),மொத்த பில்கள் அளவு (டைம்ஸ் ஷீட்ஸ் வழியாக),
+Total Billed Amount (via Sales Invoice),மொத்த விற்பனையாகும் தொகை (விற்பனை பற்றுச்சீட்டுகள் வழியாக),
+Total Consumed Material Cost (via Stock Entry),மொத்த நுகர்வு பொருள் செலவு (பங்கு நுழைவு வழியாக),
 Gross Margin,மொத்த அளவு,
 Gross Margin %,மொத்த அளவு%,
 Monitor Progress,மானிட்டர் முன்னேற்றம்,
@@ -7521,12 +7521,10 @@
 Dependencies,சார்ந்திருப்பவை,
 Dependent Tasks,சார்பு பணிகள்,
 Depends on Tasks,பணிகளைப் பொறுத்தது,
-Actual Start Date (via Time Sheet),உண்மையான தொடங்கும் தேதி (நேரம் தாள் வழியாக),
-Actual Time (in hours),(மணிகளில்) உண்மையான நேரம்,
-Actual End Date (via Time Sheet),உண்மையான முடிவு தேதி (நேரம் தாள் வழியாக),
-Total Costing Amount (via Time Sheet),மொத்த செலவுவகை தொகை (நேரம் தாள் வழியாக),
+Actual Start Date (via Timesheet),உண்மையான தொடங்கும் தேதி (நேரம் தாள் வழியாக),
+Actual Time in Hours (via Timesheet),(மணிகளில்) உண்மையான நேரம்,
+Actual End Date (via Timesheet),உண்மையான முடிவு தேதி (நேரம் தாள் வழியாக),
 Total Expense Claim (via Expense Claim),(செலவு கூறுகின்றனர் வழியாக) மொத்த செலவு கூறுகின்றனர்,
-Total Billing Amount (via Time Sheet),மொத்த பில்லிங் அளவு (நேரம் தாள் வழியாக),
 Review Date,தேதி,
 Closing Date,தேதி மூடுவது,
 Task Depends On,பணி பொறுத்தது,
diff --git a/erpnext/translations/te.csv b/erpnext/translations/te.csv
index 3fb32dc..52151b5 100644
--- a/erpnext/translations/te.csv
+++ b/erpnext/translations/te.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,ప్రాజెక్టు ఈ వినియోగదారులకు వెబ్ సైట్ అందుబాటులో ఉంటుంది,
 Copied From,నుండి కాపీ,
 Start and End Dates,ప్రారంభం మరియు తేదీలు ఎండ్,
-Actual Time (in Hours),వాస్తవ సమయం (గంటల్లో),
+Actual Time in Hours (via Timesheet),వాస్తవ సమయం (గంటల్లో),
 Costing and Billing,ఖర్చయ్యే బిల్లింగ్,
-Total Costing Amount (via Timesheets),మొత్తం ఖరీదు మొత్తం (టైమ్ షీట్లు ద్వారా),
-Total Expense Claim (via Expense Claims),మొత్తం ఖర్చుల దావా (ఖర్చు వాదనలు ద్వారా),
+Total Costing Amount (via Timesheet),మొత్తం ఖరీదు మొత్తం (టైమ్ షీట్లు ద్వారా),
+Total Expense Claim (via Expense Claim),మొత్తం ఖర్చుల దావా (ఖర్చు వాదనలు ద్వారా),
 Total Purchase Cost (via Purchase Invoice),మొత్తం కొనుగోలు ఖర్చు (కొనుగోలు వాయిస్ ద్వారా),
 Total Sales Amount (via Sales Order),మొత్తం సేల్స్ మొత్తం (సేల్స్ ఆర్డర్ ద్వారా),
-Total Billable Amount (via Timesheets),మొత్తం బిల్లబుల్ మొత్తం (టైమ్ షీట్లు ద్వారా),
-Total Billed Amount (via Sales Invoices),మొత్తం బిల్లు మొత్తం (సేల్స్ ఇన్వాయిస్లు ద్వారా),
-Total Consumed Material Cost  (via Stock Entry),మొత్తం వినియోగ పదార్థాల వ్యయం (స్టాక్ ఎంట్రీ ద్వారా),
+Total Billable Amount (via Timesheet),మొత్తం బిల్లబుల్ మొత్తం (టైమ్ షీట్లు ద్వారా),
+Total Billed Amount (via Sales Invoice),మొత్తం బిల్లు మొత్తం (సేల్స్ ఇన్వాయిస్లు ద్వారా),
+Total Consumed Material Cost (via Stock Entry),మొత్తం వినియోగ పదార్థాల వ్యయం (స్టాక్ ఎంట్రీ ద్వారా),
 Gross Margin,స్థూల సరిహద్దు,
 Gross Margin %,స్థూల సరిహద్దు %,
 Monitor Progress,మానిటర్ ప్రోగ్రెస్,
@@ -7521,12 +7521,10 @@
 Dependencies,సమన్వయాలు,
 Dependent Tasks,డిపెండెంట్ టాస్క్‌లు,
 Depends on Tasks,విధులు ఆధారపడి,
-Actual Start Date (via Time Sheet),వాస్తవాధీన ప్రారంభ తేదీ (సమయం షీట్ ద్వారా),
-Actual Time (in hours),(గంటల్లో) వాస్తవ సమయం,
-Actual End Date (via Time Sheet),ముగింపు తేదీ (సమయం షీట్ ద్వారా),
-Total Costing Amount (via Time Sheet),మొత్తం ఖర్చు మొత్తం (సమయం షీట్ ద్వారా),
+Actual Start Date (via Timesheet),వాస్తవాధీన ప్రారంభ తేదీ (సమయం షీట్ ద్వారా),
+Actual Time in Hours (via Timesheet),(గంటల్లో) వాస్తవ సమయం,
+Actual End Date (via Timesheet),ముగింపు తేదీ (సమయం షీట్ ద్వారా),
 Total Expense Claim (via Expense Claim),(ఖర్చు చెప్పడం ద్వారా) మొత్తం ఖర్చు చెప్పడం,
-Total Billing Amount (via Time Sheet),మొత్తం బిల్లింగ్ మొత్తం (సమయం షీట్ ద్వారా),
 Review Date,రివ్యూ తేదీ,
 Closing Date,ముగింపు తేదీ,
 Task Depends On,టాస్క్ ఆధారపడి,
diff --git a/erpnext/translations/th.csv b/erpnext/translations/th.csv
index e371aed..b7298a1 100644
--- a/erpnext/translations/th.csv
+++ b/erpnext/translations/th.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,โครงการจะสามารถเข้าถึงได้บนเว็บไซต์ของผู้ใช้เหล่านี้,
 Copied From,คัดลอกจาก,
 Start and End Dates,เริ่มต้นและสิ้นสุดวันที่,
-Actual Time (in Hours),เวลาจริง (เป็นชั่วโมง),
+Actual Time in Hours (via Timesheet),เวลาจริง (เป็นชั่วโมง),
 Costing and Billing,ต้นทุนและการเรียกเก็บเงิน,
-Total Costing Amount (via Timesheets),ยอดรวมค่าใช้จ่าย (ผ่าน Timesheets),
-Total Expense Claim (via Expense Claims),การเรียกร้องค่าใช้จ่ายรวม (ผ่านการเรียกร้องค่าใช้จ่าย),
+Total Costing Amount (via Timesheet),ยอดรวมค่าใช้จ่าย (ผ่าน Timesheets),
+Total Expense Claim (via Expense Claim),การเรียกร้องค่าใช้จ่ายรวม (ผ่านการเรียกร้องค่าใช้จ่าย),
 Total Purchase Cost (via Purchase Invoice),ค่าใช้จ่ายในการจัดซื้อรวม (ผ่านการซื้อใบแจ้งหนี้),
 Total Sales Amount (via Sales Order),ยอดขายรวม (ผ่านใบสั่งขาย),
-Total Billable Amount (via Timesheets),ยอดรวม Billable Amount (ผ่าน Timesheets),
-Total Billed Amount (via Sales Invoices),จำนวนเงินที่เรียกเก็บเงินทั้งหมด (ผ่านใบกำกับการขาย),
-Total Consumed Material Cost  (via Stock Entry),ค่าใช้จ่ายวัสดุสิ้นเปลืองทั้งหมด (ผ่านรายการสต็อค),
+Total Billable Amount (via Timesheet),ยอดรวม Billable Amount (ผ่าน Timesheets),
+Total Billed Amount (via Sales Invoice),จำนวนเงินที่เรียกเก็บเงินทั้งหมด (ผ่านใบกำกับการขาย),
+Total Consumed Material Cost (via Stock Entry),ค่าใช้จ่ายวัสดุสิ้นเปลืองทั้งหมด (ผ่านรายการสต็อค),
 Gross Margin,กำไรขั้นต้น,
 Gross Margin %,กำไรขั้นต้น %,
 Monitor Progress,ติดตามความคืบหน้า,
@@ -7521,12 +7521,10 @@
 Dependencies,การอ้างอิง,
 Dependent Tasks,งานที่ต้องพึ่งพา,
 Depends on Tasks,ขึ้นอยู่กับงาน,
-Actual Start Date (via Time Sheet),วันที่เริ่มต้นที่เกิดขึ้นจริง (ผ่านใบบันทึกเวลา),
-Actual Time (in hours),เวลาที่เกิดขึ้นจริง (ในชั่วโมง),
-Actual End Date (via Time Sheet),ที่เกิดขึ้นจริงวันที่สิ้นสุด (ผ่านใบบันทึกเวลา),
-Total Costing Amount (via Time Sheet),รวมคำนวณต้นทุนจำนวนเงิน (ผ่านใบบันทึกเวลา),
+Actual Start Date (via Timesheet),วันที่เริ่มต้นที่เกิดขึ้นจริง (ผ่านใบบันทึกเวลา),
+Actual Time in Hours (via Timesheet),เวลาที่เกิดขึ้นจริง (ในชั่วโมง),
+Actual End Date (via Timesheet),ที่เกิดขึ้นจริงวันที่สิ้นสุด (ผ่านใบบันทึกเวลา),
 Total Expense Claim (via Expense Claim),การเรียกร้องค่าใช้จ่ายรวม (ผ่านการเรียกร้องค่าใช้จ่าย),
-Total Billing Amount (via Time Sheet),จำนวนเงินที่เรียกเก็บเงินรวม (ผ่านใบบันทึกเวลา),
 Review Date,ทบทวนวันที่,
 Closing Date,ปิดวันที่,
 Task Depends On,ขึ้นอยู่กับงาน,
diff --git a/erpnext/translations/tr.csv b/erpnext/translations/tr.csv
index 4dd613e..f1358e3 100644
--- a/erpnext/translations/tr.csv
+++ b/erpnext/translations/tr.csv
@@ -7478,15 +7478,15 @@
 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 Sonu,
-Actual Time (in Hours),Gerçek Zaman (Saat olarak),
+Actual Time in Hours (via Timesheet),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 Costing Amount (via Timesheet),Toplam Maliyetleme Tutarı (Çalışma Sayfası Tablosu Üzerinden),
+Total Expense Claim (via Expense Claim),Toplam Gider İddiası (Gider Talepleri yoluyla),
 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 Hareketi ile),
+Total Billable Amount (via Timesheet),Toplam Faturalandırılabilir Tutar (Çalışma Sayfası Tablosu ile),
+Total Billed Amount (via Sales Invoice),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,
@@ -7520,12 +7520,10 @@
 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 bitiş tarihi (Zaman Tablosu'ndan),
-Total Costing Amount (via Time Sheet),(Zaman Formu maliyeti) Toplam Maliyet Tutarı,
+Actual Start Date (via Timesheet),Gerçek başlangış tarihi (Zaman Tablosu'ndan),
+Actual Time in Hours (via Timesheet),Gerçek Zaman (Saat olarak),
+Actual End Date (via Timesheet),Gerçek bitiş tarihi (Zaman Tablosu'ndan),
 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,
diff --git a/erpnext/translations/uk.csv b/erpnext/translations/uk.csv
index 83c8d41..6322d7b 100644
--- a/erpnext/translations/uk.csv
+++ b/erpnext/translations/uk.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Проект буде доступний на веб-сайті для цих користувачів,
 Copied From,скопійовано з,
 Start and End Dates,Дати початку і закінчення,
-Actual Time (in Hours),Фактичний час (у годинах),
+Actual Time in Hours (via Timesheet),Фактичний час (у годинах),
 Costing and Billing,Калькуляція і білінг,
-Total Costing Amount (via Timesheets),Загальна сума витрат (за допомогою розсилок),
-Total Expense Claim (via Expense Claims),Всього витрат (за Авансовими звітами),
+Total Costing Amount (via Timesheet),Загальна сума витрат (за допомогою розсилок),
+Total Expense Claim (via Expense Claim),Всього витрат (за Авансовими звітами),
 Total Purchase Cost (via Purchase Invoice),Загальна вартість покупки (через рахунок покупки),
 Total Sales Amount (via Sales Order),Загальна сума продажів (через замовлення клієнта),
-Total Billable Amount (via Timesheets),"Загальна сума, що підлягає обігу (через розсилки)",
-Total Billed Amount (via Sales Invoices),Загальна сума виставлених рахунків (через рахунки-фактури),
-Total Consumed Material Cost  (via Stock Entry),Загальна витрата матеріальної цінності (через вхід в акції),
+Total Billable Amount (via Timesheet),"Загальна сума, що підлягає обігу (через розсилки)",
+Total Billed Amount (via Sales Invoice),Загальна сума виставлених рахунків (через рахунки-фактури),
+Total Consumed Material Cost (via Stock Entry),Загальна витрата матеріальної цінності (через вхід в акції),
 Gross Margin,Валовий дохід,
 Gross Margin %,Валовий дохід %,
 Monitor Progress,Прогрес монітора,
@@ -7521,12 +7521,10 @@
 Dependencies,Залежності,
 Dependent Tasks,Залежні завдання,
 Depends on Tasks,Залежно від завдань,
-Actual Start Date (via Time Sheet),Фактична дата початку (за допомогою Time Sheet),
-Actual Time (in hours),Фактичний час (в годинах),
-Actual End Date (via Time Sheet),Фактична дата закінчення (за допомогою табеля робочого часу),
-Total Costing Amount (via Time Sheet),Загальна калькуляція Сума (за допомогою Time Sheet),
+Actual Start Date (via Timesheet),Фактична дата початку (за допомогою Time Sheet),
+Actual Time in Hours (via Timesheet),Фактичний час (в годинах),
+Actual End Date (via Timesheet),Фактична дата закінчення (за допомогою табеля робочого часу),
 Total Expense Claim (via Expense Claim),Всього витрат (за Авансовим звітом),
-Total Billing Amount (via Time Sheet),Загальна сума оплат (через табель),
 Review Date,Огляд Дата,
 Closing Date,Дата закриття,
 Task Depends On,Завдання залежить від,
diff --git a/erpnext/translations/ur.csv b/erpnext/translations/ur.csv
index 8cf0707..554ac3c 100644
--- a/erpnext/translations/ur.csv
+++ b/erpnext/translations/ur.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,منصوبہ ان کے صارفین کو ویب سائٹ پر قابل رسائی ہو جائے گا,
 Copied From,سے کاپی,
 Start and End Dates,شروع کریں اور تواریخ اختتام,
-Actual Time (in Hours),اصل وقت (اوقات میں),
+Actual Time in Hours (via Timesheet),اصل وقت (اوقات میں),
 Costing and Billing,لاگت اور بلنگ,
-Total Costing Amount (via Timesheets),مجموعی قیمت (ٹائم شیشے کے ذریعہ),
-Total Expense Claim (via Expense Claims),کل اخراجات کا دعوی (اخراجات کے دعووں کے ذریعے),
+Total Costing Amount (via Timesheet),مجموعی قیمت (ٹائم شیشے کے ذریعہ),
+Total Expense Claim (via Expense Claim),کل اخراجات کا دعوی (اخراجات کے دعووں کے ذریعے),
 Total Purchase Cost (via Purchase Invoice),کل خریداری کی لاگت (انوائس خریداری کے ذریعے),
 Total Sales Amount (via Sales Order),کل سیلز رقم (سیلز آرڈر کے ذریعے),
-Total Billable Amount (via Timesheets),کل بلبل رقم (ٹائم شیشے کے ذریعہ),
-Total Billed Amount (via Sales Invoices),کل بل رقم (سیلز انوائس کے ذریعہ),
-Total Consumed Material Cost  (via Stock Entry),مجموعی سامان کی قیمت (اسٹاک انٹری کے ذریعے),
+Total Billable Amount (via Timesheet),کل بلبل رقم (ٹائم شیشے کے ذریعہ),
+Total Billed Amount (via Sales Invoice),کل بل رقم (سیلز انوائس کے ذریعہ),
+Total Consumed Material Cost (via Stock Entry),مجموعی سامان کی قیمت (اسٹاک انٹری کے ذریعے),
 Gross Margin,مجموعی مارجن,
 Gross Margin %,مجموعی مارجن٪,
 Monitor Progress,نگرانی کی ترقی,
@@ -7521,12 +7521,10 @@
 Dependencies,انحصار,
 Dependent Tasks,منحصر کام,
 Depends on Tasks,ٹاسکس پر انحصار کرتا ہے,
-Actual Start Date (via Time Sheet),اصل آغاز کی تاریخ (وقت شیٹ کے ذریعے),
-Actual Time (in hours),(گھنٹوں میں) اصل وقت,
-Actual End Date (via Time Sheet),اصل تاریخ اختتام (وقت شیٹ کے ذریعے),
-Total Costing Amount (via Time Sheet),کل لاگت کی رقم (وقت شیٹ کے ذریعے),
+Actual Start Date (via Timesheet),اصل آغاز کی تاریخ (وقت شیٹ کے ذریعے),
+Actual Time in Hours (via Timesheet),(گھنٹوں میں) اصل وقت,
+Actual End Date (via Timesheet),اصل تاریخ اختتام (وقت شیٹ کے ذریعے),
 Total Expense Claim (via Expense Claim),(خرچ دعوی ذریعے) کل اخراجات کا دعوی,
-Total Billing Amount (via Time Sheet),کل بلنگ کی رقم (وقت شیٹ کے ذریعے),
 Review Date,جائزہ تاریخ,
 Closing Date,آخری تاریخ,
 Task Depends On,کام پر انحصار کرتا ہے,
diff --git a/erpnext/translations/uz.csv b/erpnext/translations/uz.csv
index 1e50376..50891e6 100644
--- a/erpnext/translations/uz.csv
+++ b/erpnext/translations/uz.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Ushbu foydalanuvchilarning veb-saytida loyihaga kirish mumkin bo&#39;ladi,
 Copied From,Ko&#39;chirildi,
 Start and End Dates,Boshlanish va tugash sanalari,
-Actual Time (in Hours),Haqiqiy vaqt (soat bilan),
+Actual Time in Hours (via Timesheet),Haqiqiy vaqt (soat bilan),
 Costing and Billing,Xarajatlar va billing,
-Total Costing Amount (via Timesheets),Jami xarajat summasi (vaqt jadvallari orqali),
-Total Expense Claim (via Expense Claims),Jami xarajat talabi (xarajatlar bo&#39;yicha da&#39;vo),
+Total Costing Amount (via Timesheet),Jami xarajat summasi (vaqt jadvallari orqali),
+Total Expense Claim (via Expense Claim),Jami xarajat talabi (xarajatlar bo&#39;yicha da&#39;vo),
 Total Purchase Cost (via Purchase Invoice),Jami xarid qiymati (Xarid qilish byudjeti orqali),
 Total Sales Amount (via Sales Order),Jami Sotuvdagi miqdori (Sotuvdagi Buyurtma orqali),
-Total Billable Amount (via Timesheets),Jami to&#39;lov miqdori (vaqt jadvallari orqali),
-Total Billed Amount (via Sales Invoices),Jami to&#39;lov miqdori (Savdo shkaflari orqali),
-Total Consumed Material Cost  (via Stock Entry),Jami iste&#39;mol qilinadigan materiallar qiymati (aktsiyalar orqali),
+Total Billable Amount (via Timesheet),Jami to&#39;lov miqdori (vaqt jadvallari orqali),
+Total Billed Amount (via Sales Invoice),Jami to&#39;lov miqdori (Savdo shkaflari orqali),
+Total Consumed Material Cost (via Stock Entry),Jami iste&#39;mol qilinadigan materiallar qiymati (aktsiyalar orqali),
 Gross Margin,Yalpi marj,
 Gross Margin %,Yalpi marj%,
 Monitor Progress,Monitoring jarayoni,
@@ -7521,12 +7521,10 @@
 Dependencies,Bog&#39;lanishlar,
 Dependent Tasks,Bog&#39;lanish vazifalari,
 Depends on Tasks,Vazifalarga bog&#39;liq,
-Actual Start Date (via Time Sheet),Haqiqiy boshlash sanasi (vaqt jadvalidan orqali),
-Actual Time (in hours),Haqiqiy vaqt (soati),
-Actual End Date (via Time Sheet),Haqiqiy tugash sanasi (vaqt jadvalidan orqali),
-Total Costing Amount (via Time Sheet),Jami xarajat summasi (vaqt jadvalidan),
+Actual Start Date (via Timesheet),Haqiqiy boshlash sanasi (vaqt jadvalidan orqali),
+Actual Time in Hours (via Timesheet),Haqiqiy vaqt (soati),
+Actual End Date (via Timesheet),Haqiqiy tugash sanasi (vaqt jadvalidan orqali),
 Total Expense Claim (via Expense Claim),Jami xarajatlar bo&#39;yicha da&#39;vo (mablag &#39;to&#39;lovi bo&#39;yicha),
-Total Billing Amount (via Time Sheet),Jami to&#39;lov miqdori (vaqt jadvalidan),
 Review Date,Ko&#39;rib chiqish sanasi,
 Closing Date,Yakunlovchi sana,
 Task Depends On,Vazifa bog&#39;liq,
diff --git a/erpnext/translations/vi.csv b/erpnext/translations/vi.csv
index 28fecb6..cc20ba5 100644
--- a/erpnext/translations/vi.csv
+++ b/erpnext/translations/vi.csv
@@ -7479,15 +7479,15 @@
 Project will be accessible on the website to these users,Dự án sẽ có thể truy cập vào các trang web tới những người sử dụng,
 Copied From,Sao chép từ,
 Start and End Dates,Ngày bắt đầu và kết thúc,
-Actual Time (in Hours),Thời gian thực tế (tính bằng giờ),
+Actual Time in Hours (via Timesheet),Thời gian thực tế (tính bằng giờ),
 Costing and Billing,Chi phí và thanh toán,
-Total Costing Amount (via Timesheets),Tổng số tiền chi phí (thông qua Timesheets),
-Total Expense Claim (via Expense Claims),Tổng số yêu cầu bồi thường chi phí (thông qua yêu cầu bồi thường chi phí),
+Total Costing Amount (via Timesheet),Tổng số tiền chi phí (thông qua Timesheets),
+Total Expense Claim (via Expense Claim),Tổng số yêu cầu bồi thường chi phí (thông qua yêu cầu bồi thường chi phí),
 Total Purchase Cost (via Purchase Invoice),Tổng Chi phí mua hàng (thông qua danh đơn thu mua),
 Total Sales Amount (via Sales Order),Tổng số tiền bán hàng (qua Lệnh bán hàng),
-Total Billable Amount (via Timesheets),Tổng số tiền Có thể Lập hoá đơn (thông qua Timesheets),
-Total Billed Amount (via Sales Invoices),Tổng số Khoản Thanh Toán (Thông qua Hóa Đơn Bán Hàng),
-Total Consumed Material Cost  (via Stock Entry),Tổng chi phí nguyên vật liệu tiêu thụ (thông qua nhập hàng),
+Total Billable Amount (via Timesheet),Tổng số tiền Có thể Lập hoá đơn (thông qua Timesheets),
+Total Billed Amount (via Sales Invoice),Tổng số Khoản Thanh Toán (Thông qua Hóa Đơn Bán Hàng),
+Total Consumed Material Cost (via Stock Entry),Tổng chi phí nguyên vật liệu tiêu thụ (thông qua nhập hàng),
 Gross Margin,Tổng lợi nhuận,
 Gross Margin %,Tổng lợi nhuận %,
 Monitor Progress,Theo dõi tiến độ,
@@ -7521,12 +7521,10 @@
 Dependencies,Phụ thuộc,
 Dependent Tasks,Nhiệm vụ phụ thuộc,
 Depends on Tasks,Phụ thuộc vào nhiệm vụ,
-Actual Start Date (via Time Sheet),Ngày bắt đầu thực tế (thông qua thời gian biểu),
-Actual Time (in hours),Thời gian thực tế (tính bằng giờ),
-Actual End Date (via Time Sheet),Ngày kết thúc thực tế (thông qua thời gian biểu),
-Total Costing Amount (via Time Sheet),Tổng chi phí (thông qua thời gian biểu),
+Actual Start Date (via Timesheet),Ngày bắt đầu thực tế (thông qua thời gian biểu),
+Actual Time in Hours (via Timesheet),Thời gian thực tế (tính bằng giờ),
+Actual End Date (via Timesheet),Ngày kết thúc thực tế (thông qua thời gian biểu),
 Total Expense Claim (via Expense Claim),Tổng số yêu cầu bồi thường chi phí (thông qua số yêu cầu bồi thường chi phí ),
-Total Billing Amount (via Time Sheet),Tổng số tiền thanh toán (thông qua Thời gian biểu),
 Review Date,Ngày đánh giá,
 Closing Date,Ngày Đóng cửa,
 Task Depends On,Nhiệm vụ Phụ thuộc vào,
diff --git a/erpnext/translations/zh-TW.csv b/erpnext/translations/zh-TW.csv
index 22fd9ee..23e9e4e 100644
--- a/erpnext/translations/zh-TW.csv
+++ b/erpnext/translations/zh-TW.csv
@@ -409,7 +409,6 @@
 Row {0}: Please check 'Is Advance' against Account {1} if this is an advance entry.,行{0}：請檢查'是進階'對科目{1}，如果這是一個進階條目。
 Warehouse {0} does not belong to company {1},倉庫{0}不屬於公司{1}
 Profit & Loss,收益與損失
-Total Costing Amount (via Time Sheet),總成本計算量（通過時間表）
 Please setup Students under Student Groups,請設置學生組的學生
 Item Website Specification,項目網站規格
 Leave Blocked,禁假的
@@ -2673,7 +2672,6 @@
 Please set the Date Of Joining for employee {0},請為員工{0}設置加入日期
 Please set the Date Of Joining for employee {0},請為員工{0}設置加入日期
 Discharge,卸貨
-Total Billing Amount (via Time Sheet),總開票金額（通過時間表）
 Repeat Customer Revenue,重複客戶收入
 Mapped Items,映射項目
 IT,它
@@ -2698,7 +2696,7 @@
 Personal Details,個人資料
 Please set 'Asset Depreciation Cost Center' in Company {0},請設置在公司的資產折舊成本中心“{0}
 Maintenance Schedules,保養時間表
-Actual End Date (via Time Sheet),實際結束日期（通過時間表）
+Actual End Date (via Timesheet),實際結束日期（通過時間表）
 Soil Type,土壤類型
 Amount {0} {1} against {2} {3},量{0} {1}對{2} {3}
 Quotation Trends,報價趨勢
@@ -2777,7 +2775,7 @@
 Expense Claims,報銷
 Total Exemption Amount,免稅總額
 BOM Search,BOM搜索
-Total Consumed Material Cost  (via Stock Entry),總消耗材料成本（通過庫存輸入）
+Total Consumed Material Cost (via Stock Entry),總消耗材料成本（通過庫存輸入）
 Subscription Period,訂閱期
 To Date cannot be less than From Date,迄今不能少於起始日期
 "Publish ""In Stock"" or ""Not in Stock"" on Hub based on stock available in this warehouse.",基於倉庫中的庫存，在Hub上發布“庫存”或“庫存”。
@@ -3303,7 +3301,7 @@
 A third party distributor / dealer / commission agent / affiliate / reseller who sells the companies products for a commission.,第三方分銷商/經銷商/代理商/分支機構/分銷商誰銷售公司產品的佣金。
 {0} against Purchase Order {1},{0}針對採購訂單{1}
 Patient Demographics,患者人口統計學
-Actual Start Date (via Time Sheet),實際開始日期（通過時間表）
+Actual Start Date (via Timesheet),實際開始日期（通過時間表）
 This is an example website auto-generated from ERPNext,這是一個由 ERPNext 自動產生的範例網站
 Ageing Range 1,老齡範圍1,
 Enable Shopify,啟用Shopify,
@@ -3865,7 +3863,7 @@
 Is Inter State,是國際
 Shift Management,班次管理
 Only leaf nodes are allowed in transaction,只有葉節點中允許交易
-Total Costing Amount (via Timesheets),總成本金額（通過時間表）
+Total Costing Amount (via Timesheet),總成本金額（通過時間表）
 Expense Approver,費用審批
 Row {0}: Advance against Customer must be credit,行{0}：提前對客戶必須是信用
 Hourly,每小時
@@ -4570,7 +4568,7 @@
 Item {0} must be a Fixed Asset Item,項{0}必須是固定資產項目
 Make Variants,變種
 Default BOM,預設的BOM,
-Total Billed Amount (via Sales Invoices),總開票金額（通過銷售發票）
+Total Billed Amount (via Sales Invoice),總開票金額（通過銷售發票）
 Debit Note Amount,借方票據金額
 "There are inconsistencies between the rate, no of shares and the amount calculated",費率，股份數量和計算的金額之間不一致
 You are not present all day(s) between compensatory leave request days,您在補休請求日之間不是全天
@@ -5360,7 +5358,7 @@
 Piecework,計件工作
 Avg. Buying Rate,平均。買入價
 From No,來自No,
-Actual Time (in Hours),實際時間（小時）
+Actual Time in Hours (via Timesheet),實際時間（小時）
 History In Company,公司歷史
 Customer Primary Address,客戶主要地址
 Newsletters,簡訊
@@ -5457,7 +5455,7 @@
 "Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'",科目餘額已歸為借方科目，不允許設為貸方
 Quality Management,品質管理
 Item {0} has been disabled,項{0}已被禁用
-Total Billable Amount (via Timesheets),總計費用金額（通過時間表）
+Total Billable Amount (via Timesheet),總計費用金額（通過時間表）
 Previous Business Day,前一個營業日
 Repay Fixed Amount per Period,償還每期固定金額
 Health Insurance No,健康保險No,
@@ -6200,7 +6198,7 @@
 Seating Capacity,座位數
 Lab Test Groups,實驗室測試組
 Party Type and Party is mandatory for {0} account,{0}科目的參與方以及類型為必填
-Total Expense Claim (via Expense Claims),總費用報銷（通過費用報銷）
+Total Expense Claim (via Expense Claim),總費用報銷（通過費用報銷）
 GST Summary,消費稅總結
 Please enable default incoming account before creating Daily Work Summary Group,請在創建日常工作摘要組之前啟用默認傳入科目
 Total Score,總得分
diff --git a/erpnext/translations/zh.csv b/erpnext/translations/zh.csv
index 035b3c5..95a4c96 100644
--- a/erpnext/translations/zh.csv
+++ b/erpnext/translations/zh.csv
@@ -7478,15 +7478,15 @@
 Project will be accessible on the website to these users,这些用户可在网站上访问该项目,
 Copied From,复制自,
 Start and End Dates,开始和结束日期,
-Actual Time (in Hours),实际时间（以小时为单位）,
+Actual Time in Hours (via Timesheet),实际时间（以小时为单位）,
 Costing and Billing,成本核算和计费,
-Total Costing Amount (via Timesheets),总成本金额（通过工时单）,
-Total Expense Claim (via Expense Claims),总费用报销（通过费用报销）,
+Total Costing Amount (via Timesheet),总成本金额（通过工时单）,
+Total Expense Claim (via Expense Claim),总费用报销（通过费用报销）,
 Total Purchase Cost (via Purchase Invoice),总采购成本（通过采购费用清单）,
 Total Sales Amount (via Sales Order),总销售额（通过销售订单）,
-Total Billable Amount (via Timesheets),总可计费用金额（通过工时单）,
-Total Billed Amount (via Sales Invoices),总账单金额（通过销售费用清单）,
-Total Consumed Material Cost  (via Stock Entry),总物料消耗成本（通过手工库存移动）,
+Total Billable Amount (via Timesheet),总可计费用金额（通过工时单）,
+Total Billed Amount (via Sales Invoice),总账单金额（通过销售费用清单）,
+Total Consumed Material Cost (via Stock Entry),总物料消耗成本（通过手工库存移动）,
 Gross Margin,毛利,
 Gross Margin %,毛利率％,
 Monitor Progress,监控进度,
@@ -7520,12 +7520,10 @@
 Dependencies,依赖,
 Dependent Tasks,相关任务,
 Depends on Tasks,前置任务,
-Actual Start Date (via Time Sheet),实际开始日期（通过工时单）,
-Actual Time (in hours),实际时间（小时）,
-Actual End Date (via Time Sheet),实际结束日期（通过工时单）,
-Total Costing Amount (via Time Sheet),总成本计算量（通过工时单）,
+Actual Start Date (via Timesheet),实际开始日期（通过工时单）,
+Actual Time in Hours (via Timesheet),实际时间（小时）,
+Actual End Date (via Timesheet),实际结束日期（通过工时单）,
 Total Expense Claim (via Expense Claim),总费用报销（通过费用报销）,
-Total Billing Amount (via Time Sheet),总开票金额（通过工时单）,
 Review Date,评论日期,
 Closing Date,结算日期,
 Task Depends On,前置任务,
diff --git a/erpnext/translations/zh_tw.csv b/erpnext/translations/zh_tw.csv
index ef49670..54eb86a 100644
--- a/erpnext/translations/zh_tw.csv
+++ b/erpnext/translations/zh_tw.csv
@@ -6967,15 +6967,15 @@
 Project will be accessible on the website to these users,項目將在網站向這些用戶上訪問,
 Copied From,複製自,
 Start and End Dates,開始和結束日期,
-Actual Time (in Hours),實際時間（以小時為單位）,
+Actual Time in Hours (via Timesheet),實際時間（以小時為單位）,
 Costing and Billing,成本核算和計費,
-Total Costing Amount (via Timesheets),總成本金額（通過時間表）,
-Total Expense Claim (via Expense Claims),總費用報銷（通過費用報銷）,
+Total Costing Amount (via Timesheet),總成本金額（通過時間表）,
+Total Expense Claim (via Expense Claim),總費用報銷（通過費用報銷）,
 Total Purchase Cost (via Purchase Invoice),總購買成本（通過採購發票）,
 Total Sales Amount (via Sales Order),總銷售額（通過銷售訂單）,
-Total Billable Amount (via Timesheets),總計費用金額（通過時間表）,
-Total Billed Amount (via Sales Invoices),總開票金額（通過銷售發票）,
-Total Consumed Material Cost  (via Stock Entry),總消耗材料成本（通過股票輸入）,
+Total Billable Amount (via Timesheet),總計費用金額（通過時間表）,
+Total Billed Amount (via Sales Invoice),總開票金額（通過銷售發票）,
+Total Consumed Material Cost (via Stock Entry),總消耗材料成本（通過股票輸入）,
 Gross Margin,毛利率,
 Monitor Progress,監視進度,
 Collect Progress,收集進度,
@@ -7006,12 +7006,10 @@
 Dependencies,依賴,
 Dependent Tasks,相關任務,
 Depends on Tasks,取決於任務,
-Actual Start Date (via Time Sheet),實際開始日期（通過時間表）,
-Actual Time (in hours),實際時間（小時）,
-Actual End Date (via Time Sheet),實際結束日期（通過時間表）,
-Total Costing Amount (via Time Sheet),總成本計算量（通過時間表）,
+Actual Start Date (via Timesheet),實際開始日期（通過時間表）,
+Actual Time in Hours (via Timesheet),實際時間（小時）,
+Actual End Date (via Timesheet),實際結束日期（通過時間表）,
 Total Expense Claim (via Expense Claim),總費用報銷（通過費用報銷）,
-Total Billing Amount (via Time Sheet),總開票金額（通過時間表）,
 Review Date,評論日期,
 Closing Date,截止日期,
 Task Depends On,任務取決於,
diff --git a/erpnext/utilities/workspace/utilities/utilities.json b/erpnext/utilities/workspace/utilities/utilities.json
deleted file mode 100644
index 5b81e03..0000000
--- a/erpnext/utilities/workspace/utilities/utilities.json
+++ /dev/null
@@ -1,55 +0,0 @@
-{
- "charts": [],
- "content": "[{\"type\":\"header\",\"data\":{\"text\":\"<span class=\\\"h4\\\"><b>Reports & Masters</b></span>\",\"col\":12}},{\"type\":\"card\",\"data\":{\"card_name\":\"Video\",\"col\":4}}]",
- "creation": "2020-09-10 12:21:22.335307",
- "docstatus": 0,
- "doctype": "Workspace",
- "for_user": "",
- "hide_custom": 0,
- "idx": 0,
- "label": "Utilities",
- "links": [
-  {
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Video",
-   "link_count": 0,
-   "onboard": 0,
-   "type": "Card Break"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Video",
-   "link_count": 0,
-   "link_to": "Video",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  },
-  {
-   "dependencies": "",
-   "hidden": 0,
-   "is_query_report": 0,
-   "label": "Video Settings",
-   "link_count": 0,
-   "link_to": "Video Settings",
-   "link_type": "DocType",
-   "onboard": 0,
-   "type": "Link"
-  }
- ],
- "modified": "2022-01-13 17:50:10.067510",
- "modified_by": "Administrator",
- "module": "Utilities",
- "name": "Utilities",
- "owner": "user@erpnext.com",
- "parent_page": "",
- "public": 1,
- "restrict_to_domain": "",
- "roles": [],
- "sequence_id": 30.0,
- "shortcuts": [],
- "title": "Utilities"
-}
\ No newline at end of file
