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_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/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_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,任務取決於,
