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/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/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/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_schedule/asset_depreciation_schedule.py b/erpnext/assets/doctype/asset_depreciation_schedule/asset_depreciation_schedule.py
index 8b359cd..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,10 +246,6 @@
 				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 = add_months(
@@ -275,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,
@@ -290,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:
@@ -319,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/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 78bb056..20b332e 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -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/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/patches.txt b/erpnext/patches.txt
index 7e68ec1..3a59d3c 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -333,3 +333,4 @@
 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
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/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/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/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/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/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/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_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py
index 68df918..f2c2e27 100644
--- a/erpnext/stock/report/stock_balance/stock_balance.py
+++ b/erpnext/stock/report/stock_balance/stock_balance.py
@@ -100,6 +100,7 @@
 		_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"):
@@ -133,6 +134,9 @@
 
 				report_data.update(stock_ageing_data)
 
+			report_data.update(
+				{"reserved_stock": sre_details.get((report_data.item_code, report_data.warehouse), 0.0)}
+			)
 			self.data.append(report_data)
 
 	def get_item_warehouse_map(self):
@@ -159,6 +163,18 @@
 
 		return item_warehouse_map
 
+	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,
+		)
+
+		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 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:
@@ -436,6 +452,13 @@
 					"options": "currency",
 				},
 				{
+					"label": _("Reserved Stock"),
+					"fieldname": "reserved_stock",
+					"fieldtype": "Float",
+					"width": 80,
+					"convertible": "qty",
+				},
+				{
 					"label": _("Company"),
 					"fieldname": "company",
 					"fieldtype": "Link",
@@ -573,7 +596,7 @@
 				"warehouse",
 				"item_name",
 				"item_group",
-				"projecy",
+				"project",
 				"stock_uom",
 				"company",
 				"opening_fifo_queue",
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 10654dd..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)
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,任務取決於,
