diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..24f122a
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,14 @@
+# Root editor config file
+root = true
+
+# Common settings
+[*]
+end_of_line = lf
+insert_final_newline = true
+trim_trailing_whitespace = true
+charset = utf-8
+
+# python, js indentation settings
+[{*.py,*.js}]
+indent_style = tab
+indent_size = 4
diff --git a/.eslintrc b/.eslintrc
index 757aa3c..d6f0f49 100644
--- a/.eslintrc
+++ b/.eslintrc
@@ -5,7 +5,7 @@
 		"es6": true
 	},
 	"parserOptions": {
-		"ecmaVersion": 6,
+		"ecmaVersion": 9,
 		"sourceType": "module"
 	},
 	"extends": "eslint:recommended",
@@ -15,6 +15,14 @@
 			"tab",
 			{ "SwitchCase": 1 }
 		],
+		"brace-style": [
+			"error",
+			"1tbs"
+		],
+		"space-unary-ops": [
+			"error",
+			{ "words": true }
+		],
 		"linebreak-style": [
 			"error",
 			"unix"
@@ -44,12 +52,10 @@
 		"no-control-regex": [
 			"off"
 		],
-		"spaced-comment": [
-			"warn"
-		],
-		"no-trailing-spaces": [
-			"warn"
-		]
+		"space-before-blocks": "warn",
+		"keyword-spacing": "warn",
+		"comma-spacing": "warn",
+		"key-spacing": "warn"
 	},
 	"root": true,
 	"globals": {
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
new file mode 100644
index 0000000..26bb7ab
--- /dev/null
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -0,0 +1,5 @@
+blank_issues_enabled: false
+contact_links:
+  - name: Community Forum
+    url: https://discuss.erpnext.com/
+    about: For general QnA, discussions and community help.
diff --git a/.travis/site_config.json b/.travis/site_config.json
index dae8009..572bbd0 100644
--- a/.travis/site_config.json
+++ b/.travis/site_config.json
@@ -9,5 +9,6 @@
  "root_login": "root",
  "root_password": "travis",
  "host_name": "http://test_site:8000",
- "install_apps": ["erpnext"]
+ "install_apps": ["erpnext"],
+ "throttle_user_limit": 100
 }
\ No newline at end of file
diff --git a/README.md b/README.md
index 0f6a521..15782a2 100644
--- a/README.md
+++ b/README.md
@@ -5,7 +5,7 @@
         <p>ERP made simple</p>
     </p>
 
-[![Build Status](https://travis-ci.com/frappe/erpnext.svg)](https://travis-ci.com/frappe/erpnext)
+[![Build Status](https://api.travis-ci.com/frappe/erpnext.svg?branch=develop)](https://travis-ci.com/frappe/erpnext)
 [![Open Source Helpers](https://www.codetriage.com/frappe/erpnext/badges/users.svg)](https://www.codetriage.com/frappe/erpnext)
 [![Coverage Status](https://coveralls.io/repos/github/frappe/erpnext/badge.svg?branch=develop)](https://coveralls.io/github/frappe/erpnext?branch=develop)
 
diff --git a/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py b/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py
index 39bf4b0..85f54f9 100644
--- a/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py
+++ b/erpnext/accounts/dashboard_chart_source/account_balance_timeline/account_balance_timeline.py
@@ -6,9 +6,8 @@
 from frappe import _
 from frappe.utils import add_to_date, date_diff, getdate, nowdate, get_last_day, formatdate, get_link_to_form
 from erpnext.accounts.report.general_ledger.general_ledger import execute
-from frappe.utils.dashboard import cache_source, get_from_date_from_timespan
-from frappe.desk.doctype.dashboard_chart.dashboard_chart import get_period_ending
-
+from frappe.utils.dashboard import cache_source
+from frappe.utils.dateutils import get_from_date_from_timespan, get_period_ending
 from frappe.utils.nestedset import get_descendants_of
 
 @frappe.whitelist()
diff --git a/erpnext/accounts/desk_page/accounting/accounting.json b/erpnext/accounts/desk_page/accounting/accounting.json
index b0371e7..a18dbff 100644
--- a/erpnext/accounts/desk_page/accounting/accounting.json
+++ b/erpnext/accounts/desk_page/accounting/accounting.json
@@ -23,7 +23,7 @@
   {
    "hidden": 0,
    "label": "Reports",
-   "links": "[\n    {\n        \"dependencies\": [\n            \"GL Entry\"\n        ],\n        \"doctype\": \"GL Entry\",\n        \"is_query_report\": true,\n        \"label\": \"Trial Balance for Party\",\n        \"name\": \"Trial Balance for Party\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Journal Entry\"\n        ],\n        \"doctype\": \"Journal Entry\",\n        \"is_query_report\": true,\n        \"label\": \"Payment Period Based On Invoice Date\",\n        \"name\": \"Payment Period Based On Invoice Date\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Sales Invoice\"\n        ],\n        \"doctype\": \"Sales Invoice\",\n        \"is_query_report\": true,\n        \"label\": \"Sales Partners Commission\",\n        \"name\": \"Sales Partners Commission\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Customer\"\n        ],\n        \"doctype\": \"Customer\",\n        \"is_query_report\": true,\n        \"label\": \"Customer Credit Balance\",\n        \"name\": \"Customer Credit Balance\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Sales Invoice\"\n        ],\n        \"doctype\": \"Sales Invoice\",\n        \"is_query_report\": true,\n        \"label\": \"Sales Payment Summary\",\n        \"name\": \"Sales Payment Summary\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Address\"\n        ],\n        \"doctype\": \"Address\",\n        \"is_query_report\": true,\n        \"label\": \"Address And Contacts\",\n        \"name\": \"Address And Contacts\",\n        \"type\": \"report\"\n    }\n]"
+   "links": "[\n    {\n        \"dependencies\": [\n            \"GL Entry\"\n        ],\n        \"doctype\": \"GL Entry\",\n        \"is_query_report\": true,\n        \"label\": \"Trial Balance for Party\",\n        \"name\": \"Trial Balance for Party\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Journal Entry\"\n        ],\n        \"doctype\": \"Journal Entry\",\n        \"is_query_report\": true,\n        \"label\": \"Payment Period Based On Invoice Date\",\n        \"name\": \"Payment Period Based On Invoice Date\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Sales Invoice\"\n        ],\n        \"doctype\": \"Sales Invoice\",\n        \"is_query_report\": true,\n        \"label\": \"Sales Partners Commission\",\n        \"name\": \"Sales Partners Commission\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Customer\"\n        ],\n        \"doctype\": \"Customer\",\n        \"is_query_report\": true,\n        \"label\": \"Customer Credit Balance\",\n        \"name\": \"Customer Credit Balance\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Sales Invoice\"\n        ],\n        \"doctype\": \"Sales Invoice\",\n        \"is_query_report\": true,\n        \"label\": \"Sales Payment Summary\",\n        \"name\": \"Sales Payment Summary\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Address\"\n        ],\n        \"doctype\": \"Address\",\n        \"is_query_report\": true,\n        \"label\": \"Address And Contacts\",\n        \"name\": \"Address And Contacts\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"GL Entry\"\n        ],\n        \"doctype\": \"GL Entry\",\n        \"is_query_report\": true,\n        \"label\": \"DATEV Export\",\n        \"name\": \"DATEV\",\n        \"type\": \"report\"\n    }\n]"
   },
   {
    "hidden": 0,
@@ -43,7 +43,7 @@
   {
    "hidden": 0,
    "label": "Bank Statement",
-   "links": "[\n    {\n        \"label\": \"Bank\",\n        \"name\": \"Bank\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Bank Account\",\n        \"name\": \"Bank Account\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Bank Statement Transaction Entry\",\n        \"name\": \"Bank Statement Transaction Entry\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Bank Statement Settings\",\n        \"name\": \"Bank Statement Settings\",\n        \"type\": \"doctype\"\n    }\n]"
+   "links": "[\n    {\n        \"label\": \"Bank\",\n        \"name\": \"Bank\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Bank Account\",\n        \"name\": \"Bank Account\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Bank Clearance\",\n        \"name\": \"Bank Clearance\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Bank Reconciliation\",\n        \"name\": \"bank-reconciliation\",\n        \"type\": \"page\"\n    },\n    {\n        \"dependencies\": [\n            \"GL Entry\"\n        ],\n        \"doctype\": \"GL Entry\",\n        \"is_query_report\": true,\n        \"label\": \"Bank Reconciliation Statement\",\n        \"name\": \"Bank Reconciliation Statement\",\n        \"type\": \"report\"\n    }\n]"
   },
   {
    "hidden": 0,
@@ -79,6 +79,11 @@
    "hidden": 0,
    "label": "Profitability",
    "links": "[\n    {\n        \"dependencies\": [\n            \"Sales Invoice\"\n        ],\n        \"doctype\": \"Sales Invoice\",\n        \"is_query_report\": true,\n        \"label\": \"Gross Profit\",\n        \"name\": \"Gross Profit\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"GL Entry\"\n        ],\n        \"doctype\": \"GL Entry\",\n        \"is_query_report\": true,\n        \"label\": \"Profitability Analysis\",\n        \"name\": \"Profitability Analysis\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Sales Invoice\"\n        ],\n        \"doctype\": \"Sales Invoice\",\n        \"is_query_report\": true,\n        \"label\": \"Sales Invoice Trends\",\n        \"name\": \"Sales Invoice Trends\",\n        \"type\": \"report\"\n    },\n    {\n        \"dependencies\": [\n            \"Purchase Invoice\"\n        ],\n        \"doctype\": \"Purchase Invoice\",\n        \"is_query_report\": true,\n        \"label\": \"Purchase Invoice Trends\",\n        \"name\": \"Purchase Invoice Trends\",\n        \"type\": \"report\"\n    }\n]"
+  },
+  {
+   "hidden": 0,
+   "label": "Value-Added Tax (VAT UAE)",
+   "links": "[\n    {\n        \"country\": \"United Arab Emirates\",\n        \"label\": \"UAE VAT Settings\",\n        \"name\": \"UAE VAT Settings\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"country\": \"United Arab Emirates\",\n        \"is_query_report\": true,\n        \"label\": \"UAE VAT 201\",\n        \"name\": \"UAE VAT 201\",\n        \"type\": \"report\"\n    }\n\n]"
   }
  ],
  "category": "Modules",
@@ -98,7 +103,7 @@
  "idx": 0,
  "is_standard": 1,
  "label": "Accounting",
- "modified": "2020-10-08 20:31:46.022470",
+ "modified": "2020-11-11 18:35:11.542909",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Accounting",
@@ -108,7 +113,7 @@
  "pin_to_top": 0,
  "shortcuts": [
   {
-   "label": "Chart of Accounts",
+   "label": "Chart Of Accounts",
    "link_to": "Account",
    "type": "DocType"
   },
diff --git a/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py b/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py
index 6c83e3b..acb11e5 100644
--- a/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py
+++ b/erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py
@@ -245,6 +245,9 @@
                     "account_number": "2200"
                 },
                 _("Duties and Taxes"): {
+                    _("TDS Payable"): {
+                        "account_number": "2310"
+                    },
                     "account_type": "Tax",
                     "is_group": 1,
                     "account_number": "2300"
diff --git a/erpnext/accounts/doctype/bank_transaction/test_bank_transaction.py b/erpnext/accounts/doctype/bank_transaction/test_bank_transaction.py
index 2754633..e9fc5f0 100644
--- a/erpnext/accounts/doctype/bank_transaction/test_bank_transaction.py
+++ b/erpnext/accounts/doctype/bank_transaction/test_bank_transaction.py
@@ -9,11 +9,13 @@
 from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
 from erpnext.accounts.doctype.payment_entry.test_payment_entry import get_payment_entry
 from erpnext.accounts.page.bank_reconciliation.bank_reconciliation import reconcile, get_linked_payments
+from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile
 
 test_dependencies = ["Item", "Cost Center"]
 
 class TestBankTransaction(unittest.TestCase):
 	def setUp(self):
+		make_pos_profile()
 		add_transactions()
 		add_payments()
 
@@ -27,6 +29,9 @@
 		frappe.db.sql("""delete from `tabPayment Entry Reference`""")
 		frappe.db.sql("""delete from `tabPayment Entry`""")
 
+		# Delete POS Profile
+		frappe.db.sql("delete from `tabPOS Profile`")
+
 		frappe.flags.test_bank_transactions_created = False
 		frappe.flags.test_payments_created = False
 
diff --git a/erpnext/accounts/doctype/budget/test_budget.py b/erpnext/accounts/doctype/budget/test_budget.py
index 61c48c7..0f115f9 100644
--- a/erpnext/accounts/doctype/budget/test_budget.py
+++ b/erpnext/accounts/doctype/budget/test_budget.py
@@ -158,8 +158,11 @@
 		set_total_expense_zero(nowdate(), "cost_center")
 
 		budget = make_budget(budget_against="Cost Center")
+		month = now_datetime().month
+		if month > 10:
+			month = 10
 
-		for i in range(now_datetime().month):
+		for i in range(month):
 			jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
 				"_Test Bank - _TC", 20000, "_Test Cost Center - _TC", posting_date=nowdate(), submit=True)
 
@@ -177,8 +180,11 @@
 		set_total_expense_zero(nowdate(), "project")
 
 		budget = make_budget(budget_against="Project")
+		month = now_datetime().month
+		if month > 10:
+			month = 10
 
-		for i in range(now_datetime().month):
+		for i in range(month):
 			jv = make_journal_entry("_Test Account Cost for Goods Sold - _TC",
 				"_Test Bank - _TC", 20000, "_Test Cost Center - _TC", posting_date=nowdate(), submit=True, project="_Test Project")
 
diff --git a/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.js b/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.js
index 2235298..f795dfa 100644
--- a/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.js
+++ b/erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.js
@@ -94,8 +94,7 @@
 				callback: function(r) {
 					if(r.message===false) {
 						frm.set_value("company", "");
-						frappe.throw(__(`Transactions against the company already exist!
-							Chart Of accounts can be imported for company with no transactions`));
+						frappe.throw(__("Transactions against the Company already exist! Chart of Accounts can only be imported for a Company with no transactions."));
 					} else {
 						frm.trigger("refresh");
 					}
diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year.js b/erpnext/accounts/doctype/fiscal_year/fiscal_year.js
index 152e17d..bc77dac 100644
--- a/erpnext/accounts/doctype/fiscal_year/fiscal_year.js
+++ b/erpnext/accounts/doctype/fiscal_year/fiscal_year.js
@@ -9,11 +9,7 @@
 		}
 	},
 	refresh: function (frm) {
-		let doc = frm.doc;
-		frm.toggle_enable('year_start_date', doc.__islocal);
-		frm.toggle_enable('year_end_date', doc.__islocal);
-
-		if (!doc.__islocal && (doc.name != frappe.sys_defaults.fiscal_year)) {
+		if (!frm.doc.__islocal && (frm.doc.name != frappe.sys_defaults.fiscal_year)) {
 			frm.add_custom_button(__("Set as Default"), () => frm.events.set_as_default(frm));
 			frm.set_intro(__("To set this Fiscal Year as Default, click on 'Set as Default'"));
 		} else {
@@ -24,8 +20,10 @@
 		return frm.call('set_as_default');
 	},
 	year_start_date: function(frm) {
-		let year_end_date =
-			frappe.datetime.add_days(frappe.datetime.add_months(frm.doc.year_start_date, 12), -1);
-		frm.set_value("year_end_date", year_end_date);
+		if (!frm.doc.is_short_year) {
+			let year_end_date =
+				frappe.datetime.add_days(frappe.datetime.add_months(frm.doc.year_start_date, 12), -1);
+			frm.set_value("year_end_date", year_end_date);
+		}
 	},
 });
diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year.json b/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
index 4ca9f6b..5ab91f2 100644
--- a/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
+++ b/erpnext/accounts/doctype/fiscal_year/fiscal_year.json
@@ -1,347 +1,126 @@
 {
- "allow_copy": 0, 
- "allow_guest_to_view": 0, 
- "allow_import": 1, 
- "allow_rename": 0, 
- "autoname": "field:year", 
- "beta": 0, 
- "creation": "2013-01-22 16:50:25", 
- "custom": 0, 
- "description": "**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Setup", 
- "editable_grid": 0, 
+ "actions": [],
+ "allow_import": 1,
+ "autoname": "field:year",
+ "creation": "2013-01-22 16:50:25",
+ "description": "**Fiscal Year** represents a Financial Year. All accounting entries and other major transactions are tracked against **Fiscal Year**.",
+ "doctype": "DocType",
+ "document_type": "Setup",
+ "engine": "InnoDB",
+ "field_order": [
+  "year",
+  "disabled",
+  "is_short_year",
+  "year_start_date",
+  "year_end_date",
+  "companies",
+  "auto_created"
+ ],
  "fields": [
   {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "description": "For e.g. 2012, 2012-13", 
-   "fieldname": "year", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Year Name", 
-   "length": 0, 
-   "no_copy": 0, 
-   "oldfieldname": "year", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "description": "For e.g. 2012, 2012-13",
+   "fieldname": "year",
+   "fieldtype": "Data",
+   "in_list_view": 1,
+   "label": "Year Name",
+   "oldfieldname": "year",
+   "oldfieldtype": "Data",
+   "reqd": 1,
+   "unique": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "disabled", 
-   "fieldtype": "Check", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Disabled", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "default": "0",
+   "fieldname": "disabled",
+   "fieldtype": "Check",
+   "label": "Disabled"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "year_start_date", 
-   "fieldtype": "Date", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Year Start Date", 
-   "length": 0, 
-   "no_copy": 1, 
-   "oldfieldname": "year_start_date", 
-   "oldfieldtype": "Date", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "year_start_date",
+   "fieldtype": "Date",
+   "in_list_view": 1,
+   "label": "Year Start Date",
+   "no_copy": 1,
+   "oldfieldname": "year_start_date",
+   "oldfieldtype": "Date",
+   "reqd": 1,
+   "set_only_once": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "year_end_date", 
-   "fieldtype": "Date", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Year End Date", 
-   "length": 0, 
-   "no_copy": 1, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "year_end_date",
+   "fieldtype": "Date",
+   "in_list_view": 1,
+   "label": "Year End Date",
+   "no_copy": 1,
+   "reqd": 1,
+   "set_only_once": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "companies", 
-   "fieldtype": "Table", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Companies", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Fiscal Year Company", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "companies",
+   "fieldtype": "Table",
+   "label": "Companies",
+   "options": "Fiscal Year Company"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "default": "0", 
-   "fieldname": "auto_created", 
-   "fieldtype": "Check", 
-   "hidden": 1, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Auto Created", 
-   "length": 0, 
-   "no_copy": 1, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
+   "default": "0",
+   "fieldname": "auto_created",
+   "fieldtype": "Check",
+   "hidden": 1,
+   "label": "Auto Created",
+   "no_copy": 1,
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "default": "0",
+   "description": "Less than 12 months.",
+   "fieldname": "is_short_year",
+   "fieldtype": "Check",
+   "label": "Is Short Year",
+   "set_only_once": 1
   }
- ], 
- "has_web_view": 0, 
- "hide_heading": 0, 
- "hide_toolbar": 0, 
- "icon": "fa fa-calendar", 
- "idx": 1, 
- "image_view": 0, 
- "in_create": 0, 
- "is_submittable": 0, 
- "issingle": 0, 
- "istable": 0, 
- "max_attachments": 0, 
- "modified": "2018-04-25 14:21:41.273354", 
- "modified_by": "Administrator", 
- "module": "Accounts", 
- "name": "Fiscal Year", 
- "owner": "Administrator", 
+ ],
+ "icon": "fa fa-calendar",
+ "idx": 1,
+ "links": [],
+ "modified": "2020-11-05 12:16:53.081573",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Fiscal Year",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "System Manager", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 0, 
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "share": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 0, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Sales User", 
-   "set_user_permissions": 0, 
-   "share": 0, 
-   "submit": 0, 
-   "write": 0
-  }, 
+   "read": 1,
+   "role": "Sales User"
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 0, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Purchase User", 
-   "set_user_permissions": 0, 
-   "share": 0, 
-   "submit": 0, 
-   "write": 0
-  }, 
+   "read": 1,
+   "role": "Purchase User"
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 0, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Accounts User", 
-   "set_user_permissions": 0, 
-   "share": 0, 
-   "submit": 0, 
-   "write": 0
-  }, 
+   "read": 1,
+   "role": "Accounts User"
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 0, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Stock User", 
-   "set_user_permissions": 0, 
-   "share": 0, 
-   "submit": 0, 
-   "write": 0
-  }, 
+   "read": 1,
+   "role": "Stock User"
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 0, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Employee", 
-   "set_user_permissions": 0, 
-   "share": 0, 
-   "submit": 0, 
-   "write": 0
+   "read": 1,
+   "role": "Employee"
   }
- ], 
- "quick_entry": 0, 
- "read_only": 0, 
- "read_only_onload": 0, 
- "show_name_in_global_search": 1, 
- "sort_field": "name", 
- "sort_order": "DESC", 
- "track_changes": 0, 
- "track_seen": 0
+ ],
+ "show_name_in_global_search": 1,
+ "sort_field": "name",
+ "sort_order": "DESC"
 }
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/fiscal_year/fiscal_year.py b/erpnext/accounts/doctype/fiscal_year/fiscal_year.py
index d80bc7f..da6a3fd 100644
--- a/erpnext/accounts/doctype/fiscal_year/fiscal_year.py
+++ b/erpnext/accounts/doctype/fiscal_year/fiscal_year.py
@@ -36,6 +36,11 @@
 					frappe.throw(_("Cannot change Fiscal Year Start Date and Fiscal Year End Date once the Fiscal Year is saved."))
 
 	def validate_dates(self):
+		if self.is_short_year:
+			# Fiscal Year can be shorter than one year, in some jurisdictions
+			# under certain circumstances. For example, in the USA and Germany.
+			return
+
 		if getdate(self.year_start_date) > getdate(self.year_end_date):
 			frappe.throw(_("Fiscal Year Start Date should be one year earlier than Fiscal Year End Date"),
 				FiscalYearIncorrectDate)
@@ -116,12 +121,8 @@
 			pass
 
 def get_from_and_to_date(fiscal_year):
-	from_and_to_date_tuple = frappe.db.sql("""select year_start_date, year_end_date
-		from `tabFiscal Year` where name=%s""", (fiscal_year))[0]
-
-	from_and_to_date = {
-		"from_date": from_and_to_date_tuple[0],
-		"to_date": from_and_to_date_tuple[1]
-	}
-
-	return from_and_to_date
+	fields = [
+		"year_start_date as from_date",
+		"year_end_date as to_date"
+	]
+	return frappe.db.get_value("Fiscal Year", fiscal_year, fields, as_dict=1)
diff --git a/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py b/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py
index f7b7782..cec4f44 100644
--- a/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py
+++ b/erpnext/accounts/doctype/fiscal_year/test_fiscal_year.py
@@ -11,6 +11,7 @@
 test_ignore = ["Company"]
 
 class TestFiscalYear(unittest.TestCase):
+
 	def test_extra_year(self):
 		if frappe.db.exists("Fiscal Year", "_Test Fiscal Year 2000"):
 			frappe.delete_doc("Fiscal Year", "_Test Fiscal Year 2000")
diff --git a/erpnext/accounts/doctype/fiscal_year/test_records.json b/erpnext/accounts/doctype/fiscal_year/test_records.json
index d5723ca..4405253 100644
--- a/erpnext/accounts/doctype/fiscal_year/test_records.json
+++ b/erpnext/accounts/doctype/fiscal_year/test_records.json
@@ -1,6 +1,13 @@
 [
  {
   "doctype": "Fiscal Year",
+  "year": "_Test Short Fiscal Year 2011",
+  "is_short_year": 1,
+  "year_end_date": "2011-04-01",
+  "year_start_date": "2011-12-31"
+ },
+ {
+  "doctype": "Fiscal Year",
   "year": "_Test Fiscal Year 2012",
   "year_end_date": "2012-12-31",
   "year_start_date": "2012-01-01"
diff --git a/erpnext/accounts/doctype/invoice_discounting/invoice_discounting.py b/erpnext/accounts/doctype/invoice_discounting/invoice_discounting.py
index 8083b21..af8940c 100644
--- a/erpnext/accounts/doctype/invoice_discounting/invoice_discounting.py
+++ b/erpnext/accounts/doctype/invoice_discounting/invoice_discounting.py
@@ -137,11 +137,12 @@
 			"cost_center": erpnext.get_default_cost_center(self.company)
 		})
 
-		je.append("accounts", {
-			"account": self.bank_charges_account,
-			"debit_in_account_currency": flt(self.bank_charges),
-			"cost_center": erpnext.get_default_cost_center(self.company)
-		})
+		if self.bank_charges:
+			je.append("accounts", {
+				"account": self.bank_charges_account,
+				"debit_in_account_currency": flt(self.bank_charges),
+				"cost_center": erpnext.get_default_cost_center(self.company)
+			})
 
 		je.append("accounts", {
 			"account": self.short_term_loan,
diff --git a/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py b/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py
index 3d74d9a..919dd0c 100644
--- a/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py
+++ b/erpnext/accounts/doctype/invoice_discounting/test_invoice_discounting.py
@@ -80,6 +80,7 @@
 			short_term_loan=self.short_term_loan,
 			bank_charges_account=self.bank_charges_account,
 			bank_account=self.bank_account,
+			bank_charges=100
 			)
 
 		je = inv_disc.create_disbursement_entry()
@@ -289,6 +290,7 @@
 	inv_disc.bank_account=args.bank_account
 	inv_disc.loan_start_date = args.start or nowdate()
 	inv_disc.loan_period = args.period or 30
+	inv_disc.bank_charges = flt(args.bank_charges)
 
 	for d in invoices:
 		inv_disc.append("invoices", {
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.json b/erpnext/accounts/doctype/journal_entry/journal_entry.json
index 4573c50..b7bbb74 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.json
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-03-25 10:53:52",
@@ -503,7 +504,7 @@
  "idx": 176,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-02 18:15:46.955697",
+ "modified": "2020-10-30 13:56:01.121995",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Journal Entry",
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index d839478..cd71273 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -34,6 +34,7 @@
 		self.validate_entries_for_advance()
 		self.validate_multi_currency()
 		self.set_amounts_in_company_currency()
+		self.validate_debit_credit_amount()
 		self.validate_total_debit_and_credit()
 		self.validate_against_jv()
 		self.validate_reference_doc()
@@ -339,8 +340,7 @@
 						currency=account_currency)
 
 				if flt(voucher_total) < (flt(order.advance_paid) + total):
-					frappe.throw(_("Advance paid against {0} {1} cannot be greater \
-						than Grand Total {2}").format(reference_type, reference_name, formatted_voucher_total))
+					frappe.throw(_("Advance paid against {0} {1} cannot be greater than Grand Total {2}").format(reference_type, reference_name, formatted_voucher_total))
 
 	def validate_invoices(self):
 		"""Validate totals and docstatus for invoices"""
@@ -369,6 +369,11 @@
 			if flt(d.debit > 0): d.against_account = ", ".join(list(set(accounts_credited)))
 			if flt(d.credit > 0): d.against_account = ", ".join(list(set(accounts_debited)))
 
+	def validate_debit_credit_amount(self):
+		for d in self.get('accounts'):
+			if not flt(d.debit) and not flt(d.credit):
+				frappe.throw(_("Row {0}: Both Debit and Credit values cannot be zero").format(d.idx))
+
 	def validate_total_debit_and_credit(self):
 		self.set_total_debit_credit()
 		if self.difference:
diff --git a/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.js b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.js
index d3040c8..7a06d35 100644
--- a/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.js
+++ b/erpnext/accounts/doctype/mode_of_payment/mode_of_payment.js
@@ -1,13 +1,17 @@
 // Copyright (c) 2015, Frappe Technologies Pvt. Ltd. and Contributors
 // License: GNU General Public License v3. See license.txt
 
-cur_frm.set_query("default_account", "accounts", function(doc, cdt, cdn) {
-	var d = locals[cdt][cdn];
-	return{
-		filters: [
-			['Account', 'account_type', 'in', 'Bank, Cash, Receivable'],
-			['Account', 'is_group', '=', 0],
-			['Account', 'company', '=', d.company]
-		]
-	}
-});
+frappe.ui.form.on('Mode of Payment', {
+	setup: function(frm) {
+		frm.set_query("default_account", "accounts", function(doc, cdt, cdn) {
+			let d = locals[cdt][cdn];
+			return {
+				filters: [
+					['Account', 'account_type', 'in', 'Bank, Cash, Receivable'],
+					['Account', 'is_group', '=', 0],
+					['Account', 'company', '=', d.company]
+				]
+			};
+		});
+	},
+});
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py
index d51856a..ee2092a 100644
--- a/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py
+++ b/erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py
@@ -155,7 +155,8 @@
 			"posting_date": row.posting_date,
 			frappe.scrub(row.party_type): row.party,
 			"is_pos": 0,
-			"doctype": "Sales Invoice" if self.invoice_type == "Sales" else "Purchase Invoice"
+			"doctype": "Sales Invoice" if self.invoice_type == "Sales" else "Purchase Invoice",
+			"update_stock": 0
 		})
 
 		accounting_dimension = get_accounting_dimensions()
diff --git a/erpnext/accounts/doctype/opening_invoice_creation_tool/test_opening_invoice_creation_tool.py b/erpnext/accounts/doctype/opening_invoice_creation_tool/test_opening_invoice_creation_tool.py
index 54229f5..bdfe532 100644
--- a/erpnext/accounts/doctype/opening_invoice_creation_tool/test_opening_invoice_creation_tool.py
+++ b/erpnext/accounts/doctype/opening_invoice_creation_tool/test_opening_invoice_creation_tool.py
@@ -7,17 +7,24 @@
 import unittest
 
 test_dependencies = ["Customer", "Supplier"]
+from frappe.custom.doctype.property_setter.property_setter import make_property_setter
 from erpnext.accounts.doctype.opening_invoice_creation_tool.opening_invoice_creation_tool import get_temporary_opening_account
 
 class TestOpeningInvoiceCreationTool(unittest.TestCase):
-	def make_invoices(self, invoice_type="Sales"):
+	def setUp(self):
+		if not frappe.db.exists("Company", "_Test Opening Invoice Company"):
+			make_company()
+
+	def make_invoices(self, invoice_type="Sales", company=None, party_1=None, party_2=None):
 		doc = frappe.get_single("Opening Invoice Creation Tool")
-		args = get_opening_invoice_creation_dict(invoice_type=invoice_type)
+		args = get_opening_invoice_creation_dict(invoice_type=invoice_type, company=company,
+			party_1=party_1, party_2=party_2)
 		doc.update(args)
 		return doc.make_invoices()
 
 	def test_opening_sales_invoice_creation(self):
-		invoices = self.make_invoices()
+		property_setter = make_property_setter("Sales Invoice", "update_stock", "default", 1, "Check")
+		invoices = self.make_invoices(company="_Test Opening Invoice Company")
 
 		self.assertEqual(len(invoices), 2)
 		expected_value = {
@@ -27,6 +34,13 @@
 		}
 		self.check_expected_values(invoices, expected_value)
 
+		si = frappe.get_doc("Sales Invoice", invoices[0])
+
+		# Check if update stock is not enabled
+		self.assertEqual(si.update_stock, 0)
+
+		property_setter.delete()
+
 	def check_expected_values(self, invoices, expected_value, invoice_type="Sales"):
 		doctype = "Sales Invoice" if invoice_type == "Sales" else "Purchase Invoice"
 
@@ -36,7 +50,7 @@
 				self.assertEqual(si.get(field, ""), expected_value[invoice_idx][field_idx])
 
 	def test_opening_purchase_invoice_creation(self):
-		invoices = self.make_invoices(invoice_type="Purchase")
+		invoices = self.make_invoices(invoice_type="Purchase", company="_Test Opening Invoice Company")
 
 		self.assertEqual(len(invoices), 2)
 		expected_value = {
@@ -46,6 +60,32 @@
 		}
 		self.check_expected_values(invoices, expected_value, "Purchase")
 
+	def test_opening_sales_invoice_creation_with_missing_debit_account(self):
+		company = "_Test Opening Invoice Company"
+		party_1, party_2 = make_customer("Customer A"), make_customer("Customer B")
+
+		old_default_receivable_account = frappe.db.get_value("Company", company, "default_receivable_account")
+		frappe.db.set_value("Company", company, "default_receivable_account", "")
+
+		if not frappe.db.exists("Cost Center", "_Test Opening Invoice Company - _TOIC"):
+			cc = frappe.get_doc({"doctype": "Cost Center", "cost_center_name": "_Test Opening Invoice Company",
+				"is_group": 1, "company": "_Test Opening Invoice Company"})
+			cc.insert(ignore_mandatory=True)
+			cc2 = frappe.get_doc({"doctype": "Cost Center", "cost_center_name": "Main", "is_group": 0,
+				"company": "_Test Opening Invoice Company", "parent_cost_center": cc.name})
+			cc2.insert()
+
+		frappe.db.set_value("Company", company, "cost_center", "Main - _TOIC")
+
+		self.make_invoices(company="_Test Opening Invoice Company", party_1=party_1, party_2=party_2)
+
+		# Check if missing debit account error raised
+		error_log = frappe.db.exists("Error Log", {"error": ["like", "%erpnext.controllers.accounts_controller.AccountMissingError%"]})
+		self.assertTrue(error_log)
+
+		# teardown
+		frappe.db.set_value("Company", company, "default_receivable_account", old_default_receivable_account)
+
 def get_opening_invoice_creation_dict(**args):
 	party = "Customer" if args.get("invoice_type", "Sales") == "Sales" else "Supplier"
 	company = args.get("company", "_Test Company")
@@ -57,7 +97,7 @@
 			{
 				"qty": 1.0,
 				"outstanding_amount": 300,
-				"party": "_Test {0}".format(party),
+				"party": args.get("party_1") or "_Test {0}".format(party),
 				"item_name": "Opening Item",
 				"due_date": "2016-09-10",
 				"posting_date": "2016-09-05",
@@ -66,7 +106,7 @@
 			{
 				"qty": 2.0,
 				"outstanding_amount": 250,
-				"party": "_Test {0} 1".format(party),
+				"party": args.get("party_2") or "_Test {0} 1".format(party),
 				"item_name": "Opening Item",
 				"due_date": "2016-09-10",
 				"posting_date": "2016-09-05",
@@ -76,4 +116,31 @@
 	})
 
 	invoice_dict.update(args)
-	return invoice_dict
\ No newline at end of file
+	return invoice_dict
+
+def make_company():
+	if frappe.db.exists("Company", "_Test Opening Invoice Company"):
+		return frappe.get_doc("Company", "_Test Opening Invoice Company")
+
+	company = frappe.new_doc("Company")
+	company.company_name = "_Test Opening Invoice Company"
+	company.abbr = "_TOIC"
+	company.default_currency = "INR"
+	company.country = "India"
+	company.insert()
+	return company
+
+def make_customer(customer=None):
+	customer_name = customer or "Opening Customer"
+	customer = frappe.get_doc({
+		"doctype": "Customer",
+		"customer_name": customer_name,
+		"customer_group": "All Customer Groups",
+		"customer_type": "Company",
+		"territory": "All Territories"
+	})
+	if not frappe.db.exists("Customer", customer_name):
+		customer.insert(ignore_permissions=True)
+		return customer.name
+	else:
+		return frappe.db.exists("Customer", customer_name)
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.json b/erpnext/accounts/doctype/payment_entry/payment_entry.json
index 72149a6..2e1f201 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.json
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2016-06-01 14:38:51.012597",
@@ -587,7 +588,7 @@
  "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-09-02 13:39:43.383705",
+ "modified": "2020-10-30 13:56:20.007336",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Payment Entry",
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index 11ab020..31a4c8a 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -202,17 +202,32 @@
 		# if account_type not in account_types:
 		# 	frappe.throw(_("Account Type for {0} must be {1}").format(account, comma_or(account_types)))
 
-	def set_exchange_rate(self):
+	def set_exchange_rate(self, ref_doc=None):
+		self.set_source_exchange_rate(ref_doc)
+		self.set_target_exchange_rate(ref_doc)
+
+	def set_source_exchange_rate(self, ref_doc=None):
 		if self.paid_from and not self.source_exchange_rate:
 			if self.paid_from_account_currency == self.company_currency:
 				self.source_exchange_rate = 1
 			else:
-				self.source_exchange_rate = get_exchange_rate(self.paid_from_account_currency,
-					self.company_currency, self.posting_date)
+				if ref_doc:
+					if self.paid_from_account_currency == ref_doc.currency:
+						self.source_exchange_rate = ref_doc.get("exchange_rate")
 
+			if not self.source_exchange_rate:
+					self.source_exchange_rate = get_exchange_rate(self.paid_from_account_currency,
+						self.company_currency, self.posting_date)
+
+	def set_target_exchange_rate(self, ref_doc=None):
 		if self.paid_to and not self.target_exchange_rate:
-			self.target_exchange_rate = get_exchange_rate(self.paid_to_account_currency,
-				self.company_currency, self.posting_date)
+			if ref_doc:
+				if self.paid_to_account_currency == ref_doc.currency:
+					self.target_exchange_rate = ref_doc.get("exchange_rate")
+
+			if not self.target_exchange_rate:
+				self.target_exchange_rate = get_exchange_rate(self.paid_to_account_currency,
+					self.company_currency, self.posting_date)
 
 	def validate_mandatory(self):
 		for field in ("paid_amount", "received_amount", "source_exchange_rate", "target_exchange_rate"):
@@ -282,9 +297,10 @@
 					no_oustanding_refs.setdefault(d.reference_doctype, []).append(d)
 
 		for k, v in no_oustanding_refs.items():
-			frappe.msgprint(_("{} - {} now have {} as they had no outstanding amount left before submitting the Payment Entry.<br><br>\
-					If this is undesirable please cancel the corresponding Payment Entry.")
-				.format(k, frappe.bold(", ".join([d.reference_name for d in v])), frappe.bold("negative outstanding amount")),
+			frappe.msgprint(
+				_("{} - {} now have {} as they had no outstanding amount left before submitting the Payment Entry.")
+					.format(k, frappe.bold(", ".join([d.reference_name for d in v])), frappe.bold("negative outstanding amount"))
+				+ "<br><br>" + _("If this is undesirable please cancel the corresponding Payment Entry."),
 				title=_("Warning"), indicator="orange")
 
 
@@ -909,22 +925,24 @@
 			exchange_rate = 1
 			outstanding_amount = get_outstanding_on_journal_entry(reference_name)
 	elif reference_doctype != "Journal Entry":
-		if party_account_currency == company_currency:
-			if ref_doc.doctype == "Expense Claim":
+		if ref_doc.doctype == "Expense Claim":
 				total_amount = flt(ref_doc.total_sanctioned_amount) + flt(ref_doc.total_taxes_and_charges)
-			elif ref_doc.doctype == "Employee Advance":
-				total_amount = ref_doc.advance_amount
-			else:
+		elif ref_doc.doctype == "Employee Advance":
+			total_amount = ref_doc.advance_amount
+			exchange_rate = ref_doc.get("exchange_rate")
+			if party_account_currency != ref_doc.currency:
+				total_amount = flt(total_amount) * flt(exchange_rate)
+		if not total_amount:
+			if party_account_currency == company_currency:
 				total_amount = ref_doc.base_grand_total
-			exchange_rate = 1
-		else:
-			total_amount = ref_doc.grand_total
-
+				exchange_rate = 1
+			else:
+				total_amount = ref_doc.grand_total
+		if not exchange_rate:
 			# Get the exchange rate from the original ref doc
-			# or get it based on the posting date of the ref doc
+			# or get it based on the posting date of the ref doc.
 			exchange_rate = ref_doc.get("conversion_rate") or \
 				get_exchange_rate(party_account_currency, company_currency, ref_doc.posting_date)
-
 		if reference_doctype in ("Sales Invoice", "Purchase Invoice"):
 			outstanding_amount = ref_doc.get("outstanding_amount")
 			bill_no = ref_doc.get("bill_no")
@@ -932,11 +950,15 @@
 			outstanding_amount = flt(ref_doc.get("total_sanctioned_amount")) + flt(ref_doc.get("total_taxes_and_charges"))\
 				- flt(ref_doc.get("total_amount_reimbursed")) - flt(ref_doc.get("total_advance_amount"))
 		elif reference_doctype == "Employee Advance":
-			outstanding_amount = ref_doc.advance_amount - flt(ref_doc.paid_amount)
+			outstanding_amount = (flt(ref_doc.advance_amount) - flt(ref_doc.paid_amount))
+			if party_account_currency != ref_doc.currency:
+				outstanding_amount = flt(outstanding_amount) * flt(exchange_rate)
+				if party_account_currency == company_currency:
+					exchange_rate = 1
 		else:
 			outstanding_amount = flt(total_amount) - flt(ref_doc.advance_paid)
 	else:
-		# Get the exchange rate based on the posting date of the ref doc
+		# Get the exchange rate based on the posting date of the ref doc.
 		exchange_rate = get_exchange_rate(party_account_currency,
 			company_currency, ref_doc.posting_date)
 
@@ -948,102 +970,104 @@
 		"bill_no": bill_no
 	})
 
+def get_amounts_based_on_reference_doctype(reference_doctype, ref_doc, party_account_currency, company_currency, reference_name):
+	total_amount, outstanding_amount, exchange_rate = None
+	if reference_doctype == "Fees":
+		total_amount = ref_doc.get("grand_total")
+		exchange_rate = 1
+		outstanding_amount = ref_doc.get("outstanding_amount")
+	elif reference_doctype == "Dunning":
+		total_amount = ref_doc.get("dunning_amount")
+		exchange_rate = 1
+		outstanding_amount = ref_doc.get("dunning_amount")
+	elif reference_doctype == "Journal Entry" and ref_doc.docstatus == 1:
+		total_amount = ref_doc.get("total_amount")
+		if ref_doc.multi_currency:
+			exchange_rate = get_exchange_rate(party_account_currency, company_currency, ref_doc.posting_date)
+		else:
+			exchange_rate = 1
+			outstanding_amount = get_outstanding_on_journal_entry(reference_name)
+
+	return total_amount, outstanding_amount, exchange_rate
+
+def get_amounts_based_on_ref_doc(reference_doctype, ref_doc, party_account_currency, company_currency):
+	total_amount, outstanding_amount, exchange_rate = None
+	if ref_doc.doctype == "Expense Claim":
+			total_amount = flt(ref_doc.total_sanctioned_amount) + flt(ref_doc.total_taxes_and_charges)
+	elif ref_doc.doctype == "Employee Advance":
+		total_amount, exchange_rate = get_total_amount_exchange_rate_for_employee_advance(party_account_currency, ref_doc)
+		
+	if not total_amount:
+		total_amount, exchange_rate = get_total_amount_exchange_rate_base_on_currency(
+			party_account_currency, company_currency, ref_doc)
+
+	if not exchange_rate:
+		# Get the exchange rate from the original ref doc
+		# or get it based on the posting date of the ref doc
+		exchange_rate = ref_doc.get("conversion_rate") or \
+			get_exchange_rate(party_account_currency, company_currency, ref_doc.posting_date)
+
+	outstanding_amount, exchange_rate, bill_no = get_bill_no_and_update_amounts(
+		reference_doctype, ref_doc, total_amount, exchange_rate, party_account_currency, company_currency)
+
+	return total_amount, outstanding_amount, exchange_rate, bill_no
+
+def get_total_amount_exchange_rate_for_employee_advance(party_account_currency, ref_doc):
+	total_amount = ref_doc.advance_amount
+	exchange_rate = ref_doc.get("exchange_rate")
+	if party_account_currency != ref_doc.currency:
+		total_amount = flt(total_amount) * flt(exchange_rate)
+
+	return total_amount, exchange_rate
+
+def get_total_amount_exchange_rate_base_on_currency(party_account_currency, company_currency, ref_doc):
+	exchange_rate = None
+	if party_account_currency == company_currency:
+		total_amount = ref_doc.base_grand_total
+		exchange_rate = 1
+	else:
+		total_amount = ref_doc.grand_total
+
+	return total_amount, exchange_rate
+
+def get_bill_no_and_update_amounts(reference_doctype, ref_doc, total_amount, exchange_rate, party_account_currency, company_currency):
+	outstanding_amount, bill_no = None
+	if reference_doctype in ("Sales Invoice", "Purchase Invoice"):
+		outstanding_amount = ref_doc.get("outstanding_amount")
+		bill_no = ref_doc.get("bill_no")
+	elif reference_doctype == "Expense Claim":
+		outstanding_amount = flt(ref_doc.get("total_sanctioned_amount")) + flt(ref_doc.get("total_taxes_and_charges"))\
+			- flt(ref_doc.get("total_amount_reimbursed")) - flt(ref_doc.get("total_advance_amount"))
+	elif reference_doctype == "Employee Advance":
+		outstanding_amount = (flt(ref_doc.advance_amount) - flt(ref_doc.paid_amount))
+		if party_account_currency != ref_doc.currency:
+			outstanding_amount = flt(outstanding_amount) * flt(exchange_rate)
+			if party_account_currency == company_currency:
+				exchange_rate = 1
+	else:
+		outstanding_amount = flt(total_amount) - flt(ref_doc.advance_paid)
+
+	return outstanding_amount, exchange_rate, bill_no
+
 
 @frappe.whitelist()
 def get_payment_entry(dt, dn, party_amount=None, bank_account=None, bank_amount=None):
+	reference_doc = None
 	doc = frappe.get_doc(dt, dn)
 	if dt in ("Sales Order", "Purchase Order") and flt(doc.per_billed, 2) > 0:
 		frappe.throw(_("Can only make payment against unbilled {0}").format(dt))
 
-	if dt in ("Sales Invoice", "Sales Order", "Dunning"):
-		party_type = "Customer"
-	elif dt in ("Purchase Invoice", "Purchase Order"):
-		party_type = "Supplier"
-	elif dt in ("Expense Claim", "Employee Advance"):
-		party_type = "Employee"
-	elif dt in ("Fees"):
-		party_type = "Student"
-
-	# party account
-	if dt == "Sales Invoice":
-		party_account = get_party_account_based_on_invoice_discounting(dn) or doc.debit_to
-	elif dt == "Purchase Invoice":
-		party_account = doc.credit_to
-	elif dt == "Fees":
-		party_account = doc.receivable_account
-	elif dt == "Employee Advance":
-		party_account = doc.advance_account
-	elif dt == "Expense Claim":
-		party_account = doc.payable_account
-	else:
-		party_account = get_party_account(party_type, doc.get(party_type.lower()), doc.company)
-
-	if dt not in ("Sales Invoice", "Purchase Invoice"):
-		party_account_currency = get_account_currency(party_account)
-	else:
-		party_account_currency = doc.get("party_account_currency") or get_account_currency(party_account)
-
-	# payment type
-	if (dt == "Sales Order" or (dt in ("Sales Invoice", "Fees", "Dunning") and doc.outstanding_amount > 0)) \
-		or (dt=="Purchase Invoice" and doc.outstanding_amount < 0):
-			payment_type = "Receive"
-	else:
-		payment_type = "Pay"
-
-	# amounts
-	grand_total = outstanding_amount = 0
-	if party_amount:
-		grand_total = outstanding_amount = party_amount
-	elif dt in ("Sales Invoice", "Purchase Invoice"):
-		if party_account_currency == doc.company_currency:
-			grand_total = doc.base_rounded_total or doc.base_grand_total
-		else:
-			grand_total = doc.rounded_total or doc.grand_total
-		outstanding_amount = doc.outstanding_amount
-	elif dt in ("Expense Claim"):
-		grand_total = doc.total_sanctioned_amount + doc.total_taxes_and_charges
-		outstanding_amount = doc.grand_total \
-			- doc.total_amount_reimbursed
-	elif dt == "Employee Advance":
-		grand_total = doc.advance_amount
-		outstanding_amount = flt(doc.advance_amount) - flt(doc.paid_amount)
-	elif dt == "Fees":
-		grand_total = doc.grand_total
-		outstanding_amount = doc.outstanding_amount
-	elif dt == "Dunning":
-		grand_total = doc.grand_total
-		outstanding_amount = doc.grand_total
-	else:
-		if party_account_currency == doc.company_currency:
-			grand_total = flt(doc.get("base_rounded_total") or doc.base_grand_total)
-		else:
-			grand_total = flt(doc.get("rounded_total") or doc.grand_total)
-		outstanding_amount = grand_total - flt(doc.advance_paid)
+	party_type = set_party_type(dt)
+	party_account = set_party_account(dt, dn, doc, party_type)
+	party_account_currency = set_party_account_currency(dt, party_account, doc)
+	payment_type = set_payment_type(dt, doc)
+	grand_total, outstanding_amount = set_grand_total_and_outstanding_amount(party_amount, dt, party_account_currency, doc)
 
 	# bank or cash
-	bank = get_default_bank_cash_account(doc.company, "Bank", mode_of_payment=doc.get("mode_of_payment"),
-		account=bank_account)
+	bank = get_bank_cash_account(doc, bank_account)
 
-	if not bank:
-		bank = get_default_bank_cash_account(doc.company, "Cash", mode_of_payment=doc.get("mode_of_payment"),
-			account=bank_account)
-
-	paid_amount = received_amount = 0
-	if party_account_currency == bank.account_currency:
-		paid_amount = received_amount = abs(outstanding_amount)
-	elif payment_type == "Receive":
-		paid_amount = abs(outstanding_amount)
-		if bank_amount:
-			received_amount = bank_amount
-		else:
-			received_amount = paid_amount * doc.get('conversion_rate', 1)
-	else:
-		received_amount = abs(outstanding_amount)
-		if bank_amount:
-			paid_amount = bank_amount
-		else:
-			# if party account currency and bank currency is different then populate paid amount as well
-			paid_amount = received_amount * doc.get('conversion_rate', 1)
+	paid_amount, received_amount = set_paid_amount_and_received_amount(
+		dt, party_account_currency, bank, outstanding_amount, payment_type, bank_amount, doc)
 
 	pe = frappe.new_doc("Payment Entry")
 	pe.payment_type = payment_type
@@ -1115,10 +1139,120 @@
 	pe.setup_party_account_field()
 	pe.set_missing_values()
 	if party_account and bank:
-		pe.set_exchange_rate()
+		if dt == "Employee Advance":
+			reference_doc = doc
+		pe.set_exchange_rate(ref_doc=reference_doc)
 		pe.set_amounts()
 	return pe
 
+def get_bank_cash_account(doc, bank_account):
+	bank = get_default_bank_cash_account(doc.company, "Bank", mode_of_payment=doc.get("mode_of_payment"),
+		account=bank_account)
+
+	if not bank:
+		bank = get_default_bank_cash_account(doc.company, "Cash", mode_of_payment=doc.get("mode_of_payment"),
+			account=bank_account)
+
+	return bank
+
+def set_party_type(dt):
+	if dt in ("Sales Invoice", "Sales Order", "Dunning"):
+		party_type = "Customer"
+	elif dt in ("Purchase Invoice", "Purchase Order"):
+		party_type = "Supplier"
+	elif dt in ("Expense Claim", "Employee Advance"):
+		party_type = "Employee"
+	elif dt in ("Fees"):
+		party_type = "Student"
+	return party_type
+
+def set_party_account(dt, dn, doc, party_type):
+	if dt == "Sales Invoice":
+		party_account = get_party_account_based_on_invoice_discounting(dn) or doc.debit_to
+	elif dt == "Purchase Invoice":
+		party_account = doc.credit_to
+	elif dt == "Fees":
+		party_account = doc.receivable_account
+	elif dt == "Employee Advance":
+		party_account = doc.advance_account
+	elif dt == "Expense Claim":
+		party_account = doc.payable_account
+	else:
+		party_account = get_party_account(party_type, doc.get(party_type.lower()), doc.company)
+	return party_account
+
+def set_party_account_currency(dt, party_account, doc):
+	if dt not in ("Sales Invoice", "Purchase Invoice"):
+		party_account_currency = get_account_currency(party_account)
+	else:
+		party_account_currency = doc.get("party_account_currency") or get_account_currency(party_account)
+	return party_account_currency
+
+def set_payment_type(dt, doc):
+	if (dt == "Sales Order" or (dt in ("Sales Invoice", "Fees", "Dunning") and doc.outstanding_amount > 0)) \
+		or (dt=="Purchase Invoice" and doc.outstanding_amount < 0):
+			payment_type = "Receive"
+	else:
+		payment_type = "Pay"
+	return payment_type
+
+def set_grand_total_and_outstanding_amount(party_amount, dt, party_account_currency, doc):
+	grand_total = outstanding_amount = 0
+	if party_amount:
+		grand_total = outstanding_amount = party_amount
+	elif dt in ("Sales Invoice", "Purchase Invoice"):
+		if party_account_currency == doc.company_currency:
+			grand_total = doc.base_rounded_total or doc.base_grand_total
+		else:
+			grand_total = doc.rounded_total or doc.grand_total
+		outstanding_amount = doc.outstanding_amount
+	elif dt in ("Expense Claim"):
+		grand_total = doc.total_sanctioned_amount + doc.total_taxes_and_charges
+		outstanding_amount = doc.grand_total \
+			- doc.total_amount_reimbursed
+	elif dt == "Employee Advance":
+		grand_total = flt(doc.advance_amount)
+		outstanding_amount = flt(doc.advance_amount) - flt(doc.paid_amount)
+		if party_account_currency != doc.currency:
+			grand_total = flt(doc.advance_amount) * flt(doc.exchange_rate)
+			outstanding_amount = (flt(doc.advance_amount) - flt(doc.paid_amount)) * flt(doc.exchange_rate)
+	elif dt == "Fees":
+		grand_total = doc.grand_total
+		outstanding_amount = doc.outstanding_amount
+	elif dt == "Dunning":
+		grand_total = doc.grand_total
+		outstanding_amount = doc.grand_total
+	else:
+		if party_account_currency == doc.company_currency:
+			grand_total = flt(doc.get("base_rounded_total") or doc.base_grand_total)
+		else:
+			grand_total = flt(doc.get("rounded_total") or doc.grand_total)
+		outstanding_amount = grand_total - flt(doc.advance_paid)
+	return grand_total, outstanding_amount
+
+def set_paid_amount_and_received_amount(dt, party_account_currency, bank, outstanding_amount, payment_type, bank_amount, doc):
+	paid_amount = received_amount = 0
+	if party_account_currency == bank.account_currency:
+		paid_amount = received_amount = abs(outstanding_amount)
+	elif payment_type == "Receive":
+		paid_amount = abs(outstanding_amount)
+		if bank_amount:
+			received_amount = bank_amount
+		else:
+			received_amount = paid_amount * doc.get('conversion_rate', 1)
+			if dt == "Employee Advance":
+				received_amount = paid_amount * doc.get('exchange_rate', 1)
+	else:
+		received_amount = abs(outstanding_amount)
+		if bank_amount:
+			paid_amount = bank_amount
+		else:
+			# if party account currency and bank currency is different then populate paid amount as well
+			paid_amount = received_amount * doc.get('conversion_rate', 1)
+			if dt == "Employee Advance":
+				paid_amount = received_amount * doc.get('exchange_rate', 1)
+	return paid_amount, received_amount
+
 def get_reference_as_per_payment_terms(payment_schedule, dt, dn, doc, grand_total, outstanding_amount):
 	references = []
 	for payment_term in payment_schedule:
diff --git a/erpnext/accounts/doctype/pos_invoice/pos_invoice.json b/erpnext/accounts/doctype/pos_invoice/pos_invoice.json
index 1cff3c6..5bc57b4 100644
--- a/erpnext/accounts/doctype/pos_invoice/pos_invoice.json
+++ b/erpnext/accounts/doctype/pos_invoice/pos_invoice.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2020-01-24 15:29:29.933693",
@@ -1580,7 +1581,7 @@
  "icon": "fa fa-file-text",
  "is_submittable": 1,
  "links": [],
- "modified": "2020-09-28 16:51:24.641755",
+ "modified": "2020-10-30 13:56:51.056083",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "POS Invoice",
diff --git a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
index b0a7547..d486ff6 100644
--- a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
+++ b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
@@ -39,6 +39,7 @@
 		self.validate_serialised_or_batched_item()
 		self.validate_stock_availablility()
 		self.validate_return_items_qty()
+		self.validate_non_stock_items()
 		self.set_status()
 		self.set_account_for_mode_of_payment()
 		self.validate_pos()
@@ -132,15 +133,19 @@
 
 			msg = ""
 			item_code = frappe.bold(d.item_code)
+			serial_nos = get_serial_nos(d.serial_no)
 			if serialized and batched and (no_batch_selected or no_serial_selected):
 				msg = (_('Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.')
 							.format(d.idx, item_code))
-			if serialized and no_serial_selected:
+			elif serialized and no_serial_selected:
 				msg = (_('Row #{}: No serial number selected against item: {}. Please select one or remove it to complete transaction.')
 							.format(d.idx, item_code))
-			if batched and no_batch_selected:
+			elif batched and no_batch_selected:
 				msg = (_('Row #{}: No batch selected against item: {}. Please select a batch or remove it to complete transaction.')
 							.format(d.idx, item_code))
+			elif serialized and not no_serial_selected and len(serial_nos) != d.qty:
+				msg = (_("Row #{}: You must select {} serial numbers for item {}.").format(d.idx, frappe.bold(cint(d.qty)), item_code))
+
 			if msg:
 				error_msg.append(msg)
 
@@ -170,6 +175,14 @@
 							_("Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {}")
 							.format(d.idx, bold_serial_no, bold_return_against)
 						)
+	
+	def validate_non_stock_items(self):
+		for d in self.get("items"):
+			is_stock_item = frappe.get_cached_value("Item", d.get("item_code"), "is_stock_item")
+			if not is_stock_item:
+				frappe.throw(_("Row #{}: Item {} is a non stock item. You can only include stock items in a POS Invoice. ").format(
+					d.idx, frappe.bold(d.item_code)
+				), title=_("Invalid Item"))
 
 	def validate_mode_of_payment(self):
 		if len(self.payments) == 0:
diff --git a/erpnext/accounts/doctype/pos_profile/pos_profile.js b/erpnext/accounts/doctype/pos_profile/pos_profile.js
index 558e21c..7f4f755 100755
--- a/erpnext/accounts/doctype/pos_profile/pos_profile.js
+++ b/erpnext/accounts/doctype/pos_profile/pos_profile.js
@@ -35,6 +35,15 @@
 			};
 		});
 
+		frm.set_query("taxes_and_charges", function() {
+			return {
+				filters: [
+					['Sales Taxes and Charges Template', 'company', '=', frm.doc.company],
+					['Sales Taxes and Charges Template', 'docstatus', '!=', 2]
+				]
+			};
+		});
+
 		frm.set_query('company_address', function(doc) {
 			if(!doc.company) {
 				frappe.throw(__('Please set Company'));
diff --git a/erpnext/accounts/doctype/pos_profile/pos_profile.json b/erpnext/accounts/doctype/pos_profile/pos_profile.json
index 570111a..d856ae3 100644
--- a/erpnext/accounts/doctype/pos_profile/pos_profile.json
+++ b/erpnext/accounts/doctype/pos_profile/pos_profile.json
@@ -14,7 +14,6 @@
   "column_break_9",
   "update_stock",
   "ignore_pricing_rule",
-  "hide_unavailable_items",
   "warehouse",
   "campaign",
   "company_address",
@@ -23,6 +22,9 @@
   "section_break_11",
   "payments",
   "section_break_14",
+  "hide_images",
+  "hide_unavailable_items",
+  "auto_add_item_to_cart",
   "item_groups",
   "column_break_16",
   "customer_groups",
@@ -124,7 +126,8 @@
   },
   {
    "fieldname": "section_break_14",
-   "fieldtype": "Section Break"
+   "fieldtype": "Section Break",
+   "label": "Configuration"
   },
   {
    "description": "Only show Items from these Item Groups",
@@ -314,13 +317,25 @@
    "fieldname": "hide_unavailable_items",
    "fieldtype": "Check",
    "label": "Hide Unavailable Items"
+  },
+  {
+   "default": "0",
+   "fieldname": "hide_images",
+   "fieldtype": "Check",
+   "label": "Hide Images"
+  },
+  {
+   "default": "0",
+   "fieldname": "auto_add_item_to_cart",
+   "fieldtype": "Check",
+   "label": "Automatically Add Filtered Item To Cart"
   }
  ],
  "icon": "icon-cog",
  "idx": 1,
  "index_web_pages_for_search": 1,
  "links": [],
- "modified": "2020-10-29 13:18:38.795925",
+ "modified": "2020-12-10 13:59:28.877572",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "POS Profile",
diff --git a/erpnext/accounts/doctype/pos_profile/test_pos_profile.py b/erpnext/accounts/doctype/pos_profile/test_pos_profile.py
index edf8659..62dc1fc 100644
--- a/erpnext/accounts/doctype/pos_profile/test_pos_profile.py
+++ b/erpnext/accounts/doctype/pos_profile/test_pos_profile.py
@@ -70,6 +70,7 @@
 		""".format(cond=cond), tuple([company] + args_list), as_dict=1)
 
 def make_pos_profile(**args):
+	frappe.db.sql("delete from `tabPOS Payment Method`")
 	frappe.db.sql("delete from `tabPOS Profile`")
 
 	args = frappe._dict(args)
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.js b/erpnext/accounts/doctype/pricing_rule/pricing_rule.js
index c92b58b..d79ad5f 100644
--- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.js
+++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.js
@@ -42,56 +42,56 @@
 				<tr><td>
 					<h4>
 						<i class="fa fa-hand-right"></i>
-						${__('Notes')}
+						{{__('Notes')}}
 					</h4>
 					<ul>
 						<li>
-							${__("Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.")}
+							{{__("Pricing Rule is made to overwrite Price List / define discount percentage, based on some criteria.")}}
 						</li>
 						<li>
-							${__("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.")}
+							{{__("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.")}}
 						</li>
 						<li>
-							${__('Discount Percentage can be applied either against a Price List or for all Price List.')}
+							{{__('Discount Percentage can be applied either against a Price List or for all Price List.')}}
 						</li>
 						<li>
-							${__('To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.')}
+							{{__('To not apply Pricing Rule in a particular transaction, all applicable Pricing Rules should be disabled.')}}
 						</li>
 					</ul>
 				</td></tr>
 				<tr><td>
 					<h4><i class="fa fa-question-sign"></i>
-						${__('How Pricing Rule is applied?')}
+						{{__('How Pricing Rule is applied?')}}
 					</h4>
 					<ol>
 						<li>
-							${__("Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.")}
+							{{__("Pricing Rule is first selected based on 'Apply On' field, which can be Item, Item Group or Brand.")}}
 						</li>
 						<li>
-							${__("Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.")}
+							{{__("Then Pricing Rules are filtered out based on Customer, Customer Group, Territory, Supplier, Supplier Type, Campaign, Sales Partner etc.")}}
 						</li>
 						<li>
-							${__('Pricing Rules are further filtered based on quantity.')}
+							{{__('Pricing Rules are further filtered based on quantity.')}}
 						</li>
 						<li>
-							${__('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.')}
+							{{__('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.')}}
 						</li>
 						<li>
-							${__('Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:')}
+							{{__('Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:')}}
 							<ul>
 								<li>
-									${__('Item Code > Item Group > Brand')}
+									{{__('Item Code > Item Group > Brand')}}
 								</li>
 								<li>
-									${__('Customer > Customer Group > Territory')}
+									{{__('Customer > Customer Group > Territory')}}
 								</li>
 								<li>
-									${__('Supplier > Supplier Type')}
+									{{__('Supplier > Supplier Type')}}
 								</li>
 							</ul>
 						</li>
 						<li>
-							${__('If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.')}
+							{{__('If multiple Pricing Rules continue to prevail, users are asked to set Priority manually to resolve conflict.')}}
 						</li>
 					</ol>
 				</td></tr>
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.json b/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
index cc8ed4b..d08a854 100644
--- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
+++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.json
@@ -406,6 +406,7 @@
    "fieldtype": "Column Break"
   },
   {
+   "default": "0",
    "depends_on": "eval:doc.rate_or_discount==\"Rate\"",
    "fieldname": "rate",
    "fieldtype": "Currency",
@@ -469,6 +470,7 @@
    "options": "UOM"
   },
   {
+   "description": "If rate is zero them item will be treated as \"Free Item\"",
    "fieldname": "free_item_rate",
    "fieldtype": "Currency",
    "label": "Rate"
@@ -563,7 +565,7 @@
  "icon": "fa fa-gift",
  "idx": 1,
  "links": [],
- "modified": "2020-10-28 16:53:14.416172",
+ "modified": "2020-12-04 00:36:24.698219",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Pricing Rule",
diff --git a/erpnext/accounts/doctype/pricing_rule/pricing_rule.py b/erpnext/accounts/doctype/pricing_rule/pricing_rule.py
index 149c476..55a5b0e 100644
--- a/erpnext/accounts/doctype/pricing_rule/pricing_rule.py
+++ b/erpnext/accounts/doctype/pricing_rule/pricing_rule.py
@@ -352,8 +352,14 @@
 		pricing_rule_rate = 0.0
 		if pricing_rule.currency == args.currency:
 			pricing_rule_rate = pricing_rule.rate
+
+		if pricing_rule_rate:
+			# Override already set price list rate (from item price)
+			# if pricing_rule_rate > 0
+			item_details.update({
+				"price_list_rate": pricing_rule_rate * args.get("conversion_factor", 1),
+			})
 		item_details.update({
-			"price_list_rate": pricing_rule_rate * args.get("conversion_factor", 1),
 			"discount_percentage": 0.0
 		})
 
diff --git a/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py b/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py
index 22a031c..af8d21d 100644
--- a/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py
+++ b/erpnext/accounts/doctype/pricing_rule/test_pricing_rule.py
@@ -484,6 +484,59 @@
 		frappe.delete_doc_if_exists("Pricing Rule", "_Test Pricing Rule 1")
 		frappe.delete_doc_if_exists("Pricing Rule", "_Test Pricing Rule 2")
 
+	def test_item_price_with_pricing_rule(self):
+		item = make_item("Water Flask")
+		make_item_price("Water Flask", "_Test Price List", 100)
+
+		pricing_rule_record = {
+			"doctype": "Pricing Rule",
+			"title": "_Test Water Flask Rule",
+			"apply_on": "Item Code",
+			"items": [{
+				"item_code": "Water Flask",
+			}],
+			"selling": 1,
+			"currency": "INR",
+			"rate_or_discount": "Rate",
+			"rate": 0,
+			"margin_type": "Percentage",
+			"margin_rate_or_amount": 2,
+			"company": "_Test Company"
+		}
+		rule = frappe.get_doc(pricing_rule_record)
+		rule.insert()
+
+		si = create_sales_invoice(do_not_save=True, item_code="Water Flask")
+		si.selling_price_list = "_Test Price List"
+		si.save()
+
+		# If rate in Rule is 0, give preference to Item Price if it exists
+		self.assertEqual(si.items[0].price_list_rate, 100)
+		self.assertEqual(si.items[0].margin_rate_or_amount, 2)
+		self.assertEqual(si.items[0].rate_with_margin, 102)
+		self.assertEqual(si.items[0].rate, 102)
+
+		si.delete()
+		rule.delete()
+		frappe.get_doc("Item Price", {"item_code": "Water Flask"}).delete()
+		item.delete()
+
+	def test_pricing_rule_for_transaction(self):
+		make_item("Water Flask 1")
+		frappe.delete_doc_if_exists('Pricing Rule', '_Test Pricing Rule')
+		make_pricing_rule(selling=1, min_qty=5, price_or_product_discount="Product",
+			apply_on="Transaction", free_item="Water Flask 1", free_qty=1, free_item_rate=10)
+
+		si = create_sales_invoice(qty=5, do_not_submit=True)
+		self.assertEquals(len(si.items), 2)
+		self.assertEquals(si.items[1].rate, 10)
+
+		si1 = create_sales_invoice(qty=2, do_not_submit=True)
+		self.assertEquals(len(si1.items), 1)
+
+		for doc in [si, si1]:
+			doc.delete()
+
 def make_pricing_rule(**args):
 	args = frappe._dict(args)
 
@@ -502,20 +555,23 @@
 		"rate_or_discount": args.rate_or_discount or "Discount Percentage",
 		"discount_percentage": args.discount_percentage or 0.0,
 		"rate": args.rate or 0.0,
-		"margin_type": args.margin_type,
 		"margin_rate_or_amount": args.margin_rate_or_amount or 0.0,
 		"condition": args.condition or '',
 		"apply_multiple_pricing_rules": args.apply_multiple_pricing_rules or 0
 	})
 
-	if args.get("priority"):
-		doc.priority = args.get("priority")
+	for field in ["free_item", "free_qty", "free_item_rate", "priority",
+		"margin_type", "price_or_product_discount"]:
+		if args.get(field):
+			doc.set(field, args.get(field))
 
 	apply_on = doc.apply_on.replace(' ', '_').lower()
 	child_table = {'Item Code': 'items', 'Item Group': 'item_groups', 'Brand': 'brands'}
-	doc.append(child_table.get(doc.apply_on), {
-		apply_on: args.get(apply_on) or "_Test Item"
-	})
+
+	if doc.apply_on != "Transaction":
+		doc.append(child_table.get(doc.apply_on), {
+			apply_on: args.get(apply_on) or "_Test Item"
+		})
 
 	doc.insert(ignore_permissions=True)
 	if args.get(apply_on) and apply_on != "item_code":
diff --git a/erpnext/accounts/doctype/pricing_rule/utils.py b/erpnext/accounts/doctype/pricing_rule/utils.py
index b003328..2c7cd14 100644
--- a/erpnext/accounts/doctype/pricing_rule/utils.py
+++ b/erpnext/accounts/doctype/pricing_rule/utils.py
@@ -457,6 +457,9 @@
 		pricing_rules = filter_pricing_rules_for_qty_amount(doc.total_qty,
 			doc.total, pricing_rules)
 
+		if not pricing_rules:
+			remove_free_item(doc)
+
 		for d in pricing_rules:
 			if d.price_or_product_discount == 'Price':
 				if d.apply_discount_on:
@@ -480,6 +483,12 @@
 				get_product_discount_rule(d, item_details, doc=doc)
 				apply_pricing_rule_for_free_items(doc, item_details.free_item_data)
 				doc.set_missing_values()
+				doc.calculate_taxes_and_totals()
+
+def remove_free_item(doc):
+	for d in doc.items:
+		if d.is_free_item:
+			doc.remove(d)
 
 def get_applied_pricing_rules(pricing_rules):
 	if pricing_rules:
@@ -492,7 +501,7 @@
 
 def get_product_discount_rule(pricing_rule, item_details, args=None, doc=None):
 	free_item = pricing_rule.free_item
-	if pricing_rule.same_item:
+	if pricing_rule.same_item and pricing_rule.get("apply_on") != 'Transaction':
 		free_item = item_details.item_code or args.item_code
 
 	if not free_item:
diff --git a/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py b/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py
index 31356c6..e08a0e5 100644
--- a/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py
+++ b/erpnext/accounts/doctype/process_deferred_accounting/test_process_deferred_accounting.py
@@ -21,7 +21,7 @@
 		item.no_of_months = 12
 		item.save()
 
-		si = create_sales_invoice(item=item.name, posting_date="2019-01-10", do_not_submit=True)
+		si = create_sales_invoice(item=item.name, update_stock=0, posting_date="2019-01-10", do_not_submit=True)
 		si.items[0].enable_deferred_revenue = 1
 		si.items[0].service_start_date = "2019-01-10"
 		si.items[0].service_end_date = "2019-03-15"
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
index fe5301d..1d41d0f 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js
@@ -99,6 +99,7 @@
 					target: me.frm,
 					setters: {
 						supplier: me.frm.doc.supplier || undefined,
+						schedule_date: undefined
 					},
 					get_query_filters: {
 						docstatus: 1,
@@ -107,16 +108,16 @@
 						company: me.frm.doc.company
 					}
 				})
-			}, __("Get items from"));
+			}, __("Get Items From"));
 
 			this.frm.add_custom_button(__('Purchase Receipt'), function() {
 				erpnext.utils.map_current_doc({
 					method: "erpnext.stock.doctype.purchase_receipt.purchase_receipt.make_purchase_invoice",
 					source_doctype: "Purchase Receipt",
 					target: me.frm,
-					date_field: "posting_date",
 					setters: {
 						supplier: me.frm.doc.supplier || undefined,
+						posting_date: undefined
 					},
 					get_query_filters: {
 						docstatus: 1,
@@ -125,7 +126,7 @@
 						is_return: 0
 					}
 				})
-			}, __("Get items from"));
+			}, __("Get Items From"));
 		}
 		this.frm.toggle_reqd("supplier_warehouse", this.frm.doc.is_subcontracted==="Yes");
 
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
index 8925b87..2df77a8 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-05-21 16:16:39",
@@ -1334,7 +1335,8 @@
  "icon": "fa fa-file-text",
  "idx": 204,
  "is_submittable": 1,
- "modified": "2020-09-21 12:22:09.164068",
+ "links": [],
+ "modified": "2020-10-30 13:57:18.266978",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Purchase Invoice",
@@ -1396,4 +1398,4 @@
  "timeline_field": "supplier",
  "title_field": "title",
  "track_changes": 1
-}
+}
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index 91c4dfb..8bd7888 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -147,6 +147,11 @@
 			throw(_("Conversion rate cannot be 0 or 1"))
 
 	def validate_credit_to_acc(self):
+		if not self.credit_to:
+			self.credit_to = get_party_account("Supplier", self.supplier, self.company)
+			if not self.credit_to:
+				self.raise_missing_debit_credit_account_error("Supplier", self.supplier)
+
 		account = frappe.db.get_value("Account", self.credit_to,
 			["account_type", "report_type", "account_currency"], as_dict=True)
 
@@ -1032,7 +1037,9 @@
 				updated_pr += update_billed_amount_based_on_po(d.po_detail, update_modified)
 
 		for pr in set(updated_pr):
-			frappe.get_doc("Purchase Receipt", pr).update_billing_percentage(update_modified=update_modified)
+			from erpnext.stock.doctype.purchase_receipt.purchase_receipt import update_billing_percentage
+			pr_doc = frappe.get_doc("Purchase Receipt", pr)
+			update_billing_percentage(pr_doc, update_modified=update_modified)
 
 	def on_recurring(self, reference_doc, auto_repeat_doc):
 		self.due_date = None
diff --git a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
index 2e5a714..f2499d2 100644
--- a/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/test_purchase_invoice.py
@@ -998,7 +998,7 @@
 		'expense_account': args.expense_account or '_Test Account Cost for Goods Sold - _TC',
 		"conversion_factor": 1.0,
 		"serial_no": args.serial_no,
-		"stock_uom": "_Test UOM",
+		"stock_uom": args.uom or "_Test UOM",
 		"cost_center": args.cost_center or "_Test Cost Center - _TC",
 		"project": args.project,
 		"rejected_warehouse": args.rejected_warehouse or "",
@@ -1040,7 +1040,8 @@
 	pi.is_return = args.is_return
 	pi.credit_to = args.return_against or "Creditors - _TC"
 	pi.is_subcontracted = args.is_subcontracted or "No"
-	pi.supplier_warehouse = "_Test Warehouse 1 - _TC"
+	if args.supplier_warehouse: 
+		pi.supplier_warehouse = "_Test Warehouse 1 - _TC"
 
 	pi.append("items", {
 		"item_code": args.item or args.item_code or "_Test Item",
diff --git a/erpnext/accounts/doctype/salary_component_account/salary_component_account.json b/erpnext/accounts/doctype/salary_component_account/salary_component_account.json
index 23dc6c4..f1ed8ef 100644
--- a/erpnext/accounts/doctype/salary_component_account/salary_component_account.json
+++ b/erpnext/accounts/doctype/salary_component_account/salary_component_account.json
@@ -1,92 +1,38 @@
 {
- "allow_copy": 0, 
- "allow_import": 0, 
- "allow_rename": 0, 
- "beta": 0, 
- "creation": "2016-07-27 17:24:24.956896", 
- "custom": 0, 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "", 
- "editable_grid": 1, 
+ "actions": [],
+ "creation": "2016-07-27 17:24:24.956896",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "company",
+  "account"
+ ],
  "fields": [
   {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_list_view": 1, 
-   "label": "Company", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Company", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Company",
+   "options": "Company"
+  },
   {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "description": "Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.", 
-   "fieldname": "default_account", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_list_view": 1, 
-   "label": "Default Account", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Account", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
+   "description": "Default Bank / Cash account will be automatically updated in Salary Journal Entry when this mode is selected.",
+   "fieldname": "account",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Account",
+   "options": "Account"
   }
- ], 
- "hide_heading": 0, 
- "hide_toolbar": 0, 
- "idx": 0, 
- "image_view": 0, 
- "in_create": 0, 
-
- "is_submittable": 0, 
- "issingle": 0, 
- "istable": 1, 
- "max_attachments": 0, 
- "modified": "2016-09-02 07:49:06.567389", 
- "modified_by": "Administrator", 
- "module": "Accounts", 
- "name": "Salary Component Account", 
- "name_case": "", 
- "owner": "Administrator", 
- "permissions": [], 
- "quick_entry": 0, 
- "read_only": 0, 
- "read_only_onload": 0, 
- "sort_field": "modified", 
- "sort_order": "DESC", 
- "track_seen": 0
+ ],
+ "istable": 1,
+ "links": [],
+ "modified": "2020-10-18 17:57:57.110257",
+ "modified_by": "Administrator",
+ "module": "Accounts",
+ "name": "Salary Component Account",
+ "owner": "Administrator",
+ "permissions": [],
+ "sort_field": "modified",
+ "sort_order": "DESC"
 }
\ No newline at end of file
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
index 9af584e..502e65e 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.js
@@ -199,7 +199,7 @@
 						company: me.frm.doc.company
 					}
 				})
-			}, __("Get items from"));
+			}, __("Get Items From"));
 	},
 
 	quotation_btn: function() {
@@ -223,7 +223,7 @@
 						company: me.frm.doc.company
 					}
 				})
-			}, __("Get items from"));
+			}, __("Get Items From"));
 	},
 
 	delivery_note_btn: function() {
@@ -251,7 +251,7 @@
 						};
 					}
 				});
-			}, __("Get items from"));
+			}, __("Get Items From"));
 	},
 
 	tc_name: function() {
@@ -812,10 +812,10 @@
 			if (cint(frm.doc.docstatus==0) && cur_frm.page.current_view_name!=="pos" && !frm.doc.is_return) {
 				frm.add_custom_button(__('Healthcare Services'), function() {
 					get_healthcare_services_to_invoice(frm);
-				},"Get items from");
+				},"Get Items From");
 				frm.add_custom_button(__('Prescriptions'), function() {
 					get_drugs_to_invoice(frm);
-				},"Get items from");
+				},"Get Items From");
 			}
 		}
 		else {
@@ -1080,7 +1080,7 @@
 				description:'Quantity will be calculated only for items which has "Nos" as UoM. You may change as required for each invoice item.',
 				get_query: function(doc) {
 					return {
-						filters: { 
+						filters: {
 							patient: dialog.get_value("patient"),
 							company: frm.doc.company,
 							docstatus: 1
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
index ae40153..17fbe2d 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-05-24 19:29:05",
@@ -1955,7 +1956,7 @@
  "idx": 181,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-10-09 15:59:57.544736",
+ "modified": "2020-10-30 13:57:45.086303",
  "modified_by": "Administrator",
  "module": "Accounts",
  "name": "Sales Invoice",
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 4b59887..81f425f 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -405,6 +405,8 @@
 		from erpnext.stock.get_item_details import get_pos_profile_item_details, get_pos_profile
 		if not self.pos_profile:
 			pos_profile = get_pos_profile(self.company) or {}
+			if not pos_profile:
+				frappe.throw(_("No POS Profile found. Please create a New POS Profile first"))
 			self.pos_profile = pos_profile.get('name')
 
 		pos = {}
@@ -472,6 +474,11 @@
 		return frappe.db.sql("select abbr from tabCompany where name=%s", self.company)[0][0]
 
 	def validate_debit_to_acc(self):
+		if not self.debit_to:
+			self.debit_to = get_party_account("Customer", self.customer, self.company)
+			if not self.debit_to:
+				self.raise_missing_debit_credit_account_error("Customer", self.customer)
+
 		account = frappe.get_cached_value("Account", self.debit_to,
 			["account_type", "report_type", "account_currency"], as_dict=True)
 
@@ -1401,6 +1408,7 @@
 	def set_missing_values(source, target):
 		target.ignore_pricing_rule = 1
 		target.run_method("set_missing_values")
+		target.run_method("set_po_nos")
 		target.run_method("calculate_taxes_and_totals")
 
 	def update_item(source_doc, target_doc, source_parent):
diff --git a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
index 9660c95..46e954d 100644
--- a/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/test_sales_invoice.py
@@ -690,7 +690,8 @@
 		self.assertTrue(gle)
 
 	def test_pos_gl_entry_with_perpetual_inventory(self):
-		make_pos_profile()
+		make_pos_profile(company="_Test Company with perpetual inventory", income_account = "Sales - TCP1", 
+			expense_account = "Cost of Goods Sold - TCP1", warehouse="Stores - TCP1", cost_center = "Main - TCP1", write_off_account="_Test Write Off - TCP1")
 
 		pr = make_purchase_receipt(company= "_Test Company with perpetual inventory", item_code= "_Test FG Item",warehouse= "Stores - TCP1",cost_center= "Main - TCP1")
 
@@ -746,7 +747,8 @@
 		self.assertEqual(pos_return.get('payments')[0].amount, -1000)
 
 	def test_pos_change_amount(self):
-		make_pos_profile()
+		make_pos_profile(company="_Test Company with perpetual inventory", income_account = "Sales - TCP1", 
+			expense_account = "Cost of Goods Sold - TCP1", warehouse="Stores - TCP1", cost_center = "Main - TCP1", write_off_account="_Test Write Off - TCP1")
 
 		pr = make_purchase_receipt(company= "_Test Company with perpetual inventory",
 			item_code= "_Test FG Item",warehouse= "Stores - TCP1", cost_center= "Main - TCP1")
diff --git a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py
index 8b5e68b..32ad4cb 100644
--- a/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py
+++ b/erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py
@@ -140,9 +140,9 @@
 		else:
 			tds_amount = _get_tds(net_total, tax_details.rate)
 	else:
-		supplier_credit_amount = frappe.get_all('Purchase Invoice Item',
-			fields = ['sum(net_amount)'],
-			filters = {'parent': ('in', vouchers), 'docstatus': 1}, as_list=1)
+		supplier_credit_amount = frappe.get_all('Purchase Invoice',
+			fields = ['sum(net_total)'],
+			filters = {'name': ('in', vouchers), 'docstatus': 1, "apply_tds": 1}, as_list=1)
 
 		supplier_credit_amount = (supplier_credit_amount[0][0]
 			if supplier_credit_amount and supplier_credit_amount[0][0] else 0)
diff --git a/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py b/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py
index b146899..ef77674 100644
--- a/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py
+++ b/erpnext/accounts/doctype/tax_withholding_category/test_tax_withholding_category.py
@@ -7,6 +7,7 @@
 import unittest
 from frappe.utils import today
 from erpnext.accounts.utils import get_fiscal_year
+from erpnext.buying.doctype.supplier.test_supplier import create_supplier
 
 test_dependencies = ["Supplier Group"]
 
@@ -101,6 +102,32 @@
 		for d in invoices:
 			d.cancel()
 
+	def test_single_threshold_tds_with_previous_vouchers_and_no_tds(self):
+		invoices = []
+		doc = create_supplier(supplier_name = "Test TDS Supplier ABC",
+			tax_withholding_category="Single Threshold TDS")
+		supplier = doc.name
+
+		pi = create_purchase_invoice(supplier=supplier)
+		pi.submit()
+		invoices.append(pi)
+
+		# TDS not applied
+		pi = create_purchase_invoice(supplier=supplier, do_not_apply_tds=True)
+		pi.submit()
+		invoices.append(pi)
+
+		pi = create_purchase_invoice(supplier=supplier)
+		pi.submit()
+		invoices.append(pi)
+
+		self.assertEqual(pi.taxes_and_charges_deducted, 2000)
+		self.assertEqual(pi.grand_total, 8000)
+
+		# delete invoices to avoid clashing
+		for d in invoices:
+			d.cancel()
+
 def create_purchase_invoice(**args):
 	# return sales invoice doc object
 	item = frappe.get_doc('Item', {'item_name': 'TDS Item'})
@@ -109,7 +136,7 @@
 	pi = frappe.get_doc({
 		"doctype": "Purchase Invoice",
 		"posting_date": today(),
-		"apply_tds": 1,
+		"apply_tds": 0 if args.do_not_apply_tds else 1,
 		"supplier": args.supplier,
 		"company": '_Test Company',
 		"taxes_and_charges": "",
diff --git a/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.js b/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.js
index 9703527..6ae81d7 100644
--- a/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.js
+++ b/erpnext/accounts/page/bank_reconciliation/bank_reconciliation.js
@@ -156,7 +156,7 @@
 
 	setup_transactions_dom() {
 		const me = this;
-		me.parent.$main_section.append(`<div class="transactions-table"></div>`)
+		me.parent.$main_section.append('<div class="transactions-table"></div>');
 	}
 
 	create_datatable() {
@@ -167,9 +167,7 @@
 			})
 		}
 		catch(err) {
-			let msg = __(`Your file could not be processed by ERPNext.
-						<br>It should be a standard CSV or XLSX file.
-						<br>The headers should be in the first row.`)
+			let msg = __("Your file could not be processed. It should be a standard CSV or XLSX file with headers in the first row.");
 			frappe.throw(msg)
 		}
 
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index e8d3cd3..64268b8 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -59,7 +59,7 @@
 			billing_address=party_address, shipping_address=shipping_address)
 
 	if fetch_payment_terms_template:
-		party_details["payment_terms_template"] = get_pyt_term_template(party.name, party_type, company)
+		party_details["payment_terms_template"] = get_payment_terms_template(party.name, party_type, company)
 
 	if not party_details.get("currency"):
 		party_details["currency"] = currency
@@ -315,7 +315,7 @@
 	due_date = None
 	if (bill_date or posting_date) and party:
 		due_date = bill_date or posting_date
-		template_name = get_pyt_term_template(party, party_type, company)
+		template_name = get_payment_terms_template(party, party_type, company)
 
 		if template_name:
 			due_date = get_due_date_from_template(template_name, posting_date, bill_date).strftime("%Y-%m-%d")
@@ -422,7 +422,7 @@
 
 
 @frappe.whitelist()
-def get_pyt_term_template(party_name, party_type, company=None):
+def get_payment_terms_template(party_name, party_type, company=None):
 	if party_type not in ("Customer", "Supplier"):
 		return
 	template = None
diff --git a/erpnext/accounts/print_format/bank_and_cash_payment_voucher/bank_and_cash_payment_voucher.html b/erpnext/accounts/print_format/bank_and_cash_payment_voucher/bank_and_cash_payment_voucher.html
index 6fe6999..e588ed6 100644
--- a/erpnext/accounts/print_format/bank_and_cash_payment_voucher/bank_and_cash_payment_voucher.html
+++ b/erpnext/accounts/print_format/bank_and_cash_payment_voucher/bank_and_cash_payment_voucher.html
@@ -19,7 +19,7 @@
             </div>
             <div class="col-xs-6">
                 <table>
-                    <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.formatdate(doc.creation) }}</td></tr>
+                    <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.format_date(doc.creation) }}</td></tr>
                 </table>
             </div>
     </div>
diff --git a/erpnext/accounts/print_format/journal_auditing_voucher/journal_auditing_voucher.html b/erpnext/accounts/print_format/journal_auditing_voucher/journal_auditing_voucher.html
index 1351517..0ca940f8 100644
--- a/erpnext/accounts/print_format/journal_auditing_voucher/journal_auditing_voucher.html
+++ b/erpnext/accounts/print_format/journal_auditing_voucher/journal_auditing_voucher.html
@@ -17,7 +17,7 @@
             </div>
             <div class="col-xs-6">
                 <table>
-                    <tr><td><strong>Date: </strong></td><td>{{  frappe.utils.formatdate(doc.creation)  }}</td></tr>
+                    <tr><td><strong>Date: </strong></td><td>{{  frappe.utils.format_date(doc.creation)  }}</td></tr>
                 </table>
             </div>
     </div>
diff --git a/erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html b/erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html
index f2e65d3..283d505 100644
--- a/erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html
+++ b/erpnext/accounts/print_format/payment_receipt_voucher/payment_receipt_voucher.html
@@ -5,7 +5,7 @@
     {{ add_header(0, 1, doc, letter_head, no_letterhead, print_settings) }}
 
     {%- for label, value in (
-        (_("Received On"), frappe.utils.formatdate(doc.voucher_date)),
+        (_("Received On"), frappe.utils.format_date(doc.voucher_date)),
         (_("Received From"), doc.pay_to_recd_from),
         (_("Amount"), "<strong>" + doc.get_formatted("total_amount") + "</strong><br>" + (doc.total_amount_in_words or "") + "<br>"),
         (_("Remarks"), doc.remark)
diff --git a/erpnext/accounts/print_format/purchase_auditing_voucher/purchase_auditing_voucher.html b/erpnext/accounts/print_format/purchase_auditing_voucher/purchase_auditing_voucher.html
index a7c3bce..043ac25 100644
--- a/erpnext/accounts/print_format/purchase_auditing_voucher/purchase_auditing_voucher.html
+++ b/erpnext/accounts/print_format/purchase_auditing_voucher/purchase_auditing_voucher.html
@@ -8,7 +8,7 @@
         <div class="col-xs-6">
             <table>
             <tr><td><strong>Supplier Name: </strong></td><td>{{ doc.supplier }}</td></tr>
-            <tr><td><strong>Due Date: </strong></td><td>{{ frappe.utils.formatdate(doc.due_date) }}</td></tr>
+            <tr><td><strong>Due Date: </strong></td><td>{{ frappe.utils.format_date(doc.due_date) }}</td></tr>
             <tr><td><strong>Address: </strong></td><td>{{doc.address_display}}</td></tr>
             <tr><td><strong>Contact: </strong></td><td>{{doc.contact_display}}</td></tr>
             <tr><td><strong>Mobile no: </strong> </td><td>{{doc.contact_mobile}}</td></tr>
@@ -17,7 +17,7 @@
         <div class="col-xs-6">
             <table>
                 <tr><td><strong>Voucher No: </strong></td><td>{{ doc.name }}</td></tr>
-                <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.formatdate(doc.creation) }}</td></tr>
+                <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.format_date(doc.creation) }}</td></tr>
             </table>
         </div>
     </div>
diff --git a/erpnext/accounts/print_format/sales_auditing_voucher/sales_auditing_voucher.html b/erpnext/accounts/print_format/sales_auditing_voucher/sales_auditing_voucher.html
index ef4ada1..a53b593 100644
--- a/erpnext/accounts/print_format/sales_auditing_voucher/sales_auditing_voucher.html
+++ b/erpnext/accounts/print_format/sales_auditing_voucher/sales_auditing_voucher.html
@@ -8,7 +8,7 @@
         <div class="col-xs-6">
             <table>
             <tr><td><strong>Customer Name: </strong></td><td>{{ doc.customer }}</td></tr>
-            <tr><td><strong>Due Date: </strong></td><td>{{ frappe.utils.formatdate(doc.due_date) }}</td></tr>
+            <tr><td><strong>Due Date: </strong></td><td>{{ frappe.utils.format_date(doc.due_date) }}</td></tr>
             <tr><td><strong>Address: </strong></td><td>{{doc.address_display}}</td></tr>
             <tr><td><strong>Contact: </strong></td><td>{{doc.contact_display}}</td></tr>
             <tr><td><strong>Mobile no: </strong> </td><td>{{doc.contact_mobile}}</td></tr>
@@ -17,7 +17,7 @@
         <div class="col-xs-6">
             <table>
                 <tr><td><strong>Voucher No: </strong></td><td>{{ doc.name }}</td></tr>
-                <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.formatdate(doc.creation) }}</td></tr>
+                <tr><td><strong>Date: </strong></td><td>{{ frappe.utils.format_date(doc.creation) }}</td></tr>
             </table>
         </div>
     </div>
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
index 044fc1d..51fc7ec 100755
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
@@ -160,6 +160,8 @@
 			else:
 				# advance / unlinked payment or other adjustment
 				row.paid -= gle_balance
+		if gle.cost_center:
+			row.cost_center =  str(gle.cost_center)
 
 	def update_sub_total_row(self, row, party):
 		total_row = self.total_row_map.get(party)
@@ -210,7 +212,6 @@
 		for key, row in self.voucher_balance.items():
 			row.outstanding = flt(row.invoiced - row.paid - row.credit_note, self.currency_precision)
 			row.invoice_grand_total = row.invoiced
-
 			if abs(row.outstanding) > 1.0/10 ** self.currency_precision:
 				# non-zero oustanding, we must consider this row
 
@@ -577,7 +578,7 @@
 
 		self.gl_entries = frappe.db.sql("""
 			select
-				name, posting_date, account, party_type, party, voucher_type, voucher_no,
+				name, posting_date, account, party_type, party, voucher_type, voucher_no, cost_center,
 				against_voucher_type, against_voucher, account_currency, remarks, {0}
 			from
 				`tabGL Entry`
@@ -741,6 +742,7 @@
 			self.add_column(_("Customer Contact"), fieldname='customer_primary_contact',
 				fieldtype='Link', options='Contact')
 
+		self.add_column(label=_('Cost Center'), fieldname='cost_center', fieldtype='Data')
 		self.add_column(label=_('Voucher Type'), fieldname='voucher_type', fieldtype='Data')
 		self.add_column(label=_('Voucher No'), fieldname='voucher_no', fieldtype='Dynamic Link',
 			options='voucher_type', width=180)
diff --git a/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py b/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py
index 3ffb3ac..515fd99 100644
--- a/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py
+++ b/erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py
@@ -14,11 +14,93 @@
 
 def get_column():
 	return [
-		_("Delivery Note") + ":Link/Delivery Note:120", _("Status") + "::120", _("Date") + ":Date:100",
-		_("Suplier") + ":Link/Customer:120", _("Customer Name") + "::120",
-		_("Project") + ":Link/Project:120", _("Item Code") + ":Link/Item:120",
-		_("Amount") + ":Currency:100", _("Billed Amount") + ":Currency:100", _("Pending Amount") + ":Currency:100",
-		_("Item Name") + "::120", _("Description") + "::120", _("Company") + ":Link/Company:120",
+		{
+			"label": _("Delivery Note"),
+			"fieldname": "name",
+			"fieldtype": "Link",
+			"options": "Delivery Note",
+			"width": 160
+		},
+		{
+			"label": _("Date"),
+			"fieldname": "date",
+			"fieldtype": "Date",
+			"width": 100
+		},
+		{
+			"label": _("Customer"),
+			"fieldname": "customer",
+			"fieldtype": "Link",
+			"options": "Customer",
+			"width": 120
+		},
+		{
+			"label": _("Customer Name"),
+			"fieldname": "customer_name",
+			"fieldtype": "Data",
+			"width": 120
+		},
+		{
+			"label": _("Item Code"),
+			"fieldname": "item_code",
+			"fieldtype": "Link",
+			"options": "Item",
+			"width": 120
+		},
+		{
+			"label": _("Amount"),
+			"fieldname": "amount",
+			"fieldtype": "Currency",
+			"width": 100,
+			"options": "Company:company:default_currency"
+		},
+		{
+			"label": _("Billed Amount"),
+			"fieldname": "billed_amount",
+			"fieldtype": "Currency",
+			"width": 100,
+			"options": "Company:company:default_currency"
+		},
+		{
+			"label": _("Returned Amount"),
+			"fieldname": "returned_amount",
+			"fieldtype": "Currency",
+			"width": 120,
+			"options": "Company:company:default_currency"
+		},
+		{
+			"label": _("Pending Amount"),
+			"fieldname": "pending_amount",
+			"fieldtype": "Currency",
+			"width": 120,
+			"options": "Company:company:default_currency"
+		},
+		{
+			"label": _("Item Name"),
+			"fieldname": "item_name",
+			"fieldtype": "Data",
+			"width": 120
+		},
+		{
+			"label": _("Description"),
+			"fieldname": "description",
+			"fieldtype": "Data",
+			"width": 120
+		},
+		{
+			"label": _("Project"),
+			"fieldname": "project",
+			"fieldtype": "Link",
+			"options": "Project",
+			"width": 120
+		},
+		{
+			"label": _("Company"),
+			"fieldname": "company",
+			"fieldtype": "Link",
+			"options": "Company",
+			"width": 120
+		}
 	]
 
 def get_args():
diff --git a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
index 3445df7..a36e7f8 100644
--- a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
+++ b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
@@ -8,6 +8,7 @@
 from erpnext.accounts.report.item_wise_sales_register.item_wise_sales_register import (get_tax_accounts,
 	get_grand_total, add_total_row, get_display_value, get_group_by_and_display_fields, add_sub_total_row,
 	get_group_by_conditions)
+from erpnext.selling.report.item_wise_sales_history.item_wise_sales_history import get_item_details
 
 def execute(filters=None):
 	return _execute(filters)
@@ -22,7 +23,7 @@
 	aii_account_map = get_aii_accounts()
 	if item_list:
 		itemised_tax, tax_columns = get_tax_accounts(item_list, columns, company_currency,
-			doctype="Purchase Invoice", tax_doctype="Purchase Taxes and Charges")
+			doctype='Purchase Invoice', tax_doctype='Purchase Taxes and Charges')
 
 	po_pr_map = get_purchase_receipts_against_purchase_order(item_list)
 
@@ -34,10 +35,14 @@
 	if filters.get('group_by'):
 		grand_total = get_grand_total(filters, 'Purchase Invoice')
 
+	item_details = get_item_details()
+
 	for d in item_list:
 		if not d.stock_qty:
 			continue
 
+		item_record = item_details.get(d.item_code)
+
 		purchase_receipt = None
 		if d.purchase_receipt:
 			purchase_receipt = d.purchase_receipt
@@ -48,8 +53,8 @@
 
 		row = {
 			'item_code': d.item_code,
-			'item_name': d.item_name,
-			'item_group': d.item_group,
+			'item_name': item_record.item_name,
+			'item_group': item_record.item_group,
 			'description': d.description,
 			'invoice': d.parent,
 			'posting_date': d.posting_date,
@@ -81,10 +86,10 @@
 		for tax in tax_columns:
 			item_tax = itemised_tax.get(d.name, {}).get(tax, {})
 			row.update({
-				frappe.scrub(tax + ' Rate'): item_tax.get("tax_rate", 0),
-				frappe.scrub(tax + ' Amount'): item_tax.get("tax_amount", 0),
+				frappe.scrub(tax + ' Rate'): item_tax.get('tax_rate', 0),
+				frappe.scrub(tax + ' Amount'): item_tax.get('tax_amount', 0),
 			})
-			total_tax += flt(item_tax.get("tax_amount"))
+			total_tax += flt(item_tax.get('tax_amount'))
 
 		row.update({
 			'total_tax': total_tax,
@@ -309,8 +314,8 @@
 		select
 			`tabPurchase Invoice Item`.`name`, `tabPurchase Invoice Item`.`parent`,
 			`tabPurchase Invoice`.posting_date, `tabPurchase Invoice`.credit_to, `tabPurchase Invoice`.company,
-			`tabPurchase Invoice`.supplier, `tabPurchase Invoice`.remarks, `tabPurchase Invoice`.base_net_total, `tabPurchase Invoice Item`.`item_code`,
-			`tabPurchase Invoice Item`.`item_name`, `tabPurchase Invoice Item`.`item_group`, `tabPurchase Invoice Item`.description,
+			`tabPurchase Invoice`.supplier, `tabPurchase Invoice`.remarks, `tabPurchase Invoice`.base_net_total,
+			`tabPurchase Invoice Item`.`item_code`, `tabPurchase Invoice Item`.description,
 			`tabPurchase Invoice Item`.`project`, `tabPurchase Invoice Item`.`purchase_order`,
 			`tabPurchase Invoice Item`.`purchase_receipt`, `tabPurchase Invoice Item`.`po_detail`,
 			`tabPurchase Invoice Item`.`expense_account`, `tabPurchase Invoice Item`.`stock_qty`,
diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
index a05dcd7..f54ceb0 100644
--- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
+++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
@@ -8,6 +8,7 @@
 from frappe.model.meta import get_field_precision
 from frappe.utils.xlsxutils import handle_html
 from erpnext.accounts.report.sales_register.sales_register import get_mode_of_payments
+from erpnext.selling.report.item_wise_sales_history.item_wise_sales_history import get_item_details, get_customer_details
 
 def execute(filters=None):
 	return _execute(filters)
@@ -16,7 +17,7 @@
 	if not filters: filters = {}
 	columns = get_columns(additional_table_columns, filters)
 
-	company_currency = frappe.get_cached_value('Company',  filters.get("company"),  "default_currency")
+	company_currency = frappe.get_cached_value('Company',  filters.get('company'),  'default_currency')
 
 	item_list = get_items(filters, additional_query_columns)
 	if item_list:
@@ -33,7 +34,13 @@
 	if filters.get('group_by'):
 		grand_total = get_grand_total(filters, 'Sales Invoice')
 
+	customer_details = get_customer_details()
+	item_details = get_item_details()
+
 	for d in item_list:
+		customer_record = customer_details.get(d.customer)
+		item_record = item_details.get(d.item_code)
+
 		delivery_note = None
 		if d.delivery_note:
 			delivery_note = d.delivery_note
@@ -45,14 +52,14 @@
 
 		row = {
 			'item_code': d.item_code,
-			'item_name': d.item_name,
-			'item_group': d.item_group,
+			'item_name': item_record.item_name,
+			'item_group': item_record.item_group,
 			'description': d.description,
 			'invoice': d.parent,
 			'posting_date': d.posting_date,
 			'customer': d.customer,
-			'customer_name': d.customer_name,
-			'customer_group': d.customer_group,
+			'customer_name': customer_record.customer_name,
+			'customer_group': customer_record.customer_group,
 		}
 
 		if additional_query_columns:
@@ -90,10 +97,10 @@
 		for tax in tax_columns:
 			item_tax = itemised_tax.get(d.name, {}).get(tax, {})
 			row.update({
-				frappe.scrub(tax + ' Rate'): item_tax.get("tax_rate", 0),
-				frappe.scrub(tax + ' Amount'): item_tax.get("tax_amount", 0),
+				frappe.scrub(tax + ' Rate'): item_tax.get('tax_rate', 0),
+				frappe.scrub(tax + ' Amount'): item_tax.get('tax_amount', 0),
 			})
-			total_tax += flt(item_tax.get("tax_amount"))
+			total_tax += flt(item_tax.get('tax_amount'))
 
 		row.update({
 			'total_tax': total_tax,
@@ -226,7 +233,7 @@
 	if filters.get('group_by') != 'Territory':
 		columns.extend([
 			{
-				'label': _("Territory"),
+				'label': _('Territory'),
 				'fieldname': 'territory',
 				'fieldtype': 'Link',
 				'options': 'Territory',
@@ -374,13 +381,12 @@
 			`tabSales Invoice`.posting_date, `tabSales Invoice`.debit_to,
 			`tabSales Invoice`.project, `tabSales Invoice`.customer, `tabSales Invoice`.remarks,
 			`tabSales Invoice`.territory, `tabSales Invoice`.company, `tabSales Invoice`.base_net_total,
-			`tabSales Invoice Item`.item_code, `tabSales Invoice Item`.item_name,
-			`tabSales Invoice Item`.item_group, `tabSales Invoice Item`.description, `tabSales Invoice Item`.sales_order,
-			`tabSales Invoice Item`.delivery_note, `tabSales Invoice Item`.income_account,
-			`tabSales Invoice Item`.cost_center, `tabSales Invoice Item`.stock_qty,
-			`tabSales Invoice Item`.stock_uom, `tabSales Invoice Item`.base_net_rate,
-			`tabSales Invoice Item`.base_net_amount, `tabSales Invoice`.customer_name,
-			`tabSales Invoice`.customer_group, `tabSales Invoice Item`.so_detail,
+			`tabSales Invoice Item`.item_code, `tabSales Invoice Item`.description,
+			`tabSales Invoice Item`.sales_order, `tabSales Invoice Item`.delivery_note,
+			`tabSales Invoice Item`.income_account, `tabSales Invoice Item`.cost_center,
+			`tabSales Invoice Item`.stock_qty, `tabSales Invoice Item`.stock_uom,
+			`tabSales Invoice Item`.base_net_rate, `tabSales Invoice Item`.base_net_amount,
+			`tabSales Invoice`.customer_name, `tabSales Invoice`.customer_group, `tabSales Invoice Item`.so_detail,
 			`tabSales Invoice`.update_stock, `tabSales Invoice Item`.uom, `tabSales Invoice Item`.qty {0}
 		from `tabSales Invoice`, `tabSales Invoice Item`
 		where `tabSales Invoice`.name = `tabSales Invoice Item`.parent
@@ -417,14 +423,14 @@
 	return frappe.db.sql_list("select name from `tabPurchase Taxes and Charges` where add_deduct_tax = 'Deduct'")
 
 def get_tax_accounts(item_list, columns, company_currency,
-		doctype="Sales Invoice", tax_doctype="Sales Taxes and Charges"):
+		doctype='Sales Invoice', tax_doctype='Sales Taxes and Charges'):
 	import json
 	item_row_map = {}
 	tax_columns = []
 	invoice_item_row = {}
 	itemised_tax = {}
 
-	tax_amount_precision = get_field_precision(frappe.get_meta(tax_doctype).get_field("tax_amount"),
+	tax_amount_precision = get_field_precision(frappe.get_meta(tax_doctype).get_field('tax_amount'),
 		currency=company_currency) or 2
 
 	for d in item_list:
@@ -469,8 +475,8 @@
 						tax_rate = tax_data
 						tax_amount = 0
 
-					if charge_type == "Actual" and not tax_rate:
-						tax_rate = "NA"
+					if charge_type == 'Actual' and not tax_rate:
+						tax_rate = 'NA'
 
 					item_net_amount = sum([flt(d.base_net_amount)
 						for d in item_row_map.get(parent, {}).get(item_code, [])])
@@ -484,17 +490,17 @@
 								if (doctype == 'Purchase Invoice' and name in deducted_tax) else tax_value)
 
 							itemised_tax.setdefault(d.name, {})[description] = frappe._dict({
-								"tax_rate": tax_rate,
-								"tax_amount": tax_value
+								'tax_rate': tax_rate,
+								'tax_amount': tax_value
 							})
 
 			except ValueError:
 				continue
-		elif charge_type == "Actual" and tax_amount:
+		elif charge_type == 'Actual' and tax_amount:
 			for d in invoice_item_row.get(parent, []):
 				itemised_tax.setdefault(d.name, {})[description] = frappe._dict({
-					"tax_rate": "NA",
-					"tax_amount": flt((tax_amount * d.base_net_amount) / d.base_net_total,
+					'tax_rate': 'NA',
+					'tax_amount': flt((tax_amount * d.base_net_amount) / d.base_net_total,
 						tax_amount_precision)
 				})
 
@@ -563,7 +569,7 @@
 		})
 
 		total_row_map.setdefault('total_row', {
-			subtotal_display_field: "Total",
+			subtotal_display_field: 'Total',
 			'stock_qty': 0.0,
 			'amount': 0.0,
 			'bold': 1,
diff --git a/erpnext/accounts/report/non_billed_report.py b/erpnext/accounts/report/non_billed_report.py
index a9e25bc..2e18ce1 100644
--- a/erpnext/accounts/report/non_billed_report.py
+++ b/erpnext/accounts/report/non_billed_report.py
@@ -17,18 +17,26 @@
 
 	return frappe.db.sql("""
 		Select
-			`{parent_tab}`.name, `{parent_tab}`.status, `{parent_tab}`.{date_field}, `{parent_tab}`.{party}, `{parent_tab}`.{party}_name,
-			{project_field}, `{child_tab}`.item_code, `{child_tab}`.base_amount,
+			`{parent_tab}`.name, `{parent_tab}`.{date_field},
+			`{parent_tab}`.{party}, `{parent_tab}`.{party}_name,
+			`{child_tab}`.item_code,
+			`{child_tab}`.base_amount,
 			(`{child_tab}`.billed_amt * ifnull(`{parent_tab}`.conversion_rate, 1)),
-			(`{child_tab}`.base_amount - (`{child_tab}`.billed_amt * ifnull(`{parent_tab}`.conversion_rate, 1))),
-			`{child_tab}`.item_name, `{child_tab}`.description, `{parent_tab}`.company
+			(`{child_tab}`.base_rate * ifnull(`{child_tab}`.returned_qty, 0)),
+			(`{child_tab}`.base_amount -
+			(`{child_tab}`.billed_amt * ifnull(`{parent_tab}`.conversion_rate, 1)) -
+			(`{child_tab}`.base_rate * ifnull(`{child_tab}`.returned_qty, 0))),
+			`{child_tab}`.item_name, `{child_tab}`.description,
+			{project_field}, `{parent_tab}`.company
 		from
 			`{parent_tab}`, `{child_tab}`
 		where
 			`{parent_tab}`.name = `{child_tab}`.parent and `{parent_tab}`.docstatus = 1
 			and `{parent_tab}`.status not in ('Closed', 'Completed')
-			and `{child_tab}`.amount > 0 and round(`{child_tab}`.billed_amt *
-			ifnull(`{parent_tab}`.conversion_rate, 1), {precision}) < `{child_tab}`.base_amount
+			and `{child_tab}`.amount > 0
+			and (`{child_tab}`.base_amount -
+			round(`{child_tab}`.billed_amt * ifnull(`{parent_tab}`.conversion_rate, 1), {precision}) -
+			(`{child_tab}`.base_rate * ifnull(`{child_tab}`.returned_qty, 0))) > 0
 		order by
 			`{parent_tab}`.{order} {order_by}
 		""".format(parent_tab = 'tab' + doctype, child_tab = 'tab' + child_tab, precision= precision, party = party,
diff --git a/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py b/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py
index 5e8d773..e9e9c9c 100644
--- a/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py
+++ b/erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.py
@@ -14,11 +14,93 @@
 
 def get_column():
 	return [
-		_("Purchase Receipt") + ":Link/Purchase Receipt:120", _("Status") + "::120", _("Date") + ":Date:100",
-		_("Supplier") + ":Link/Supplier:120", _("Supplier Name") + "::120",
-		_("Project") + ":Link/Project:120", _("Item Code") + ":Link/Item:120",
-		_("Amount") + ":Currency:100", _("Billed Amount") + ":Currency:100", _("Amount to Bill") + ":Currency:100",
-		_("Item Name") + "::120", _("Description") + "::120", _("Company") + ":Link/Company:120",
+		{
+			"label": _("Purchase Receipt"),
+			"fieldname": "name",
+			"fieldtype": "Link",
+			"options": "Purchase Receipt",
+			"width": 160
+		},
+		{
+			"label": _("Date"),
+			"fieldname": "date",
+			"fieldtype": "Date",
+			"width": 100
+		},
+		{
+			"label": _("Supplier"),
+			"fieldname": "supplier",
+			"fieldtype": "Link",
+			"options": "Supplier",
+			"width": 120
+		},
+		{
+			"label": _("Supplier Name"),
+			"fieldname": "supplier_name",
+			"fieldtype": "Data",
+			"width": 120
+		},
+		{
+			"label": _("Item Code"),
+			"fieldname": "item_code",
+			"fieldtype": "Link",
+			"options": "Item",
+			"width": 120
+		},
+		{
+			"label": _("Amount"),
+			"fieldname": "amount",
+			"fieldtype": "Currency",
+			"width": 100,
+			"options": "Company:company:default_currency"
+		},
+		{
+			"label": _("Billed Amount"),
+			"fieldname": "billed_amount",
+			"fieldtype": "Currency",
+			"width": 100,
+			"options": "Company:company:default_currency"
+		},
+		{
+			"label": _("Returned Amount"),
+			"fieldname": "returned_amount",
+			"fieldtype": "Currency",
+			"width": 120,
+			"options": "Company:company:default_currency"
+		},
+		{
+			"label": _("Pending Amount"),
+			"fieldname": "pending_amount",
+			"fieldtype": "Currency",
+			"width": 120,
+			"options": "Company:company:default_currency"
+		},
+		{
+			"label": _("Item Name"),
+			"fieldname": "item_name",
+			"fieldtype": "Data",
+			"width": 120
+		},
+		{
+			"label": _("Description"),
+			"fieldname": "description",
+			"fieldtype": "Data",
+			"width": 120
+		},
+		{
+			"label": _("Project"),
+			"fieldname": "project",
+			"fieldtype": "Link",
+			"options": "Project",
+			"width": 120
+		},
+		{
+			"label": _("Company"),
+			"fieldname": "company",
+			"fieldtype": "Link",
+			"options": "Company",
+			"width": 120
+		}
 	]
 
 def get_args():
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index 53677cd..550aaef 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -78,7 +78,10 @@
 			else:
 				return ((fy.name, fy.year_start_date, fy.year_end_date),)
 
-	error_msg = _("""{0} {1} not in any active Fiscal Year.""").format(label, formatdate(transaction_date))
+	error_msg = _("""{0} {1} is not in any active Fiscal Year""").format(label, formatdate(transaction_date))
+	if company:
+		error_msg = _("""{0} for {1}""").format(error_msg, frappe.bold(company))
+	
 	if verbose==1: frappe.msgprint(error_msg)
 	raise FiscalYearError(error_msg)
 
diff --git a/erpnext/assets/doctype/asset/asset.js b/erpnext/assets/doctype/asset/asset.js
index 7ad164a..b2318a2 100644
--- a/erpnext/assets/doctype/asset/asset.js
+++ b/erpnext/assets/doctype/asset/asset.js
@@ -373,8 +373,8 @@
 			doctype_field = frappe.scrub(doctype)
 			frm.set_value(doctype_field, '');
 			frappe.msgprint({
-				title: __(`Invalid ${doctype}`),
-				message: __(`The selected ${doctype} doesn't contains selected Asset Item.`),
+				title: __('Invalid {0}', [__(doctype)]),
+				message: __('The selected {0} does not contain the selected Asset Item.', [__(doctype)]),
 				indicator: 'red'
 			});
 		}
@@ -436,7 +436,7 @@
 	depreciation_start_date: function(frm, cdt, cdn) {
 		const book = locals[cdt][cdn];
 		if (frm.doc.available_for_use_date && book.depreciation_start_date == frm.doc.available_for_use_date) {
-			frappe.msgprint(__(`Depreciation Posting Date should not be equal to Available for Use Date.`));
+			frappe.msgprint(__("Depreciation Posting Date should not be equal to Available for Use Date."));
 			book.depreciation_start_date = "";
 			frm.refresh_field("finance_books");
 		}
diff --git a/erpnext/assets/doctype/asset_finance_book/asset_finance_book.json b/erpnext/assets/doctype/asset_finance_book/asset_finance_book.json
index d422876..d9b7b69 100644
--- a/erpnext/assets/doctype/asset_finance_book/asset_finance_book.json
+++ b/erpnext/assets/doctype/asset_finance_book/asset_finance_book.json
@@ -50,13 +50,11 @@
    "reqd": 1
   },
   {
-   "depends_on": "eval:parent.doctype == 'Asset'",
    "fieldname": "depreciation_start_date",
    "fieldtype": "Date",
    "in_list_view": 1,
    "label": "Depreciation Posting Date",
-   "mandatory_depends_on": "eval:parent.doctype == 'Asset'",
-   "reqd": 1
+   "mandatory_depends_on": "eval:parent.doctype == 'Asset'"
   },
   {
    "default": "0",
@@ -87,7 +85,7 @@
  "index_web_pages_for_search": 1,
  "istable": 1,
  "links": [],
- "modified": "2020-10-30 15:22:29.119868",
+ "modified": "2020-11-05 16:30:09.213479",
  "modified_by": "Administrator",
  "module": "Assets",
  "name": "Asset Finance Book",
diff --git a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py
index 60c528b..a506dee 100644
--- a/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py
+++ b/erpnext/assets/doctype/asset_maintenance/asset_maintenance.py
@@ -108,7 +108,7 @@
 @frappe.whitelist()
 @frappe.validate_and_sanitize_search_inputs
 def get_team_members(doctype, txt, searchfield, start, page_len, filters):
-	return frappe.db.get_values('Maintenance Team Member', { 'parent': filters.get("maintenance_team") })
+	return frappe.db.get_values('Maintenance Team Member', { 'parent': filters.get("maintenance_team") }, "team_member")
 
 @frappe.whitelist()
 def get_maintenance_log(asset_name):
diff --git a/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py b/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py
index af08a2a..d1457b9 100644
--- a/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py
+++ b/erpnext/assets/report/fixed_asset_register/fixed_asset_register.py
@@ -75,24 +75,23 @@
 	for asset in assets_record:
 		asset_value = asset.gross_purchase_amount - flt(asset.opening_accumulated_depreciation) \
 			- flt(depreciation_amount_map.get(asset.name))
-		if asset_value:
-			row = {
-				"asset_id": asset.asset_id,
-				"asset_name": asset.asset_name,
-				"status": asset.status,
-				"department": asset.department,
-				"cost_center": asset.cost_center,
-				"vendor_name": pr_supplier_map.get(asset.purchase_receipt) or pi_supplier_map.get(asset.purchase_invoice),
-				"gross_purchase_amount": asset.gross_purchase_amount,
-				"opening_accumulated_depreciation": asset.opening_accumulated_depreciation,
-				"depreciated_amount": depreciation_amount_map.get(asset.asset_id) or 0.0,
-				"available_for_use_date": asset.available_for_use_date,
-				"location": asset.location,
-				"asset_category": asset.asset_category,
-				"purchase_date": asset.purchase_date,
-				"asset_value": asset_value
-			}
-			data.append(row)
+		row = {
+			"asset_id": asset.asset_id,
+			"asset_name": asset.asset_name,
+			"status": asset.status,
+			"department": asset.department,
+			"cost_center": asset.cost_center,
+			"vendor_name": pr_supplier_map.get(asset.purchase_receipt) or pi_supplier_map.get(asset.purchase_invoice),
+			"gross_purchase_amount": asset.gross_purchase_amount,
+			"opening_accumulated_depreciation": asset.opening_accumulated_depreciation,
+			"depreciated_amount": depreciation_amount_map.get(asset.asset_id) or 0.0,
+			"available_for_use_date": asset.available_for_use_date,
+			"location": asset.location,
+			"asset_category": asset.asset_category,
+			"purchase_date": asset.purchase_date,
+			"asset_value": asset_value
+		}
+		data.append(row)
 
 	return data
 
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.js b/erpnext/buying/doctype/purchase_order/purchase_order.js
index 9f2b971..47483c9 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.js
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.js
@@ -90,6 +90,11 @@
 		this.frm.set_df_property("drop_ship", "hidden", !is_drop_ship);
 
 		if(doc.docstatus == 1) {
+			this.frm.fields_dict.items_section.wrapper.addClass("hide-border");
+			if(!this.frm.doc.set_warehouse) {
+				this.frm.fields_dict.items_section.wrapper.removeClass("hide-border");
+			}
+
 			if(!in_list(["Closed", "Delivered"], doc.status)) {
 				if(this.frm.doc.status !== 'Closed' && flt(this.frm.doc.per_received) < 100 && flt(this.frm.doc.per_billed) < 100) {
 					this.frm.add_custom_button(__('Update Items'), () => {
@@ -126,16 +131,25 @@
 			if(doc.status != "Closed") {
 				if (doc.status != "On Hold") {
 					if(flt(doc.per_received) < 100 && allow_receipt) {
-						cur_frm.add_custom_button(__('Receipt'), this.make_purchase_receipt, __('Create'));
+						cur_frm.add_custom_button(__('Purchase Receipt'), this.make_purchase_receipt, __('Create'));
 						if(doc.is_subcontracted==="Yes" && me.has_unsupplied_items()) {
 							cur_frm.add_custom_button(__('Material to Supplier'),
 								function() { me.make_stock_entry(); }, __("Transfer"));
 						}
 					}
 					if(flt(doc.per_billed) < 100)
-						cur_frm.add_custom_button(__('Invoice'),
+						cur_frm.add_custom_button(__('Purchase Invoice'),
 							this.make_purchase_invoice, __('Create'));
 
+					if(flt(doc.per_billed)==0 && doc.status != "Delivered") {
+						cur_frm.add_custom_button(__('Payment'), cur_frm.cscript.make_payment_entry, __('Create'));
+					}
+
+					if(flt(doc.per_billed)==0) {
+						this.frm.add_custom_button(__('Payment Request'),
+							function() { me.make_payment_request() }, __('Create'));
+					}
+
 					if(!doc.auto_repeat) {
 						cur_frm.add_custom_button(__('Subscription'), function() {
 							erpnext.utils.make_subscription(doc.doctype, doc.name)
@@ -156,13 +170,7 @@
 						});
 					}
 				}
-				if(flt(doc.per_billed)==0) {
-					this.frm.add_custom_button(__('Payment Request'),
-						function() { me.make_payment_request() }, __('Create'));
-				}
-				if(flt(doc.per_billed)==0 && doc.status != "Delivered") {
-					cur_frm.add_custom_button(__('Payment'), cur_frm.cscript.make_payment_entry, __('Create'));
-				}
+
 				cur_frm.page.set_inner_btn_group_as_primary(__('Create'));
 			}
 		} else if(doc.docstatus===0) {
@@ -299,7 +307,7 @@
 			if(me.values) {
 				me.values.sub_con_rm_items.map((row,i) => {
 					if (!row.item_code || !row.rm_item_code || !row.warehouse || !row.qty || row.qty === 0) {
-						frappe.throw(__("Item Code, warehouse, quantity are required on row" + (i+1)));
+						frappe.throw(__("Item Code, warehouse, quantity are required on row {0}", [i+1]));
 					}
 				})
 				me._make_rm_stock_entry(me.dialog.fields_dict.sub_con_rm_items.grid.get_selected_children())
@@ -358,15 +366,19 @@
 					method: "erpnext.stock.doctype.material_request.material_request.make_purchase_order",
 					source_doctype: "Material Request",
 					target: me.frm,
-					setters: {},
+					setters: {
+						schedule_date: undefined,
+						status: undefined
+					},
 					get_query_filters: {
 						material_request_type: "Purchase",
 						docstatus: 1,
 						status: ["!=", "Stopped"],
 						per_ordered: ["<", 99.99],
+						company: me.frm.doc.company
 					}
 				})
-			}, __("Get items from"));
+			}, __("Get Items From"));
 
 		this.frm.add_custom_button(__('Supplier Quotation'),
 			function() {
@@ -375,16 +387,17 @@
 					source_doctype: "Supplier Quotation",
 					target: me.frm,
 					setters: {
-						supplier: me.frm.doc.supplier
+						supplier: me.frm.doc.supplier,
+						valid_till: undefined
 					},
 					get_query_filters: {
 						docstatus: 1,
-						status: ["!=", "Stopped"],
+						status: ["not in", ["Stopped", "Expired"]],
 					}
 				})
-			}, __("Get items from"));
+			}, __("Get Items From"));
 
-		this.frm.add_custom_button(__('Update rate as per last purchase'),
+		this.frm.add_custom_button(__('Update Rate as per Last Purchase'),
 			function() {
 				frappe.call({
 					"method": "get_last_purchase_rate",
diff --git a/erpnext/buying/doctype/purchase_order/purchase_order.json b/erpnext/buying/doctype/purchase_order/purchase_order.json
index 2747c7c..75da71c 100644
--- a/erpnext/buying/doctype/purchase_order/purchase_order.json
+++ b/erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-05-21 16:16:39",
@@ -30,8 +31,8 @@
   "customer_contact_email",
   "section_addresses",
   "supplier_address",
-  "contact_person",
   "address_display",
+  "contact_person",
   "contact_display",
   "contact_mobile",
   "contact_email",
@@ -49,12 +50,14 @@
   "plc_conversion_rate",
   "ignore_pricing_rule",
   "sec_warehouse",
-  "set_warehouse",
-  "col_break_warehouse",
   "is_subcontracted",
+  "col_break_warehouse",
   "supplier_warehouse",
-  "items_section",
+  "before_items_section",
   "scan_barcode",
+  "items_col_break",
+  "set_warehouse",
+  "items_section",
   "items",
   "sb_last_purchase",
   "total_qty",
@@ -108,18 +111,13 @@
   "payment_terms_template",
   "payment_schedule",
   "tracking_section",
-  "per_billed",
+  "status",
   "column_break_75",
+  "per_billed",
   "per_received",
   "terms_section_break",
   "tc_name",
   "terms",
-  "more_info",
-  "status",
-  "ref_sq",
-  "column_break_74",
-  "party_account_currency",
-  "inter_company_order_reference",
   "column_break5",
   "letter_head",
   "select_print_heading",
@@ -131,7 +129,12 @@
   "to_date",
   "column_break_97",
   "auto_repeat",
-  "update_auto_repeat_reference"
+  "update_auto_repeat_reference",
+  "more_info",
+  "ref_sq",
+  "column_break_74",
+  "party_account_currency",
+  "inter_company_order_reference"
  ],
  "fields": [
   {
@@ -165,6 +168,7 @@
    "bold": 1,
    "fieldname": "supplier",
    "fieldtype": "Link",
+   "in_global_search": 1,
    "in_standard_filter": 1,
    "label": "Supplier",
    "oldfieldname": "supplier",
@@ -313,34 +317,34 @@
   {
    "fieldname": "supplier_address",
    "fieldtype": "Link",
-   "label": "Select Supplier Address",
+   "label": "Supplier Address",
    "options": "Address",
    "print_hide": 1
   },
   {
    "fieldname": "contact_person",
    "fieldtype": "Link",
-   "label": "Contact Person",
+   "label": "Supplier Contact",
    "options": "Contact",
    "print_hide": 1
   },
   {
    "fieldname": "address_display",
    "fieldtype": "Small Text",
-   "label": "Address",
+   "label": "Supplier Address Details",
    "read_only": 1
   },
   {
    "fieldname": "contact_display",
    "fieldtype": "Small Text",
    "in_global_search": 1,
-   "label": "Contact",
+   "label": "Contact Name",
    "read_only": 1
   },
   {
    "fieldname": "contact_mobile",
    "fieldtype": "Small Text",
-   "label": "Mobile No",
+   "label": "Contact Mobile No",
    "read_only": 1
   },
   {
@@ -358,14 +362,14 @@
   {
    "fieldname": "shipping_address",
    "fieldtype": "Link",
-   "label": "Select Shipping Address",
+   "label": "Company Shipping Address",
    "options": "Address",
    "print_hide": 1
   },
   {
    "fieldname": "shipping_address_display",
    "fieldtype": "Small Text",
-   "label": "Shipping Address",
+   "label": "Shipping Address Details",
    "print_hide": 1,
    "read_only": 1
   },
@@ -433,7 +437,8 @@
   },
   {
    "fieldname": "sec_warehouse",
-   "fieldtype": "Section Break"
+   "fieldtype": "Section Break",
+   "label": "Subcontracting"
   },
   {
    "description": "Sets 'Warehouse' in each row of the Items table.",
@@ -466,6 +471,7 @@
   {
    "fieldname": "items_section",
    "fieldtype": "Section Break",
+   "hide_border": 1,
    "oldfieldtype": "Section Break",
    "options": "fa fa-shopping-cart"
   },
@@ -598,7 +604,8 @@
   },
   {
    "fieldname": "section_break_52",
-   "fieldtype": "Section Break"
+   "fieldtype": "Section Break",
+   "hide_border": 1
   },
   {
    "fieldname": "taxes",
@@ -626,10 +633,12 @@
   {
    "fieldname": "totals",
    "fieldtype": "Section Break",
+   "label": "Taxes and Charges",
    "oldfieldtype": "Section Break",
    "options": "fa fa-money"
   },
   {
+   "depends_on": "base_taxes_and_charges_added",
    "fieldname": "base_taxes_and_charges_added",
    "fieldtype": "Currency",
    "label": "Taxes and Charges Added (Company Currency)",
@@ -640,6 +649,7 @@
    "read_only": 1
   },
   {
+   "depends_on": "base_taxes_and_charges_deducted",
    "fieldname": "base_taxes_and_charges_deducted",
    "fieldtype": "Currency",
    "label": "Taxes and Charges Deducted (Company Currency)",
@@ -650,6 +660,7 @@
    "read_only": 1
   },
   {
+   "depends_on": "base_total_taxes_and_charges",
    "fieldname": "base_total_taxes_and_charges",
    "fieldtype": "Currency",
    "label": "Total Taxes and Charges (Company Currency)",
@@ -665,6 +676,7 @@
    "fieldtype": "Column Break"
   },
   {
+   "depends_on": "taxes_and_charges_added",
    "fieldname": "taxes_and_charges_added",
    "fieldtype": "Currency",
    "label": "Taxes and Charges Added",
@@ -675,6 +687,7 @@
    "read_only": 1
   },
   {
+   "depends_on": "taxes_and_charges_deducted",
    "fieldname": "taxes_and_charges_deducted",
    "fieldtype": "Currency",
    "label": "Taxes and Charges Deducted",
@@ -685,6 +698,7 @@
    "read_only": 1
   },
   {
+   "depends_on": "total_taxes_and_charges",
    "fieldname": "total_taxes_and_charges",
    "fieldtype": "Currency",
    "label": "Total Taxes and Charges",
@@ -694,7 +708,7 @@
   },
   {
    "collapsible": 1,
-   "collapsible_depends_on": "discount_amount",
+   "collapsible_depends_on": "apply_discount_on",
    "fieldname": "discount_section",
    "fieldtype": "Section Break",
    "label": "Additional Discount"
@@ -734,7 +748,8 @@
   },
   {
    "fieldname": "totals_section",
-   "fieldtype": "Section Break"
+   "fieldtype": "Section Break",
+   "label": "Totals"
   },
   {
    "fieldname": "base_grand_total",
@@ -902,12 +917,12 @@
   },
   {
    "fieldname": "ref_sq",
-   "fieldtype": "Data",
-   "hidden": 1,
-   "label": "Ref SQ",
+   "fieldtype": "Link",
+   "label": "Supplier Quotation",
    "no_copy": 1,
    "oldfieldname": "ref_sq",
    "oldfieldtype": "Data",
+   "options": "Supplier Quotation",
    "print_hide": 1,
    "read_only": 1
   },
@@ -1061,7 +1076,7 @@
    "collapsible": 1,
    "fieldname": "tracking_section",
    "fieldtype": "Section Break",
-   "label": "Tracking"
+   "label": "Order Status"
   },
   {
    "fieldname": "column_break_75",
@@ -1070,21 +1085,29 @@
   {
    "fieldname": "billing_address",
    "fieldtype": "Link",
-   "label": "Select Billing Address",
+   "label": "Company Billing Address",
    "options": "Address"
   },
   {
    "fieldname": "billing_address_display",
    "fieldtype": "Small Text",
-   "label": "Billing Address",
+   "label": "Billing Address Details",
    "read_only": 1
+  },
+  {
+   "fieldname": "before_items_section",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "items_col_break",
+   "fieldtype": "Column Break"
   }
  ],
  "icon": "fa fa-file-text",
  "idx": 105,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-10-07 14:31:57.661221",
+ "modified": "2020-12-03 16:46:44.229351",
  "modified_by": "Administrator",
  "module": "Buying",
  "name": "Purchase Order",
diff --git a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
index 7a52c28..10db240 100644
--- a/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
+++ b/erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
@@ -24,6 +24,7 @@
   "col_break2",
   "uom",
   "conversion_factor",
+  "stock_qty",
   "sec_break1",
   "price_list_rate",
   "discount_percentage",
@@ -46,11 +47,8 @@
   "column_break_32",
   "base_net_rate",
   "base_net_amount",
-  "billed_amt",
   "warehouse_and_reference",
   "warehouse",
-  "delivered_by_supplier",
-  "project",
   "material_request",
   "material_request_item",
   "sales_order",
@@ -58,36 +56,37 @@
   "supplier_quotation",
   "supplier_quotation_item",
   "col_break5",
+  "delivered_by_supplier",
   "against_blanket_order",
   "blanket_order",
   "blanket_order_rate",
   "item_group",
   "brand",
-  "bom",
-  "include_exploded_items",
   "section_break_56",
-  "stock_qty",
-  "column_break_60",
   "received_qty",
   "returned_qty",
-  "manufacture_details",
-  "manufacturer",
-  "column_break_14",
-  "manufacturer_part_no",
-  "more_info_section_break",
-  "is_fixed_asset",
-  "item_tax_rate",
+  "column_break_60",
+  "billed_amt",
   "accounting_details",
   "expense_account",
-  "column_break_68",
+  "manufacture_details",
+  "manufacturer",
+  "manufacturer_part_no",
+  "column_break_14",
+  "bom",
+  "include_exploded_items",
   "item_weight_details",
   "weight_per_unit",
   "total_weight",
   "column_break_40",
   "weight_uom",
   "accounting_dimensions_section",
-  "cost_center",
+  "project",
   "dimension_col_break",
+  "cost_center",
+  "more_info_section_break",
+  "is_fixed_asset",
+  "item_tax_rate",
   "section_break_72",
   "page_break"
  ],
@@ -346,6 +345,7 @@
   },
   {
    "default": "0",
+   "depends_on": "is_free_item",
    "fieldname": "is_free_item",
    "fieldtype": "Check",
    "label": "Is Free Item",
@@ -508,9 +508,10 @@
   },
   {
    "default": "0",
+   "depends_on": "delivered_by_supplier",
    "fieldname": "delivered_by_supplier",
    "fieldtype": "Check",
-   "label": "To be delivered to customer",
+   "label": "To be Delivered to Customer",
    "print_hide": 1,
    "read_only": 1
   },
@@ -558,6 +559,7 @@
    "read_only": 1
   },
   {
+   "depends_on": "eval:parent.is_subcontracted == 'Yes'",
    "fieldname": "bom",
    "fieldtype": "Link",
    "label": "BOM",
@@ -574,21 +576,21 @@
   },
   {
    "fieldname": "section_break_56",
-   "fieldtype": "Section Break"
+   "fieldtype": "Section Break",
+   "label": "Billed, Received & Returned"
   },
   {
    "fieldname": "stock_qty",
    "fieldtype": "Float",
-   "label": "Qty as per Stock UOM",
+   "label": "Qty in Stock UOM",
    "no_copy": 1,
-   "oldfieldname": "stock_qty",
-   "oldfieldtype": "Currency",
    "print_hide": 1,
    "print_width": "100px",
    "read_only": 1,
    "width": "100px"
   },
   {
+   "depends_on": "received_qty",
    "fieldname": "received_qty",
    "fieldtype": "Float",
    "label": "Received Qty",
@@ -612,9 +614,10 @@
    "fieldtype": "Column Break"
   },
   {
+   "depends_on": "billed_amt",
    "fieldname": "billed_amt",
    "fieldtype": "Currency",
-   "label": "Billed Amt",
+   "label": "Billed Amount",
    "no_copy": 1,
    "options": "currency",
    "print_hide": 1,
@@ -633,6 +636,7 @@
    "report_hide": 1
   },
   {
+   "collapsible": 1,
    "fieldname": "accounting_details",
    "fieldtype": "Section Break",
    "label": "Accounting Details"
@@ -645,10 +649,6 @@
    "print_hide": 1
   },
   {
-   "fieldname": "column_break_68",
-   "fieldtype": "Column Break"
-  },
-  {
    "fieldname": "cost_center",
    "fieldtype": "Link",
    "label": "Cost Center",
@@ -715,6 +715,7 @@
   },
   {
    "default": "0",
+   "depends_on": "is_fixed_asset",
    "fetch_from": "item_code.is_fixed_asset",
    "fieldname": "is_fixed_asset",
    "fieldtype": "Check",
@@ -728,9 +729,10 @@
   }
  ],
  "idx": 1,
+ "index_web_pages_for_search": 1,
  "istable": 1,
  "links": [],
- "modified": "2020-04-21 11:55:58.643393",
+ "modified": "2020-10-30 11:59:47.670951",
  "modified_by": "Administrator",
  "module": "Buying",
  "name": "Purchase Order Item",
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
index f56c9b4..e537771 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.js
@@ -217,13 +217,15 @@
 						source_doctype: "Material Request",
 						target: me.frm,
 						setters: {
-							company: me.frm.doc.company
+							schedule_date: undefined,
+							status: undefined
 						},
 						get_query_filters: {
 							material_request_type: "Purchase",
 							docstatus: 1,
 							status: ["!=", "Stopped"],
-							per_ordered: ["<", 99.99]
+							per_ordered: ["<", 99.99],
+							company: me.frm.doc.company
 						}
 					})
 				}, __("Get Items From"));
@@ -236,32 +238,40 @@
 						source_doctype: "Opportunity",
 						target: me.frm,
 						setters: {
-							company: me.frm.doc.company
+							party_name: undefined,
+							opportunity_from: undefined,
+							status: undefined
 						},
+						get_query_filters: {
+							status: ["not in", ["Closed", "Lost"]],
+							company: me.frm.doc.company
+						}
 					})
 				}, __("Get Items From"));
 
 			// Get items from open Material Requests based on supplier
 			this.frm.add_custom_button(__('Possible Supplier'), function() {
 				// Create a dialog window for the user to pick their supplier
-				var d = new frappe.ui.Dialog({
+				var dialog = new frappe.ui.Dialog({
 					title: __('Select Possible Supplier'),
 					fields: [
-					{fieldname: 'supplier', fieldtype:'Link', options:'Supplier', label:'Supplier', reqd:1},
-					{fieldname: 'ok_button', fieldtype:'Button', label:'Get Items from Material Requests'},
-					]
-				});
-
-				// On the user clicking the ok button
-				d.fields_dict.ok_button.input.onclick = function() {
-					var btn = d.fields_dict.ok_button.input;
-					var v = d.get_values();
-					if(v) {
-						$(btn).set_working();
+						{
+							fieldname: 'supplier',
+							fieldtype:'Link',
+							options:'Supplier',
+							label:'Supplier',
+							reqd:1,
+							description: __("Get Items from Material Requests against this Supplier")
+						}
+					],
+					primary_action_label: __("Get Items"),
+					primary_action: (args) => {
+						if(!args) return;
+						dialog.hide();
 
 						erpnext.utils.map_current_doc({
 							method: "erpnext.buying.doctype.request_for_quotation.request_for_quotation.get_item_from_material_requests_based_on_supplier",
-							source_name: v.supplier,
+							source_name: args.supplier,
 							target: me.frm,
 							setters: {
 								company: me.frm.doc.company
@@ -273,18 +283,24 @@
 								per_ordered: ["<", 99.99]
 							}
 						});
-						$(btn).done_working();
-						d.hide();
+						dialog.hide();
 					}
-				}
-				d.show();
+				});
+
+				dialog.show();
 			}, __("Get Items From"));
 
+			// Link Material Requests
+			this.frm.add_custom_button(__('Link to Material Requests'),
+				function() {
+					erpnext.buying.link_to_mrs(me.frm);
+				}, __("Tools"));
+
 			// Get Suppliers
 			this.frm.add_custom_button(__('Get Suppliers'),
 				function() {
 					me.get_suppliers_button(me.frm);
-				});
+				}, __("Tools"));
 		}
 	},
 
@@ -304,7 +320,7 @@
 				{
 					"fieldtype": "Select", "label": __("Get Suppliers By"),
 					"fieldname": "search_type",
-					"options": ["Tag","Supplier Group"],
+					"options": ["Supplier Group", "Tag"],
 					"reqd": 1,
 					onchange() {
 						if(dialog.get_value('search_type') == 'Tag'){
diff --git a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.json b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.json
index 4e09a7e..4ce4100 100644
--- a/erpnext/buying/doctype/request_for_quotation/request_for_quotation.json
+++ b/erpnext/buying/doctype/request_for_quotation/request_for_quotation.json
@@ -18,12 +18,11 @@
   "suppliers",
   "items_section",
   "items",
-  "link_to_mrs",
   "supplier_response_section",
   "salutation",
-  "email_template",
-  "col_break_email_1",
   "subject",
+  "col_break_email_1",
+  "email_template",
   "preview",
   "sec_break_email_2",
   "message_for_supplier",
@@ -118,13 +117,6 @@
    "reqd": 1
   },
   {
-   "depends_on": "eval:doc.docstatus===0 && (doc.items && doc.items.length)",
-   "fieldname": "link_to_mrs",
-   "fieldtype": "Button",
-   "label": "Link to Material Requests"
-  },
-  {
-   "depends_on": "eval:!doc.__islocal",
    "fieldname": "supplier_response_section",
    "fieldtype": "Section Break",
    "label": "Email Details"
@@ -260,7 +252,7 @@
  "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-10-16 17:49:09.561929",
+ "modified": "2020-11-05 22:04:29.017134",
  "modified_by": "Administrator",
  "module": "Buying",
  "name": "Request for Quotation",
diff --git a/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json b/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json
index 96d7e2d..534cd90 100644
--- a/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json
+++ b/erpnext/buying/doctype/request_for_quotation_supplier/request_for_quotation_supplier.json
@@ -5,14 +5,14 @@
  "editable_grid": 1,
  "engine": "InnoDB",
  "field_order": [
-  "send_email",
-  "email_sent",
   "supplier",
   "contact",
   "quote_status",
   "column_break_3",
   "supplier_name",
-  "email_id"
+  "email_id",
+  "send_email",
+  "email_sent"
  ],
  "fields": [
   {
@@ -87,7 +87,7 @@
  "index_web_pages_for_search": 1,
  "istable": 1,
  "links": [],
- "modified": "2020-10-16 12:23:41.769820",
+ "modified": "2020-11-04 22:01:43.832942",
  "modified_by": "Administrator",
  "module": "Buying",
  "name": "Request for Quotation Supplier",
diff --git a/erpnext/buying/doctype/supplier/test_supplier.py b/erpnext/buying/doctype/supplier/test_supplier.py
index a377ec9..f9c8d35 100644
--- a/erpnext/buying/doctype/supplier/test_supplier.py
+++ b/erpnext/buying/doctype/supplier/test_supplier.py
@@ -120,3 +120,20 @@
 
         # Rollback
         address.delete()
+
+def create_supplier(**args):
+    args = frappe._dict(args)
+
+    try:
+        doc = frappe.get_doc({
+            "doctype": "Supplier",
+            "supplier_name": args.supplier_name,
+            "supplier_group": args.supplier_group or "Services",
+            "supplier_type": args.supplier_type or "Company",
+            "tax_withholding_category": args.tax_withholding_category
+        }).insert()
+
+        return doc
+
+    except frappe.DuplicateEntryError:
+        return frappe.get_doc("Supplier", args.supplier_name)
\ No newline at end of file
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
index 3376e82..a3b2085 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.js
@@ -37,16 +37,24 @@
 						source_doctype: "Material Request",
 						target: me.frm,
 						setters: {
-							company: me.frm.doc.company
+							schedule_date: undefined,
+							status: undefined
 						},
 						get_query_filters: {
 							material_request_type: "Purchase",
 							docstatus: 1,
 							status: ["!=", "Stopped"],
-							per_ordered: ["<", 99.99]
+							per_ordered: ["<", 99.99],
+							company: me.frm.doc.company
 						}
 					})
-				}, __("Get items from"));
+				}, __("Get Items From"));
+
+			// Link Material Requests
+			this.frm.add_custom_button(__('Link to Material Requests'),
+				function() {
+					erpnext.buying.link_to_mrs(me.frm);
+				}, __("Tools"));
 
 			this.frm.add_custom_button(__("Request for Quotation"),
 			function() {
@@ -58,16 +66,16 @@
 					source_doctype: "Request for Quotation",
 					target: me.frm,
 					setters: {
-						company: me.frm.doc.company,
 						transaction_date: null
 					},
 					get_query_filters: {
-						supplier: me.frm.doc.supplier
+						supplier: me.frm.doc.supplier,
+						company: me.frm.doc.company
 					},
 					get_query_method: "erpnext.buying.doctype.request_for_quotation.request_for_quotation.get_rfq_containing_supplier"
 
 				})
-			}, __("Get items from"));
+			}, __("Get Items From"));
 		}
 	},
 
diff --git a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
index 9a092ca..40fbe2c 100644
--- a/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
+++ b/erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-05-21 16:16:45",
@@ -34,7 +35,6 @@
   "ignore_pricing_rule",
   "items_section",
   "items",
-  "link_to_mrs",
   "pricing_rule_details",
   "pricing_rules",
   "section_break_22",
@@ -322,12 +322,6 @@
    "reqd": 1
   },
   {
-   "depends_on": "eval:doc.docstatus===0 && (doc.items && doc.items.length)",
-   "fieldname": "link_to_mrs",
-   "fieldtype": "Button",
-   "label": "Link to material requests"
-  },
-  {
    "fieldname": "pricing_rule_details",
    "fieldtype": "Section Break",
    "label": "Pricing Rules"
@@ -805,9 +799,10 @@
  ],
  "icon": "fa fa-shopping-cart",
  "idx": 29,
+ "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-10-01 20:56:17.932007",
+ "modified": "2020-12-03 15:18:29.073368",
  "modified_by": "Administrator",
  "module": "Buying",
  "name": "Supplier Quotation",
diff --git a/erpnext/communication/doctype/communication_medium/communication_medium.json b/erpnext/communication/doctype/communication_medium/communication_medium.json
index f009b38..1e1fe3b 100644
--- a/erpnext/communication/doctype/communication_medium/communication_medium.json
+++ b/erpnext/communication/doctype/communication_medium/communication_medium.json
@@ -1,12 +1,14 @@
 {
+ "actions": [],
  "autoname": "Prompt",
  "creation": "2019-06-05 11:48:30.572795",
  "doctype": "DocType",
  "engine": "InnoDB",
  "field_order": [
+  "communication_channel",
   "communication_medium_type",
-  "catch_all",
   "column_break_3",
+  "catch_all",
   "provider",
   "disabled",
   "timeslots_section",
@@ -54,9 +56,16 @@
    "fieldtype": "Table",
    "label": "Timeslots",
    "options": "Communication Medium Timeslot"
+  },
+  {
+   "fieldname": "communication_channel",
+   "fieldtype": "Select",
+   "label": "Communication Channel",
+   "options": "\nExotel"
   }
  ],
- "modified": "2019-06-05 11:49:30.769006",
+ "links": [],
+ "modified": "2020-10-27 16:22:08.068542",
  "modified_by": "Administrator",
  "module": "Communication",
  "name": "Communication Medium",
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 6108a61..93a79ec 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -23,6 +23,8 @@
 from erpnext.stock.get_item_details import get_item_warehouse, _get_item_tax_template, get_item_tax_map
 from erpnext.stock.doctype.packed_item.packed_item import make_packing_list
 
+class AccountMissingError(frappe.ValidationError): pass
+
 force_item_fields = ("item_group", "brand", "stock_uom", "is_fixed_asset", "item_tax_rate", "pricing_rules")
 
 class AccountsController(TransactionBase):
@@ -735,6 +737,21 @@
 
 		return self._abbr
 
+	def raise_missing_debit_credit_account_error(self, party_type, party):
+		"""Raise an error if debit to/credit to account does not exist."""
+		db_or_cr = frappe.bold("Debit To") if self.doctype == "Sales Invoice" else frappe.bold("Credit To")
+		rec_or_pay = "Receivable" if self.doctype == "Sales Invoice" else "Payable"
+
+		link_to_party = frappe.utils.get_link_to_form(party_type, party)
+		link_to_company = frappe.utils.get_link_to_form("Company", self.company)
+
+		message = _("{0} Account not found against Customer {1}.").format(db_or_cr, frappe.bold(party) or '')
+		message += "<br>" + _("Please set one of the following:") + "<br>"
+		message += "<br><ul><li>" + _("'Account' in the Accounting section of Customer {0}").format(link_to_party) + "</li>"
+		message += "<li>" + _("'Default {0} Account' in Company {1}").format(rec_or_pay, link_to_company) + "</li></ul>"
+
+		frappe.throw(message, title=_("Account Missing"), exc=AccountMissingError)
+
 	def validate_party(self):
 		party_type, party = self.get_party()
 		validate_party_frozen_disabled(party_type, party)
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index 9ee83e3..5fabf70 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -497,6 +497,10 @@
 					frappe.throw(_("Row {0}: Conversion Factor is mandatory").format(d.idx))
 				d.stock_qty = flt(d.qty) * flt(d.conversion_factor)
 
+				if self.doctype=="Purchase Receipt" and d.meta.get_field("received_stock_qty"):
+					# Set Received Qty in Stock UOM
+					d.received_stock_qty = flt(d.received_qty) * flt(d.conversion_factor, d.precision("conversion_factor"))
+
 	def validate_purchase_return(self):
 		for d in self.get("items"):
 			if self.is_return and flt(d.rejected_qty) != 0:
diff --git a/erpnext/controllers/sales_and_purchase_return.py b/erpnext/controllers/sales_and_purchase_return.py
index afc5f81..5299b25 100644
--- a/erpnext/controllers/sales_and_purchase_return.py
+++ b/erpnext/controllers/sales_and_purchase_return.py
@@ -203,10 +203,37 @@
 
 	return items
 
+def get_returned_qty_map_for_row(row_name, doctype):
+	child_doctype = doctype + " Item"
+	reference_field = frappe.scrub(child_doctype) if doctype == "Purchase Receipt" else "dn_detail"
+
+	fields = [
+		"sum(abs(`tab{0}`.qty)) as qty".format(child_doctype),
+		"sum(abs(`tab{0}`.stock_qty)) as stock_qty".format(child_doctype)
+	]
+
+	if doctype == "Purchase Receipt":
+		fields += [
+			"sum(abs(`tab{0}`.rejected_qty)) as rejected_qty".format(child_doctype),
+			"sum(abs(`tab{0}`.received_qty)) as received_qty".format(child_doctype),
+			"sum(abs(`tab{0}`.received_stock_qty)) as received_stock_qty".format(child_doctype)
+		]
+
+	data = frappe.db.get_list(doctype,
+		fields = fields,
+		filters = [
+			[doctype, "docstatus", "=", 1],
+			[doctype, "is_return", "=", 1],
+			[child_doctype, reference_field, "=", row_name]
+	])
+
+	return data[0]
+
 def make_return_doc(doctype, source_name, target_doc=None):
 	from frappe.model.mapper import get_mapped_doc
 	company = frappe.db.get_value("Delivery Note", source_name, "company")
 	default_warehouse_for_sales_return = frappe.db.get_value("Company", company, "default_warehouse_for_sales_return")
+
 	def set_missing_values(source, target):
 		doc = frappe.get_doc(target)
 		doc.is_return = 1
@@ -261,20 +288,25 @@
 		doc.run_method("calculate_taxes_and_totals")
 
 	def update_item(source_doc, target_doc, source_parent):
-		target_doc.qty = -1* source_doc.qty
+		target_doc.qty = -1 * source_doc.qty
+
 		if doctype == "Purchase Receipt":
-			target_doc.received_qty = -1* source_doc.received_qty
-			target_doc.rejected_qty = -1* source_doc.rejected_qty
-			target_doc.qty = -1* source_doc.qty
-			target_doc.stock_qty = -1 * source_doc.stock_qty
+			returned_qty_map = get_returned_qty_map_for_row(source_doc.name, doctype)
+			target_doc.received_qty = -1 * flt(source_doc.received_qty - (returned_qty_map.get('received_qty') or 0))
+			target_doc.rejected_qty = -1 * flt(source_doc.rejected_qty - (returned_qty_map.get('rejected_qty') or 0))
+			target_doc.qty = -1 * flt(source_doc.qty - (returned_qty_map.get('qty') or 0))
+
+			target_doc.stock_qty = -1 * flt(source_doc.stock_qty - (returned_qty_map.get('stock_qty') or 0))
+			target_doc.received_stock_qty = -1 * flt(source_doc.received_stock_qty - (returned_qty_map.get('received_stock_qty') or 0))
+
 			target_doc.purchase_order = source_doc.purchase_order
 			target_doc.purchase_order_item = source_doc.purchase_order_item
 			target_doc.rejected_warehouse = source_doc.rejected_warehouse
 			target_doc.purchase_receipt_item = source_doc.name
 
 		elif doctype == "Purchase Invoice":
-			target_doc.received_qty = -1* source_doc.received_qty
-			target_doc.rejected_qty = -1* source_doc.rejected_qty
+			target_doc.received_qty = -1 * source_doc.received_qty
+			target_doc.rejected_qty = -1 * source_doc.rejected_qty
 			target_doc.qty = -1* source_doc.qty
 			target_doc.stock_qty = -1 * source_doc.stock_qty
 			target_doc.purchase_order = source_doc.purchase_order
@@ -285,6 +317,10 @@
 			target_doc.purchase_invoice_item = source_doc.name
 
 		elif doctype == "Delivery Note":
+			returned_qty_map = get_returned_qty_map_for_row(source_doc.name, doctype)
+			target_doc.qty = -1 * flt(source_doc.qty - (returned_qty_map.get('qty') or 0))
+			target_doc.stock_qty = -1 * flt(source_doc.stock_qty - (returned_qty_map.get('stock_qty') or 0))
+
 			target_doc.against_sales_order = source_doc.against_sales_order
 			target_doc.against_sales_invoice = source_doc.against_sales_invoice
 			target_doc.so_detail = source_doc.so_detail
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 5886171..4dbd7bf 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -42,7 +42,7 @@
 		self.validate_max_discount()
 		self.validate_selling_price()
 		self.set_qty_as_per_stock_uom()
-		self.set_po_nos()
+		self.set_po_nos(for_validate=True)
 		self.set_gross_profit()
 		set_default_income_account_for_item(self)
 		self.set_customer_address()
@@ -370,14 +370,36 @@
 						}))
 		self.make_sl_entries(sl_entries)
 
-	def set_po_nos(self):
-		if self.doctype in ("Delivery Note", "Sales Invoice") and hasattr(self, "items"):
-			ref_fieldname = "against_sales_order" if self.doctype == "Delivery Note" else "sales_order"
-			sales_orders = list(set([d.get(ref_fieldname) for d in self.items if d.get(ref_fieldname)]))
-			if sales_orders:
-				po_nos = frappe.get_all('Sales Order', 'po_no', filters = {'name': ('in', sales_orders)})
-				if po_nos and po_nos[0].get('po_no'):
-					self.po_no = ', '.join(list(set([d.po_no for d in po_nos if d.po_no])))
+	def set_po_nos(self, for_validate=False):
+		if self.doctype == 'Sales Invoice' and hasattr(self, "items"):
+			if for_validate and self.po_no:
+				return
+			self.set_pos_for_sales_invoice()
+		if self.doctype == 'Delivery Note' and hasattr(self, "items"):
+			if for_validate and self.po_no:
+				return
+			self.set_pos_for_delivery_note()
+
+	def set_pos_for_sales_invoice(self):
+		po_nos = []
+		if self.po_no:
+			po_nos.append(self.po_no)
+		self.get_po_nos('Sales Order', 'sales_order', po_nos)
+		self.get_po_nos('Delivery Note', 'delivery_note', po_nos)
+		self.po_no = ', '.join(list(set(x.strip() for x in ','.join(po_nos).split(','))))
+
+	def set_pos_for_delivery_note(self):
+		po_nos = []
+		if self.po_no:
+			po_nos.append(self.po_no)
+		self.get_po_nos('Sales Order', 'against_sales_order', po_nos)
+		self.get_po_nos('Sales Invoice', 'against_sales_invoice', po_nos)
+		self.po_no = ', '.join(list(set(x.strip() for x in ','.join(po_nos).split(','))))
+
+	def get_po_nos(self, ref_doctype, ref_fieldname, po_nos):
+		doc_list = list(set([d.get(ref_fieldname) for d in self.items if d.get(ref_fieldname)]))
+		if doc_list:
+			po_nos += [d.po_no for d in frappe.get_all(ref_doctype, 'po_no', filters = {'name': ('in', doc_list)}) if d.get('po_no')]
 
 	def set_gross_profit(self):
 		if self.doctype in ["Sales Order", "Quotation"]:
@@ -402,26 +424,26 @@
 			return
 
 		for d in self.get('items'):
-			if self.doctype == "Sales Invoice":
-				e = [d.item_code, d.description, d.warehouse, d.sales_order or d.delivery_note, d.batch_no or '']
-				f = [d.item_code, d.description, d.sales_order or d.delivery_note]
+			if self.doctype in ["POS Invoice","Sales Invoice"]:
+				stock_items = [d.item_code, d.description, d.warehouse, d.sales_order or d.delivery_note, d.batch_no or '']
+				non_stock_items = [d.item_code, d.description, d.sales_order or d.delivery_note]
 			elif self.doctype == "Delivery Note":
-				e = [d.item_code, d.description, d.warehouse, d.against_sales_order or d.against_sales_invoice, d.batch_no or '']
-				f = [d.item_code, d.description, d.against_sales_order or d.against_sales_invoice]
+				stock_items = [d.item_code, d.description, d.warehouse, d.against_sales_order or d.against_sales_invoice, d.batch_no or '']
+				non_stock_items = [d.item_code, d.description, d.against_sales_order or d.against_sales_invoice]
 			elif self.doctype in ["Sales Order", "Quotation"]:
-				e = [d.item_code, d.description, d.warehouse, '']
-				f = [d.item_code, d.description]
+				stock_items = [d.item_code, d.description, d.warehouse, '']
+				non_stock_items = [d.item_code, d.description]
 
 			if frappe.db.get_value("Item", d.item_code, "is_stock_item") == 1:
-				if e in check_list:
+				if stock_items in check_list:
 					frappe.throw(_("Note: Item {0} entered multiple times").format(d.item_code))
 				else:
-					check_list.append(e)
+					check_list.append(stock_items)
 			else:
-				if f in chk_dupl_itm:
+				if non_stock_items in chk_dupl_itm:
 					frappe.throw(_("Note: Item {0} entered multiple times").format(d.item_code))
 				else:
-					chk_dupl_itm.append(f)
+					chk_dupl_itm.append(non_stock_items)
 
 	def validate_target_warehouse(self):
 		items = self.get("items") + (self.get("packed_items") or [])
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 9feac78..2555edf 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -58,6 +58,7 @@
 	"Delivery Note": [
 		["Draft", None],
 		["To Bill", "eval:self.per_billed < 100 and self.docstatus == 1"],
+		["Return Issued", "eval:self.per_returned == 100 and self.docstatus == 1"],
 		["Completed", "eval:self.per_billed == 100 and self.docstatus == 1"],
 		["Cancelled", "eval:self.docstatus==2"],
 		["Closed", "eval:self.status=='Closed'"],
@@ -65,6 +66,7 @@
 	"Purchase Receipt": [
 		["Draft", None],
 		["To Bill", "eval:self.per_billed < 100 and self.docstatus == 1"],
+		["Return Issued", "eval:self.per_returned == 100 and self.docstatus == 1"],
 		["Completed", "eval:self.per_billed == 100 and self.docstatus == 1"],
 		["Cancelled", "eval:self.docstatus==2"],
 		["Closed", "eval:self.status=='Closed'"],
@@ -232,7 +234,7 @@
 
 			self._update_children(args, update_modified)
 
-			if "percent_join_field" in args:
+			if "percent_join_field" in args or "percent_join_field_parent" in args:
 				self._update_percent_field_in_targets(args, update_modified)
 
 	def _update_children(self, args, update_modified):
@@ -272,13 +274,19 @@
 
 	def _update_percent_field_in_targets(self, args, update_modified=True):
 		"""Update percent field in parent transaction"""
-		distinct_transactions = set([d.get(args['percent_join_field'])
-			for d in self.get_all_children(args['source_dt'])])
+		if args.get('percent_join_field_parent'):
+			# if reference to target doc where % is to be updated, is
+			# in source doc's parent form, consider percent_join_field_parent
+			args['name'] = self.get(args['percent_join_field_parent'])
+			self._update_percent_field(args, update_modified)
+		else:
+			distinct_transactions = set([d.get(args['percent_join_field'])
+				for d in self.get_all_children(args['source_dt'])])
 
-		for name in distinct_transactions:
-			if name:
-				args['name'] = name
-				self._update_percent_field(args, update_modified)
+			for name in distinct_transactions:
+				if name:
+					args['name'] = name
+					self._update_percent_field(args, update_modified)
 
 	def _update_percent_field(self, args, update_modified=True):
 		"""Update percent field in parent transaction"""
diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py
index f743d70..2f7b361 100644
--- a/erpnext/controllers/stock_controller.py
+++ b/erpnext/controllers/stock_controller.py
@@ -229,9 +229,9 @@
 
 	def check_expense_account(self, item):
 		if not item.get("expense_account"):
-			frappe.throw(_("Row #{0}: Expense Account not set for Item {1}. Please set an Expense \
-				Account in the Items table").format(item.idx, frappe.bold(item.item_code)),
-				title=_("Expense Account Missing"))
+			msg = _("Please set an Expense Account in the Items table")
+			frappe.throw(_("Row #{0}: Expense Account not set for the Item {1}. {2}")
+				.format(item.idx, frappe.bold(item.item_code), msg), title=_("Expense Account Missing"))
 
 		else:
 			is_expense_account = frappe.db.get_value("Account",
@@ -247,7 +247,9 @@
 		for d in self.items:
 			if not d.batch_no: continue
 
-			serial_nos = [sr.name for sr in frappe.get_all("Serial No", {'batch_no': d.batch_no})]
+			serial_nos = [sr.name for sr in frappe.get_all("Serial No",
+				{'batch_no': d.batch_no, 'status': 'Inactive'})]
+
 			if serial_nos:
 				frappe.db.set_value("Serial No", { 'name': ['in', serial_nos] }, "batch_no", None)
 
@@ -338,11 +340,15 @@
 			validate_warehouse_company(w, self.company)
 
 	def update_billing_percentage(self, update_modified=True):
+		target_ref_field = "amount"
+		if self.doctype == "Delivery Note":
+			target_ref_field = "amount - (returned_qty * rate)"
+
 		self._update_percent_field({
 			"target_dt": self.doctype + " Item",
 			"target_parent_dt": self.doctype,
 			"target_parent_field": "per_billed",
-			"target_ref_field": "amount",
+			"target_ref_field": target_ref_field,
 			"target_field": "billed_amt",
 			"name": self.name,
 		}, update_modified)
diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py
index 81d07c1..ad58f13 100644
--- a/erpnext/controllers/taxes_and_totals.py
+++ b/erpnext/controllers/taxes_and_totals.py
@@ -641,7 +641,8 @@
 		if default_mode_of_payment:
 			self.doc.append('payments', {
 				'mode_of_payment': default_mode_of_payment.mode_of_payment,
-				'amount': total_amount_to_pay
+				'amount': total_amount_to_pay,
+				'default': 1
 			})
 		else:
 			self.doc.is_pos = 0
diff --git a/erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.js b/erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.js
index 99b8214..dc3ae8b 100644
--- a/erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.js
+++ b/erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.js
@@ -4,7 +4,7 @@
 		let from_time = Date.parse('01/01/2019 ' + d.from_time);
 		let to_time = Date.parse('01/01/2019 ' + d.to_time);
 		if (from_time > to_time) {
-			frappe.throw(__(`In row ${i + 1} of Appointment Booking Slots : "To Time" must be later than "From Time"`));
+			frappe.throw(__('In row {0} of Appointment Booking Slots: "To Time" must be later than "From Time".', [i + 1]));
 		}
 	});
 }
\ No newline at end of file
diff --git a/erpnext/crm/doctype/contract/contract.js b/erpnext/crm/doctype/contract/contract.js
index ee9e895..9968855 100644
--- a/erpnext/crm/doctype/contract/contract.js
+++ b/erpnext/crm/doctype/contract/contract.js
@@ -1,23 +1,31 @@
 // Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and contributors
 // For license information, please see license.txt
 
-cur_frm.add_fetch("contract_template", "contract_terms", "contract_terms");
-cur_frm.add_fetch("contract_template", "requires_fulfilment", "requires_fulfilment");
-
-// Add fulfilment terms from contract template into contract
 frappe.ui.form.on("Contract", {
 	contract_template: function (frm) {
-		// Populate the fulfilment terms table from a contract template, if any
 		if (frm.doc.contract_template) {
-			frappe.model.with_doc("Contract Template", frm.doc.contract_template, function () {
-				var tabletransfer = frappe.model.get_doc("Contract Template", frm.doc.contract_template);
-
-				frm.doc.fulfilment_terms = [];
-				$.each(tabletransfer.fulfilment_terms, function (index, row) {
-					var d = frm.add_child("fulfilment_terms");
-					d.requirement = row.requirement;
-					frm.refresh_field("fulfilment_terms");
-				});
+			frappe.call({
+				method: 'erpnext.crm.doctype.contract_template.contract_template.get_contract_template',
+				args: {
+					template_name: frm.doc.contract_template,
+					doc: frm.doc
+				},
+				callback: function(r) {
+					if (r && r.message) {
+						let contract_template = r.message.contract_template;
+						frm.set_value("contract_terms", r.message.contract_terms);
+						frm.set_value("requires_fulfilment", contract_template.requires_fulfilment);
+						
+						if (frm.doc.requires_fulfilment) {
+							// Populate the fulfilment terms table from a contract template, if any
+							r.message.contract_template.fulfilment_terms.forEach(element => {
+								let d = frm.add_child("fulfilment_terms");
+								d.requirement = element.requirement;
+							});
+							frm.refresh_field("fulfilment_terms");
+						}		
+					}
+				}
 			});
 		}
 	}
diff --git a/erpnext/crm/doctype/contract/contract.json b/erpnext/crm/doctype/contract/contract.json
index 0026e4a..de3230f 100755
--- a/erpnext/crm/doctype/contract/contract.json
+++ b/erpnext/crm/doctype/contract/contract.json
@@ -1,4 +1,5 @@
 {
+ "actions": [],
  "allow_import": 1,
  "allow_rename": 1,
  "creation": "2018-04-12 06:32:04.582486",
@@ -247,7 +248,7 @@
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-03-30 06:56:07.257932",
+ "modified": "2020-12-07 11:15:58.385521",
  "modified_by": "Administrator",
  "module": "CRM",
  "name": "Contract",
diff --git a/erpnext/crm/doctype/contract_template/contract_template.json b/erpnext/crm/doctype/contract_template/contract_template.json
index ef9974f..7cc5ec1 100644
--- a/erpnext/crm/doctype/contract_template/contract_template.json
+++ b/erpnext/crm/doctype/contract_template/contract_template.json
@@ -11,7 +11,9 @@
   "contract_terms",
   "sb_fulfilment",
   "requires_fulfilment",
-  "fulfilment_terms"
+  "fulfilment_terms",
+  "section_break_6",
+  "contract_template_help"
  ],
  "fields": [
   {
@@ -23,8 +25,7 @@
   {
    "fieldname": "contract_terms",
    "fieldtype": "Text Editor",
-   "label": "Contract Terms and Conditions",
-   "read_only": 1
+   "label": "Contract Terms and Conditions"
   },
   {
    "fieldname": "sb_fulfilment",
@@ -42,10 +43,20 @@
    "fieldtype": "Table",
    "label": "Fulfilment Terms and Conditions",
    "options": "Contract Template Fulfilment Terms"
+  },
+  {
+   "fieldname": "section_break_6",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "contract_template_help",
+   "fieldtype": "HTML",
+   "label": "Contract Template Help",
+   "options": "<h4>Contract Template Example</h4>\n\n<pre>Contract for Customer {{ party_name }}\n\n-Valid From : {{ start_date }} \n-Valid To : {{ end_date }}\n</pre>\n\n<h4>How to get fieldnames</h4>\n\n<p>The field names you can use in your Contract Template are the fields in the Contract for which you are creating the template. You can find out the fields of any documents via Setup &gt; Customize Form View and selecting the document type (e.g. Contract)</p>\n\n<h4>Templating</h4>\n\n<p>Templates are compiled using the Jinja Templating Language. To learn more about Jinja, <a class=\"strong\" href=\"http://jinja.pocoo.org/docs/dev/templates/\">read this documentation.</a></p>"
   }
  ],
  "links": [],
- "modified": "2020-06-03 00:24:58.179816",
+ "modified": "2020-12-07 10:44:22.587047",
  "modified_by": "Administrator",
  "module": "CRM",
  "name": "Contract Template",
diff --git a/erpnext/crm/doctype/contract_template/contract_template.py b/erpnext/crm/doctype/contract_template/contract_template.py
index 601ee9a..69fd86f 100644
--- a/erpnext/crm/doctype/contract_template/contract_template.py
+++ b/erpnext/crm/doctype/contract_template/contract_template.py
@@ -5,6 +5,27 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.model.document import Document
+from frappe.utils.jinja import validate_template
+from six import string_types
+import json
 
 class ContractTemplate(Document):
-	pass
+	def validate(self):
+		if self.contract_terms:
+			validate_template(self.contract_terms)
+
+@frappe.whitelist()
+def get_contract_template(template_name, doc):
+	if isinstance(doc, string_types):
+		doc = json.loads(doc)
+
+	contract_template = frappe.get_doc("Contract Template", template_name)
+	contract_terms = None
+
+	if contract_template.contract_terms:
+		contract_terms = frappe.render_template(contract_template.contract_terms, doc)
+	
+	return {
+		'contract_template': contract_template, 
+		'contract_terms': contract_terms
+	}
\ No newline at end of file
diff --git a/erpnext/demo/data/asset.json b/erpnext/demo/data/asset.json
index 23029ca..44db2ae 100644
--- a/erpnext/demo/data/asset.json
+++ b/erpnext/demo/data/asset.json
@@ -4,48 +4,55 @@
 		"item_code": "Computer",
 		"gross_purchase_amount": 100000,
 		"asset_owner": "Company",
-		"available_for_use_date": "2017-01-02"
+		"available_for_use_date": "2017-01-02",
+		"location": "Main Location"
 	},
 	{
 		"asset_name": "Macbook Air - 1",
 		"item_code": "Computer",
 		"gross_purchase_amount": 60000,
 		"asset_owner": "Company",
-		"available_for_use_date": "2017-10-02"
+		"available_for_use_date": "2017-10-02",
+		"location": "Avg Location"
 	},
 	{
 		"asset_name": "Conferrence Table",
 		"item_code": "Table",
 		"gross_purchase_amount": 30000,
 		"asset_owner": "Company",
-		"available_for_use_date": "2018-10-02"
+		"available_for_use_date": "2018-10-02",
+		"location": "Zany Location"
 	},
 	{
 		"asset_name": "Lunch Table",
 		"item_code": "Table",
 		"gross_purchase_amount": 20000,
 		"asset_owner": "Company",
-		"available_for_use_date": "2018-06-02"
+		"available_for_use_date": "2018-06-02",
+		"location": "Fletcher Location"
 	},
 	{
 		"asset_name": "ERPNext",
 		"item_code": "ERP",
 		"gross_purchase_amount": 100000,
 		"asset_owner": "Company",
-		"available_for_use_date": "2018-09-02"
+		"available_for_use_date": "2018-09-02",
+		"location":"Main Location"
 	},
 	{
 		"asset_name": "Chair 1",
 		"item_code": "Chair",
 		"gross_purchase_amount": 10000,
 		"asset_owner": "Company",
-		"available_for_use_date": "2018-07-02"
+		"available_for_use_date": "2018-07-02",
+		"location": "Zany Location"
 	},
 	{
 		"asset_name": "Chair 2",
 		"item_code": "Chair",
 		"gross_purchase_amount": 10000,
 		"asset_owner": "Company",
-		"available_for_use_date": "2018-07-02"
+		"available_for_use_date": "2018-07-02",
+		"location": "Avg Location"
 	}
 ]
diff --git a/erpnext/demo/data/location.json b/erpnext/demo/data/location.json
new file mode 100644
index 0000000..b521aa0
--- /dev/null
+++ b/erpnext/demo/data/location.json
@@ -0,0 +1,22 @@
+[
+    {
+        "location_name": "Main Location",
+        "latitude": 40.0,
+        "longitude": 20.0
+    },
+    {
+        "location_name": "Avg Location",
+        "latitude": 63.0,
+        "longitude": 99.3
+    },
+    {
+        "location_name": "Zany Location",
+        "latitude": 47.5,
+        "longitude": 10.0
+    },
+    {
+        "location_name": "Fletcher Location",
+        "latitude": 100.90,
+        "longitude": 80
+    }
+]
\ No newline at end of file
diff --git a/erpnext/demo/setup/manufacture.py b/erpnext/demo/setup/manufacture.py
index d384636..7d6b501 100644
--- a/erpnext/demo/setup/manufacture.py
+++ b/erpnext/demo/setup/manufacture.py
@@ -9,6 +9,7 @@
 from six import iteritems
 
 def setup_data():
+	import_json("Location")
 	import_json("Asset Category")
 	setup_item()
 	setup_workstation()
diff --git a/erpnext/demo/setup/setup_data.py b/erpnext/demo/setup/setup_data.py
index a395c7c..05ee28a 100644
--- a/erpnext/demo/setup/setup_data.py
+++ b/erpnext/demo/setup/setup_data.py
@@ -134,7 +134,7 @@
 		salary_component = frappe.get_doc('Salary Component', d.name)
 		salary_component.append('accounts', dict(
 			company=erpnext.get_default_company(),
-			default_account=frappe.get_value('Account', dict(account_name=('like', 'Salary%')))
+			account=frappe.get_value('Account', dict(account_name=('like', 'Salary%')))
 		))
 		salary_component.save()
 
diff --git a/erpnext/demo/user/stock.py b/erpnext/demo/user/stock.py
index f95a6b8..d44da7d 100644
--- a/erpnext/demo/user/stock.py
+++ b/erpnext/demo/user/stock.py
@@ -79,7 +79,7 @@
 				if item.qty:
 					item.qty = item.qty - round(random.randint(1, item.qty))
 			try:
-				stock_reco.insert(ignore_permissions=True)
+				stock_reco.insert(ignore_permissions=True, ignore_mandatory=True)
 				stock_reco.submit()
 				frappe.db.commit()
 			except OpeningEntryAccountError:
diff --git a/erpnext/education/doctype/student_attendance/student_attendance.py b/erpnext/education/doctype/student_attendance/student_attendance.py
index 72a8f55..2e9e6cf 100644
--- a/erpnext/education/doctype/student_attendance/student_attendance.py
+++ b/erpnext/education/doctype/student_attendance/student_attendance.py
@@ -6,8 +6,10 @@
 import frappe
 from frappe.model.document import Document
 from frappe import _
-from frappe.utils import get_link_to_form, getdate
+from frappe.utils import get_link_to_form, getdate, formatdate
+from erpnext import get_default_company
 from erpnext.education.api import get_student_group_students
+from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday
 
 class StudentAttendance(Document):
 	def validate(self):
@@ -17,6 +19,7 @@
 		self.set_student_group()
 		self.validate_student()
 		self.validate_duplication()
+		self.validate_is_holiday()
 
 	def set_date(self):
 		if self.course_schedule:
@@ -78,3 +81,18 @@
 			record = get_link_to_form('Student Attendance', attendance_record)
 			frappe.throw(_('Student Attendance record {0} already exists against the Student {1}')
 				.format(record, frappe.bold(self.student)), title=_('Duplicate Entry'))
+
+	def validate_is_holiday(self):
+		holiday_list = get_holiday_list()
+		if is_holiday(holiday_list, self.date):
+			frappe.throw(_('Attendance cannot be marked for {0} as it is a holiday.').format(
+				frappe.bold(formatdate(self.date))))
+
+def get_holiday_list(company=None):
+	if not company:
+		company = get_default_company() or frappe.get_all('Company')[0].name
+
+	holiday_list = frappe.get_cached_value('Company', company,  'default_holiday_list')
+	if not holiday_list:
+		frappe.throw(_('Please set a default Holiday List for Company {0}').format(frappe.bold(get_default_company())))
+	return holiday_list
diff --git a/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.py b/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.py
index be26440..028db91 100644
--- a/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.py
+++ b/erpnext/education/doctype/student_attendance_tool/student_attendance_tool.py
@@ -20,10 +20,10 @@
 			student_list = frappe.get_list("Student Group Student", fields=["student", "student_name", "group_roll_number"] , \
 			filters={"parent": student_group, "active": 1}, order_by= "group_roll_number")
 
-	if not student_list: 
-		student_list = frappe.get_list("Student Group Student", fields=["student", "student_name", "group_roll_number"] , 
+	if not student_list:
+		student_list = frappe.get_list("Student Group Student", fields=["student", "student_name", "group_roll_number"] ,
 			filters={"parent": student_group, "active": 1}, order_by= "group_roll_number")
-	
+
 	if course_schedule:
 		student_attendance_list= frappe.db.sql('''select student, status from `tabStudent Attendance` where \
 			course_schedule= %s''', (course_schedule), as_dict=1)
@@ -32,7 +32,7 @@
 			student_group= %s and date= %s and \
 			(course_schedule is Null or course_schedule='')''',
 			(student_group, date), as_dict=1)
-	
+
 	for attendance in student_attendance_list:
 		for student in student_list:
 			if student.student == attendance.student:
diff --git a/erpnext/education/doctype/student_leave_application/student_leave_application.json b/erpnext/education/doctype/student_leave_application/student_leave_application.json
index ad53976..31b3da2 100644
--- a/erpnext/education/doctype/student_leave_application/student_leave_application.json
+++ b/erpnext/education/doctype/student_leave_application/student_leave_application.json
@@ -11,6 +11,7 @@
   "column_break_3",
   "from_date",
   "to_date",
+  "total_leave_days",
   "section_break_5",
   "attendance_based_on",
   "student_group",
@@ -110,11 +111,17 @@
   {
    "fieldname": "column_break_11",
    "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "total_leave_days",
+   "fieldtype": "Float",
+   "label": "Total Leave Days",
+   "read_only": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-07-08 13:22:38.329002",
+ "modified": "2020-09-21 18:10:24.440669",
  "modified_by": "Administrator",
  "module": "Education",
  "name": "Student Leave Application",
diff --git a/erpnext/education/doctype/student_leave_application/student_leave_application.py b/erpnext/education/doctype/student_leave_application/student_leave_application.py
index c8841c9..ef67012 100644
--- a/erpnext/education/doctype/student_leave_application/student_leave_application.py
+++ b/erpnext/education/doctype/student_leave_application/student_leave_application.py
@@ -6,11 +6,14 @@
 import frappe
 from frappe import _
 from datetime import timedelta
-from frappe.utils import get_link_to_form, getdate
+from frappe.utils import get_link_to_form, getdate, date_diff, flt
+from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday
+from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list
 from frappe.model.document import Document
 
 class StudentLeaveApplication(Document):
 	def validate(self):
+		self.validate_holiday_list()
 		self.validate_duplicate()
 		self.validate_from_to_dates('from_date', 'to_date')
 
@@ -39,10 +42,19 @@
 			frappe.throw(_('Leave application {0} already exists against the student {1}')
 				.format(link, frappe.bold(self.student)), title=_('Duplicate Entry'))
 
+	def validate_holiday_list(self):
+		holiday_list = get_holiday_list()
+		self.total_leave_days = get_number_of_leave_days(self.from_date, self.to_date, holiday_list)
+
 	def update_attendance(self):
+		holiday_list = get_holiday_list()
+
 		for dt in daterange(getdate(self.from_date), getdate(self.to_date)):
 			date = dt.strftime('%Y-%m-%d')
 
+			if is_holiday(holiday_list, date):
+				continue
+
 			attendance = frappe.db.exists('Student Attendance', {
 				'student': self.student,
 				'date': date,
@@ -89,3 +101,19 @@
 def daterange(start_date, end_date):
 	for n in range(int ((end_date - start_date).days)+1):
 		yield start_date + timedelta(n)
+
+def get_number_of_leave_days(from_date, to_date, holiday_list):
+	number_of_days = date_diff(to_date, from_date) + 1
+
+	holidays = frappe.db.sql("""
+		SELECT
+			COUNT(DISTINCT holiday_date)
+		FROM `tabHoliday` h1,`tabHoliday List` h2
+		WHERE
+			h1.parent = h2.name and
+			h1.holiday_date between %s and %s and
+			h2.name = %s""", (from_date, to_date, holiday_list))[0][0]
+
+	number_of_days = flt(number_of_days) - flt(holidays)
+
+	return number_of_days
diff --git a/erpnext/education/doctype/student_leave_application/test_student_leave_application.py b/erpnext/education/doctype/student_leave_application/test_student_leave_application.py
index e9b568a..fcdd428 100644
--- a/erpnext/education/doctype/student_leave_application/test_student_leave_application.py
+++ b/erpnext/education/doctype/student_leave_application/test_student_leave_application.py
@@ -5,13 +5,15 @@
 
 import frappe
 import unittest
-from frappe.utils import getdate, add_days
+from frappe.utils import getdate, add_days, add_months
+from erpnext import get_default_company
 from erpnext.education.doctype.student_group.test_student_group import get_random_group
 from erpnext.education.doctype.student.test_student import create_student
 
 class TestStudentLeaveApplication(unittest.TestCase):
 	def setUp(self):
 		frappe.db.sql("""delete from `tabStudent Leave Application`""")
+		create_holiday_list()
 
 	def test_attendance_record_creation(self):
 		leave_application = create_leave_application()
@@ -35,20 +37,45 @@
 		attendance_status = frappe.db.get_value('Student Attendance', {'leave_application': leave_application.name}, 'docstatus')
 		self.assertTrue(attendance_status, 2)
 
+	def test_holiday(self):
+		today = getdate()
+		leave_application = create_leave_application(from_date=today, to_date= add_days(today, 1), submit=0)
 
-def create_leave_application(from_date=None, to_date=None, mark_as_present=0):
+		# holiday list validation
+		company = get_default_company() or frappe.get_all('Company')[0].name
+		frappe.db.set_value('Company', company, 'default_holiday_list', '')
+		self.assertRaises(frappe.ValidationError, leave_application.save)
+
+		frappe.db.set_value('Company', company, 'default_holiday_list', 'Test Holiday List for Student')
+		leave_application.save()
+
+		leave_application.reload()
+		self.assertEqual(leave_application.total_leave_days, 1)
+
+		# check no attendance record created for a holiday
+		leave_application.submit()
+		self.assertIsNone(frappe.db.exists('Student Attendance', {'leave_application': leave_application.name, 'date': add_days(today, 1)}))
+
+	def tearDown(self):
+		company = get_default_company() or frappe.get_all('Company')[0].name
+		frappe.db.set_value('Company', company, 'default_holiday_list', '_Test Holiday List')
+
+
+def create_leave_application(from_date=None, to_date=None, mark_as_present=0, submit=1):
 	student = get_student()
 
-	leave_application = frappe.get_doc({
-		'doctype': 'Student Leave Application',
-		'student': student.name,
-		'attendance_based_on': 'Student Group',
-		'student_group': get_random_group().name,
-		'from_date': from_date if from_date else getdate(),
-		'to_date': from_date if from_date else getdate(),
-		'mark_as_present': mark_as_present
-	}).insert()
-	leave_application.submit()
+	leave_application = frappe.new_doc('Student Leave Application')
+	leave_application.student = student.name
+	leave_application.attendance_based_on = 'Student Group'
+	leave_application.student_group = get_random_group().name
+	leave_application.from_date = from_date if from_date else getdate()
+	leave_application.to_date = from_date if from_date else getdate()
+	leave_application.mark_as_present = mark_as_present
+
+	if submit:
+		leave_application.insert()
+		leave_application.submit()
+
 	return leave_application
 
 def create_student_attendance(date=None, status=None):
@@ -67,4 +94,22 @@
 		email='test_student@gmail.com',
 		first_name='Test',
 		last_name='Student'
-	))
\ No newline at end of file
+	))
+
+def create_holiday_list():
+	holiday_list = 'Test Holiday List for Student'
+	today = getdate()
+	if not frappe.db.exists('Holiday List', holiday_list):
+		frappe.get_doc(dict(
+			doctype = 'Holiday List',
+			holiday_list_name = holiday_list,
+			from_date = add_months(today, -6),
+			to_date = add_months(today, 6),
+			holidays = [
+				dict(holiday_date=add_days(today, 1), description = 'Test')
+			]
+		)).insert()
+
+	company = get_default_company() or frappe.get_all('Company')[0].name
+	frappe.db.set_value('Company', company, 'default_holiday_list', holiday_list)
+	return holiday_list
\ No newline at end of file
diff --git a/erpnext/education/report/absent_student_report/absent_student_report.py b/erpnext/education/report/absent_student_report/absent_student_report.py
index 4e57cc6..c3487cc 100644
--- a/erpnext/education/report/absent_student_report/absent_student_report.py
+++ b/erpnext/education/report/absent_student_report/absent_student_report.py
@@ -3,8 +3,10 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.utils import cstr, cint, getdate
+from frappe.utils import formatdate
 from frappe import msgprint, _
+from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list
+from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday
 
 def execute(filters=None):
 	if not filters: filters = {}
@@ -15,6 +17,11 @@
 	columns = get_columns(filters)
 	date = filters.get("date")
 
+	holiday_list = get_holiday_list()
+	if is_holiday(holiday_list, filters.get("date")):
+		msgprint(_("No attendance has been marked for {0} as it is a Holiday").format(frappe.bold(formatdate(filters.get("date")))))
+
+
 	absent_students = get_absent_students(date)
 	leave_applicants = get_leave_applications(date)
 	if absent_students:
diff --git a/erpnext/education/report/student_batch_wise_attendance/student_batch_wise_attendance.py b/erpnext/education/report/student_batch_wise_attendance/student_batch_wise_attendance.py
index c65d233..7793dcf 100644
--- a/erpnext/education/report/student_batch_wise_attendance/student_batch_wise_attendance.py
+++ b/erpnext/education/report/student_batch_wise_attendance/student_batch_wise_attendance.py
@@ -3,8 +3,10 @@
 
 from __future__ import unicode_literals
 import frappe
-from frappe.utils import cstr, cint, getdate
+from frappe.utils import formatdate
 from frappe import msgprint, _
+from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list
+from erpnext.hr.doctype.holiday_list.holiday_list import is_holiday
 
 def execute(filters=None):
 	if not filters: filters = {}
@@ -12,6 +14,10 @@
 	if not filters.get("date"):
 		msgprint(_("Please select date"), raise_exception=1)
 
+	holiday_list = get_holiday_list()
+	if is_holiday(holiday_list, filters.get("date")):
+		msgprint(_("No attendance has been marked for {0} as it is a Holiday").format(frappe.bold(formatdate(filters.get("date")))))
+
 	columns = get_columns(filters)
 
 	active_student_group = get_active_student_group()
diff --git a/erpnext/education/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.py b/erpnext/education/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.py
index d820bfb..04dc8c0 100644
--- a/erpnext/education/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.py
+++ b/erpnext/education/report/student_monthly_attendance_sheet/student_monthly_attendance_sheet.py
@@ -7,6 +7,8 @@
 from frappe import msgprint, _
 from calendar import monthrange
 from erpnext.education.api import get_student_group_students
+from erpnext.education.doctype.student_attendance.student_attendance import get_holiday_list
+from erpnext.support.doctype.issue.issue import get_holidays
 
 def execute(filters=None):
 	if not filters: filters = {}
@@ -19,26 +21,32 @@
 	students_list = get_students_list(students)
 	att_map = get_attendance_list(from_date, to_date, filters.get("student_group"), students_list)
 	data = []
+
 	for stud in students:
 		row = [stud.student, stud.student_name]
 		student_status = frappe.db.get_value("Student", stud.student, "enabled")
 		date = from_date
 		total_p = total_a = 0.0
+
 		for day in range(total_days_in_month):
 			status="None"
+
 			if att_map.get(stud.student):
 				status = att_map.get(stud.student).get(date, "None")
 			elif not student_status:
 				status = "Inactive"
 			else:
 				status = "None"
-			status_map = {"Present": "P", "Absent": "A", "None": "", "Inactive":"-"}
+
+			status_map = {"Present": "P", "Absent": "A", "None": "", "Inactive":"-", "Holiday":"H"}
 			row.append(status_map[status])
+
 			if status == "Present":
 				total_p += 1
 			elif status == "Absent":
 				total_a += 1
 			date = add_days(date, 1)
+
 		row += [total_p, total_a]
 		data.append(row)
 	return columns, data
@@ -63,14 +71,19 @@
 		and date between %s and %s
 		order by student, date''',
 		(student_group, from_date, to_date), as_dict=1)
+
 	att_map = {}
 	students_with_leave_application = get_students_with_leave_application(from_date, to_date, students_list)
 	for d in attendance_list:
 		att_map.setdefault(d.student, frappe._dict()).setdefault(d.date, "")
+
 		if students_with_leave_application.get(d.date) and d.student in students_with_leave_application.get(d.date):
 			att_map[d.student][d.date] = "Present"
 		else:
 			att_map[d.student][d.date] = d.status
+
+	att_map = mark_holidays(att_map, from_date, to_date, students_list)
+
 	return att_map
 
 def get_students_with_leave_application(from_date, to_date, students_list):
@@ -108,3 +121,14 @@
 	if not year_list:
 		year_list = [getdate().year]
 	return "\n".join(str(year) for year in year_list)
+
+def mark_holidays(att_map, from_date, to_date, students_list):
+	holiday_list = get_holiday_list()
+	holidays = get_holidays(holiday_list)
+
+	for dt in daterange(getdate(from_date), getdate(to_date)):
+		if dt in holidays:
+			for student in students_list:
+				att_map.setdefault(student, frappe._dict()).setdefault(dt, "Holiday")
+
+	return att_map
diff --git a/erpnext/erpnext_integrations/connectors/shopify_connection.py b/erpnext/erpnext_integrations/connectors/shopify_connection.py
index d59f909..efbaa71 100644
--- a/erpnext/erpnext_integrations/connectors/shopify_connection.py
+++ b/erpnext/erpnext_integrations/connectors/shopify_connection.py
@@ -2,12 +2,13 @@
 import frappe
 from frappe import _
 import json
-from frappe.utils import cstr, cint, nowdate, flt
+from frappe.utils import cstr, cint, nowdate, getdate, flt, get_request_session, get_datetime
 from erpnext.erpnext_integrations.utils import validate_webhooks_request
 from erpnext.selling.doctype.sales_order.sales_order import make_delivery_note, make_sales_invoice
 from erpnext.erpnext_integrations.doctype.shopify_settings.sync_product import sync_item_from_shopify
 from erpnext.erpnext_integrations.doctype.shopify_settings.sync_customer import create_customer
 from erpnext.erpnext_integrations.doctype.shopify_log.shopify_log import make_shopify_log, dump_request_data
+from erpnext.erpnext_integrations.doctype.shopify_settings.shopify_settings import get_shopify_url, get_header
 
 @frappe.whitelist(allow_guest=True)
 @validate_webhooks_request("Shopify Settings", 'X-Shopify-Hmac-Sha256', secret_key='shared_secret')
@@ -18,7 +19,7 @@
 
 	dump_request_data(order, event)
 
-def sync_sales_order(order, request_id=None):
+def sync_sales_order(order, request_id=None, old_order_sync=False):
 	frappe.set_user('Administrator')
 	shopify_settings = frappe.get_doc("Shopify Settings")
 	frappe.flags.request_id = request_id
@@ -27,7 +28,7 @@
 		try:
 			validate_customer(order, shopify_settings)
 			validate_item(order, shopify_settings)
-			create_order(order, shopify_settings)
+			create_order(order, shopify_settings, old_order_sync=old_order_sync)
 		except Exception as e:
 			make_shopify_log(status="Error", exception=e)
 
@@ -77,13 +78,13 @@
 		if item.get("product_id") and not frappe.db.get_value("Item", {"shopify_product_id": item.get("product_id")}, "name"):
 			sync_item_from_shopify(shopify_settings, item)
 
-def create_order(order, shopify_settings, company=None):
+def create_order(order, shopify_settings, old_order_sync=False, company=None):
 	so = create_sales_order(order, shopify_settings, company)
 	if so:
 		if order.get("financial_status") == "paid":
-			create_sales_invoice(order, shopify_settings, so)
+			create_sales_invoice(order, shopify_settings, so, old_order_sync=old_order_sync)
 
-		if order.get("fulfillments"):
+		if order.get("fulfillments") and not old_order_sync:
 			create_delivery_note(order, shopify_settings, so)
 
 def create_sales_order(shopify_order, shopify_settings, company=None):
@@ -92,7 +93,7 @@
 	so = frappe.db.get_value("Sales Order", {"shopify_order_id": shopify_order.get("id")}, "name")
 
 	if not so:
-		items = get_order_items(shopify_order.get("line_items"), shopify_settings)
+		items = get_order_items(shopify_order.get("line_items"), shopify_settings, getdate(shopify_order.get('created_at')))
 
 		if not items:
 			message = 'Following items exists in the shopify order but relevant records were not found in the shopify Product master'
@@ -106,8 +107,10 @@
 			"doctype": "Sales Order",
 			"naming_series": shopify_settings.sales_order_series or "SO-Shopify-",
 			"shopify_order_id": shopify_order.get("id"),
+			"shopify_order_number": shopify_order.get("name"),
 			"customer": customer or shopify_settings.default_customer,
-			"delivery_date": nowdate(),
+			"transaction_date": getdate(shopify_order.get("created_at")) or nowdate(),
+			"delivery_date": getdate(shopify_order.get("created_at")) or nowdate(),
 			"company": shopify_settings.company,
 			"selling_price_list": shopify_settings.price_list,
 			"ignore_pricing_rule": 1,
@@ -132,32 +135,42 @@
 	frappe.db.commit()
 	return so
 
-def create_sales_invoice(shopify_order, shopify_settings, so):
+def create_sales_invoice(shopify_order, shopify_settings, so, old_order_sync=False):
 	if not frappe.db.get_value("Sales Invoice", {"shopify_order_id": shopify_order.get("id")}, "name")\
 		and so.docstatus==1 and not so.per_billed and cint(shopify_settings.sync_sales_invoice):
 
+		if old_order_sync:
+			posting_date = getdate(shopify_order.get('created_at'))
+		else:
+			posting_date = nowdate()
+
 		si = make_sales_invoice(so.name, ignore_permissions=True)
 		si.shopify_order_id = shopify_order.get("id")
+		si.shopify_order_number = shopify_order.get("name")
+		si.set_posting_time = 1
+		si.posting_date = posting_date
+		si.due_date = posting_date
 		si.naming_series = shopify_settings.sales_invoice_series or "SI-Shopify-"
 		si.flags.ignore_mandatory = True
 		set_cost_center(si.items, shopify_settings.cost_center)
 		si.insert(ignore_mandatory=True)
 		si.submit()
-		make_payament_entry_against_sales_invoice(si, shopify_settings)
+		make_payament_entry_against_sales_invoice(si, shopify_settings, posting_date)
 		frappe.db.commit()
 
 def set_cost_center(items, cost_center):
 	for item in items:
 		item.cost_center = cost_center
 
-def make_payament_entry_against_sales_invoice(doc, shopify_settings):
+def make_payament_entry_against_sales_invoice(doc, shopify_settings, posting_date=None):
 	from erpnext.accounts.doctype.payment_entry.payment_entry import get_payment_entry
-	payemnt_entry = get_payment_entry(doc.doctype, doc.name, bank_account=shopify_settings.cash_bank_account)
-	payemnt_entry.flags.ignore_mandatory = True
-	payemnt_entry.reference_no = doc.name
-	payemnt_entry.reference_date = nowdate()
-	payemnt_entry.insert(ignore_permissions=True)
-	payemnt_entry.submit()
+	payment_entry = get_payment_entry(doc.doctype, doc.name, bank_account=shopify_settings.cash_bank_account)
+	payment_entry.flags.ignore_mandatory = True
+	payment_entry.reference_no = doc.name
+	payment_entry.posting_date = posting_date or nowdate()
+	payment_entry.reference_date = posting_date or nowdate()
+	payment_entry.insert(ignore_permissions=True)
+	payment_entry.submit()
 
 def create_delivery_note(shopify_order, shopify_settings, so):
 	if not cint(shopify_settings.sync_delivery_note):
@@ -169,6 +182,9 @@
 
 			dn = make_delivery_note(so.name)
 			dn.shopify_order_id = fulfillment.get("order_id")
+			dn.shopify_order_number = shopify_order.get("name")
+			dn.set_posting_time = 1
+			dn.posting_date = getdate(fulfillment.get("created_at"))
 			dn.shopify_fulfillment_id = fulfillment.get("id")
 			dn.naming_series = shopify_settings.delivery_note_series or "DN-Shopify-"
 			dn.items = get_fulfillment_items(dn.items, fulfillment.get("line_items"), shopify_settings)
@@ -187,7 +203,7 @@
 		discounted_amount += flt(discount.get("amount"))
 	return discounted_amount
 
-def get_order_items(order_items, shopify_settings):
+def get_order_items(order_items, shopify_settings, delivery_date):
 	items = []
 	all_product_exists = True
 	product_not_exists = []
@@ -205,7 +221,7 @@
 				"item_code": item_code,
 				"item_name": shopify_item.get("name"),
 				"rate": shopify_item.get("price"),
-				"delivery_date": nowdate(),
+				"delivery_date": delivery_date,
 				"qty": shopify_item.get("quantity"),
 				"stock_uom": shopify_item.get("uom") or _("Nos"),
 				"warehouse": shopify_settings.warehouse
@@ -265,3 +281,64 @@
 		frappe.throw(_("Tax Account not specified for Shopify Tax {0}").format(tax.get("title")))
 
 	return tax_account
+
+@frappe.whitelist(allow_guest=True)
+def sync_old_orders():
+	frappe.set_user('Administrator')
+	shopify_settings = frappe.get_doc('Shopify Settings')
+
+	if not shopify_settings.sync_missing_orders:
+		return
+
+	url = get_url(shopify_settings)
+	session = get_request_session()
+
+	try:
+		res = session.get(url, headers=get_header(shopify_settings))
+		res.raise_for_status()
+		orders = res.json()["orders"]
+
+		for order in orders:
+			if is_sync_complete(shopify_settings, order):
+				stop_sync(shopify_settings)
+				return
+
+			sync_sales_order(order=order, old_order_sync=True)
+			last_order_id = order.get('id')
+
+		if last_order_id:
+			shopify_settings.load_from_db()
+			shopify_settings.last_order_id = last_order_id
+			shopify_settings.save()
+			frappe.db.commit()
+
+	except Exception as e:
+		raise e
+
+def stop_sync(shopify_settings):
+	shopify_settings.sync_missing_orders = 0
+	shopify_settings.last_order_id = ''
+	shopify_settings.save()
+	frappe.db.commit()
+
+def get_url(shopify_settings):
+	last_order_id = shopify_settings.last_order_id
+
+	if not last_order_id:
+		if shopify_settings.sync_based_on == 'Date':
+			url = get_shopify_url("admin/api/2020-10/orders.json?limit=250&created_at_min={0}&since_id=0".format(
+				get_datetime(shopify_settings.from_date)), shopify_settings)
+		else:
+			url = get_shopify_url("admin/api/2020-10/orders.json?limit=250&since_id={0}".format(
+				shopify_settings.from_order_id), shopify_settings)
+	else:
+		url = get_shopify_url("admin/api/2020-10/orders.json?limit=250&since_id={0}".format(last_order_id), shopify_settings)
+
+	return url
+
+def is_sync_complete(shopify_settings, order):
+	if shopify_settings.sync_based_on == 'Date':
+		return getdate(shopify_settings.to_date) < getdate(order.get('created_at'))
+	else:
+		return cstr(order.get('id')) == cstr(shopify_settings.to_order_id)
+
diff --git a/erpnext/erpnext_integrations/desk_page/erpnext_integrations/erpnext_integrations.json b/erpnext/erpnext_integrations/desk_page/erpnext_integrations/erpnext_integrations.json
index 8dcc77d..ea3b129 100644
--- a/erpnext/erpnext_integrations/desk_page/erpnext_integrations/erpnext_integrations.json
+++ b/erpnext/erpnext_integrations/desk_page/erpnext_integrations/erpnext_integrations.json
@@ -8,7 +8,7 @@
   {
    "hidden": 0,
    "label": "Payments",
-   "links": "[\n    {\n        \"description\": \"GoCardless payment gateway settings\",\n        \"label\": \"GoCardless Settings\",\n        \"name\": \"GoCardless Settings\",\n        \"type\": \"doctype\"\n    }\n]"
+   "links": "[\n    {\n        \"description\": \"GoCardless payment gateway settings\",\n        \"label\": \"GoCardless Settings\",\n        \"name\": \"GoCardless Settings\",\n        \"type\": \"doctype\"\n    }, {\n        \"description\": \"M-Pesa payment gateway settings\",\n        \"label\": \"M-Pesa Settings\",\n        \"name\": \"Mpesa Settings\",\n        \"type\": \"doctype\"\n    }\n]"
   },
   {
    "hidden": 0,
@@ -29,7 +29,7 @@
  "idx": 0,
  "is_standard": 1,
  "label": "ERPNext Integrations",
- "modified": "2020-08-23 16:30:51.494655",
+ "modified": "2020-10-29 19:54:46.228222",
  "modified_by": "Administrator",
  "module": "ERPNext Integrations",
  "name": "ERPNext Integrations",
diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.js b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.js
index 636aa99..7c8ae5c 100644
--- a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.js
+++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.js
@@ -9,11 +9,12 @@
 	refresh: function(frm) {
 		frappe.realtime.on("refresh_mpesa_dashboard", function(){
 			frm.reload_doc();
+			frm.events.setup_account_balance_html(frm);
 		});
 	},
 
 	get_account_balance: function(frm) {
-		if (!frm.initiator_name && !frm.security_credentials) {
+		if (!frm.doc.initiator_name && !frm.doc.security_credential) {
 			frappe.throw(__("Please set the initiator name and the security credential"));
 		}
 		frappe.call({
diff --git a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py
index dea4d81..1cad84d 100644
--- a/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py
+++ b/erpnext/erpnext_integrations/doctype/mpesa_settings/mpesa_settings.py
@@ -147,7 +147,7 @@
 		return response
 	except Exception:
 		frappe.log_error(title=_("Account Balance Processing Error"))
-		frappe.throw(title=_("Error"), message=_("Please check your configuration and try again"))
+		frappe.throw(_("Please check your configuration and try again"), title=_("Error"))
 
 @frappe.whitelist(allow_guest=True)
 def process_balance_info(**kwargs):
@@ -173,7 +173,8 @@
 			ref_doc.db_set("account_balance", balance_info)
 
 			request.handle_success(account_balance_response)
-			frappe.publish_realtime("refresh_mpesa_dashboard")
+			frappe.publish_realtime("refresh_mpesa_dashboard", doctype="Mpesa Settings",
+				docname=transaction_data.reference_docname, user=transaction_data.owner)
 		except Exception:
 			request.handle_failure(account_balance_response)
 			frappe.log_error(title=_("Mpesa Account Balance Processing Error"), message=account_balance_response)
diff --git a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py
index a033a2a..8d4b510 100644
--- a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py
+++ b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_connector.py
@@ -31,6 +31,7 @@
 		return access_token
 
 	def get_link_token(self):
+		country_codes = ["US", "CA", "FR", "IE", "NL", "ES", "GB"] if self.settings.enable_european_access else ["US", "CA"]
 		token_request = {
 			"client_name": self.client_name,
 			"client_id": self.settings.plaid_client_id,
@@ -38,7 +39,7 @@
 			"products": self.products,
 			# only allow Plaid-supported languages and countries (LAST: Sep-19-2020)
 			"language": frappe.local.lang if frappe.local.lang in ["en", "fr", "es", "nl"] else "en",
-			"country_codes": ["US", "CA", "FR", "IE", "NL", "ES", "GB"],
+			"country_codes": country_codes,
 			"user": {
 				"client_user_id": frappe.generate_hash(frappe.session.user, length=32)
 			}
diff --git a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.json b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.json
index 2706217..122aa41 100644
--- a/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.json
+++ b/erpnext/erpnext_integrations/doctype/plaid_settings/plaid_settings.json
@@ -1,4 +1,5 @@
 {
+ "actions": [],
  "creation": "2018-10-25 10:02:48.656165",
  "doctype": "DocType",
  "editable_grid": 1,
@@ -11,7 +12,8 @@
   "plaid_client_id",
   "plaid_secret",
   "column_break_7",
-  "plaid_env"
+  "plaid_env",
+  "enable_european_access"
  ],
  "fields": [
   {
@@ -58,10 +60,17 @@
   {
    "fieldname": "column_break_7",
    "fieldtype": "Column Break"
+  },
+  {
+   "default": "0",
+   "fieldname": "enable_european_access",
+   "fieldtype": "Check",
+   "label": "Enable European Access"
   }
  ],
  "issingle": 1,
- "modified": "2020-09-12 02:31:44.542385",
+ "links": [],
+ "modified": "2020-10-29 20:24:56.916104",
  "modified_by": "Administrator",
  "module": "ERPNext Integrations",
  "name": "Plaid Settings",
diff --git a/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.json b/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.json
index 2e10751..20ec063 100644
--- a/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.json
+++ b/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.json
@@ -1,7 +1,9 @@
 {
+ "actions": [],
  "creation": "2015-05-18 05:21:07.270859",
  "doctype": "DocType",
  "document_type": "System",
+ "engine": "InnoDB",
  "field_order": [
   "status_html",
   "enable_shopify",
@@ -40,7 +42,16 @@
   "sales_invoice_series",
   "section_break_22",
   "html_16",
-  "taxes"
+  "taxes",
+  "syncing_details_section",
+  "sync_missing_orders",
+  "sync_based_on",
+  "column_break_41",
+  "from_date",
+  "to_date",
+  "from_order_id",
+  "to_order_id",
+  "last_order_id"
  ],
  "fields": [
   {
@@ -255,10 +266,71 @@
    "fieldtype": "Table",
    "label": "Shopify Tax Account",
    "options": "Shopify Tax Account"
+  },
+  {
+   "collapsible": 1,
+   "fieldname": "syncing_details_section",
+   "fieldtype": "Section Break",
+   "label": "Syncing Missing Orders"
+  },
+  {
+   "depends_on": "eval:doc.sync_missing_orders",
+   "fieldname": "last_order_id",
+   "fieldtype": "Data",
+   "label": "Last Order Id",
+   "read_only": 1
+  },
+  {
+   "fieldname": "column_break_41",
+   "fieldtype": "Column Break"
+  },
+  {
+   "default": "0",
+   "description": "On checking this Order from the ",
+   "fieldname": "sync_missing_orders",
+   "fieldtype": "Check",
+   "label": "Sync Missing Old Shopify Orders"
+  },
+  {
+   "depends_on": "eval:doc.sync_missing_orders",
+   "fieldname": "sync_based_on",
+   "fieldtype": "Select",
+   "label": "Sync Based On",
+   "mandatory_depends_on": "eval:doc.sync_missing_orders",
+   "options": "\nDate\nShopify Order Id"
+  },
+  {
+   "depends_on": "eval:doc.sync_based_on == 'Date' && doc.sync_missing_orders",
+   "fieldname": "from_date",
+   "fieldtype": "Date",
+   "label": "From Date",
+   "mandatory_depends_on": "eval:doc.sync_based_on == 'Date' && doc.sync_missing_orders"
+  },
+  {
+   "depends_on": "eval:doc.sync_based_on == 'Date' && doc.sync_missing_orders",
+   "fieldname": "to_date",
+   "fieldtype": "Date",
+   "label": "To Date",
+   "mandatory_depends_on": "eval:doc.sync_based_on == 'Date' && doc.sync_missing_orders"
+  },
+  {
+   "depends_on": "eval:doc.sync_based_on == 'Shopify Order Id' && doc.sync_missing_orders",
+   "fieldname": "from_order_id",
+   "fieldtype": "Data",
+   "label": "From Order Id",
+   "mandatory_depends_on": "eval:doc.sync_based_on == 'Shopify Order Id' && doc.sync_missing_orders"
+  },
+  {
+   "depends_on": "eval:doc.sync_based_on == 'Shopify Order Id' && doc.sync_missing_orders",
+   "fieldname": "to_order_id",
+   "fieldtype": "Data",
+   "label": "To Order Id",
+   "mandatory_depends_on": "eval:doc.sync_based_on == 'Shopify Order Id' && doc.sync_missing_orders"
   }
  ],
  "issingle": 1,
- "modified": "2020-09-18 17:26:09.703215",
+ "links": [],
+ "modified": "2020-11-05 20:44:03.664891",
  "modified_by": "Administrator",
  "module": "ERPNext Integrations",
  "name": "Shopify Settings",
@@ -277,4 +349,4 @@
  ],
  "sort_field": "modified",
  "sort_order": "DESC"
-}
+}
\ No newline at end of file
diff --git a/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py b/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py
index 25ffd28..cbdf906 100644
--- a/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py
+++ b/erpnext/erpnext_integrations/doctype/shopify_settings/shopify_settings.py
@@ -87,7 +87,7 @@
 def get_header(settings):
 	header = {'Content-Type': 'application/json'}
 
-	return header;
+	return header
 
 @frappe.whitelist()
 def get_series():
@@ -121,17 +121,23 @@
 		],
 		"Sales Order": [
 			dict(fieldname='shopify_order_id', label='Shopify Order Id',
-				fieldtype='Data', insert_after='title', read_only=1, print_hide=1)
+				fieldtype='Data', insert_after='title', read_only=1, print_hide=1),
+			dict(fieldname='shopify_order_number', label='Shopify Order Number',
+				fieldtype='Data', insert_after='shopify_order_id', read_only=1, print_hide=1)
 		],
 		"Delivery Note":[
 			dict(fieldname='shopify_order_id', label='Shopify Order Id',
 				fieldtype='Data', insert_after='title', read_only=1, print_hide=1),
+			dict(fieldname='shopify_order_number', label='Shopify Order Number',
+				fieldtype='Data', insert_after='shopify_order_id', read_only=1, print_hide=1),
 			dict(fieldname='shopify_fulfillment_id', label='Shopify Fulfillment Id',
 				fieldtype='Data', insert_after='title', read_only=1, print_hide=1)
 		],
 		"Sales Invoice": [
 			dict(fieldname='shopify_order_id', label='Shopify Order Id',
-				fieldtype='Data', insert_after='title', read_only=1, print_hide=1)
+				fieldtype='Data', insert_after='title', read_only=1, print_hide=1),
+			dict(fieldname='shopify_order_number', label='Shopify Order Number',
+				fieldtype='Data', insert_after='shopify_order_id', read_only=1, print_hide=1)
 		]
 	}
 
diff --git a/erpnext/erpnext_integrations/doctype/shopify_settings/test_shopify_settings.py b/erpnext/erpnext_integrations/doctype/shopify_settings/test_shopify_settings.py
index 64ef3dc..30fa23c 100644
--- a/erpnext/erpnext_integrations/doctype/shopify_settings/test_shopify_settings.py
+++ b/erpnext/erpnext_integrations/doctype/shopify_settings/test_shopify_settings.py
@@ -58,7 +58,7 @@
 		}).save(ignore_permissions=True)
 
 		self.shopify_settings = shopify_settings
-	
+
 	def test_order(self):
 		### Create Customer ###
 		with open (os.path.join(os.path.dirname(__file__), "test_data", "shopify_customer.json")) as shopify_customer:
@@ -75,7 +75,7 @@
 		with open (os.path.join(os.path.dirname(__file__), "test_data", "shopify_order.json")) as shopify_order:
 			shopify_order = json.load(shopify_order)
 
-		create_order(shopify_order.get("order"), self.shopify_settings, "_Test Company")
+		create_order(shopify_order.get("order"), self.shopify_settings, False, company="_Test Company")
 
 		sales_order = frappe.get_doc("Sales Order", {"shopify_order_id": cstr(shopify_order.get("order").get("id"))})
 
diff --git a/erpnext/erpnext_integrations/taxjar_integration.py b/erpnext/erpnext_integrations/taxjar_integration.py
index 24fc3d4..f960998 100644
--- a/erpnext/erpnext_integrations/taxjar_integration.py
+++ b/erpnext/erpnext_integrations/taxjar_integration.py
@@ -1,5 +1,7 @@
 import traceback
 
+import taxjar
+
 import frappe
 from erpnext import get_default_company
 from frappe import _
@@ -29,7 +31,6 @@
 
 
 def create_transaction(doc, method):
-	import taxjar
 	"""Create an order transaction in TaxJar"""
 
 	if not TAXJAR_CREATE_TRANSACTIONS:
diff --git a/erpnext/erpnext_integrations/utils.py b/erpnext/erpnext_integrations/utils.py
index e278fd7..362f6cf 100644
--- a/erpnext/erpnext_integrations/utils.py
+++ b/erpnext/erpnext_integrations/utils.py
@@ -60,4 +60,12 @@
 				"default_account": payment_gateway_account
 			}]
 		})
-		mode_of_payment.insert(ignore_permissions=True)
\ No newline at end of file
+		mode_of_payment.insert(ignore_permissions=True)
+
+def get_tracking_url(carrier, tracking_number):
+	# Return the formatted Tracking URL.
+	tracking_url = ''
+	url_reference = frappe.get_value('Parcel Service', carrier, 'url_reference')
+	if url_reference:
+		tracking_url = frappe.render_template(url_reference, {'tracking_number': tracking_number})
+	return tracking_url
diff --git a/erpnext/healthcare/desk_page/healthcare/healthcare.json b/erpnext/healthcare/desk_page/healthcare/healthcare.json
index 6546b08..81d6048 100644
--- a/erpnext/healthcare/desk_page/healthcare/healthcare.json
+++ b/erpnext/healthcare/desk_page/healthcare/healthcare.json
@@ -43,7 +43,7 @@
   {
    "hidden": 0,
    "label": "Reports",
-   "links": "[\n\t{\n\t\t\"type\": \"report\",\n\t\t\"is_query_report\": true,\n\t\t\"name\": \"Patient Appointment Analytics\",\n\t\t\"doctype\": \"Patient Appointment\"\n\t},\n\t{\n\t\t\"type\": \"report\",\n\t\t\"is_query_report\": true,\n\t\t\"name\": \"Lab Test Report\",\n\t\t\"doctype\": \"Lab Test\",\n\t\t\"label\": \"Lab Test Report\"\n\t}\n]"
+   "links": "[\n\t{\n\t\t\"type\": \"report\",\n\t\t\"is_query_report\": true,\n\t\t\"name\": \"Patient Appointment Analytics\",\n\t\t\"doctype\": \"Patient Appointment\"\n\t},\n\t{\n\t\t\"type\": \"report\",\n\t\t\"is_query_report\": true,\n\t\t\"name\": \"Lab Test Report\",\n\t\t\"doctype\": \"Lab Test\",\n\t\t\"label\": \"Lab Test Report\"\n\t},\n\t{\n\t\t\"type\": \"report\",\n\t\t\"is_query_report\": true,\n\t\t\"name\": \"Inpatient Medication Orders\",\n\t\t\"doctype\": \"Inpatient Medication Order\",\n\t\t\"label\": \"Inpatient Medication Orders\"\n\t}\n]"
   }
  ],
  "category": "Domains",
@@ -64,7 +64,7 @@
  "idx": 0,
  "is_standard": 1,
  "label": "Healthcare",
- "modified": "2020-06-25 23:50:56.951698",
+ "modified": "2020-11-23 23:00:48.764377",
  "modified_by": "Administrator",
  "module": "Healthcare",
  "name": "Healthcare",
diff --git a/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.js b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.js
index eb7d4bd..1d4411d 100644
--- a/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.js
+++ b/erpnext/healthcare/doctype/clinical_procedure/clinical_procedure.js
@@ -85,8 +85,7 @@
 								callback: function(r) {
 									if (r.message) {
 										frappe.show_alert({
-											message:  __('Stock Entry {0} created',
-												['<a class="bold" href="#Form/Stock Entry/'+ r.message + '">' + r.message + '</a>']),
+											message: __('Stock Entry {0} created', ['<a class="bold" href="#Form/Stock Entry/'+ r.message + '">' + r.message + '</a>']),
 											indicator: 'green'
 										});
 									}
@@ -105,8 +104,7 @@
 						callback: function(r) {
 							if (!r.exc) {
 								if (r.message == 'insufficient stock') {
-									let msg = __('Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?',
-										[frm.doc.warehouse.bold()]);
+									let msg = __('Stock quantity to start the Procedure is not available in the Warehouse {0}. Do you want to record a Stock Entry?', [frm.doc.warehouse.bold()]);
 									frappe.confirm(
 										msg,
 										function() {
diff --git a/erpnext/healthcare/doctype/exercise/exercise.json b/erpnext/healthcare/doctype/exercise/exercise.json
index 2486a5d..683cc6d 100644
--- a/erpnext/healthcare/doctype/exercise/exercise.json
+++ b/erpnext/healthcare/doctype/exercise/exercise.json
@@ -37,7 +37,8 @@
    "depends_on": "eval:doc.parenttype==\"Therapy\";",
    "fieldname": "counts_completed",
    "fieldtype": "Int",
-   "label": "Counts Completed"
+   "label": "Counts Completed",
+   "no_copy": 1
   },
   {
    "fieldname": "assistance_level",
@@ -48,7 +49,7 @@
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-04-10 13:41:06.662351",
+ "modified": "2020-11-04 18:20:25.583491",
  "modified_by": "Administrator",
  "module": "Healthcare",
  "name": "Exercise",
diff --git a/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py b/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py
index cdf692e..7e7fd82 100644
--- a/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py
+++ b/erpnext/healthcare/doctype/fee_validity/test_fee_validity.py
@@ -7,6 +7,7 @@
 import unittest
 from frappe.utils import nowdate, add_days
 from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_healthcare_docs, create_appointment, create_healthcare_service_items
+from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile
 
 test_dependencies = ["Company"]
 
@@ -15,6 +16,7 @@
 		frappe.db.sql("""delete from `tabPatient Appointment`""")
 		frappe.db.sql("""delete from `tabFee Validity`""")
 		frappe.db.sql("""delete from `tabPatient`""")
+		make_pos_profile()
 
 	def test_fee_validity(self):
 		item = create_healthcare_service_items()
diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.js b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.js
index b953b8a..f523cf2 100644
--- a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.js
+++ b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.js
@@ -21,6 +21,19 @@
 				}
 			};
 		});
+
+		frm.set_query('warehouse', () => {
+			return {
+				filters: {
+					company: frm.doc.company
+				}
+			};
+		});
+	},
+
+	patient: function(frm) {
+		if (frm.doc.patient)
+			frm.set_value('service_unit', '');
 	},
 
 	get_medication_orders: function(frm) {
diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.json b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.json
index 5d80251..dd4c423 100644
--- a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.json
+++ b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.json
@@ -67,6 +67,7 @@
   },
   {
    "collapsible": 1,
+   "collapsible_depends_on": "eval: doc.__islocal",
    "fieldname": "filters_section",
    "fieldtype": "Section Break",
    "label": "Filters"
@@ -93,6 +94,7 @@
    "options": "Patient"
   },
   {
+   "depends_on": "eval:!doc.patient",
    "fieldname": "service_unit",
    "fieldtype": "Link",
    "label": "Healthcare Service Unit",
@@ -178,7 +180,7 @@
  "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-09-30 23:40:45.528715",
+ "modified": "2020-11-03 13:22:37.820707",
  "modified_by": "Administrator",
  "module": "Healthcare",
  "name": "Inpatient Medication Entry",
diff --git a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py
index 2385893..5dac23a 100644
--- a/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py
+++ b/erpnext/healthcare/doctype/inpatient_medication_entry/inpatient_medication_entry.py
@@ -199,6 +199,7 @@
 
 def get_pending_medication_orders(entry):
 	filters, values = get_filters(entry)
+	to_remove = []
 
 	data = frappe.db.sql("""
 		SELECT
@@ -225,7 +226,10 @@
 		doc['service_unit'] = get_current_healthcare_service_unit(inpatient_record)
 
 		if entry.service_unit and doc.service_unit != entry.service_unit:
-			data.remove(doc)
+			to_remove.append(doc)
+
+	for doc in to_remove:
+		data.remove(doc)
 
 	return data
 
@@ -270,4 +274,6 @@
 
 def get_current_healthcare_service_unit(inpatient_record):
 	ip_record = frappe.get_doc('Inpatient Record', inpatient_record)
-	return ip_record.inpatient_occupancies[-1].service_unit
\ No newline at end of file
+	if ip_record.inpatient_occupancies:
+		return ip_record.inpatient_occupancies[-1].service_unit
+	return
\ No newline at end of file
diff --git a/erpnext/healthcare/doctype/inpatient_medication_order/inpatient_medication_order.js b/erpnext/healthcare/doctype/inpatient_medication_order/inpatient_medication_order.js
index c51f3cf..690e2e7 100644
--- a/erpnext/healthcare/doctype/inpatient_medication_order/inpatient_medication_order.js
+++ b/erpnext/healthcare/doctype/inpatient_medication_order/inpatient_medication_order.js
@@ -12,7 +12,8 @@
 		frm.set_query('patient', () => {
 			return {
 				filters: {
-					'inpatient_record': ['!=', '']
+					'inpatient_record': ['!=', ''],
+					'inpatient_status': 'Admitted'
 				}
 			};
 		});
diff --git a/erpnext/healthcare/doctype/patient_appointment/test_patient_appointment.py b/erpnext/healthcare/doctype/patient_appointment/test_patient_appointment.py
index eeed157..3df7ba1 100644
--- a/erpnext/healthcare/doctype/patient_appointment/test_patient_appointment.py
+++ b/erpnext/healthcare/doctype/patient_appointment/test_patient_appointment.py
@@ -7,12 +7,14 @@
 from erpnext.healthcare.doctype.patient_appointment.patient_appointment import update_status, make_encounter
 from frappe.utils import nowdate, add_days
 from frappe.utils.make_random import get_random
+from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile
 
 class TestPatientAppointment(unittest.TestCase):
 	def setUp(self):
 		frappe.db.sql("""delete from `tabPatient Appointment`""")
 		frappe.db.sql("""delete from `tabFee Validity`""")
 		frappe.db.sql("""delete from `tabPatient Encounter`""")
+		make_pos_profile()
 
 	def test_status(self):
 		patient, medical_department, practitioner = create_healthcare_docs()
diff --git a/erpnext/healthcare/doctype/patient_medical_record/test_patient_medical_record.py b/erpnext/healthcare/doctype/patient_medical_record/test_patient_medical_record.py
index aa85a23..419d956 100644
--- a/erpnext/healthcare/doctype/patient_medical_record/test_patient_medical_record.py
+++ b/erpnext/healthcare/doctype/patient_medical_record/test_patient_medical_record.py
@@ -6,11 +6,13 @@
 import frappe
 from frappe.utils import nowdate
 from erpnext.healthcare.doctype.patient_appointment.test_patient_appointment import create_encounter, create_healthcare_docs, create_appointment
+from erpnext.accounts.doctype.pos_profile.test_pos_profile import make_pos_profile
 
 class TestPatientMedicalRecord(unittest.TestCase):
 	def setUp(self):
 		frappe.db.set_value('Healthcare Settings', None, 'enable_free_follow_ups', 0)
 		frappe.db.set_value('Healthcare Settings', None, 'automate_appointment_invoicing', 1)
+		make_pos_profile()
 
 	def test_medical_record(self):
 		patient, medical_department, practitioner = create_healthcare_docs()
diff --git a/erpnext/healthcare/doctype/therapy_plan/therapy_plan.js b/erpnext/healthcare/doctype/therapy_plan/therapy_plan.js
index 490d458..d1f72d6 100644
--- a/erpnext/healthcare/doctype/therapy_plan/therapy_plan.js
+++ b/erpnext/healthcare/doctype/therapy_plan/therapy_plan.js
@@ -13,43 +13,42 @@
 	refresh: function(frm) {
 		if (!frm.doc.__islocal) {
 			frm.trigger('show_progress_for_therapies');
-		}
-
-		if (!frm.doc.__islocal && frm.doc.status != 'Completed') {
-			let therapy_types = (frm.doc.therapy_plan_details || []).map(function(d){ return d.therapy_type });
-			const fields = [{
-				fieldtype: 'Link',
-				label: __('Therapy Type'),
-				fieldname: 'therapy_type',
-				options: 'Therapy Type',
-				reqd: 1,
-				get_query: function() {
-					return {
-						filters: { 'therapy_type': ['in', therapy_types]}
+			if (frm.doc.status != 'Completed') {
+				let therapy_types = (frm.doc.therapy_plan_details || []).map(function(d){ return d.therapy_type; });
+				const fields = [{
+					fieldtype: 'Link',
+					label: __('Therapy Type'),
+					fieldname: 'therapy_type',
+					options: 'Therapy Type',
+					reqd: 1,
+					get_query: function() {
+						return {
+							filters: { 'therapy_type': ['in', therapy_types]}
+						};
 					}
-				}
-			}];
+				}];
 
-			frm.add_custom_button(__('Therapy Session'), function() {
-				frappe.prompt(fields, data => {
-					frappe.call({
-						method: 'erpnext.healthcare.doctype.therapy_plan.therapy_plan.make_therapy_session',
-						args: {
-							therapy_plan: frm.doc.name,
-							patient: frm.doc.patient,
-							therapy_type: data.therapy_type,
-							company: frm.doc.company
-						},
-						freeze: true,
-						callback: function(r) {
-							if (r.message) {
-								frappe.model.sync(r.message);
-								frappe.set_route('Form', r.message.doctype, r.message.name);
+				frm.add_custom_button(__('Therapy Session'), function() {
+					frappe.prompt(fields, data => {
+						frappe.call({
+							method: 'erpnext.healthcare.doctype.therapy_plan.therapy_plan.make_therapy_session',
+							args: {
+								therapy_plan: frm.doc.name,
+								patient: frm.doc.patient,
+								therapy_type: data.therapy_type,
+								company: frm.doc.company
+							},
+							freeze: true,
+							callback: function(r) {
+								if (r.message) {
+									frappe.model.sync(r.message);
+									frappe.set_route('Form', r.message.doctype, r.message.name);
+								}
 							}
-						}
-					});
-				}, __('Select Therapy Type'), __('Create'));
-			}, __('Create'));
+						});
+					}, __('Select Therapy Type'), __('Create'));
+				}, __('Create'));
+			}
 
 			if (frm.doc.therapy_plan_template && !frm.doc.invoiced) {
 				frm.add_custom_button(__('Sales Invoice'), function() {
diff --git a/erpnext/healthcare/doctype/therapy_plan/therapy_plan.json b/erpnext/healthcare/doctype/therapy_plan/therapy_plan.json
index ccb316e..c03e9de 100644
--- a/erpnext/healthcare/doctype/therapy_plan/therapy_plan.json
+++ b/erpnext/healthcare/doctype/therapy_plan/therapy_plan.json
@@ -115,7 +115,8 @@
    "fieldname": "therapy_plan_template",
    "fieldtype": "Link",
    "label": "Therapy Plan Template",
-   "options": "Therapy Plan Template"
+   "options": "Therapy Plan Template",
+   "set_only_once": 1
   },
   {
    "default": "0",
@@ -128,7 +129,7 @@
   }
  ],
  "links": [],
- "modified": "2020-10-23 01:27:42.128855",
+ "modified": "2020-11-04 18:13:13.564999",
  "modified_by": "Administrator",
  "module": "Healthcare",
  "name": "Therapy Plan",
diff --git a/erpnext/healthcare/doctype/therapy_plan_detail/therapy_plan_detail.json b/erpnext/healthcare/doctype/therapy_plan_detail/therapy_plan_detail.json
index 555587e..77f08af 100644
--- a/erpnext/healthcare/doctype/therapy_plan_detail/therapy_plan_detail.json
+++ b/erpnext/healthcare/doctype/therapy_plan_detail/therapy_plan_detail.json
@@ -30,12 +30,13 @@
    "fieldname": "sessions_completed",
    "fieldtype": "Int",
    "label": "Sessions Completed",
+   "no_copy": 1,
    "read_only": 1
   }
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-10-08 01:17:34.778028",
+ "modified": "2020-11-04 18:15:52.173450",
  "modified_by": "Administrator",
  "module": "Healthcare",
  "name": "Therapy Plan Detail",
diff --git a/erpnext/healthcare/doctype/therapy_session/therapy_session.js b/erpnext/healthcare/doctype/therapy_session/therapy_session.js
index 65d4cc4..a2b01c9 100644
--- a/erpnext/healthcare/doctype/therapy_session/therapy_session.js
+++ b/erpnext/healthcare/doctype/therapy_session/therapy_session.js
@@ -22,6 +22,10 @@
 	},
 
 	refresh: function(frm) {
+		if (frm.doc.therapy_plan) {
+			frm.trigger('filter_therapy_types');
+		}
+
 		if (!frm.doc.__islocal) {
 			frm.dashboard.add_indicator(__('Counts Targeted: {0}', [frm.doc.total_counts_targeted]), 'blue');
 			frm.dashboard.add_indicator(__('Counts Completed: {0}', [frm.doc.total_counts_completed]),
@@ -36,15 +40,43 @@
 				})
 			}, 'Create');
 
-			frm.add_custom_button(__('Sales Invoice'), function() {
-				frappe.model.open_mapped_doc({
-					method: 'erpnext.healthcare.doctype.therapy_session.therapy_session.invoice_therapy_session',
-					frm: frm,
-				})
-			}, 'Create');
+			frappe.db.get_value('Therapy Plan', {'name': frm.doc.therapy_plan}, 'therapy_plan_template', (r) => {
+				if (r && !r.therapy_plan_template) {
+					frm.add_custom_button(__('Sales Invoice'), function() {
+						frappe.model.open_mapped_doc({
+							method: 'erpnext.healthcare.doctype.therapy_session.therapy_session.invoice_therapy_session',
+							frm: frm,
+						});
+					}, 'Create');
+				}
+			});
 		}
 	},
 
+	therapy_plan: function(frm) {
+		if (frm.doc.therapy_plan) {
+			frm.trigger('filter_therapy_types');
+		}
+	},
+
+	filter_therapy_types: function(frm) {
+		frappe.call({
+			'method': 'frappe.client.get',
+			args: {
+				doctype: 'Therapy Plan',
+				name: frm.doc.therapy_plan
+			},
+			callback: function(data) {
+				let therapy_types = (data.message.therapy_plan_details || []).map(function(d){ return d.therapy_type; });
+				frm.set_query('therapy_type', function() {
+					return {
+						filters: { 'therapy_type': ['in', therapy_types]}
+					};
+				});
+			}
+		});
+	},
+
 	patient: function(frm) {
 		if (frm.doc.patient) {
 			frappe.call({
@@ -98,19 +130,6 @@
 					frm.set_value(values);
 				}
 			});
-		} else {
-			let values = {
-				'patient': '',
-				'therapy_type': '',
-				'therapy_plan': '',
-				'practitioner': '',
-				'department': '',
-				'start_date': '',
-				'start_time': '',
-				'service_unit': '',
-				'duration': ''
-			};
-			frm.set_value(values);
 		}
 	},
 
diff --git a/erpnext/healthcare/doctype/therapy_session/therapy_session.json b/erpnext/healthcare/doctype/therapy_session/therapy_session.json
index 1f877cc..0bb2b0e 100644
--- a/erpnext/healthcare/doctype/therapy_session/therapy_session.json
+++ b/erpnext/healthcare/doctype/therapy_session/therapy_session.json
@@ -194,6 +194,7 @@
    "fieldname": "total_counts_completed",
    "fieldtype": "Int",
    "label": "Total Counts Completed",
+   "no_copy": 1,
    "read_only": 1
   },
   {
@@ -222,7 +223,7 @@
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-10-22 23:10:21.178644",
+ "modified": "2020-11-04 18:14:25.999939",
  "modified_by": "Administrator",
  "module": "Healthcare",
  "name": "Therapy Session",
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/healthcare/report/inpatient_medication_orders/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/healthcare/report/inpatient_medication_orders/__init__.py
diff --git a/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.js b/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.js
new file mode 100644
index 0000000..a10f837
--- /dev/null
+++ b/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.js
@@ -0,0 +1,57 @@
+// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+/* eslint-disable */
+
+frappe.query_reports["Inpatient Medication Orders"] = {
+	"filters": [
+		{
+			fieldname: "company",
+			label: __("Company"),
+			fieldtype: "Link",
+			options: "Company",
+			default: frappe.defaults.get_user_default("Company"),
+			reqd: 1
+		},
+		{
+			fieldname: "from_date",
+			label: __("From Date"),
+			fieldtype: "Date",
+			default: frappe.datetime.add_months(frappe.datetime.get_today(), -1),
+			reqd: 1
+		},
+		{
+			fieldname: "to_date",
+			label: __("To Date"),
+			fieldtype: "Date",
+			default: frappe.datetime.now_date(),
+			reqd: 1
+		},
+		{
+			fieldname: "patient",
+			label: __("Patient"),
+			fieldtype: "Link",
+			options: "Patient"
+		},
+		{
+			fieldname: "service_unit",
+			label: __("Healthcare Service Unit"),
+			fieldtype: "Link",
+			options: "Healthcare Service Unit",
+			get_query: () => {
+				var company = frappe.query_report.get_filter_value('company');
+				return {
+					filters: {
+						'company': company,
+						'is_group': 0
+					}
+				}
+			}
+		},
+		{
+			fieldname: "show_completed_orders",
+			label: __("Show Completed Orders"),
+			fieldtype: "Check",
+			default: 1
+		}
+	]
+};
diff --git a/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.json b/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.json
new file mode 100644
index 0000000..9217fa1
--- /dev/null
+++ b/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.json
@@ -0,0 +1,36 @@
+{
+ "add_total_row": 0,
+ "columns": [],
+ "creation": "2020-11-23 17:25:58.802949",
+ "disable_prepared_report": 0,
+ "disabled": 0,
+ "docstatus": 0,
+ "doctype": "Report",
+ "filters": [],
+ "idx": 0,
+ "is_standard": "Yes",
+ "json": "{}",
+ "modified": "2020-11-23 19:40:20.227591",
+ "modified_by": "Administrator",
+ "module": "Healthcare",
+ "name": "Inpatient Medication Orders",
+ "owner": "Administrator",
+ "prepared_report": 0,
+ "ref_doctype": "Inpatient Medication Order",
+ "report_name": "Inpatient Medication Orders",
+ "report_type": "Script Report",
+ "roles": [
+  {
+   "role": "System Manager"
+  },
+  {
+   "role": "Healthcare Administrator"
+  },
+  {
+   "role": "Nursing User"
+  },
+  {
+   "role": "Physician"
+  }
+ ]
+}
\ No newline at end of file
diff --git a/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.py b/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.py
new file mode 100644
index 0000000..b907730
--- /dev/null
+++ b/erpnext/healthcare/report/inpatient_medication_orders/inpatient_medication_orders.py
@@ -0,0 +1,198 @@
+# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from erpnext.healthcare.doctype.inpatient_medication_entry.inpatient_medication_entry import get_current_healthcare_service_unit
+
+def execute(filters=None):
+	columns = get_columns()
+	data = get_data(filters)
+	chart = get_chart_data(data)
+
+	return columns, data, None, chart
+
+def get_columns():
+	return [
+		{
+			"fieldname": "patient",
+			"fieldtype": "Link",
+			"label": "Patient",
+			"options": "Patient",
+			"width": 200
+		},
+		{
+			"fieldname": "healthcare_service_unit",
+			"fieldtype": "Link",
+			"label": "Healthcare Service Unit",
+			"options": "Healthcare Service Unit",
+			"width": 150
+		},
+		{
+			"fieldname": "drug",
+			"fieldtype": "Link",
+			"label": "Drug Code",
+			"options": "Item",
+			"width": 150
+		},
+		{
+			"fieldname": "drug_name",
+			"fieldtype": "Data",
+			"label": "Drug Name",
+			"width": 150
+		},
+		{
+			"fieldname": "dosage",
+			"fieldtype": "Link",
+			"label": "Dosage",
+			"options": "Prescription Dosage",
+			"width": 80
+		},
+		{
+			"fieldname": "dosage_form",
+			"fieldtype": "Link",
+			"label": "Dosage Form",
+			"options": "Dosage Form",
+			"width": 100
+		},
+		{
+			"fieldname": "date",
+			"fieldtype": "Date",
+			"label": "Date",
+			"width": 100
+		},
+		{
+			"fieldname": "time",
+			"fieldtype": "Time",
+			"label": "Time",
+			"width": 100
+		},
+		{
+			"fieldname": "is_completed",
+			"fieldtype": "Check",
+			"label": "Is Order Completed",
+			"width": 100
+		},
+		{
+			"fieldname": "healthcare_practitioner",
+			"fieldtype": "Link",
+			"label": "Healthcare Practitioner",
+			"options": "Healthcare Practitioner",
+			"width": 200
+		},
+		{
+			"fieldname": "inpatient_medication_entry",
+			"fieldtype": "Link",
+			"label": "Inpatient Medication Entry",
+			"options": "Inpatient Medication Entry",
+			"width": 200
+		},
+		{
+			"fieldname": "inpatient_record",
+			"fieldtype": "Link",
+			"label": "Inpatient Record",
+			"options": "Inpatient Record",
+			"width": 200
+		}
+	]
+
+def get_data(filters):
+	conditions, values = get_conditions(filters)
+
+	data = frappe.db.sql("""
+		SELECT
+			parent.patient, parent.inpatient_record, parent.practitioner,
+			child.drug, child.drug_name, child.dosage, child.dosage_form,
+			child.date, child.time, child.is_completed, child.name
+		FROM `tabInpatient Medication Order` parent
+		INNER JOIN `tabInpatient Medication Order Entry` child
+		ON child.parent = parent.name
+		WHERE
+			parent.docstatus = 1
+			{conditions}
+		ORDER BY date, time
+	""".format(conditions=conditions), values, as_dict=1)
+
+	data = get_inpatient_details(data, filters.get("service_unit"))
+
+	return data
+
+def get_conditions(filters):
+	conditions = ""
+	values = dict()
+
+	if filters.get("company"):
+		conditions += " AND parent.company = %(company)s"
+		values["company"] = filters.get("company")
+
+	if filters.get("from_date") and filters.get("to_date"):
+		conditions += " AND child.date BETWEEN %(from_date)s and %(to_date)s"
+		values["from_date"] = filters.get("from_date")
+		values["to_date"] = filters.get("to_date")
+
+	if filters.get("patient"):
+		conditions += " AND parent.patient = %(patient)s"
+		values["patient"] = filters.get("patient")
+
+	if not filters.get("show_completed_orders"):
+		conditions += " AND child.is_completed = 0"
+
+	return conditions, values
+
+
+def get_inpatient_details(data, service_unit):
+	service_unit_filtered_data = []
+
+	for entry in data:
+		entry["healthcare_service_unit"] = get_current_healthcare_service_unit(entry.inpatient_record)
+		if entry.is_completed:
+			entry["inpatient_medication_entry"] = get_inpatient_medication_entry(entry.name)
+
+		if service_unit and entry.healthcare_service_unit and service_unit != entry.healthcare_service_unit:
+			service_unit_filtered_data.append(entry)
+
+		entry.pop("name", None)
+
+	for entry in service_unit_filtered_data:
+		data.remove(entry)
+
+	return data
+
+def get_inpatient_medication_entry(order_entry):
+	return frappe.db.get_value("Inpatient Medication Entry Detail", {"against_imoe": order_entry}, "parent")
+
+def get_chart_data(data):
+	if not data:
+		return None
+
+	labels = ["Pending", "Completed"]
+	datasets = []
+
+	status_wise_data = {
+		"Pending": 0,
+		"Completed": 0
+	}
+
+	for d in data:
+		if d.is_completed:
+			status_wise_data["Completed"] += 1
+		else:
+			status_wise_data["Pending"] += 1
+
+	datasets.append({
+		"name": "Inpatient Medication Order Status",
+		"values": [status_wise_data.get("Pending"), status_wise_data.get("Completed")]
+	})
+
+	chart = {
+		"data": {
+			"labels": labels,
+			"datasets": datasets
+		},
+		"type": "donut",
+		"height": 300
+	}
+
+	chart["fieldtype"] = "Data"
+
+	return chart
\ No newline at end of file
diff --git a/erpnext/healthcare/report/inpatient_medication_orders/test_inpatient_medication_orders.py b/erpnext/healthcare/report/inpatient_medication_orders/test_inpatient_medication_orders.py
new file mode 100644
index 0000000..0d3f45f
--- /dev/null
+++ b/erpnext/healthcare/report/inpatient_medication_orders/test_inpatient_medication_orders.py
@@ -0,0 +1,128 @@
+# Copyright (c) 2018, Frappe Technologies Pvt. Ltd. and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import unittest
+import frappe
+import datetime
+from frappe.utils import getdate, now_datetime
+from erpnext.healthcare.doctype.inpatient_record.test_inpatient_record import create_patient, create_inpatient, get_healthcare_service_unit, mark_invoiced_inpatient_occupancy
+from erpnext.healthcare.doctype.inpatient_record.inpatient_record import admit_patient, discharge_patient, schedule_discharge
+from erpnext.healthcare.doctype.inpatient_medication_order.test_inpatient_medication_order import create_ipmo, create_ipme
+from erpnext.healthcare.report.inpatient_medication_orders.inpatient_medication_orders import execute
+
+class TestInpatientMedicationOrders(unittest.TestCase):
+	@classmethod
+	def setUpClass(self):
+		frappe.db.sql("delete from `tabInpatient Medication Order` where company='_Test Company'")
+		frappe.db.sql("delete from `tabInpatient Medication Entry` where company='_Test Company'")
+		self.patient = create_patient()
+		self.ip_record = create_records(self.patient)
+
+	def test_inpatient_medication_orders_report(self):
+		filters = {
+			'company': '_Test Company',
+			'from_date': getdate(),
+			'to_date': getdate(),
+			'patient': '_Test IPD Patient',
+			'service_unit': 'Test Service Unit Ip Occupancy - _TC'
+		}
+
+		report = execute(filters)
+
+		expected_data = [
+			{
+				'patient': '_Test IPD Patient',
+				'inpatient_record': self.ip_record.name,
+				'practitioner': None,
+				'drug': 'Dextromethorphan',
+				'drug_name': 'Dextromethorphan',
+				'dosage': 1.0,
+				'dosage_form': 'Tablet',
+				'date': getdate(),
+				'time': datetime.timedelta(seconds=32400),
+				'is_completed': 0,
+				'healthcare_service_unit': 'Test Service Unit Ip Occupancy - _TC'
+			},
+			{
+				'patient': '_Test IPD Patient',
+				'inpatient_record': self.ip_record.name,
+				'practitioner': None,
+				'drug': 'Dextromethorphan',
+				'drug_name': 'Dextromethorphan',
+				'dosage': 1.0,
+				'dosage_form': 'Tablet',
+				'date': getdate(),
+				'time': datetime.timedelta(seconds=50400),
+				'is_completed': 0,
+				'healthcare_service_unit': 'Test Service Unit Ip Occupancy - _TC'
+			},
+			{
+				'patient': '_Test IPD Patient',
+				'inpatient_record': self.ip_record.name,
+				'practitioner': None,
+				'drug': 'Dextromethorphan',
+				'drug_name': 'Dextromethorphan',
+				'dosage': 1.0,
+				'dosage_form': 'Tablet',
+				'date': getdate(),
+				'time': datetime.timedelta(seconds=75600),
+				'is_completed': 0,
+				'healthcare_service_unit': 'Test Service Unit Ip Occupancy - _TC'
+			}
+		]
+
+		self.assertEqual(expected_data, report[1])
+
+		filters = frappe._dict(from_date=getdate(), to_date=getdate(), from_time='', to_time='')
+		ipme = create_ipme(filters)
+		ipme.submit()
+
+		filters = {
+			'company': '_Test Company',
+			'from_date': getdate(),
+			'to_date': getdate(),
+			'patient': '_Test IPD Patient',
+			'service_unit': 'Test Service Unit Ip Occupancy - _TC',
+			'show_completed_orders': 0
+		}
+
+		report = execute(filters)
+		self.assertEqual(len(report[1]), 0)
+
+	def tearDown(self):
+		if frappe.db.get_value('Patient', self.patient, 'inpatient_record'):
+			# cleanup - Discharge
+			schedule_discharge(frappe.as_json({'patient': self.patient}))
+			self.ip_record.reload()
+			mark_invoiced_inpatient_occupancy(self.ip_record)
+
+			self.ip_record.reload()
+			discharge_patient(self.ip_record)
+
+		for entry in frappe.get_all('Inpatient Medication Entry'):
+			doc = frappe.get_doc('Inpatient Medication Entry', entry.name)
+			doc.cancel()
+			doc.delete()
+
+		for entry in frappe.get_all('Inpatient Medication Order'):
+			doc = frappe.get_doc('Inpatient Medication Order', entry.name)
+			doc.cancel()
+			doc.delete()
+
+
+def create_records(patient):
+	frappe.db.sql("""delete from `tabInpatient Record`""")
+
+	# Admit
+	ip_record = create_inpatient(patient)
+	ip_record.expected_length_of_stay = 0
+	ip_record.save()
+	ip_record.reload()
+	service_unit = get_healthcare_service_unit()
+	admit_patient(ip_record, service_unit, now_datetime())
+
+	ipmo = create_ipmo(patient)
+	ipmo.submit()
+
+	return ip_record
diff --git a/erpnext/hooks.py b/erpnext/hooks.py
index dbb6c0d..1e3bb6a 100644
--- a/erpnext/hooks.py
+++ b/erpnext/hooks.py
@@ -15,10 +15,10 @@
 
 develop_version = '13.x.x-develop'
 
-app_include_js = "assets/js/erpnext.min.js"
-app_include_css = "assets/css/erpnext.css"
-web_include_js = "assets/js/erpnext-web.min.js"
-web_include_css = "assets/css/erpnext-web.css"
+app_include_js = "/assets/js/erpnext.min.js"
+app_include_css = "/assets/css/erpnext.css"
+web_include_js = "/assets/js/erpnext-web.min.js"
+web_include_css = "/assets/css/erpnext-web.css"
 
 doctype_js = {
 	"Address": "public/js/address.js",
@@ -237,6 +237,9 @@
 	"Website Settings": {
 		"validate": "erpnext.portal.doctype.products_settings.products_settings.home_page_is_products"
 	},
+	"Tax Category": {
+		"validate": "erpnext.regional.india.utils.validate_tax_category"
+	},
 	"Sales Invoice": {
 		"on_submit": [
 			"erpnext.regional.create_transaction_log",
@@ -250,7 +253,11 @@
 		"on_trash": "erpnext.regional.check_deletion_permission"
 	},
 	"Purchase Invoice": {
-		"validate": "erpnext.regional.india.utils.update_grand_total_for_rcm"
+		"validate": [
+			"erpnext.regional.india.utils.update_grand_total_for_rcm",
+			"erpnext.regional.united_arab_emirates.utils.update_grand_total_for_rcm",
+			"erpnext.regional.united_arab_emirates.utils.validate_returns"
+			]
 	},
 	"Payment Entry": {
 		"on_submit": ["erpnext.regional.create_transaction_log", "erpnext.accounts.doctype.payment_request.payment_request.update_payment_req_status", "erpnext.accounts.doctype.dunning.dunning.resolve_dunning"],
@@ -264,11 +271,11 @@
 	},
 	"Contact": {
 		"on_trash": "erpnext.support.doctype.issue.issue.update_issue",
-		"after_insert": "erpnext.communication.doctype.call_log.call_log.set_caller_information",
+		"after_insert": "erpnext.telephony.doctype.call_log.call_log.set_caller_information",
 		"validate": "erpnext.crm.utils.update_lead_phone_numbers"
 	},
 	"Lead": {
-		"after_insert": "erpnext.communication.doctype.call_log.call_log.set_caller_information"
+		"after_insert": "erpnext.telephony.doctype.call_log.call_log.set_caller_information"
 	},
 	"Email Unsubscribe": {
 		"after_insert": "erpnext.crm.doctype.email_campaign.email_campaign.unsubscribe_recipient"
@@ -307,6 +314,7 @@
 		"erpnext.projects.doctype.project.project.collect_project_status",
 		"erpnext.hr.doctype.shift_type.shift_type.process_auto_attendance_for_all_shifts",
 		"erpnext.support.doctype.issue.issue.set_service_level_agreement_variance",
+		"erpnext.erpnext_integrations.connectors.shopify_connection.sync_old_orders",
 	],
 	"daily": [
 		"erpnext.stock.reorder_item.reorder_item",
@@ -339,14 +347,16 @@
 		"erpnext.setup.doctype.email_digest.email_digest.send",
 		"erpnext.manufacturing.doctype.bom_update_tool.bom_update_tool.update_latest_price_in_all_boms",
 		"erpnext.hr.doctype.leave_ledger_entry.leave_ledger_entry.process_expired_allocation",
+		"erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment.automatically_allocate_leaves_based_on_leave_policy",
 		"erpnext.hr.utils.generate_leave_encashment",
+		"erpnext.hr.utils.allocate_earned_leaves",
+		"erpnext.hr.utils.grant_leaves_automatically",
 		"erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall.create_process_loan_security_shortfall",
 		"erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual.process_loan_interest_accrual_for_term_loans",
 		"erpnext.crm.doctype.lead.lead.daily_open_lead"
 	],
 	"monthly_long": [
 		"erpnext.accounts.deferred_revenue.process_deferred_accounting",
-		"erpnext.hr.utils.allocate_earned_leaves",
 		"erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual.process_loan_interest_accrual_for_demand_loans"
 	]
 }
@@ -390,7 +400,8 @@
 		'erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_regional_gl_entries': 'erpnext.regional.india.utils.make_regional_gl_entries'
 	},
 	'United Arab Emirates': {
-		'erpnext.controllers.taxes_and_totals.update_itemised_tax_data': 'erpnext.regional.united_arab_emirates.utils.update_itemised_tax_data'
+		'erpnext.controllers.taxes_and_totals.update_itemised_tax_data': 'erpnext.regional.united_arab_emirates.utils.update_itemised_tax_data',
+		'erpnext.accounts.doctype.purchase_invoice.purchase_invoice.make_regional_gl_entries': 'erpnext.regional.united_arab_emirates.utils.make_regional_gl_entries',
 	},
 	'Saudi Arabia': {
 		'erpnext.controllers.taxes_and_totals.update_itemised_tax_data': 'erpnext.regional.united_arab_emirates.utils.update_itemised_tax_data'
@@ -430,42 +441,43 @@
 		{"doctype": "Sales Order", "index": 8},
 		{"doctype": "Quotation", "index": 9},
 		{"doctype": "Work Order", "index": 10},
-		{"doctype": "Purchase Receipt", "index": 11},
-		{"doctype": "Purchase Invoice", "index": 12},
-		{"doctype": "Delivery Note", "index": 13},
-		{"doctype": "Stock Entry", "index": 14},
-		{"doctype": "Material Request", "index": 15},
-		{"doctype": "Delivery Trip", "index": 16},
-		{"doctype": "Pick List", "index": 17},
-		{"doctype": "Salary Slip", "index": 18},
-		{"doctype": "Leave Application", "index": 19},
-		{"doctype": "Expense Claim", "index": 20},
-		{"doctype": "Payment Entry", "index": 21},
-		{"doctype": "Lead", "index": 22},
-		{"doctype": "Opportunity", "index": 23},
-		{"doctype": "Item Price", "index": 24},
-		{"doctype": "Purchase Taxes and Charges Template", "index": 25},
-		{"doctype": "Sales Taxes and Charges", "index": 26},
-		{"doctype": "Asset", "index": 27},
-		{"doctype": "Project", "index": 28},
-		{"doctype": "Task", "index": 29},
-		{"doctype": "Timesheet", "index": 30},
-		{"doctype": "Issue", "index": 31},
-		{"doctype": "Serial No", "index": 32},
-		{"doctype": "Batch", "index": 33},
-		{"doctype": "Branch", "index": 34},
-		{"doctype": "Department", "index": 35},
-		{"doctype": "Employee Grade", "index": 36},
-		{"doctype": "Designation", "index": 37},
-		{"doctype": "Job Opening", "index": 38},
-		{"doctype": "Job Applicant", "index": 39},
-		{"doctype": "Job Offer", "index": 40},
-		{"doctype": "Salary Structure Assignment", "index": 41},
-		{"doctype": "Appraisal", "index": 42},
-		{"doctype": "Loan", "index": 43},
-		{"doctype": "Maintenance Schedule", "index": 44},
-		{"doctype": "Maintenance Visit", "index": 45},
-		{"doctype": "Warranty Claim", "index": 46},
+		{"doctype": "Purchase Order", "index": 11},
+		{"doctype": "Purchase Receipt", "index": 12},
+		{"doctype": "Purchase Invoice", "index": 13},
+		{"doctype": "Delivery Note", "index": 14},
+		{"doctype": "Stock Entry", "index": 15},
+		{"doctype": "Material Request", "index": 16},
+		{"doctype": "Delivery Trip", "index": 17},
+		{"doctype": "Pick List", "index": 18},
+		{"doctype": "Salary Slip", "index": 19},
+		{"doctype": "Leave Application", "index": 20},
+		{"doctype": "Expense Claim", "index": 21},
+		{"doctype": "Payment Entry", "index": 22},
+		{"doctype": "Lead", "index": 23},
+		{"doctype": "Opportunity", "index": 24},
+		{"doctype": "Item Price", "index": 25},
+		{"doctype": "Purchase Taxes and Charges Template", "index": 26},
+		{"doctype": "Sales Taxes and Charges", "index": 27},
+		{"doctype": "Asset", "index": 28},
+		{"doctype": "Project", "index": 29},
+		{"doctype": "Task", "index": 30},
+		{"doctype": "Timesheet", "index": 31},
+		{"doctype": "Issue", "index": 32},
+		{"doctype": "Serial No", "index": 33},
+		{"doctype": "Batch", "index": 34},
+		{"doctype": "Branch", "index": 35},
+		{"doctype": "Department", "index": 36},
+		{"doctype": "Employee Grade", "index": 37},
+		{"doctype": "Designation", "index": 38},
+		{"doctype": "Job Opening", "index": 39},
+		{"doctype": "Job Applicant", "index": 40},
+		{"doctype": "Job Offer", "index": 41},
+		{"doctype": "Salary Structure Assignment", "index": 42},
+		{"doctype": "Appraisal", "index": 43},
+		{"doctype": "Loan", "index": 44},
+		{"doctype": "Maintenance Schedule", "index": 45},
+		{"doctype": "Maintenance Visit", "index": 46},
+		{"doctype": "Warranty Claim", "index": 47},
 	],
 	"Healthcare": [
 		{'doctype': 'Patient', 'index': 1},
diff --git a/erpnext/hr/doctype/department_approver/department_approver.py b/erpnext/hr/doctype/department_approver/department_approver.py
index 9b2de0e..d337959 100644
--- a/erpnext/hr/doctype/department_approver/department_approver.py
+++ b/erpnext/hr/doctype/department_approver/department_approver.py
@@ -20,7 +20,7 @@
 	approvers = []
 	department_details = {}
 	department_list = []
-	employee = frappe.get_value("Employee", filters.get("employee"), ["department", "leave_approver", "expense_approver", "shift_request_approver"], as_dict=True)
+	employee = frappe.get_value("Employee", filters.get("employee"), ["employee_name","department", "leave_approver", "expense_approver", "shift_request_approver"], as_dict=True)
 
 	employee_department = filters.get("department") or employee.department
 	if employee_department:
@@ -59,11 +59,9 @@
 				and approver.approver=user.name""",(d, "%" + txt + "%", parentfield), as_list=True)
 
 	if len(approvers) == 0:
-		frappe.throw(_("Please set {0} for the Employee or for Department: {1}").
-			format(
-				field_name, frappe.bold(employee_department),
-				frappe.bold(employee.name)
-			),
-			title=_(field_name + " Missing"))
+		error_msg = _("Please set {0} for the Employee: {1}").format(field_name, frappe.bold(employee.employee_name))
+		if department_list:
+			error_msg += _(" or for Department: {0}").format(frappe.bold(employee_department))
+		frappe.throw(error_msg, title=_(field_name + " Missing"))
 
 	return set(tuple(approver) for approver in approvers)
diff --git a/erpnext/hr/doctype/employee/employee.json b/erpnext/hr/doctype/employee/employee.json
index da78919..4f1c04f 100644
--- a/erpnext/hr/doctype/employee/employee.json
+++ b/erpnext/hr/doctype/employee/employee.json
@@ -57,7 +57,6 @@
   "column_break_45",
   "shift_request_approver",
   "attendance_and_leave_details",
-  "leave_policy",
   "attendance_device_id",
   "column_break_44",
   "holiday_list",
@@ -412,14 +411,6 @@
    "options": "Branch"
   },
   {
-   "fetch_from": "grade.default_leave_policy",
-   "fetch_if_empty": 1,
-   "fieldname": "leave_policy",
-   "fieldtype": "Link",
-   "label": "Leave Policy",
-   "options": "Leave Policy"
-  },
-  {
    "description": "Applicable Holiday List",
    "fieldname": "holiday_list",
    "fieldtype": "Link",
@@ -672,10 +663,10 @@
    "oldfieldtype": "Date"
   },
   {
-   "depends_on": "eval:doc.status == \"Left\"",
    "fieldname": "relieving_date",
    "fieldtype": "Date",
    "label": "Relieving Date",
+   "mandatory_depends_on": "eval:doc.status == \"Left\"",
    "oldfieldname": "relieving_date",
    "oldfieldtype": "Date"
   },
@@ -822,7 +813,7 @@
  "idx": 24,
  "image_field": "image",
  "links": [],
- "modified": "2020-10-06 15:58:23.805489",
+ "modified": "2020-10-16 15:02:04.283657",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Employee",
diff --git a/erpnext/hr/doctype/employee_advance/employee_advance.js b/erpnext/hr/doctype/employee_advance/employee_advance.js
index cba8ee9..7056adf 100644
--- a/erpnext/hr/doctype/employee_advance/employee_advance.js
+++ b/erpnext/hr/doctype/employee_advance/employee_advance.js
@@ -15,11 +15,16 @@
 		});
 
 		frm.set_query("advance_account", function() {
+			if (!frm.doc.employee) {
+				frappe.msgprint(__("Please select employee first"));
+			}
+			var company_currency = erpnext.get_currency(frm.doc.company);
 			return {
 				filters: {
 					"root_type": "Asset",
 					"is_group": 0,
-					"company": frm.doc.company
+					"company": frm.doc.company,
+					"account_currency": ["in", [frm.doc.currency, company_currency]],
 				}
 			};
 		});
@@ -63,7 +68,7 @@
 				}, __('Create'));
 			}else if (frm.doc.repay_unclaimed_amount_from_salary == 1 && frappe.model.can_create("Additional Salary")){
 				frm.add_custom_button(__("Deduction from salary"),  function() {
-					frm.events.make_deduction_via_additional_salary(frm)
+					frm.events.make_deduction_via_additional_salary(frm);
 				}, __('Create'));
 			}
 		}
@@ -127,7 +132,9 @@
 				'employee_advance_name': frm.doc.name,
 				'return_amount': flt(frm.doc.paid_amount - frm.doc.claimed_amount),
 				'advance_account': frm.doc.advance_account,
-				'mode_of_payment': frm.doc.mode_of_payment
+				'mode_of_payment': frm.doc.mode_of_payment,
+				'currency': frm.doc.currency,
+				'exchange_rate': frm.doc.exchange_rate
 			},
 			callback: function(r) {
 				const doclist = frappe.model.sync(r.message);
@@ -138,16 +145,72 @@
 
 	employee: function (frm) {
 		if (frm.doc.employee) {
-			return frappe.call({
-				method: "erpnext.hr.doctype.employee_advance.employee_advance.get_pending_amount",
-				args: {
-					"employee": frm.doc.employee,
-					"posting_date": frm.doc.posting_date
-				},
-				callback: function(r) {
-					frm.set_value("pending_amount",r.message);
-				}
-			});
+			frappe.run_serially([
+				() => 	frm.trigger('get_employee_currency'),
+				() => 	frm.trigger('get_pending_amount')
+			]);
 		}
+	},
+
+	get_pending_amount: function(frm) {
+		frappe.call({
+			method: "erpnext.hr.doctype.employee_advance.employee_advance.get_pending_amount",
+			args: {
+				"employee": frm.doc.employee,
+				"posting_date": frm.doc.posting_date
+			},
+			callback: function(r) {
+				frm.set_value("pending_amount", r.message);
+			}
+		});
+	},
+
+	get_employee_currency: function(frm) {
+		frappe.call({
+			method: "erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment.get_employee_currency",
+			args: {
+				employee: frm.doc.employee,
+			},
+			callback: function(r) {
+				if (r.message) {
+					frm.set_value('currency', r.message);
+					frm.refresh_fields();
+				}
+			}
+		});
+	},
+
+	currency: function(frm) {
+		var from_currency = frm.doc.currency;
+		var company_currency;
+		if (!frm.doc.company) {
+			company_currency = erpnext.get_currency(frappe.defaults.get_default("Company"));
+		} else {
+			company_currency = erpnext.get_currency(frm.doc.company);
+		}
+		if (from_currency != company_currency) {
+			frm.events.set_exchange_rate(frm, from_currency, company_currency);
+		} else {
+			frm.set_value("exchange_rate", 1.0);
+			frm.set_df_property('exchange_rate', 'hidden', 1);
+			frm.set_df_property("exchange_rate", "description", "" );
+		}
+		frm.refresh_fields();
+	},
+
+	set_exchange_rate: function(frm, from_currency, company_currency) {
+		frappe.call({
+			method: "erpnext.setup.utils.get_exchange_rate",
+			args: {
+				from_currency: from_currency,
+				to_currency: company_currency,
+			},
+			callback: function(r) {
+				frm.set_value("exchange_rate", flt(r.message));
+				frm.set_df_property('exchange_rate', 'hidden', 0);
+				frm.set_df_property("exchange_rate", "description", "1 " + frm.doc.currency
+					+ " = [?] " + company_currency);
+			}
+		});
 	}
 });
diff --git a/erpnext/hr/doctype/employee_advance/employee_advance.json b/erpnext/hr/doctype/employee_advance/employee_advance.json
index 0d90913..cf6b540 100644
--- a/erpnext/hr/doctype/employee_advance/employee_advance.json
+++ b/erpnext/hr/doctype/employee_advance/employee_advance.json
@@ -13,6 +13,8 @@
   "department",
   "column_break_4",
   "posting_date",
+  "currency",
+  "exchange_rate",
   "repay_unclaimed_amount_from_salary",
   "section_break_8",
   "purpose",
@@ -91,7 +93,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Advance Amount",
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "reqd": 1
   },
   {
@@ -99,7 +101,7 @@
    "fieldtype": "Currency",
    "label": "Paid Amount",
    "no_copy": 1,
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -107,7 +109,7 @@
    "fieldtype": "Currency",
    "label": "Claimed Amount",
    "no_copy": 1,
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -161,7 +163,7 @@
    "fieldname": "return_amount",
    "fieldtype": "Currency",
    "label": "Returned Amount",
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -175,13 +177,31 @@
    "fieldname": "pending_amount",
    "fieldtype": "Currency",
    "label": "Pending Amount",
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "read_only": 1
+  },
+  {
+   "default": "Company:company:default_currency",
+   "depends_on": "eval:(doc.docstatus==1 || doc.employee)",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "reqd": 1
+  },
+  {
+   "depends_on": "currency",
+   "fieldname": "exchange_rate",
+   "fieldtype": "Float",
+   "label": "Exchange Rate",
+   "precision": "9",
+   "print_hide": 1,
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-12 12:42:39.833818",
+ "modified": "2020-11-25 12:01:55.980721",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Employee Advance",
diff --git a/erpnext/hr/doctype/employee_advance/employee_advance.py b/erpnext/hr/doctype/employee_advance/employee_advance.py
index 3c435b8..cb72f6b 100644
--- a/erpnext/hr/doctype/employee_advance/employee_advance.py
+++ b/erpnext/hr/doctype/employee_advance/employee_advance.py
@@ -19,7 +19,6 @@
 
 	def validate(self):
 		self.set_status()
-		self.validate_employee_advance_account()
 
 	def on_cancel(self):
 		self.ignore_linked_doctypes = ('GL Entry')
@@ -38,16 +37,9 @@
 		elif self.docstatus == 2:
 			self.status = "Cancelled"
 
-	def validate_employee_advance_account(self):
-		company_currency = erpnext.get_company_currency(self.company)
-		if (self.advance_account and
-			company_currency != frappe.db.get_value('Account', self.advance_account, 'account_currency')):
-			frappe.throw(_("Advance account currency should be same as company currency {0}")
-				.format(company_currency))
-
 	def set_total_advance_paid(self):
 		paid_amount = frappe.db.sql("""
-			select ifnull(sum(debit_in_account_currency), 0) as paid_amount
+			select ifnull(sum(debit), 0) as paid_amount
 			from `tabGL Entry`
 			where against_voucher_type = 'Employee Advance'
 				and against_voucher = %s
@@ -56,7 +48,7 @@
 		""", (self.name, self.employee), as_dict=1)[0].paid_amount
 
 		return_amount = frappe.db.sql("""
-			select name, ifnull(sum(credit_in_account_currency), 0) as return_amount
+			select ifnull(sum(credit), 0) as return_amount
 			from `tabGL Entry`
 			where against_voucher_type = 'Employee Advance'
 				and voucher_type != 'Expense Claim'
@@ -65,6 +57,11 @@
 				and party = %s
 		""", (self.name, self.employee), as_dict=1)[0].return_amount
 
+		if paid_amount != 0:
+			paid_amount = flt(paid_amount) / flt(self.exchange_rate)
+		if return_amount != 0:
+			return_amount = flt(return_amount) / flt(self.exchange_rate)
+
 		if flt(paid_amount) > self.advance_amount:
 			frappe.throw(_("Row {0}# Paid Amount cannot be greater than requested advance amount"),
 				EmployeeAdvanceOverPayment)
@@ -107,16 +104,27 @@
 	doc = frappe.get_doc(dt, dn)
 	payment_account = get_default_bank_cash_account(doc.company, account_type="Cash",
 		mode_of_payment=doc.mode_of_payment)
+	if not payment_account:
+		frappe.throw(_("Please set a Default Cash Account in Company defaults"))
+
+	advance_account_currency = frappe.db.get_value('Account', doc.advance_account, 'account_currency')
+
+	advance_amount, advance_exchange_rate = get_advance_amount_advance_exchange_rate(advance_account_currency,doc )
+
+	paying_amount, paying_exchange_rate = get_paying_amount_paying_exchange_rate(payment_account, doc)
 
 	je = frappe.new_doc("Journal Entry")
 	je.posting_date = nowdate()
 	je.voucher_type = 'Bank Entry'
 	je.company = doc.company
 	je.remark = 'Payment against Employee Advance: ' + dn + '\n' + doc.purpose
+	je.multi_currency = 1 if advance_account_currency != payment_account.account_currency else 0
 
 	je.append("accounts", {
 		"account": doc.advance_account,
-		"debit_in_account_currency": flt(doc.advance_amount),
+		"account_currency": advance_account_currency,
+		"exchange_rate": flt(advance_exchange_rate),
+		"debit_in_account_currency": flt(advance_amount),
 		"reference_type": "Employee Advance",
 		"reference_name": doc.name,
 		"party_type": "Employee",
@@ -128,19 +136,41 @@
 	je.append("accounts", {
 		"account": payment_account.account,
 		"cost_center": erpnext.get_default_cost_center(doc.company),
-		"credit_in_account_currency": flt(doc.advance_amount),
+		"credit_in_account_currency": flt(paying_amount),
 		"account_currency": payment_account.account_currency,
-		"account_type": payment_account.account_type
+		"account_type": payment_account.account_type,
+		"exchange_rate": flt(paying_exchange_rate)
 	})
 
 	return je.as_dict()
 
+def get_advance_amount_advance_exchange_rate(advance_account_currency, doc):
+	if advance_account_currency != doc.currency:
+		advance_amount = flt(doc.advance_amount) * flt(doc.exchange_rate)
+		advance_exchange_rate = 1
+	else:
+		advance_amount = doc.advance_amount
+		advance_exchange_rate = doc.exchange_rate
+
+	return advance_amount, advance_exchange_rate
+
+def get_paying_amount_paying_exchange_rate(payment_account, doc):
+	if payment_account.account_currency != doc.currency:
+		paying_amount = flt(doc.advance_amount) * flt(doc.exchange_rate)
+		paying_exchange_rate = 1
+	else:
+		paying_amount = doc.advance_amount
+		paying_exchange_rate = doc.exchange_rate
+
+	return paying_amount, paying_exchange_rate
+
 @frappe.whitelist()
 def create_return_through_additional_salary(doc):
 	import json
 	doc = frappe._dict(json.loads(doc))
 	additional_salary = frappe.new_doc('Additional Salary')
 	additional_salary.employee = doc.employee
+	additional_salary.currency = doc.currency
 	additional_salary.amount = doc.paid_amount - doc.claimed_amount
 	additional_salary.company = doc.company
 	additional_salary.ref_doctype = doc.doctype
@@ -149,26 +179,28 @@
 	return additional_salary
 
 @frappe.whitelist()
-def make_return_entry(employee, company, employee_advance_name, return_amount,  advance_account, mode_of_payment=None):
-	return_account = get_default_bank_cash_account(company, account_type='Cash', mode_of_payment = mode_of_payment)
-
-	mode_of_payment_type = ''
-	if mode_of_payment:
-		mode_of_payment_type = frappe.get_cached_value('Mode of Payment', mode_of_payment, 'type')
-		if mode_of_payment_type not in ["Cash", "Bank"]:
-			# if mode of payment is General then it unset the type
-			mode_of_payment_type = None
-
+def make_return_entry(employee, company, employee_advance_name, return_amount,  advance_account, currency, exchange_rate, mode_of_payment=None):
+	bank_cash_account = get_default_bank_cash_account(company, account_type='Cash', mode_of_payment = mode_of_payment)
+	if not bank_cash_account:
+		frappe.throw(_("Please set a Default Cash Account in Company defaults"))
+	
+	advance_account_currency = frappe.db.get_value('Account', advance_account, 'account_currency')
+	
 	je = frappe.new_doc('Journal Entry')
 	je.posting_date = nowdate()
-	# if mode of payment is Bank then voucher type is Bank Entry
-	je.voucher_type = '{} Entry'.format(mode_of_payment_type) if mode_of_payment_type else 'Cash Entry'
+	je.voucher_type = get_voucher_type(mode_of_payment)
 	je.company = company
 	je.remark = 'Return against Employee Advance: ' + employee_advance_name
+	je.multi_currency = 1 if advance_account_currency != bank_cash_account.account_currency else 0
+
+	advance_account_amount = flt(return_amount) if advance_account_currency==currency \
+		else flt(return_amount) * flt(exchange_rate)
 
 	je.append('accounts', {
 		'account': advance_account,
-		'credit_in_account_currency': return_amount,
+		'credit_in_account_currency': advance_account_amount,
+		'account_currency': advance_account_currency,
+		'exchange_rate': flt(exchange_rate) if advance_account_currency == currency else 1,
 		'reference_type': 'Employee Advance',
 		'reference_name': employee_advance_name,
 		'party_type': 'Employee',
@@ -176,13 +208,25 @@
 		'is_advance': 'Yes'
 	})
 
+	bank_amount = flt(return_amount) if bank_cash_account.account_currency==currency \
+		else flt(return_amount) * flt(exchange_rate)
+
 	je.append("accounts", {
-		"account": return_account.account,
-		"debit_in_account_currency": return_amount,
-		"account_currency": return_account.account_currency,
-		"account_type": return_account.account_type
+		"account": bank_cash_account.account,
+		"debit_in_account_currency": bank_amount,
+		"account_currency": bank_cash_account.account_currency,
+		"account_type": bank_cash_account.account_type,
+		"exchange_rate": flt(exchange_rate) if bank_cash_account.account_currency == currency else 1
 	})
 
 	return je.as_dict()
 
+def get_voucher_type(mode_of_payment=None):
+	voucher_type = "Cash Entry"
 
+	if mode_of_payment:
+		mode_of_payment_type = frappe.get_cached_value('Mode of Payment', mode_of_payment, 'type')
+		if mode_of_payment_type == "Bank":
+			voucher_type = "Bank Entry"
+
+	return voucher_type
\ No newline at end of file
diff --git a/erpnext/hr/doctype/employee_advance/test_employee_advance.py b/erpnext/hr/doctype/employee_advance/test_employee_advance.py
index 2097e71..c88b2b8 100644
--- a/erpnext/hr/doctype/employee_advance/test_employee_advance.py
+++ b/erpnext/hr/doctype/employee_advance/test_employee_advance.py
@@ -3,15 +3,17 @@
 # See license.txt
 from __future__ import unicode_literals
 
-import frappe
+import frappe, erpnext
 import unittest
 from frappe.utils import nowdate
 from erpnext.hr.doctype.employee_advance.employee_advance import make_bank_entry
 from erpnext.hr.doctype.employee_advance.employee_advance import EmployeeAdvanceOverPayment
+from erpnext.hr.doctype.employee.test_employee import make_employee
 
 class TestEmployeeAdvance(unittest.TestCase):
 	def test_paid_amount_and_status(self):
-		advance = make_employee_advance()
+		employee_name = make_employee("_T@employe.advance")
+		advance = make_employee_advance(employee_name)
 
 		journal_entry = make_payment_entry(advance)
 		journal_entry.submit()
@@ -33,11 +35,13 @@
 
 	return journal_entry
 
-def make_employee_advance():
+def make_employee_advance(employee_name):
 	doc = frappe.new_doc("Employee Advance")
-	doc.employee = "_T-Employee-00001"
+	doc.employee = employee_name
 	doc.company  = "_Test company"
 	doc.purpose = "For site visit"
+	doc.currency = erpnext.get_company_currency("_Test company")
+	doc.exchange_rate = 1
 	doc.advance_amount = 1000
 	doc.posting_date = nowdate()
 	doc.advance_account = "_Test Employee Advance - _TC"
diff --git a/erpnext/hr/doctype/employee_grade/employee_grade.json b/erpnext/hr/doctype/employee_grade/employee_grade.json
index e63ffae..88b061a 100644
--- a/erpnext/hr/doctype/employee_grade/employee_grade.json
+++ b/erpnext/hr/doctype/employee_grade/employee_grade.json
@@ -1,167 +1,69 @@
 {
- "allow_copy": 0, 
- "allow_guest_to_view": 0, 
- "allow_import": 1, 
- "allow_rename": 1, 
- "autoname": "Prompt", 
- "beta": 0, 
- "creation": "2018-04-13 16:14:24.174138", 
- "custom": 0, 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "", 
- "editable_grid": 1, 
- "engine": "InnoDB", 
+ "actions": [],
+ "allow_import": 1,
+ "allow_rename": 1,
+ "autoname": "Prompt",
+ "creation": "2018-04-13 16:14:24.174138",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "default_salary_structure"
+ ],
  "fields": [
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0,
-   "allow_on_submit": 0,
-   "bold": 0,
-   "collapsible": 0,
-   "columns": 0,
-   "fieldname": "default_leave_policy",
-   "fieldtype": "Link",
-   "hidden": 0,
-   "ignore_user_permissions": 0,
-   "ignore_xss_filter": 0,
-   "in_filter": 0,
-   "in_global_search": 0,
-   "in_list_view": 0,
-   "in_standard_filter": 0,
-   "label": "Default Leave Policy",
-   "length": 0,
-   "no_copy": 0,
-   "options": "Leave Policy",
-   "permlevel": 0,
-   "precision": "",
-   "print_hide": 0,
-   "print_hide_if_no_value": 0,
-   "read_only": 0,
-   "remember_last_selected_value": 0,
-   "report_hide": 0,
-   "reqd": 0,
-   "search_index": 0,
-   "set_only_once": 0,
-   "translatable": 0,
-   "unique": 0
-  },
-  {
-   "allow_bulk_edit": 0,
-   "allow_in_quick_entry": 0,
-   "allow_on_submit": 0,
-   "bold": 0,
-   "collapsible": 0,
-   "columns": 0,
    "fieldname": "default_salary_structure",
    "fieldtype": "Link",
-   "hidden": 0,
-   "ignore_user_permissions": 0,
-   "ignore_xss_filter": 0,
-   "in_filter": 0,
-   "in_global_search": 0,
-   "in_list_view": 0,
-   "in_standard_filter": 0,
    "label": "Default Salary Structure",
-   "length": 0,
-   "no_copy": 0,
-   "options": "Salary Structure",
-   "permlevel": 0,
-   "precision": "",
-   "print_hide": 0,
-   "print_hide_if_no_value": 0,
-   "read_only": 0,
-   "remember_last_selected_value": 0,
-   "report_hide": 0,
-   "reqd": 0,
-   "search_index": 0,
-   "set_only_once": 0,
-   "translatable": 0,
-   "unique": 0
+   "options": "Salary Structure"
   }
  ],
- "has_web_view": 0,
- "hide_heading": 0,
- "hide_toolbar": 0,
- "idx": 0,
- "image_view": 0,
- "in_create": 0,
- "is_submittable": 0,
- "issingle": 0,
- "istable": 0,
- "max_attachments": 0,
- "modified": "2018-09-18 17:17:45.617624",
+ "index_web_pages_for_search": 1,
+ "links": [],
+ "modified": "2020-08-26 13:12:07.815330",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Employee Grade",
- "name_case": "",
  "owner": "Administrator",
  "permissions": [
   {
-   "amend": 0,
-   "cancel": 0,
    "create": 1,
    "delete": 1,
    "email": 1,
    "export": 1,
-   "if_owner": 0,
-   "import": 0,
-   "permlevel": 0,
    "print": 1,
    "read": 1,
    "report": 1,
    "role": "System Manager",
-   "set_user_permissions": 0,
    "share": 1,
-   "submit": 0,
    "write": 1
   },
   {
-   "amend": 0,
-   "cancel": 0,
    "create": 1,
    "delete": 1,
    "email": 1,
    "export": 1,
-   "if_owner": 0,
-   "import": 0,
-   "permlevel": 0,
    "print": 1,
    "read": 1,
    "report": 1,
    "role": "HR Manager",
-   "set_user_permissions": 0,
    "share": 1,
-   "submit": 0,
    "write": 1
   },
   {
-   "amend": 0,
-   "cancel": 0,
    "create": 1,
    "delete": 1,
    "email": 1,
    "export": 1,
-   "if_owner": 0,
-   "import": 0,
-   "permlevel": 0,
    "print": 1,
    "read": 1,
    "report": 1,
    "role": "HR User",
-   "set_user_permissions": 0,
    "share": 1,
-   "submit": 0,
    "write": 1
   }
  ],
- "quick_entry": 0,
- "read_only": 0,
- "read_only_onload": 0,
- "show_name_in_global_search": 0,
  "sort_field": "modified",
  "sort_order": "DESC",
- "track_changes": 1,
- "track_seen": 0,
- "track_views": 0
+ "track_changes": 1
 }
\ No newline at end of file
diff --git a/erpnext/hr/doctype/expense_claim/test_expense_claim.py b/erpnext/hr/doctype/expense_claim/test_expense_claim.py
index 6e97f05..4a0908d 100644
--- a/erpnext/hr/doctype/expense_claim/test_expense_claim.py
+++ b/erpnext/hr/doctype/expense_claim/test_expense_claim.py
@@ -7,6 +7,7 @@
 from frappe.utils import random_string, nowdate
 from erpnext.hr.doctype.expense_claim.expense_claim import make_bank_entry
 from erpnext.accounts.doctype.account.test_account import create_account
+from erpnext.hr.doctype.employee.test_employee import make_employee
 
 test_records = frappe.get_test_records('Expense Claim')
 test_dependencies = ['Employee']
@@ -126,6 +127,9 @@
 
 def make_expense_claim(payable_account, amount, sanctioned_amount, company, account, project=None, task_name=None, do_not_submit=False, taxes=None):
 	employee = frappe.db.get_value("Employee", {"status": "Active"})
+	if not employee:
+		employee = make_employee("test_employee@expense_claim.com", company=company)
+
 	currency, cost_center = frappe.db.get_value('Company', company, ['default_currency', 'cost_center'])
 	expense_claim = {
 		 "doctype": "Expense Claim",
diff --git a/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json b/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json
index 885e3ee..020457d 100644
--- a/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json
+++ b/erpnext/hr/doctype/expense_taxes_and_charges/expense_taxes_and_charges.json
@@ -71,9 +71,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Amount",
-   "oldfieldname": "tax_amount",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency"
+   "options": "currency"
   },
   {
    "columns": 2,
@@ -81,9 +79,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Total",
-   "oldfieldname": "total",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -106,7 +102,7 @@
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-05-11 19:01:26.611758",
+ "modified": "2020-09-23 20:27:36.027728",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Expense Taxes and Charges",
diff --git a/erpnext/hr/doctype/hr_settings/hr_settings.json b/erpnext/hr/doctype/hr_settings/hr_settings.json
index 4374d29..f999635 100644
--- a/erpnext/hr/doctype/hr_settings/hr_settings.json
+++ b/erpnext/hr/doctype/hr_settings/hr_settings.json
@@ -21,6 +21,7 @@
   "show_leaves_of_all_department_members_in_calendar",
   "auto_leave_encashment",
   "restrict_backdated_leave_application",
+  "automatically_allocate_leaves_based_on_leave_policy",
   "hiring_settings",
   "check_vacancies"
  ],
@@ -41,7 +42,7 @@
    "description": "Employee records are created using the selected field",
    "fieldname": "emp_created_by",
    "fieldtype": "Select",
-   "label": "Employee Records to Be Created By",
+   "label": "Employee Records to be created by",
    "options": "Naming Series\nEmployee Number\nFull Name"
   },
   {
@@ -117,7 +118,7 @@
    "default": "0",
    "fieldname": "restrict_backdated_leave_application",
    "fieldtype": "Check",
-   "label": "Restrict Backdated Leave Applications"
+   "label": "Restrict Backdated Leave Application"
   },
   {
    "depends_on": "eval:doc.restrict_backdated_leave_application == 1",
@@ -125,13 +126,19 @@
    "fieldtype": "Link",
    "label": "Role Allowed to Create Backdated Leave Application",
    "options": "Role"
+  },
+  {
+   "default": "0",
+   "fieldname": "automatically_allocate_leaves_based_on_leave_policy",
+   "fieldtype": "Check",
+   "label": "Automatically Allocate Leaves Based On Leave Policy"
   }
  ],
  "icon": "fa fa-cog",
  "idx": 1,
  "issingle": 1,
  "links": [],
- "modified": "2020-10-13 11:49:46.168027",
+ "modified": "2020-08-27 14:30:28.995324",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "HR Settings",
diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.json b/erpnext/hr/doctype/leave_allocation/leave_allocation.json
index 007497e..4b31501 100644
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation.json
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.json
@@ -1,4 +1,5 @@
 {
+ "actions": [],
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-02-20 19:10:38",
@@ -24,6 +25,7 @@
   "compensatory_request",
   "leave_period",
   "leave_policy",
+  "leave_policy_assignment",
   "carry_forwarded_leaves_count",
   "expired",
   "amended_from",
@@ -160,9 +162,10 @@
    "read_only": 1
   },
   {
-   "fetch_from": "employee.leave_policy",
+   "fetch_from": "leave_policy_assignment.leave_policy",
    "fieldname": "leave_policy",
    "fieldtype": "Link",
+   "hidden": 1,
    "in_standard_filter": 1,
    "label": "Leave Policy",
    "options": "Leave Policy",
@@ -209,12 +212,21 @@
    "fieldtype": "Float",
    "label": "Carry Forwarded Leaves",
    "read_only": 1
+  },
+  {
+   "fieldname": "leave_policy_assignment",
+   "fieldtype": "Link",
+   "label": "Leave Policy Assignment",
+   "options": "Leave Policy Assignment",
+   "read_only": 1
   }
  ],
  "icon": "fa fa-ok",
  "idx": 1,
+ "index_web_pages_for_search": 1,
  "is_submittable": 1,
- "modified": "2019-08-08 15:08:42.440909",
+ "links": [],
+ "modified": "2020-08-20 14:25:10.314323",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Leave Allocation",
diff --git a/erpnext/hr/doctype/leave_allocation/leave_allocation.py b/erpnext/hr/doctype/leave_allocation/leave_allocation.py
index 03fe3fa..a09cd2e 100755
--- a/erpnext/hr/doctype/leave_allocation/leave_allocation.py
+++ b/erpnext/hr/doctype/leave_allocation/leave_allocation.py
@@ -51,9 +51,19 @@
 
 	def on_cancel(self):
 		self.create_leave_ledger_entry(submit=False)
+		if self.leave_policy_assignment:
+			self.update_leave_policy_assignments_when_no_allocations_left()
 		if self.carry_forward:
 			self.set_carry_forwarded_leaves_in_previous_allocation(on_cancel=True)
 
+	def update_leave_policy_assignments_when_no_allocations_left(self):
+		allocations = frappe.db.get_list("Leave Allocation", filters = {
+			"docstatus": 1,
+			"leave_policy_assignment": self.leave_policy_assignment
+		})
+		if len(allocations) == 0:
+			frappe.db.set_value("Leave Policy Assignment", self.leave_policy_assignment ,"leaves_allocated", 0)
+
 	def validate_period(self):
 		if date_diff(self.to_date, self.from_date) <= 0:
 			frappe.throw(_("To date cannot be before from date"))
diff --git a/erpnext/hr/doctype/leave_application/leave_application.py b/erpnext/hr/doctype/leave_application/leave_application.py
index 3f25f58..4f3e462 100755
--- a/erpnext/hr/doctype/leave_application/leave_application.py
+++ b/erpnext/hr/doctype/leave_application/leave_application.py
@@ -130,8 +130,7 @@
 		if self.status == "Approved":
 			for dt in daterange(getdate(self.from_date), getdate(self.to_date)):
 				date = dt.strftime("%Y-%m-%d")
-				status = "Half Day" if getdate(date) == getdate(self.half_day_date) else "On Leave"
-
+				status = "Half Day" if self.half_day_date and getdate(date) == getdate(self.half_day_date) else "On Leave"
 				attendance_name = frappe.db.exists('Attendance', dict(employee = self.employee,
 					attendance_date = date, docstatus = ('!=', 2)))
 
@@ -293,7 +292,8 @@
 	def set_half_day_date(self):
 		if self.from_date == self.to_date and self.half_day == 1:
 			self.half_day_date = self.from_date
-		elif self.half_day == 0:
+
+		if self.half_day == 0:
 			self.half_day_date = None
 
 	def notify_employee(self):
@@ -376,24 +376,32 @@
 		if expiry_date:
 			self.create_ledger_entry_for_intermediate_allocation_expiry(expiry_date, submit, lwp)
 		else:
+			raise_exception = True
+			if frappe.flags.in_patch:
+				raise_exception=False
+
 			args = dict(
 				leaves=self.total_leave_days * -1,
 				from_date=self.from_date,
 				to_date=self.to_date,
 				is_lwp=lwp,
-				holiday_list=get_holiday_list_for_employee(self.employee)
+				holiday_list=get_holiday_list_for_employee(self.employee, raise_exception=raise_exception) or ''
 			)
 			create_leave_ledger_entry(self, args, submit)
 
 	def create_ledger_entry_for_intermediate_allocation_expiry(self, expiry_date, submit, lwp):
 		''' splits leave application into two ledger entries to consider expiry of allocation '''
+
+		raise_exception = True
+		if frappe.flags.in_patch:
+			raise_exception=False
+
 		args = dict(
 			from_date=self.from_date,
 			to_date=expiry_date,
 			leaves=(date_diff(expiry_date, self.from_date) + 1) * -1,
 			is_lwp=lwp,
-			holiday_list=get_holiday_list_for_employee(self.employee),
-
+			holiday_list=get_holiday_list_for_employee(self.employee, raise_exception=raise_exception) or ''
 		)
 		create_leave_ledger_entry(self, args, submit)
 
diff --git a/erpnext/hr/doctype/leave_application/test_leave_application.py b/erpnext/hr/doctype/leave_application/test_leave_application.py
index 6e909c3..53b7a39 100644
--- a/erpnext/hr/doctype/leave_application/test_leave_application.py
+++ b/erpnext/hr/doctype/leave_application/test_leave_application.py
@@ -10,6 +10,7 @@
 from frappe.utils import add_days, nowdate, now_datetime, getdate, add_months
 from erpnext.hr.doctype.leave_type.test_leave_type import create_leave_type
 from erpnext.hr.doctype.leave_allocation.test_leave_allocation import create_leave_allocation
+from erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment import create_assignment_for_multiple_employees
 
 test_dependencies = ["Leave Allocation", "Leave Block List"]
 
@@ -410,25 +411,39 @@
 		self.assertEqual(get_leave_balance_on(employee.name, leave_type.name, nowdate(), add_days(nowdate(), 8)), 21)
 
 	def test_earned_leaves_creation(self):
+
+		frappe.db.sql('''delete from `tabLeave Period`''')
+		frappe.db.sql('''delete from `tabLeave Policy Assignment`''')
+		frappe.db.sql('''delete from `tabLeave Allocation`''')
+		frappe.db.sql('''delete from `tabLeave Ledger Entry`''')
+
 		leave_period = get_leave_period()
 		employee = get_employee()
 		leave_type = 'Test Earned Leave Type'
-		if not frappe.db.exists('Leave Type', leave_type):
-			frappe.get_doc(dict(
-				leave_type_name = leave_type,
-				doctype = 'Leave Type',
-				is_earned_leave = 1,
-				earned_leave_frequency = 'Monthly',
-				rounding = 0.5,
-				max_leaves_allowed = 6
-			)).insert()
+		frappe.delete_doc_if_exists("Leave Type", 'Test Earned Leave Type', force=1)
+		frappe.get_doc(dict(
+			leave_type_name = leave_type,
+			doctype = 'Leave Type',
+			is_earned_leave = 1,
+			earned_leave_frequency = 'Monthly',
+			rounding = 0.5,
+			max_leaves_allowed = 6
+		)).insert()
+
 		leave_policy = frappe.get_doc({
 			"doctype": "Leave Policy",
 			"leave_policy_details": [{"leave_type": leave_type, "annual_allocation": 6}]
 		}).insert()
-		frappe.db.set_value("Employee", employee.name, "leave_policy", leave_policy.name)
 
-		allocate_leaves(employee, leave_period, leave_type, 0, eligible_leaves = 12)
+		data = {
+			"assignment_based_on": "Leave Period",
+			"leave_policy": leave_policy.name,
+			"leave_period": leave_period.name
+		}
+
+		leave_policy_assignments = create_assignment_for_multiple_employees([employee.name], frappe._dict(data))
+
+		frappe.get_doc("Leave Policy Assignment", leave_policy_assignments[0]).grant_leave_alloc_for_employee()
 
 		from erpnext.hr.utils import allocate_earned_leaves
 		i = 0
diff --git a/erpnext/hr/doctype/leave_encashment/leave_encashment.js b/erpnext/hr/doctype/leave_encashment/leave_encashment.js
index 71a3422..81936a4 100644
--- a/erpnext/hr/doctype/leave_encashment/leave_encashment.js
+++ b/erpnext/hr/doctype/leave_encashment/leave_encashment.js
@@ -22,7 +22,12 @@
 		}
 	},
 	employee: function(frm) {
-		frm.trigger("get_leave_details_for_encashment");
+		if (frm.doc.employee) {
+			frappe.run_serially([
+				() => 	frm.trigger('get_employee_currency'),
+				() => 	frm.trigger('get_leave_details_for_encashment')
+			]);
+		}
 	},
 	leave_type: function(frm) {
 		frm.trigger("get_leave_details_for_encashment");
@@ -40,5 +45,20 @@
 				}
 			});
 		}
-	}
+	},
+
+	get_employee_currency: function(frm) {
+		frappe.call({
+			method: "erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment.get_employee_currency",
+			args: {
+				employee: frm.doc.employee,
+			},
+			callback: function(r) {
+				if (r.message) {
+					frm.set_value('currency', r.message);
+					frm.refresh_fields();
+				}
+			}
+		});
+	},
 });
diff --git a/erpnext/hr/doctype/leave_encashment/leave_encashment.json b/erpnext/hr/doctype/leave_encashment/leave_encashment.json
index 2cf6ccf..83eeae3 100644
--- a/erpnext/hr/doctype/leave_encashment/leave_encashment.json
+++ b/erpnext/hr/doctype/leave_encashment/leave_encashment.json
@@ -12,6 +12,7 @@
   "employee",
   "employee_name",
   "department",
+  "company",
   "column_break_4",
   "leave_type",
   "leave_allocation",
@@ -19,9 +20,11 @@
   "encashable_days",
   "amended_from",
   "payroll",
-  "encashment_amount",
   "encashment_date",
-  "additional_salary"
+  "additional_salary",
+  "column_break_14",
+  "currency",
+  "encashment_amount"
  ],
  "fields": [
   {
@@ -109,6 +112,7 @@
    "in_list_view": 1,
    "label": "Encashment Amount",
    "no_copy": 1,
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -124,11 +128,34 @@
    "no_copy": 1,
    "options": "Additional Salary",
    "read_only": 1
+  },
+  {
+   "default": "Company:company:default_currency",
+   "depends_on": "eval:(doc.docstatus==1 || doc.employee)",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 1
+  },
+  {
+   "fieldname": "column_break_14",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fetch_from": "employee.company",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "options": "Company",
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2019-12-16 11:51:57.732223",
+ "modified": "2020-11-25 11:56:06.777241",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Leave Encashment",
diff --git a/erpnext/hr/doctype/leave_encashment/leave_encashment.py b/erpnext/hr/doctype/leave_encashment/leave_encashment.py
index 8913c64..4c1a465 100644
--- a/erpnext/hr/doctype/leave_encashment/leave_encashment.py
+++ b/erpnext/hr/doctype/leave_encashment/leave_encashment.py
@@ -16,10 +16,16 @@
 	def validate(self):
 		set_employee_name(self)
 		self.get_leave_details_for_encashment()
+		self.validate_salary_structure()
 
 		if not self.encashment_date:
 			self.encashment_date = getdate(nowdate())
 
+	def validate_salary_structure(self):
+		if not frappe.db.exists('Salary Structure Assignment', {'employee': self.employee}):
+			frappe.throw(_("There is no Salary Structure assigned to {0}. First assign a Salary Stucture.").format(self.employee))
+
+
 	def before_submit(self):
 		if self.encashment_amount <= 0:
 			frappe.throw(_("You can only submit Leave Encashment for a valid encashment amount"))
@@ -30,9 +36,10 @@
 		additional_salary = frappe.new_doc("Additional Salary")
 		additional_salary.company = frappe.get_value("Employee", self.employee, "company")
 		additional_salary.employee = self.employee
+		additional_salary.currency = self.currency
 		earning_component = frappe.get_value("Leave Type", self.leave_type, "earning_component")
 		if not earning_component:
-			frappe.throw(_("Please set Earning Component for Leave type: {0}.".format(self.leave_type)))
+			frappe.throw(_("Please set Earning Component for Leave type: {0}.").format(self.leave_type))
 		additional_salary.salary_component = earning_component
 		additional_salary.payroll_date = self.encashment_date
 		additional_salary.amount = self.encashment_amount
@@ -98,7 +105,11 @@
 		create_leave_ledger_entry(self, args, submit)
 
 		# create reverse entry for expired leaves
-		to_date = self.get_leave_allocation().get('to_date')
+		leave_allocation = self.get_leave_allocation()
+		if not leave_allocation:
+			return
+
+		to_date = leave_allocation.get('to_date')
 		if to_date < getdate(nowdate()):
 			args = frappe._dict(
 				leaves=self.encashable_days,
diff --git a/erpnext/hr/doctype/leave_encashment/test_leave_encashment.py b/erpnext/hr/doctype/leave_encashment/test_leave_encashment.py
index 99f6463..aafc964 100644
--- a/erpnext/hr/doctype/leave_encashment/test_leave_encashment.py
+++ b/erpnext/hr/doctype/leave_encashment/test_leave_encashment.py
@@ -9,6 +9,7 @@
 from erpnext.hr.doctype.employee.test_employee import make_employee
 from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure
 from erpnext.hr.doctype.leave_period.test_leave_period import create_leave_period
+from erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment import create_assignment_for_multiple_employees
 from erpnext.hr.doctype.leave_policy.test_leave_policy import create_leave_policy\
 
 test_dependencies = ["Leave Type"]
@@ -16,6 +17,7 @@
 class TestLeaveEncashment(unittest.TestCase):
 	def setUp(self):
 		frappe.db.sql('''delete from `tabLeave Period`''')
+		frappe.db.sql('''delete from `tabLeave Policy Assignment`''')
 		frappe.db.sql('''delete from `tabLeave Allocation`''')
 		frappe.db.sql('''delete from `tabLeave Ledger Entry`''')
 		frappe.db.sql('''delete from `tabAdditional Salary`''')
@@ -29,14 +31,26 @@
 		# create employee, salary structure and assignment
 		self.employee = make_employee("test_employee_encashment@example.com")
 
-		frappe.db.set_value("Employee", self.employee, "leave_policy", leave_policy.name)
+		self.leave_period = create_leave_period(add_months(today(), -3), add_months(today(), 3))
+
+		data = {
+			"assignment_based_on": "Leave Period",
+			"leave_policy": leave_policy.name,
+			"leave_period": self.leave_period.name
+		}
+
+		leave_policy_assignments = create_assignment_for_multiple_employees([self.employee], frappe._dict(data))
 
 		salary_structure = make_salary_structure("Salary Structure for Encashment", "Monthly", self.employee,
 			other_details={"leave_encashment_amount_per_day": 50})
 
-		# create the leave period and assign the leaves
-		self.leave_period = create_leave_period(add_months(today(), -3), add_months(today(), 3))
-		self.leave_period.grant_leave_allocation(employee=self.employee)
+		#grant Leaves
+		frappe.get_doc("Leave Policy Assignment", leave_policy_assignments[0]).grant_leave_alloc_for_employee()
+
+
+	def tearDown(self):
+		for dt in ["Leave Period", "Leave Allocation", "Leave Ledger Entry", "Additional Salary", "Leave Encashment", "Salary Structure", "Leave Policy"]:
+			frappe.db.sql("delete from `tab%s`" % dt)
 
 	def test_leave_balance_value_and_amount(self):
 		frappe.db.sql('''delete from `tabLeave Encashment`''')
@@ -45,7 +59,8 @@
 			employee=self.employee,
 			leave_type="_Test Leave Type Encashment",
 			leave_period=self.leave_period.name,
-			payroll_date=today()
+			payroll_date=today(),
+			currency="INR"
 		)).insert()
 
 		self.assertEqual(leave_encashment.leave_balance, 10)
@@ -65,7 +80,8 @@
 			employee=self.employee,
 			leave_type="_Test Leave Type Encashment",
 			leave_period=self.leave_period.name,
-			payroll_date=today()
+			payroll_date=today(),
+			currency="INR"
 		)).insert()
 
 		leave_encashment.submit()
diff --git a/erpnext/hr/doctype/leave_period/leave_period.js b/erpnext/hr/doctype/leave_period/leave_period.js
index bad2b87..0e88bc1 100644
--- a/erpnext/hr/doctype/leave_period/leave_period.js
+++ b/erpnext/hr/doctype/leave_period/leave_period.js
@@ -2,14 +2,6 @@
 // For license information, please see license.txt
 
 frappe.ui.form.on('Leave Period', {
-	refresh: (frm)=>{
-		frm.set_df_property("grant_leaves", "hidden", frm.doc.__islocal ? 1:0);
-		if(!frm.is_new()) {
-			frm.add_custom_button(__('Grant Leaves'), function () {
-				frm.trigger("grant_leaves");
-			});
-		}
-	},
 	from_date: (frm)=>{
 		if (frm.doc.from_date && !frm.doc.to_date) {
 			var a_year_from_start = frappe.datetime.add_months(frm.doc.from_date, 12);
@@ -22,73 +14,7 @@
 				"filters": {
 					"company": frm.doc.company,
 				}
-			}
-		})
-	},
-	grant_leaves: function(frm) {
-		var d = new frappe.ui.Dialog({
-			title: __('Grant Leaves'),
-			fields: [
-				{
-					"label": "Filter Employees By (Optional)",
-					"fieldname": "sec_break",
-					"fieldtype": "Section Break",
-				},
-				{
-					"label": "Employee Grade",
-					"fieldname": "grade",
-					"fieldtype": "Link",
-					"options": "Employee Grade"
-				},
-				{
-					"label": "Department",
-					"fieldname": "department",
-					"fieldtype": "Link",
-					"options": "Department"
-				},
-				{
-					"fieldname": "col_break",
-					"fieldtype": "Column Break",
-				},
-				{
-					"label": "Designation",
-					"fieldname": "designation",
-					"fieldtype": "Link",
-					"options": "Designation"
-				},
-				{
-					"label": "Employee",
-					"fieldname": "employee",
-					"fieldtype": "Link",
-					"options": "Employee"
-				},
-				{
-					"fieldname": "sec_break",
-					"fieldtype": "Section Break",
-				},
-				{
-					"label": "Add unused leaves from previous allocations",
-					"fieldname": "carry_forward",
-					"fieldtype": "Check"
-				}
-			],
-			primary_action: function() {
-				var data = d.get_values();
-
-				frappe.call({
-					doc: frm.doc,
-					method: "grant_leave_allocation",
-					args: data,
-					callback: function(r) {
-						if(!r.exc) {
-							d.hide();
-							frm.reload_doc();
-						}
-					}
-				});
-			},
-			primary_action_label: __('Grant')
+			};
 		});
-		d.show();
-	}
+	},
 });
diff --git a/erpnext/hr/doctype/leave_period/leave_period.py b/erpnext/hr/doctype/leave_period/leave_period.py
index 0973ac7..28a33f6 100644
--- a/erpnext/hr/doctype/leave_period/leave_period.py
+++ b/erpnext/hr/doctype/leave_period/leave_period.py
@@ -7,24 +7,10 @@
 from frappe import _
 from frappe.utils import getdate, cstr, add_days, date_diff, getdate, ceil
 from frappe.model.document import Document
-from erpnext.hr.utils import validate_overlap, get_employee_leave_policy
+from erpnext.hr.utils import validate_overlap
 from frappe.utils.background_jobs import enqueue
-from six import iteritems
 
 class LeavePeriod(Document):
-	def get_employees(self, args):
-		conditions, values = [], []
-		for field, value in iteritems(args):
-			if value:
-				conditions.append("{0}=%s".format(field))
-				values.append(value)
-
-		condition_str = " and " + " and ".join(conditions) if len(conditions) else ""
-
-		employees = frappe._dict(frappe.db.sql("select name, date_of_joining from tabEmployee where status='Active' {condition}" #nosec
-			.format(condition=condition_str), tuple(values)))
-
-		return employees
 
 	def validate(self):
 		self.validate_dates()
@@ -33,96 +19,3 @@
 	def validate_dates(self):
 		if getdate(self.from_date) >= getdate(self.to_date):
 			frappe.throw(_("To date can not be equal or less than from date"))
-
-
-	def grant_leave_allocation(self, grade=None, department=None, designation=None,
-			employee=None, carry_forward=0):
-		employee_records = self.get_employees({
-			"grade": grade,
-			"department": department,
-			"designation": designation,
-			"name": employee
-		})
-
-		if employee_records:
-			if len(employee_records) > 20:
-				frappe.enqueue(grant_leave_alloc_for_employees, timeout=600,
-					employee_records=employee_records, leave_period=self, carry_forward=carry_forward)
-			else:
-				grant_leave_alloc_for_employees(employee_records, self, carry_forward)
-		else:
-			frappe.msgprint(_("No Employee Found"))
-
-def grant_leave_alloc_for_employees(employee_records, leave_period, carry_forward=0):
-	leave_allocations = []
-	existing_allocations_for = get_existing_allocations(list(employee_records.keys()), leave_period.name)
-	leave_type_details = get_leave_type_details()
-	count = 0
-	for employee in employee_records.keys():
-		if employee in existing_allocations_for:
-			continue
-		count +=1
-		leave_policy = get_employee_leave_policy(employee)
-		if leave_policy:
-			for leave_policy_detail in leave_policy.leave_policy_details:
-				if not leave_type_details.get(leave_policy_detail.leave_type).is_lwp:
-					leave_allocation = create_leave_allocation(employee, leave_policy_detail.leave_type,
-						leave_policy_detail.annual_allocation, leave_type_details, leave_period, carry_forward, employee_records.get(employee))
-					leave_allocations.append(leave_allocation)
-		frappe.db.commit()
-		frappe.publish_progress(count*100/len(set(employee_records.keys()) - set(existing_allocations_for)), title = _("Allocating leaves..."))
-
-	if leave_allocations:
-		frappe.msgprint(_("Leaves has been granted sucessfully"))
-
-def get_existing_allocations(employees, leave_period):
-	leave_allocations = frappe.db.sql_list("""
-		SELECT DISTINCT
-			employee
-		FROM `tabLeave Allocation`
-		WHERE
-			leave_period=%s
-			AND employee in (%s)
-			AND carry_forward=0
-			AND docstatus=1
-	""" % ('%s', ', '.join(['%s']*len(employees))), [leave_period] + employees)
-	if leave_allocations:
-		frappe.msgprint(_("Skipping Leave Allocation for the following employees, as Leave Allocation records already exists against them. {0}")
-			.format("\n".join(leave_allocations)))
-	return leave_allocations
-
-def get_leave_type_details():
-	leave_type_details = frappe._dict()
-	leave_types = frappe.get_all("Leave Type",
-		fields=["name", "is_lwp", "is_earned_leave", "is_compensatory", "is_carry_forward", "expire_carry_forwarded_leaves_after_days"])
-	for d in leave_types:
-		leave_type_details.setdefault(d.name, d)
-	return leave_type_details
-
-def create_leave_allocation(employee, leave_type, new_leaves_allocated, leave_type_details, leave_period, carry_forward, date_of_joining):
-	''' Creates leave allocation for the given employee in the provided leave period '''
-	if carry_forward and not leave_type_details.get(leave_type).is_carry_forward:
-		carry_forward = 0
-
-	# Calculate leaves at pro-rata basis for employees joining after the beginning of the given leave period
-	if getdate(date_of_joining) > getdate(leave_period.from_date):
-		remaining_period = ((date_diff(leave_period.to_date, date_of_joining) + 1) / (date_diff(leave_period.to_date, leave_period.from_date) + 1))
-		new_leaves_allocated = ceil(new_leaves_allocated * remaining_period)
-
-	# Earned Leaves and Compensatory Leaves are allocated by scheduler, initially allocate 0
-	if leave_type_details.get(leave_type).is_earned_leave == 1 or leave_type_details.get(leave_type).is_compensatory == 1:
-		new_leaves_allocated = 0
-
-	allocation = frappe.get_doc(dict(
-		doctype="Leave Allocation",
-		employee=employee,
-		leave_type=leave_type,
-		from_date=leave_period.from_date,
-		to_date=leave_period.to_date,
-		new_leaves_allocated=new_leaves_allocated,
-		leave_period=leave_period.name,
-		carry_forward=carry_forward
-		))
-	allocation.save(ignore_permissions = True)
-	allocation.submit()
-	return allocation.name
\ No newline at end of file
diff --git a/erpnext/hr/doctype/leave_period/test_leave_period.py b/erpnext/hr/doctype/leave_period/test_leave_period.py
index 1762cf9..b5857bc 100644
--- a/erpnext/hr/doctype/leave_period/test_leave_period.py
+++ b/erpnext/hr/doctype/leave_period/test_leave_period.py
@@ -5,43 +5,11 @@
 
 import frappe, erpnext
 import unittest
-from frappe.utils import today, add_months
-from erpnext.hr.doctype.employee.test_employee import make_employee
-from erpnext.hr.doctype.leave_application.leave_application import get_leave_balance_on
 
 test_dependencies = ["Employee", "Leave Type", "Leave Policy"]
 
 class TestLeavePeriod(unittest.TestCase):
-	def setUp(self):
-		frappe.db.sql("delete from `tabLeave Period`")
-
-	def test_leave_grant(self):
-		leave_type = "_Test Leave Type"
-
-		# create the leave policy
-		leave_policy = frappe.get_doc({
-			"doctype": "Leave Policy",
-			"leave_policy_details": [{
-				"leave_type": leave_type,
-				"annual_allocation": 20
-			}]
-		}).insert()
-		leave_policy.submit()
-
-		# create employee and assign the leave period
-		employee = "test_leave_period@employee.com"
-		employee_doc_name = make_employee(employee)
-		frappe.db.set_value("Employee", employee_doc_name, "leave_policy", leave_policy.name)
-
-		# clear the already allocated leave
-		frappe.db.sql('''delete from `tabLeave Allocation` where employee=%s''', "test_leave_period@employee.com")
-
-		# create the leave period
-		leave_period = create_leave_period(add_months(today(), -3), add_months(today(), 3))
-
-		# test leave_allocation
-		leave_period.grant_leave_allocation(employee=employee_doc_name)
-		self.assertEqual(get_leave_balance_on(employee_doc_name, leave_type, today()), 20)
+	pass
 
 def create_leave_period(from_date, to_date, company=None):
 	leave_period = frappe.db.get_value('Leave Period',
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/hr/doctype/leave_policy_assignment/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/hr/doctype/leave_policy_assignment/__init__.py
diff --git a/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.js b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.js
new file mode 100644
index 0000000..7c32a0d
--- /dev/null
+++ b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.js
@@ -0,0 +1,72 @@
+// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Leave Policy Assignment', {
+	onload: function(frm) {
+		frm.ignore_doctypes_on_cancel_all = ["Leave Ledger Entry"];
+	},
+
+	refresh: function(frm) {
+		if (frm.doc.docstatus === 1 && frm.doc.leaves_allocated === 0) {
+			frm.add_custom_button(__("Grant Leave"), function() {
+
+				frappe.call({
+					doc: frm.doc,
+					method: "grant_leave_alloc_for_employee",
+					callback: function(r) {
+						let leave_allocations = r.message;
+						let msg = frm.events.get_success_message(leave_allocations);
+						frappe.msgprint(msg);
+						cur_frm.refresh();
+					}
+				});
+			});
+		}
+	},
+
+	get_success_message: function(leave_allocations) {
+		let msg = __("Leaves has been granted successfully");
+		msg += "<br><table class='table table-bordered'>";
+		msg += "<tr><th>"+__('Leave Type')+"</th><th>"+__("Leave Allocation")+"</th><th>"+__("Leaves Granted")+"</th><tr>";
+		for (let key in leave_allocations) {
+			msg += "<tr><th>"+key+"</th><td>"+leave_allocations[key]["name"]+"</td><td>"+leave_allocations[key]["leaves"]+"</td></tr>";
+		}
+		msg += "</table>";
+		return msg;
+	},
+
+	assignment_based_on: function(frm) {
+		if (frm.doc.assignment_based_on) {
+			frm.events.set_effective_date(frm);
+		} else {
+			frm.set_value("effective_from", '');
+			frm.set_value("effective_to", '');
+		}
+	},
+
+	leave_period: function(frm) {
+		if (frm.doc.leave_period) {
+			frm.events.set_effective_date(frm);
+		}
+	},
+
+	set_effective_date: function(frm) {
+		if (frm.doc.assignment_based_on == "Leave Period" && frm.doc.leave_period) {
+			frappe.model.with_doc("Leave Period", frm.doc.leave_period, function () {
+				let from_date = frappe.model.get_value("Leave Period", frm.doc.leave_period, "from_date");
+				let to_date = frappe.model.get_value("Leave Period", frm.doc.leave_period, "to_date");
+				frm.set_value("effective_from", from_date);
+				frm.set_value("effective_to", to_date);
+
+			});
+		} else if (frm.doc.assignment_based_on == "Joining Date" && frm.doc.employee) {
+			frappe.model.with_doc("Employee", frm.doc.employee, function () {
+				let from_date = frappe.model.get_value("Employee", frm.doc.employee, "date_of_joining");
+				frm.set_value("effective_from", from_date);
+				frm.set_value("effective_to", frappe.datetime.add_months(frm.doc.effective_from, 12));
+			});
+		}
+		frm.refresh();
+	}
+
+});
diff --git a/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.json b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.json
new file mode 100644
index 0000000..ecebb3b
--- /dev/null
+++ b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.json
@@ -0,0 +1,160 @@
+{
+ "actions": [],
+ "autoname": "HR-LPOL-ASSGN-.#####",
+ "creation": "2020-08-19 13:02:43.343666",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "employee",
+  "employee_name",
+  "company",
+  "leave_policy",
+  "carry_forward",
+  "column_break_5",
+  "assignment_based_on",
+  "leave_period",
+  "effective_from",
+  "effective_to",
+  "leaves_allocated",
+  "amended_from"
+ ],
+ "fields": [
+  {
+   "fieldname": "employee",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "in_standard_filter": 1,
+   "label": "Employee",
+   "options": "Employee",
+   "reqd": 1
+  },
+  {
+   "fetch_from": "employee.employee_name",
+   "fieldname": "employee_name",
+   "fieldtype": "Data",
+   "label": "Employee name",
+   "read_only": 1
+  },
+  {
+   "fieldname": "leave_policy",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "in_standard_filter": 1,
+   "label": "Leave Policy",
+   "options": "Leave Policy",
+   "reqd": 1
+  },
+  {
+   "fieldname": "assignment_based_on",
+   "fieldtype": "Select",
+   "label": "Assignment based on",
+   "options": "\nLeave Period\nJoining Date"
+  },
+  {
+   "depends_on": "eval:doc.assignment_based_on == \"Leave Period\"",
+   "fieldname": "leave_period",
+   "fieldtype": "Link",
+   "label": "Leave Period",
+   "mandatory_depends_on": "eval:doc.assignment_based_on == \"Leave Period\"",
+   "options": "Leave Period"
+  },
+  {
+   "fieldname": "effective_from",
+   "fieldtype": "Date",
+   "label": "Effective From",
+   "read_only_depends_on": "eval:doc.assignment_based_on",
+   "reqd": 1
+  },
+  {
+   "fieldname": "effective_to",
+   "fieldtype": "Date",
+   "label": "Effective To",
+   "read_only_depends_on": "eval:doc.assignment_based_on == \"Leave Period\"",
+   "reqd": 1
+  },
+  {
+   "fetch_from": "employee.company",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_standard_filter": 1,
+   "label": "Company",
+   "options": "Company",
+   "read_only": 1
+  },
+  {
+   "fieldname": "column_break_5",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "label": "Amended From",
+   "no_copy": 1,
+   "options": "Leave Policy Assignment",
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "default": "0",
+   "fieldname": "carry_forward",
+   "fieldtype": "Check",
+   "label": "Add unused leaves from previous allocations"
+  },
+  {
+   "default": "0",
+   "fieldname": "leaves_allocated",
+   "fieldtype": "Check",
+   "hidden": 1,
+   "label": "Leaves Allocated"
+  }
+ ],
+ "is_submittable": 1,
+ "links": [],
+ "modified": "2020-10-15 15:18:15.227848",
+ "modified_by": "Administrator",
+ "module": "HR",
+ "name": "Leave Policy Assignment",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "HR Manager",
+   "share": 1,
+   "write": 1
+  },
+  {
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "HR User",
+   "share": 1,
+   "write": 1
+  },
+  {
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "share": 1,
+   "write": 1
+  }
+ ],
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.py b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.py
new file mode 100644
index 0000000..a5068bc
--- /dev/null
+++ b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment.py
@@ -0,0 +1,163 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.model.document import Document
+from frappe import _, bold
+from frappe.utils import getdate, date_diff, comma_and, formatdate
+from math import ceil
+import json
+from six import string_types
+
+class LeavePolicyAssignment(Document):
+
+	def validate(self):
+		self.validate_policy_assignment_overlap()
+		self.set_dates()
+
+	def set_dates(self):
+		if self.assignment_based_on == "Leave Period":
+			self.effective_from, self.effective_to = frappe.db.get_value("Leave Period", self.leave_period, ["from_date", "to_date"])
+		elif self.assignment_based_on == "Joining Date":
+			self.effective_from = frappe.db.get_value("Employee", self.employee, "date_of_joining")
+
+	def validate_policy_assignment_overlap(self):
+		leave_policy_assignments = frappe.get_all("Leave Policy Assignment", filters = {
+			"employee": self.employee,
+			"name": ("!=", self.name),
+			"docstatus": 1,
+			"effective_to": (">=", self.effective_from),
+			"effective_from": ("<=", self.effective_to)
+		})
+
+		if len(leave_policy_assignments):
+			frappe.throw(_("Leave Policy: {0} already assigned for Employee {1} for period {2} to {3}")
+				.format(bold(self.leave_policy), bold(self.employee), bold(formatdate(self.effective_from)), bold(formatdate(self.effective_to))))
+
+	def grant_leave_alloc_for_employee(self):
+		if self.leaves_allocated:
+			frappe.throw(_("Leave already have been assigned for this Leave Policy Assignment"))
+		else:
+			leave_allocations = {}
+			leave_type_details = get_leave_type_details()
+
+			leave_policy = frappe.get_doc("Leave Policy", self.leave_policy)
+			date_of_joining = frappe.db.get_value("Employee", self.employee, "date_of_joining")
+
+			for leave_policy_detail in leave_policy.leave_policy_details:
+				if not leave_type_details.get(leave_policy_detail.leave_type).is_lwp:
+					leave_allocation, new_leaves_allocated = self.create_leave_allocation(
+						leave_policy_detail.leave_type, leave_policy_detail.annual_allocation,
+						leave_type_details, date_of_joining
+					)
+
+				leave_allocations[leave_policy_detail.leave_type] = {"name": leave_allocation, "leaves": new_leaves_allocated}
+
+			self.db_set("leaves_allocated", 1)
+			return leave_allocations
+
+	def create_leave_allocation(self, leave_type, new_leaves_allocated, leave_type_details, date_of_joining):
+		# Creates leave allocation for the given employee in the provided leave period
+		carry_forward = self.carry_forward
+		if self.carry_forward and not leave_type_details.get(leave_type).is_carry_forward:
+			carry_forward = 0
+
+		new_leaves_allocated = self.get_new_leaves(leave_type, new_leaves_allocated,
+			leave_type_details, date_of_joining)
+
+		allocation = frappe.get_doc(dict(
+			doctype="Leave Allocation",
+			employee=self.employee,
+			leave_type=leave_type,
+			from_date=self.effective_from,
+			to_date=self.effective_to,
+			new_leaves_allocated=new_leaves_allocated,
+			leave_period=self.leave_period or None,
+			leave_policy_assignment = self.name,
+			leave_policy = self.leave_policy,
+			carry_forward=carry_forward
+			))
+		allocation.save(ignore_permissions = True)
+		allocation.submit()
+		return allocation.name, new_leaves_allocated
+
+	def get_new_leaves(self, leave_type, new_leaves_allocated, leave_type_details, date_of_joining):
+		# Calculate leaves at pro-rata basis for employees joining after the beginning of the given leave period
+		if getdate(date_of_joining) > getdate(self.effective_from):
+			remaining_period = ((date_diff(self.effective_to, date_of_joining) + 1) / (date_diff(self.effective_to, self.effective_from) + 1))
+			new_leaves_allocated = ceil(new_leaves_allocated * remaining_period)
+
+		# Earned Leaves and Compensatory Leaves are allocated by scheduler, initially allocate 0
+		if leave_type_details.get(leave_type).is_earned_leave == 1 or leave_type_details.get(leave_type).is_compensatory == 1:
+			new_leaves_allocated = 0
+
+		return new_leaves_allocated
+
+@frappe.whitelist()
+def grant_leave_for_multiple_employees(leave_policy_assignments):
+	leave_policy_assignments = json.loads(leave_policy_assignments)
+	not_granted = []
+	for assignment in leave_policy_assignments:
+		try:
+			frappe.get_doc("Leave Policy Assignment", assignment).grant_leave_alloc_for_employee()
+		except Exception:
+			not_granted.append(assignment)
+
+		if len(not_granted):
+			msg = _("Leave not Granted for Assignments:")+ bold(comma_and(not_granted)) + _(". Please Check documents")
+		else:
+			msg = _("Leave granted Successfully")
+	frappe.msgprint(msg)
+
+@frappe.whitelist()
+def create_assignment_for_multiple_employees(employees, data):
+
+	if isinstance(employees, string_types):
+		employees= json.loads(employees)
+
+	if isinstance(data, string_types):
+		data = frappe._dict(json.loads(data))
+
+	docs_name = []
+	for employee in employees:
+		assignment = frappe.new_doc("Leave Policy Assignment")
+		assignment.employee = employee
+		assignment.assignment_based_on = data.assignment_based_on or None
+		assignment.leave_policy = data.leave_policy
+		assignment.effective_from = getdate(data.effective_from) or None
+		assignment.effective_to = getdate(data.effective_to) or None
+		assignment.leave_period = data.leave_period or None
+		assignment.carry_forward = data.carry_forward
+
+		assignment.save()
+		assignment.submit()
+		docs_name.append(assignment.name)
+	return docs_name
+
+
+def automatically_allocate_leaves_based_on_leave_policy():
+	today = getdate()
+	automatically_allocate_leaves_based_on_leave_policy = frappe.db.get_single_value(
+		'HR Settings', 'automatically_allocate_leaves_based_on_leave_policy'
+	)
+
+	pending_assignments = frappe.get_list(
+		"Leave Policy Assignment",
+		filters = {"docstatus": 1, "leaves_allocated": 0, "effective_from": today}
+	)
+
+	if len(pending_assignments) and automatically_allocate_leaves_based_on_leave_policy:
+		for assignment in pending_assignments:
+			frappe.get_doc("Leave Policy Assignment", assignment.name).grant_leave_alloc_for_employee()
+
+
+def get_leave_type_details():
+	leave_type_details = frappe._dict()
+	leave_types = frappe.get_all("Leave Type",
+		fields=["name", "is_lwp", "is_earned_leave", "is_compensatory", "is_carry_forward", "expire_carry_forwarded_leaves_after_days"])
+	for d in leave_types:
+		leave_type_details.setdefault(d.name, d)
+	return leave_type_details
+
diff --git a/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment_list.js b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment_list.js
new file mode 100644
index 0000000..468f243
--- /dev/null
+++ b/erpnext/hr/doctype/leave_policy_assignment/leave_policy_assignment_list.js
@@ -0,0 +1,138 @@
+frappe.listview_settings['Leave Policy Assignment'] = {
+	onload: function (list_view) {
+		let me = this;
+		list_view.page.add_inner_button(__("Bulk Leave Policy Assignment"), function () {
+			me.dialog = new frappe.ui.form.MultiSelectDialog({
+				doctype: "Employee",
+				target: cur_list,
+				setters: {
+					company: '',
+					department: '',
+				},
+				data_fields: [{
+					fieldname: 'leave_policy',
+					fieldtype: 'Link',
+					options: 'Leave Policy',
+					label: __('Leave Policy'),
+					reqd: 1
+				},
+				{
+					fieldname: 'assignment_based_on',
+					fieldtype: 'Select',
+					options: ["", "Leave Period"],
+					label: __('Assignment Based On'),
+					onchange: () => {
+						if (cur_dialog.fields_dict.assignment_based_on.value === "Leave Period") {
+							cur_dialog.set_df_property("effective_from", "read_only", 1);
+							cur_dialog.set_df_property("leave_period", "reqd", 1);
+							cur_dialog.set_df_property("effective_to", "read_only", 1);
+						} else {
+							cur_dialog.set_df_property("effective_from", "read_only", 0);
+							cur_dialog.set_df_property("leave_period", "reqd", 0);
+							cur_dialog.set_df_property("effective_to", "read_only", 0);
+							cur_dialog.set_value("effective_from", "");
+							cur_dialog.set_value("effective_to", "");
+						}
+					}
+				},
+				{
+					fieldname: "leave_period",
+					fieldtype: 'Link',
+					options: "Leave Period",
+					label: __('Leave Period'),
+					depends_on: doc => {
+						return doc.assignment_based_on == 'Leave Period';
+					},
+					onchange: () => {
+						if (cur_dialog.fields_dict.leave_period.value) {
+							me.set_effective_date();
+						}
+					}
+				},
+				{
+					fieldtype: "Column Break"
+				},
+				{
+					fieldname: 'effective_from',
+					fieldtype: 'Date',
+					label: __('Effective From'),
+					reqd: 1
+				},
+				{
+					fieldname: 'effective_to',
+					fieldtype: 'Date',
+					label: __('Effective To'),
+					reqd: 1
+				},
+				{
+					fieldname: 'carry_forward',
+					fieldtype: 'Check',
+					label: __('Add unused leaves from previous allocations')
+				}
+				],
+				get_query() {
+					return {
+						filters: {
+							status: ['=', 'Active']
+						}
+					};
+				},
+				add_filters_group: 1,
+				primary_action_label: "Assign",
+				action(employees, data) {
+					frappe.call({
+						method: 'erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment.create_assignment_for_multiple_employees',
+						async: false,
+						args: {
+							employees: employees,
+							data: data
+						}
+					});
+					cur_dialog.hide();
+				}
+			});
+		});
+
+		list_view.page.add_inner_button(__("Grant Leaves"), function () {
+			me.dialog = new frappe.ui.form.MultiSelectDialog({
+				doctype: "Leave Policy Assignment",
+				target: cur_list,
+				setters: {
+					company: '',
+					employee: '',
+				},
+				get_query() {
+					return {
+						filters: {
+							docstatus: ['=', 1],
+							leaves_allocated: ['=', 0]
+						}
+					};
+				},
+				add_filters_group: 1,
+				primary_action_label: "Grant Leaves",
+				action(leave_policy_assignments) {
+					frappe.call({
+						method: 'erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment.grant_leave_for_multiple_employees',
+						async: false,
+						args: {
+							leave_policy_assignments: leave_policy_assignments
+						}
+					});
+					me.dialog.hide();
+				}
+			});
+		});
+	},
+
+	set_effective_date: function () {
+		if (cur_dialog.fields_dict.assignment_based_on.value === "Leave Period" && cur_dialog.fields_dict.leave_period.value) {
+			frappe.model.with_doc("Leave Period", cur_dialog.fields_dict.leave_period.value, function () {
+				let from_date = frappe.model.get_value("Leave Period", cur_dialog.fields_dict.leave_period.value, "from_date");
+				let to_date = frappe.model.get_value("Leave Period", cur_dialog.fields_dict.leave_period.value, "to_date");
+				cur_dialog.set_value("effective_from", from_date);
+				cur_dialog.set_value("effective_to", to_date);
+			});
+		}
+	}
+};
\ No newline at end of file
diff --git a/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py b/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py
new file mode 100644
index 0000000..c7bc6fb
--- /dev/null
+++ b/erpnext/hr/doctype/leave_policy_assignment/test_leave_policy_assignment.py
@@ -0,0 +1,103 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+import frappe
+import unittest
+from erpnext.hr.doctype.leave_application.test_leave_application import get_leave_period, get_employee
+from erpnext.hr.doctype.leave_policy_assignment.leave_policy_assignment import create_assignment_for_multiple_employees
+from erpnext.hr.doctype.leave_policy.test_leave_policy import create_leave_policy
+
+class TestLeavePolicyAssignment(unittest.TestCase):
+
+	def setUp(self):
+		for doctype in ["Leave Application", "Leave Allocation", "Leave Policy Assignment", "Leave Ledger Entry"]:
+			frappe.db.sql("delete from `tab{0}`".format(doctype)) #nosec
+
+	def test_grant_leaves(self):
+		leave_period = get_leave_period()
+		employee = get_employee()
+
+		# create the leave policy with leave type "_Test Leave Type", allocation = 10
+		leave_policy = create_leave_policy()
+		leave_policy.submit()
+
+
+		data = {
+			"assignment_based_on": "Leave Period",
+			"leave_policy": leave_policy.name,
+			"leave_period": leave_period.name
+		}
+
+		leave_policy_assignments = create_assignment_for_multiple_employees([employee.name], frappe._dict(data))
+
+		leave_policy_assignment_doc = frappe.get_doc("Leave Policy Assignment", leave_policy_assignments[0])
+		leave_policy_assignment_doc.grant_leave_alloc_for_employee()
+		leave_policy_assignment_doc.reload()
+
+		self.assertEqual(leave_policy_assignment_doc.leaves_allocated, 1)
+
+		leave_allocation = frappe.get_list("Leave Allocation", filters={
+			"employee": employee.name,
+			"leave_policy":leave_policy.name,
+			"leave_policy_assignment": leave_policy_assignments[0],
+			"docstatus": 1})[0]
+
+		leave_alloc_doc = frappe.get_doc("Leave Allocation", leave_allocation)
+
+		self.assertEqual(leave_alloc_doc.new_leaves_allocated, 10)
+		self.assertEqual(leave_alloc_doc.leave_type, "_Test Leave Type")
+		self.assertEqual(leave_alloc_doc.from_date, leave_period.from_date)
+		self.assertEqual(leave_alloc_doc.to_date, leave_period.to_date)
+		self.assertEqual(leave_alloc_doc.leave_policy, leave_policy.name)
+		self.assertEqual(leave_alloc_doc.leave_policy_assignment, leave_policy_assignments[0])
+
+	def test_allow_to_grant_all_leave_after_cancellation_of_every_leave_allocation(self):
+		leave_period = get_leave_period()
+		employee = get_employee()
+
+		# create the leave policy with leave type "_Test Leave Type", allocation = 10
+		leave_policy = create_leave_policy()
+		leave_policy.submit()
+
+
+		data = {
+			"assignment_based_on": "Leave Period",
+			"leave_policy": leave_policy.name,
+			"leave_period": leave_period.name
+		}
+
+		leave_policy_assignments = create_assignment_for_multiple_employees([employee.name], frappe._dict(data))
+
+		leave_policy_assignment_doc = frappe.get_doc("Leave Policy Assignment", leave_policy_assignments[0])
+		leave_policy_assignment_doc.grant_leave_alloc_for_employee()
+		leave_policy_assignment_doc.reload()
+
+
+		# every leave is allocated no more leave can be granted now
+		self.assertEqual(leave_policy_assignment_doc.leaves_allocated, 1)
+
+		leave_allocation = frappe.get_list("Leave Allocation", filters={
+			"employee": employee.name,
+			"leave_policy":leave_policy.name,
+			"leave_policy_assignment": leave_policy_assignments[0],
+			"docstatus": 1})[0]
+
+		leave_alloc_doc = frappe.get_doc("Leave Allocation", leave_allocation)
+
+		# User all allowed to grant leave when there is no allocation against assignment
+		leave_alloc_doc.cancel()
+		leave_alloc_doc.delete()
+
+		leave_policy_assignment_doc.reload()
+
+
+		# User are now allowed to grant leave
+		self.assertEqual(leave_policy_assignment_doc.leaves_allocated, 0)
+
+	def tearDown(self):
+		for doctype in ["Leave Application", "Leave Allocation", "Leave Policy Assignment", "Leave Ledger Entry"]:
+			frappe.db.sql("delete from `tab{0}`".format(doctype)) #nosec
+
+
diff --git a/erpnext/hr/doctype/leave_type/leave_type.json b/erpnext/hr/doctype/leave_type/leave_type.json
index 0af832f..a209291 100644
--- a/erpnext/hr/doctype/leave_type/leave_type.json
+++ b/erpnext/hr/doctype/leave_type/leave_type.json
@@ -15,6 +15,8 @@
   "column_break_3",
   "is_carry_forward",
   "is_lwp",
+  "is_ppl",
+  "fraction_of_daily_salary_per_leave",
   "is_optional_leave",
   "allow_negative",
   "include_holiday",
@@ -31,6 +33,7 @@
   "is_earned_leave",
   "earned_leave_frequency",
   "column_break_22",
+  "based_on_date_of_joining",
   "rounding"
  ],
  "fields": [
@@ -77,6 +80,7 @@
   },
   {
    "default": "0",
+   "depends_on": "eval:doc.is_ppl == 0",
    "fieldname": "is_lwp",
    "fieldtype": "Check",
    "label": "Is Leave Without Pay"
@@ -183,12 +187,33 @@
   {
    "fieldname": "column_break_22",
    "fieldtype": "Column Break"
+  },
+  {
+   "default": "0",
+   "depends_on": "eval:doc.is_earned_leave",
+   "description": "If checked, leave will be granted on the day of joining every month.",
+   "fieldname": "based_on_date_of_joining",
+   "fieldtype": "Check",
+   "label": "Based On Date Of Joining"
+  },
+  {
+   "depends_on": "eval:doc.is_lwp == 0",
+   "fieldname": "is_ppl",
+   "fieldtype": "Check",
+   "label": "Is Partially Paid Leave"
+  },
+  {
+   "depends_on": "eval:doc.is_ppl == 1",
+   "fieldname": "fraction_of_daily_salary_per_leave",
+   "fieldtype": "Float",
+   "label": "Fraction of Daily Salary per Leave",
+   "mandatory_depends_on": "eval:doc.is_ppl == 1"
   }
  ],
  "icon": "fa fa-flag",
  "idx": 1,
  "links": [],
- "modified": "2019-12-12 12:48:37.780254",
+ "modified": "2020-10-15 15:49:47.555105",
  "modified_by": "Administrator",
  "module": "HR",
  "name": "Leave Type",
diff --git a/erpnext/hr/doctype/leave_type/leave_type.py b/erpnext/hr/doctype/leave_type/leave_type.py
index c0d1296..21f180b 100644
--- a/erpnext/hr/doctype/leave_type/leave_type.py
+++ b/erpnext/hr/doctype/leave_type/leave_type.py
@@ -21,3 +21,9 @@
 			leave_allocation = [l['name'] for l in leave_allocation]
 			if leave_allocation:
 				frappe.throw(_('Leave application is linked with leave allocations {0}. Leave application cannot be set as leave without pay').format(", ".join(leave_allocation))) #nosec
+
+		if self.is_lwp and self.is_ppl:
+			frappe.throw(_("Leave Type can be either without pay or partial pay"))
+
+		if self.is_ppl and (self.fraction_of_daily_salary_per_leave < 0 or  self.fraction_of_daily_salary_per_leave > 1):
+			frappe.throw(_("The fraction of Daily Salary per Leave should be between 0 and 1"))
diff --git a/erpnext/hr/doctype/leave_type/test_leave_type.py b/erpnext/hr/doctype/leave_type/test_leave_type.py
index 0c4f435..7fef297 100644
--- a/erpnext/hr/doctype/leave_type/test_leave_type.py
+++ b/erpnext/hr/doctype/leave_type/test_leave_type.py
@@ -18,9 +18,14 @@
         "allow_encashment": args.allow_encashment or 0,
         "is_earned_leave": args.is_earned_leave or 0,
         "is_lwp": args.is_lwp or 0,
+        "is_ppl":args.is_ppl or 0,
         "is_carry_forward": args.is_carry_forward or 0,
         "expire_carry_forwarded_leaves_after_days": args.expire_carry_forwarded_leaves_after_days or 0,
         "encashment_threshold_days": args.encashment_threshold_days or 5,
         "earning_component": "Leave Encashment"
     })
+
+    if leave_type.is_ppl:
+        leave_type.fraction_of_daily_salary_per_leave = args.fraction_of_daily_salary_per_leave or 0.5
+
     return leave_type
\ No newline at end of file
diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.js b/erpnext/hr/doctype/upload_attendance/upload_attendance.js
index 9df2948..29aa854 100644
--- a/erpnext/hr/doctype/upload_attendance/upload_attendance.js
+++ b/erpnext/hr/doctype/upload_attendance/upload_attendance.js
@@ -24,10 +24,10 @@
 		}
 		window.location.href = repl(frappe.request.url +
 			'?cmd=%(cmd)s&from_date=%(from_date)s&to_date=%(to_date)s', {
-				cmd: "erpnext.hr.doctype.upload_attendance.upload_attendance.get_template",
-				from_date: this.frm.doc.att_fr_date,
-				to_date: this.frm.doc.att_to_date,
-			});
+			cmd: "erpnext.hr.doctype.upload_attendance.upload_attendance.get_template",
+			from_date: this.frm.doc.att_fr_date,
+			to_date: this.frm.doc.att_to_date,
+		});
 	},
 
 	show_upload() {
diff --git a/erpnext/hr/doctype/upload_attendance/upload_attendance.py b/erpnext/hr/doctype/upload_attendance/upload_attendance.py
index edf05e8..674c8e3 100644
--- a/erpnext/hr/doctype/upload_attendance/upload_attendance.py
+++ b/erpnext/hr/doctype/upload_attendance/upload_attendance.py
@@ -28,7 +28,12 @@
 	w = UnicodeWriter()
 	w = add_header(w)
 
-	w = add_data(w, args)
+	try:
+		w = add_data(w, args)
+	except Exception as e:
+		frappe.clear_messages()
+		frappe.respond_as_web_page("Holiday List Missing", html=e)
+		return
 
 	# write out response as a type csv
 	frappe.response['result'] = cstr(w.getvalue())
diff --git a/erpnext/hr/utils.py b/erpnext/hr/utils.py
index 8d95924..d700e7f 100644
--- a/erpnext/hr/utils.py
+++ b/erpnext/hr/utils.py
@@ -215,19 +215,6 @@
 		+ _(") for {0}").format(exists_for)
 	frappe.throw(msg)
 
-def get_employee_leave_policy(employee):
-	leave_policy = frappe.db.get_value("Employee", employee, "leave_policy")
-	if not leave_policy:
-		employee_grade = frappe.db.get_value("Employee", employee, "grade")
-		if employee_grade:
-			leave_policy = frappe.db.get_value("Employee Grade", employee_grade, "default_leave_policy")
-			if not leave_policy:
-				frappe.throw(_("Employee {0} of grade {1} have no default leave policy").format(employee, employee_grade))
-	if leave_policy:
-		return frappe.get_doc("Leave Policy", leave_policy)
-	else:
-		frappe.throw(_("Please set leave policy for employee {0} in Employee / Grade record").format(employee))
-
 def validate_duplicate_exemption_for_payroll_period(doctype, docname, payroll_period, employee):
 	existing_record = frappe.db.exists(doctype, {
 		"payroll_period": payroll_period,
@@ -300,43 +287,68 @@
 
 def allocate_earned_leaves():
 	'''Allocate earned leaves to Employees'''
-	e_leave_types = frappe.get_all("Leave Type",
-		fields=["name", "max_leaves_allowed", "earned_leave_frequency", "rounding"],
-		filters={'is_earned_leave' : 1})
+	e_leave_types = get_earned_leaves()
 	today = getdate()
-	divide_by_frequency = {"Yearly": 1, "Half-Yearly": 6, "Quarterly": 4, "Monthly": 12}
 
 	for e_leave_type in e_leave_types:
-		leave_allocations = frappe.db.sql("""select name, employee, from_date, to_date from `tabLeave Allocation` where %s
-			between from_date and to_date and docstatus=1 and leave_type=%s""", (today, e_leave_type.name), as_dict=1)
+
+		leave_allocations = get_leave_allocations(today, e_leave_type.name)
+
 		for allocation in leave_allocations:
-			leave_policy = get_employee_leave_policy(allocation.employee)
-			if not leave_policy:
+
+			if not allocation.leave_policy_assignment and not allocation.leave_policy:
 				continue
-			if not e_leave_type.earned_leave_frequency == "Monthly":
-				if not check_frequency_hit(allocation.from_date, today, e_leave_type.earned_leave_frequency):
-					continue
+
+			leave_policy = allocation.leave_policy if allocation.leave_policy else frappe.db.get_value(
+					"Leave Policy Assignment", allocation.leave_policy_assignment, ["leave_policy"])
+
 			annual_allocation = frappe.db.get_value("Leave Policy Detail", filters={
-				'parent': leave_policy.name,
+				'parent': leave_policy,
 				'leave_type': e_leave_type.name
 			}, fieldname=['annual_allocation'])
-			if annual_allocation:
-				earned_leaves = flt(annual_allocation) / divide_by_frequency[e_leave_type.earned_leave_frequency]
-				if e_leave_type.rounding == "0.5":
-					earned_leaves = round(earned_leaves * 2) / 2
-				else:
-					earned_leaves = round(earned_leaves)
 
-				allocation = frappe.get_doc('Leave Allocation', allocation.name)
-				new_allocation = flt(allocation.total_leaves_allocated) + flt(earned_leaves)
+			from_date=allocation.from_date
 
-				if new_allocation > e_leave_type.max_leaves_allowed and e_leave_type.max_leaves_allowed > 0:
-					new_allocation = e_leave_type.max_leaves_allowed
+			if e_leave_type.based_on_date_of_joining_date:
+				from_date  = frappe.db.get_value("Employee", allocation.employee, "date_of_joining")
 
-				if new_allocation == allocation.total_leaves_allocated:
-					continue
-				allocation.db_set("total_leaves_allocated", new_allocation, update_modified=False)
-				create_additional_leave_ledger_entry(allocation, earned_leaves, today)
+			if check_effective_date(from_date, today, e_leave_type.earned_leave_frequency, e_leave_type.based_on_date_of_joining_date):
+				update_previous_leave_allocation(allocation, annual_allocation, e_leave_type)
+
+def update_previous_leave_allocation(allocation, annual_allocation, e_leave_type):
+	divide_by_frequency = {"Yearly": 1, "Half-Yearly": 6, "Quarterly": 4, "Monthly": 12}
+	if annual_allocation:
+		earned_leaves = flt(annual_allocation) / divide_by_frequency[e_leave_type.earned_leave_frequency]
+		if e_leave_type.rounding == "0.5":
+			earned_leaves = round(earned_leaves * 2) / 2
+		else:
+			earned_leaves = round(earned_leaves)
+
+		allocation = frappe.get_doc('Leave Allocation', allocation.name)
+		new_allocation = flt(allocation.total_leaves_allocated) + flt(earned_leaves)
+
+		if new_allocation > e_leave_type.max_leaves_allowed and e_leave_type.max_leaves_allowed > 0:
+			new_allocation = e_leave_type.max_leaves_allowed
+
+		if new_allocation != allocation.total_leaves_allocated:
+			allocation.db_set("total_leaves_allocated", new_allocation, update_modified=False)
+			today_date = today()
+			create_additional_leave_ledger_entry(allocation, earned_leaves, today_date)
+
+
+def get_leave_allocations(date, leave_type):
+	return frappe.db.sql("""select name, employee, from_date, to_date, leave_policy_assignment, leave_policy
+		from `tabLeave Allocation`
+		where
+			%s between from_date and to_date and docstatus=1
+			and leave_type=%s""",
+	(date, leave_type), as_dict=1)
+
+
+def get_earned_leaves():
+	return frappe.get_all("Leave Type",
+		fields=["name", "max_leaves_allowed", "earned_leave_frequency", "rounding", "based_on_date_of_joining"],
+		filters={'is_earned_leave' : 1})
 
 def create_additional_leave_ledger_entry(allocation, leaves, date):
 	''' Create leave ledger entry for leave types '''
@@ -345,24 +357,32 @@
 	allocation.unused_leaves = 0
 	allocation.create_leave_ledger_entry()
 
-def check_frequency_hit(from_date, to_date, frequency):
-	'''Return True if current date matches frequency'''
-	from_dt = get_datetime(from_date)
-	to_dt = get_datetime(to_date)
+def check_effective_date(from_date, to_date, frequency, based_on_date_of_joining_date):
+	import calendar
 	from dateutil import relativedelta
-	rd = relativedelta.relativedelta(to_dt, from_dt)
-	months = rd.months
-	if frequency == "Quarterly":
-		if not months % 3:
+
+	from_date = get_datetime(from_date)
+	to_date = get_datetime(to_date)
+	rd = relativedelta.relativedelta(to_date, from_date)
+	#last day of month
+	last_day =  calendar.monthrange(to_date.year, to_date.month)[1]
+
+	if (from_date.day == to_date.day and based_on_date_of_joining_date) or (not based_on_date_of_joining_date and to_date.day == last_day):
+		if frequency == "Monthly":
 			return True
-	elif frequency == "Half-Yearly":
-		if not months % 6:
+		elif frequency == "Quarterly" and rd.months % 3:
 			return True
-	elif frequency == "Yearly":
-		if not months % 12:
+		elif frequency == "Half-Yearly" and rd.months % 6:
 			return True
+		elif frequency == "Yearly" and rd.months % 12:
+			return True
+
+	if frappe.flags.in_test:
+		return True
+
 	return False
 
+
 def get_salary_assignment(employee, date):
 	assignment = frappe.db.sql("""
 		select * from `tabSalary Structure Assignment`
@@ -454,3 +474,10 @@
 	if sum_of_claimed_amount and flt(sum_of_claimed_amount[0].total_amount) > 0:
 		total_claimed_amount = sum_of_claimed_amount[0].total_amount
 	return total_claimed_amount
+
+def grant_leaves_automatically():
+	automatically_allocate_leaves_based_on_leave_policy = frappe.db.get_singles_value("HR Settings", "automatically_allocate_leaves_based_on_leave_policy")
+	if automatically_allocate_leaves_based_on_leave_policy:
+		lpa = frappe.db.get_all("Leave Policy Assignment", filters={"effective_from": getdate(), "docstatus": 1, "leaves_allocated":0})
+		for assignment in lpa:
+			frappe.get_doc("Leave Policy Assignment", assignment.name).grant_leave_alloc_for_employee()
diff --git a/erpnext/loan_management/desk_page/loan/loan.json b/erpnext/loan_management/desk_page/loan/loan.json
index 3bdd1ce..fc59c19 100644
--- a/erpnext/loan_management/desk_page/loan/loan.json
+++ b/erpnext/loan_management/desk_page/loan/loan.json
@@ -3,7 +3,7 @@
   {
    "hidden": 0,
    "label": "Loan",
-   "links": "[\n    {\n        \"description\": \"Loan Type for interest and penalty rates\",\n        \"label\": \"Loan Type\",\n        \"name\": \"Loan Type\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"description\": \"Loan Applications from customers and employees.\",\n        \"label\": \"Loan Application\",\n        \"name\": \"Loan Application\",\n        \"type\": \"doctype\"\n    },\n    {   \"dependencies\": [\n            \"Loan Type\"\n        ],\n        \"description\": \"Loans provided to customers and employees.\",\n        \"label\": \"Loan\",\n        \"name\": \"Loan\",\n        \"type\": \"doctype\"\n    }\n]"
+   "links": "[\n    {\n        \"description\": \"Loan Type for interest and penalty rates\",\n        \"label\": \"Loan Type\",\n        \"name\": \"Loan Type\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"description\": \"Loan Applications from customers and employees.\",\n        \"label\": \"Loan Application\",\n        \"name\": \"Loan Application\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"description\": \"Loans provided to customers and employees.\",\n        \"label\": \"Loan\",\n        \"name\": \"Loan\",\n        \"type\": \"doctype\"\n    }\n]"
   },
   {
    "hidden": 0,
@@ -13,7 +13,7 @@
   {
    "hidden": 0,
    "label": "Disbursement and Repayment",
-   "links": "[\n    {\n        \"label\": \"Loan Disbursement\",\n        \"name\": \"Loan Disbursement\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Loan Repayment\",\n        \"name\": \"Loan Repayment\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Loan Interest Accrual\",\n        \"name\": \"Loan Interest Accrual\",\n        \"type\": \"doctype\"\n    }\n]"
+   "links": "[\n    {\n        \"label\": \"Loan Disbursement\",\n        \"name\": \"Loan Disbursement\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Loan Repayment\",\n        \"name\": \"Loan Repayment\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Loan Write Off\",\n        \"name\": \"Loan Write Off\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Loan Interest Accrual\",\n        \"name\": \"Loan Interest Accrual\",\n        \"type\": \"doctype\"\n    }\n]"
   },
   {
    "hidden": 0,
@@ -34,10 +34,11 @@
  "docstatus": 0,
  "doctype": "Desk Page",
  "extends_another_page": 0,
+ "hide_custom": 0,
  "idx": 0,
  "is_standard": 1,
  "label": "Loan",
- "modified": "2020-06-07 19:42:14.947902",
+ "modified": "2020-10-17 12:59:50.336085",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Loan",
diff --git a/erpnext/loan_management/doctype/loan/loan.js b/erpnext/loan_management/doctype/loan/loan.js
index 9b4c217..28af3a9 100644
--- a/erpnext/loan_management/doctype/loan/loan.js
+++ b/erpnext/loan_management/doctype/loan/loan.js
@@ -7,10 +7,14 @@
 	setup: function(frm) {
 		frm.make_methods = {
 			'Loan Disbursement': function() { frm.trigger('make_loan_disbursement') },
-			'Loan Security Unpledge': function() { frm.trigger('create_loan_security_unpledge') }
+			'Loan Security Unpledge': function() { frm.trigger('create_loan_security_unpledge') },
+			'Loan Write Off': function() { frm.trigger('make_loan_write_off_entry') }
 		}
 	},
 	onload: function (frm) {
+		// Ignore loan security pledge on cancel of loan
+		frm.ignore_doctypes_on_cancel_all = ["Loan Security Pledge"];
+
 		frm.set_query("loan_application", function () {
 			return {
 				"filters": {
@@ -21,6 +25,14 @@
 			};
 		});
 
+		frm.set_query("loan_type", function () {
+			return {
+				"filters": {
+					"docstatus": 1
+				}
+			};
+		});
+
 		$.each(["penalty_income_account", "interest_income_account"], function(i, field) {
 			frm.set_query(field, function () {
 				return {
@@ -49,24 +61,33 @@
 
 	refresh: function (frm) {
 		if (frm.doc.docstatus == 1) {
-			if (frm.doc.status == "Sanctioned" || frm.doc.status == 'Partially Disbursed') {
+			if (["Disbursed", "Partially Disbursed"].includes(frm.doc.status) && (!frm.doc.repay_from_salary)) {
+				frm.add_custom_button(__('Request Loan Closure'), function() {
+					frm.trigger("request_loan_closure");
+				},__('Status'));
+
+				frm.add_custom_button(__('Loan Repayment'), function() {
+					frm.trigger("make_repayment_entry");
+				},__('Create'));
+			}
+
+			if (["Sanctioned", "Partially Disbursed"].includes(frm.doc.status)) {
 				frm.add_custom_button(__('Loan Disbursement'), function() {
 					frm.trigger("make_loan_disbursement");
 				},__('Create'));
 			}
 
-			if (["Disbursed", "Partially Disbursed"].includes(frm.doc.status) && (!frm.doc.repay_from_salary)) {
-				frm.add_custom_button(__('Loan Repayment'), function() {
-					frm.trigger("make_repayment_entry");
-				},__('Create'));
-
-			}
-
 			if (frm.doc.status == "Loan Closure Requested") {
 				frm.add_custom_button(__('Loan Security Unpledge'), function() {
 					frm.trigger("create_loan_security_unpledge");
 				},__('Create'));
 			}
+
+			if (["Loan Closure Requested", "Disbursed", "Partially Disbursed"].includes(frm.doc.status)) {
+				frm.add_custom_button(__('Loan Write Off'), function() {
+					frm.trigger("make_loan_write_off_entry");
+				},__('Create'));
+			}
 		}
 		frm.trigger("toggle_fields");
 	},
@@ -117,6 +138,38 @@
 		})
 	},
 
+	make_loan_write_off_entry: function(frm) {
+		frappe.call({
+			args: {
+				"loan": frm.doc.name,
+				"company": frm.doc.company,
+				"as_dict": 1
+			},
+			method: "erpnext.loan_management.doctype.loan.loan.make_loan_write_off",
+			callback: function (r) {
+				if (r.message)
+					var doc = frappe.model.sync(r.message)[0];
+				frappe.set_route("Form", doc.doctype, doc.name);
+			}
+		})
+	},
+
+	request_loan_closure: function(frm) {
+		frappe.confirm(__("Do you really want to close this loan"),
+			function() {
+				frappe.call({
+					args: {
+						'loan': frm.doc.name
+					},
+					method: "erpnext.loan_management.doctype.loan.loan.request_loan_closure",
+					callback: function() {
+						frm.reload_doc();
+					}
+				});
+			}
+		);
+	},
+
 	create_loan_security_unpledge: function(frm) {
 		frappe.call({
 			method: "erpnext.loan_management.doctype.loan.loan.unpledge_security",
diff --git a/erpnext/loan_management/doctype/loan/loan.json b/erpnext/loan_management/doctype/loan/loan.json
index aa5e21b..acf09f5 100644
--- a/erpnext/loan_management/doctype/loan/loan.json
+++ b/erpnext/loan_management/doctype/loan/loan.json
@@ -26,11 +26,11 @@
   "disbursed_amount",
   "column_break_11",
   "maximum_loan_amount",
-  "is_term_loan",
   "repayment_method",
   "repayment_periods",
   "monthly_repayment_amount",
   "repayment_start_date",
+  "is_term_loan",
   "account_info",
   "mode_of_payment",
   "payment_account",
@@ -43,6 +43,7 @@
   "section_break_17",
   "total_payment",
   "total_principal_paid",
+  "written_off_amount",
   "column_break_19",
   "total_interest_payable",
   "total_amount_paid",
@@ -75,6 +76,7 @@
    "fieldname": "loan_application",
    "fieldtype": "Link",
    "label": "Loan Application",
+   "no_copy": 1,
    "options": "Loan Application"
   },
   {
@@ -134,6 +136,7 @@
    "fieldname": "loan_amount",
    "fieldtype": "Currency",
    "label": "Loan Amount",
+   "non_negative": 1,
    "options": "Company:company:default_currency"
   },
   {
@@ -148,7 +151,8 @@
    "depends_on": "eval:doc.status==\"Disbursed\"",
    "fieldname": "disbursement_date",
    "fieldtype": "Date",
-   "label": "Disbursement Date"
+   "label": "Disbursement Date",
+   "no_copy": 1
   },
   {
    "depends_on": "is_term_loan",
@@ -252,6 +256,7 @@
    "fieldname": "total_payment",
    "fieldtype": "Currency",
    "label": "Total Payable Amount",
+   "no_copy": 1,
    "options": "Company:company:default_currency",
    "read_only": 1
   },
@@ -265,6 +270,7 @@
    "fieldname": "total_interest_payable",
    "fieldtype": "Currency",
    "label": "Total Interest Payable",
+   "no_copy": 1,
    "options": "Company:company:default_currency",
    "read_only": 1
   },
@@ -273,6 +279,7 @@
    "fieldname": "total_amount_paid",
    "fieldtype": "Currency",
    "label": "Total Amount Paid",
+   "no_copy": 1,
    "options": "Company:company:default_currency",
    "read_only": 1
   },
@@ -289,8 +296,7 @@
    "default": "0",
    "fieldname": "is_secured_loan",
    "fieldtype": "Check",
-   "label": "Is Secured Loan",
-   "read_only": 1
+   "label": "Is Secured Loan"
   },
   {
    "default": "0",
@@ -313,6 +319,7 @@
    "fieldname": "total_principal_paid",
    "fieldtype": "Currency",
    "label": "Total Principal Paid",
+   "no_copy": 1,
    "options": "Company:company:default_currency",
    "read_only": 1
   },
@@ -320,21 +327,33 @@
    "fieldname": "disbursed_amount",
    "fieldtype": "Currency",
    "label": "Disbursed Amount",
+   "no_copy": 1,
    "options": "Company:company:default_currency",
    "read_only": 1
   },
   {
+   "depends_on": "eval:doc.is_secured_loan",
    "fetch_from": "loan_application.maximum_loan_amount",
    "fieldname": "maximum_loan_amount",
    "fieldtype": "Currency",
    "label": "Maximum Loan Amount",
+   "no_copy": 1,
+   "options": "Company:company:default_currency",
+   "read_only": 1
+  },
+  {
+   "fieldname": "written_off_amount",
+   "fieldtype": "Currency",
+   "label": "Written Off Amount",
+   "no_copy": 1,
    "options": "Company:company:default_currency",
    "read_only": 1
   }
  ],
+ "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-08-01 12:36:11.255233",
+ "modified": "2020-11-24 12:27:23.208240",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Loan",
diff --git a/erpnext/loan_management/doctype/loan/loan.py b/erpnext/loan_management/doctype/loan/loan.py
index d1b7589..cd40a66 100644
--- a/erpnext/loan_management/doctype/loan/loan.py
+++ b/erpnext/loan_management/doctype/loan/loan.py
@@ -9,9 +9,12 @@
 from frappe.utils import flt, rounded, add_months, nowdate, getdate, now_datetime
 from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import get_pledged_security_qty
 from erpnext.controllers.accounts_controller import AccountsController
+from erpnext.loan_management.doctype.loan_repayment.loan_repayment import calculate_amounts
 
 class Loan(AccountsController):
 	def validate(self):
+		if self.applicant_type == 'Employee' and self.repay_from_salary:
+			validate_employee_currency_with_company_currency(self.applicant, self.company)
 		self.set_loan_amount()
 		self.validate_loan_amount()
 		self.set_missing_fields()
@@ -137,9 +140,12 @@
 				})
 
 	def unlink_loan_security_pledge(self):
-		frappe.db.sql("""UPDATE `tabLoan Security Pledge` SET
-			loan = '', status = 'Unpledged'
-			where name = %s """, (self.loan_security_pledge))
+		pledges = frappe.get_all('Loan Security Pledge', fields=['name'], filters={'loan': self.name})
+		pledge_list = [d.name for d in pledges]
+		if pledge_list:
+			frappe.db.sql("""UPDATE `tabLoan Security Pledge` SET
+				loan = '', status = 'Unpledged'
+				where name in (%s) """ % (', '.join(['%s']*len(pledge_list))), tuple(pledge_list)) #nosec
 
 def update_total_amount_paid(doc):
 	total_amount_paid = 0
@@ -183,6 +189,24 @@
 	return monthly_repayment_amount
 
 @frappe.whitelist()
+def request_loan_closure(loan, posting_date=None):
+	if not posting_date:
+		posting_date = getdate()
+
+	amounts = calculate_amounts(loan, posting_date)
+	pending_amount = amounts['payable_amount'] + amounts['unaccrued_interest']
+
+	loan_type = frappe.get_value('Loan', loan, 'loan_type')
+	write_off_limit = frappe.get_value('Loan Type', loan_type, 'write_off_amount')
+
+	# checking greater than 0 as there may be some minor precision error
+	if pending_amount < write_off_limit:
+		# update status as loan closure requested
+		frappe.db.set_value('Loan', loan, 'status', 'Loan Closure Requested')
+	else:
+		frappe.throw(_("Cannot close loan as there is an outstanding of {0}").format(pending_amount))
+
+@frappe.whitelist()
 def get_loan_application(loan_application):
 	loan = frappe.get_doc("Loan Application", loan_application)
 	if loan:
@@ -200,6 +224,7 @@
 	disbursement_entry.applicant = applicant
 	disbursement_entry.company = company
 	disbursement_entry.disbursement_date = nowdate()
+	disbursement_entry.posting_date = nowdate()
 
 	disbursement_entry.disbursed_amount = pending_amount
 	if as_dict:
@@ -223,6 +248,38 @@
 		return repayment_entry
 
 @frappe.whitelist()
+def make_loan_write_off(loan, company=None, posting_date=None, amount=0, as_dict=0):
+	if not company:
+		company = frappe.get_value('Loan', loan, 'company')
+
+	if not posting_date:
+		posting_date = getdate()
+
+	amounts = calculate_amounts(loan, posting_date)
+	pending_amount = amounts['pending_principal_amount']
+
+	if amount and (amount > pending_amount):
+		frappe.throw('Write Off amount cannot be greater than pending loan amount')
+
+	if not amount:
+		amount = pending_amount
+
+	# get default write off account from company master
+	write_off_account = frappe.get_value('Company', company, 'write_off_account')
+
+	write_off = frappe.new_doc('Loan Write Off')
+	write_off.loan = loan
+	write_off.posting_date = posting_date
+	write_off.write_off_account = write_off_account
+	write_off.write_off_amount = amount
+	write_off.save()
+
+	if as_dict:
+		return write_off.as_dict()
+	else:
+		return write_off
+
+@frappe.whitelist()
 def unpledge_security(loan=None, loan_security_pledge=None, as_dict=0, save=0, submit=0, approve=0):
 	# if loan is passed it will be considered as full unpledge
 	if loan:
@@ -274,5 +331,14 @@
 
 	return unpledge_request
 
-
-
+def validate_employee_currency_with_company_currency(applicant, company):
+		from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import get_employee_currency
+		if not applicant:
+			frappe.throw(_("Please select Applicant"))
+		if not company:
+			frappe.throw(_("Please select Company"))
+		employee_currency = get_employee_currency(applicant)
+		company_currency = erpnext.get_company_currency(company)
+		if employee_currency != company_currency:
+			frappe.throw(_("Loan cannot be repayed from salary for Employee {0} because salary is processed in currency {1}")
+				.format(applicant, employee_currency))
diff --git a/erpnext/loan_management/doctype/loan/loan_dashboard.py b/erpnext/loan_management/doctype/loan/loan_dashboard.py
index 90d5ae2..7a8190f 100644
--- a/erpnext/loan_management/doctype/loan/loan_dashboard.py
+++ b/erpnext/loan_management/doctype/loan/loan_dashboard.py
@@ -13,7 +13,7 @@
 				'items': ['Loan Security Pledge', 'Loan Security Shortfall', 'Loan Disbursement']
 			},
 			{
-				'items': ['Loan Repayment', 'Loan Interest Accrual', 'Loan Security Unpledge']
+				'items': ['Loan Repayment', 'Loan Interest Accrual', 'Loan Write Off', 'Loan Security Unpledge']
 			}
 		]
 	}
\ No newline at end of file
diff --git a/erpnext/loan_management/doctype/loan/loan_list.js b/erpnext/loan_management/doctype/loan/loan_list.js
new file mode 100644
index 0000000..6591b72
--- /dev/null
+++ b/erpnext/loan_management/doctype/loan/loan_list.js
@@ -0,0 +1,16 @@
+// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+// License: GNU General Public License v3. See license.txt
+
+frappe.listview_settings['Loan'] = {
+	get_indicator: function(doc) {
+		var status_color = {
+			"Draft": "red",
+			"Sanctioned": "blue",
+			"Disbursed": "orange",
+			"Partially Disbursed": "yellow",
+			"Loan Closure Requested": "green",
+			"Closed": "green"
+		};
+		return [__(doc.status), status_color[doc.status], "status,=,"+doc.status];
+	},
+};
diff --git a/erpnext/loan_management/doctype/loan/test_loan.py b/erpnext/loan_management/doctype/loan/test_loan.py
index 5a4a19a..a63d065 100644
--- a/erpnext/loan_management/doctype/loan/test_loan.py
+++ b/erpnext/loan_management/doctype/loan/test_loan.py
@@ -14,11 +14,12 @@
 	process_loan_interest_accrual_for_term_loans)
 from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import days_in_year
 from erpnext.loan_management.doctype.process_loan_security_shortfall.process_loan_security_shortfall import create_process_loan_security_shortfall
-from erpnext.loan_management.doctype.loan.loan import unpledge_security
+from erpnext.loan_management.doctype.loan.loan import unpledge_security, request_loan_closure, make_loan_write_off
 from erpnext.loan_management.doctype.loan_security_unpledge.loan_security_unpledge import get_pledged_security_qty
 from erpnext.loan_management.doctype.loan_application.loan_application import create_pledge
 from erpnext.loan_management.doctype.loan_disbursement.loan_disbursement import get_disbursal_amount
 from erpnext.loan_management.doctype.loan_repayment.loan_repayment import calculate_amounts
+from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure
 
 class TestLoan(unittest.TestCase):
 	def setUp(self):
@@ -44,6 +45,7 @@
 		create_loan_security_price("Test Security 2", 250, "Nos", get_datetime() , get_datetime(add_to_date(nowdate(), hours=24)))
 
 		self.applicant1 = make_employee("robert_loan@loan.com")
+		make_salary_structure("Test Salary Structure Loan", "Monthly", employee=self.applicant1, currency='INR')
 		if not frappe.db.exists("Customer", "_Test Loan Customer"):
 			frappe.get_doc(get_customer_dict('_Test Loan Customer')).insert(ignore_permissions=True)
 
@@ -132,7 +134,7 @@
 		loan_application = create_loan_application('_Test Company', self.applicant2, 'Demand Loan', pledge)
 		create_pledge(loan_application)
 
-		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date=get_first_day(nowdate()))
+		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date='2019-10-01')
 		loan.submit()
 
 		self.assertEquals(loan.loan_amount, 1000000)
@@ -142,30 +144,30 @@
 
 		no_of_days = date_diff(last_date, first_date) + 1
 
-		accrued_interest_amount = (loan.loan_amount * loan.rate_of_interest * no_of_days) \
-			/ (days_in_year(get_datetime(first_date).year) * 100)
+		accrued_interest_amount = flt((loan.loan_amount * loan.rate_of_interest * no_of_days)
+			/ (days_in_year(get_datetime(first_date).year) * 100), 2)
 
 		make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=first_date)
 
 		process_loan_interest_accrual_for_demand_loans(posting_date = last_date)
 
-		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 10), "Regular Payment", 111118.68)
+		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 10), 111119)
 		repayment_entry.save()
 		repayment_entry.submit()
 
-		penalty_amount = (accrued_interest_amount * 4 * 25) / (100 * days_in_year(get_datetime(first_date).year))
-		self.assertEquals(flt(repayment_entry.penalty_amount, 2), flt(penalty_amount, 2))
+		penalty_amount = (accrued_interest_amount * 5 * 25) / 100
+		self.assertEquals(flt(repayment_entry.penalty_amount,0), flt(penalty_amount, 0))
 
-		amounts = frappe.db.get_value('Loan Interest Accrual', {'loan': loan.name}, ['paid_interest_amount',
-			'paid_principal_amount'])
+		amounts = frappe.db.get_all('Loan Interest Accrual', {'loan': loan.name}, ['paid_interest_amount'])
 
 		loan.load_from_db()
 
-		self.assertEquals(amounts[0], repayment_entry.interest_payable)
-		self.assertEquals(flt(loan.total_principal_paid, 2), flt(repayment_entry.amount_paid -
-			 penalty_amount - amounts[0], 2))
+		total_interest_paid = amounts[0]['paid_interest_amount'] + amounts[1]['paid_interest_amount']
+		self.assertEquals(amounts[1]['paid_interest_amount'], repayment_entry.interest_payable)
+		self.assertEquals(flt(loan.total_principal_paid, 0), flt(repayment_entry.amount_paid -
+			 penalty_amount - total_interest_paid, 0))
 
-	def test_loan_closure_repayment(self):
+	def test_loan_closure(self):
 		pledge = [{
 			"loan_security": "Test Security 1",
 			"qty": 4000.00
@@ -174,7 +176,7 @@
 		loan_application = create_loan_application('_Test Company', self.applicant2, 'Demand Loan', pledge)
 		create_pledge(loan_application)
 
-		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date=get_first_day(nowdate()))
+		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date='2019-10-01')
 		loan.submit()
 
 		self.assertEquals(loan.loan_amount, 1000000)
@@ -184,10 +186,10 @@
 
 		no_of_days = date_diff(last_date, first_date) + 1
 
-		# Adding 6 since repayment is made 5 days late after due date
+		# Adding 5 since repayment is made 5 days late after due date
 		# and since payment type is loan closure so interest should be considered for those
-		# 6 days as well though in grace period
-		no_of_days += 6
+		# 5 days as well though in grace period
+		no_of_days += 5
 
 		accrued_interest_amount = (loan.loan_amount * loan.rate_of_interest * no_of_days) \
 			/ (days_in_year(get_datetime(first_date).year) * 100)
@@ -195,15 +197,17 @@
 		make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=first_date)
 		process_loan_interest_accrual_for_demand_loans(posting_date = last_date)
 
-		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 6),
-			"Loan Closure", flt(loan.loan_amount + accrued_interest_amount))
+		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 5),
+			flt(loan.loan_amount + accrued_interest_amount))
+
 		repayment_entry.submit()
 
 		amount = frappe.db.get_value('Loan Interest Accrual', {'loan': loan.name}, ['sum(paid_interest_amount)'])
 
-		self.assertEquals(flt(amount, 2),flt(accrued_interest_amount, 2))
+		self.assertEquals(flt(amount, 0),flt(accrued_interest_amount, 0))
 		self.assertEquals(flt(repayment_entry.penalty_amount, 5), 0)
 
+		request_loan_closure(loan.name)
 		loan.load_from_db()
 		self.assertEquals(loan.status, "Loan Closure Requested")
 
@@ -230,8 +234,7 @@
 
 		process_loan_interest_accrual_for_term_loans(posting_date=nowdate())
 
-		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(nowdate(), 5),
-			"Regular Payment", 89768.75)
+		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(nowdate(), 5), 89768.75)
 
 		repayment_entry.submit()
 
@@ -281,7 +284,7 @@
 		loan_application = create_loan_application('_Test Company', self.applicant2, 'Demand Loan', pledge)
 		create_pledge(loan_application)
 
-		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date=get_first_day(nowdate()))
+		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date='2019-10-01')
 		loan.submit()
 
 		self.assertEquals(loan.loan_amount, 1000000)
@@ -291,7 +294,7 @@
 
 		no_of_days = date_diff(last_date, first_date) + 1
 
-		no_of_days += 6
+		no_of_days += 5
 
 		accrued_interest_amount = (loan.loan_amount * loan.rate_of_interest * no_of_days) \
 			/ (days_in_year(get_datetime(first_date).year) * 100)
@@ -299,10 +302,10 @@
 		make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=first_date)
 		process_loan_interest_accrual_for_demand_loans(posting_date = last_date)
 
-		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 6),
-			"Loan Closure", flt(loan.loan_amount + accrued_interest_amount))
+		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 5), flt(loan.loan_amount + accrued_interest_amount))
 		repayment_entry.submit()
 
+		request_loan_closure(loan.name)
 		loan.load_from_db()
 		self.assertEquals(loan.status, "Loan Closure Requested")
 
@@ -317,9 +320,9 @@
 		self.assertEqual(loan.status, 'Closed')
 		self.assertEquals(sum(pledged_qty.values()), 0)
 
-		amounts = amounts = calculate_amounts(loan.name, add_days(last_date, 6), "Regular Repayment")
-		self.assertEqual(amounts['pending_principal_amount'], 0)
-		self.assertEqual(amounts['payable_principal_amount'], 0)
+		amounts = amounts = calculate_amounts(loan.name, add_days(last_date, 5))
+		self.assertTrue(amounts['pending_principal_amount'] < 0)
+		self.assertEquals(amounts['payable_principal_amount'], 0.0)
 		self.assertEqual(amounts['interest_amount'], 0)
 
 	def test_disbursal_check_with_shortfall(self):
@@ -381,7 +384,7 @@
 		loan_application = create_loan_application('_Test Company', self.applicant2, 'Demand Loan', pledge)
 		create_pledge(loan_application)
 
-		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date=get_first_day(nowdate()))
+		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date='2019-10-01')
 		loan.submit()
 
 		self.assertEquals(loan.loan_amount, 1000000)
@@ -391,7 +394,7 @@
 
 		no_of_days = date_diff(last_date, first_date) + 1
 
-		no_of_days += 6
+		no_of_days += 5
 
 		accrued_interest_amount = (loan.loan_amount * loan.rate_of_interest * no_of_days) \
 			/ (days_in_year(get_datetime(first_date).year) * 100)
@@ -399,20 +402,192 @@
 		make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=first_date)
 		process_loan_interest_accrual_for_demand_loans(posting_date = last_date)
 
-		amounts = calculate_amounts(loan.name, add_days(last_date, 6), "Regular Repayment")
+		amounts = calculate_amounts(loan.name, add_days(last_date, 5))
 
-		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 6),
-			"Loan Closure", flt(loan.loan_amount + accrued_interest_amount))
+		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 5), flt(loan.loan_amount + accrued_interest_amount))
 		repayment_entry.submit()
 
 		amounts = frappe.db.get_value('Loan Interest Accrual', {'loan': loan.name}, ['paid_interest_amount',
 			'paid_principal_amount'])
 
+		request_loan_closure(loan.name)
 		loan.load_from_db()
 		self.assertEquals(loan.status, "Loan Closure Requested")
 
-		amounts = calculate_amounts(loan.name, add_days(last_date, 6), "Regular Repayment")
-		self.assertEquals(amounts['pending_principal_amount'], 0.0)
+		amounts = calculate_amounts(loan.name, add_days(last_date, 5))
+		self.assertTrue(amounts['pending_principal_amount'] < 0.0)
+
+	def test_partial_unaccrued_interest_payment(self):
+		pledge = [{
+			"loan_security": "Test Security 1",
+			"qty": 4000.00
+		}]
+
+		loan_application = create_loan_application('_Test Company', self.applicant2, 'Demand Loan', pledge)
+		create_pledge(loan_application)
+
+		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date='2019-10-01')
+		loan.submit()
+
+		self.assertEquals(loan.loan_amount, 1000000)
+
+		first_date = '2019-10-01'
+		last_date = '2019-10-30'
+
+		no_of_days = date_diff(last_date, first_date) + 1
+
+		no_of_days += 5.5
+
+		# get partial unaccrued interest amount
+		paid_amount = (loan.loan_amount * loan.rate_of_interest * no_of_days) \
+			/ (days_in_year(get_datetime(first_date).year) * 100)
+
+		make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=first_date)
+		process_loan_interest_accrual_for_demand_loans(posting_date = last_date)
+
+		amounts = calculate_amounts(loan.name, add_days(last_date, 5))
+
+		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 5),
+			paid_amount)
+
+		repayment_entry.submit()
+		repayment_entry.load_from_db()
+
+		partial_accrued_interest_amount = (loan.loan_amount * loan.rate_of_interest * 5) \
+			/ (days_in_year(get_datetime(first_date).year) * 100)
+
+		interest_amount = flt(amounts['interest_amount'] + partial_accrued_interest_amount, 2)
+		self.assertEqual(flt(repayment_entry.total_interest_paid, 0), flt(interest_amount, 0))
+
+	def test_penalty(self):
+		pledge = [{
+			"loan_security": "Test Security 1",
+			"qty": 4000.00
+		}]
+
+		loan_application = create_loan_application('_Test Company', self.applicant2, 'Demand Loan', pledge)
+		create_pledge(loan_application)
+
+		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date='2019-10-01')
+		loan.submit()
+
+		self.assertEquals(loan.loan_amount, 1000000)
+
+		first_date = '2019-10-01'
+		last_date = '2019-10-30'
+
+		make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=first_date)
+		process_loan_interest_accrual_for_demand_loans(posting_date = last_date)
+
+		amounts = calculate_amounts(loan.name, add_days(last_date, 1))
+		paid_amount = amounts['interest_amount']/2
+
+		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 5),
+			paid_amount)
+
+		repayment_entry.submit()
+
+		# 30 days - grace period
+		penalty_days = 30 - 4
+		penalty_applicable_amount = flt(amounts['interest_amount']/2, 2)
+		penalty_amount = flt((((penalty_applicable_amount * 25) / 100) * penalty_days), 2)
+		process = process_loan_interest_accrual_for_demand_loans(posting_date = '2019-11-30')
+
+		calculated_penalty_amount = frappe.db.get_value('Loan Interest Accrual',
+			{'process_loan_interest_accrual': process, 'loan': loan.name}, 'penalty_amount')
+
+		self.assertEquals(calculated_penalty_amount, penalty_amount)
+
+	def test_loan_write_off_limit(self):
+		pledge = [{
+			"loan_security": "Test Security 1",
+			"qty": 4000.00
+		}]
+
+		loan_application = create_loan_application('_Test Company', self.applicant2, 'Demand Loan', pledge)
+		create_pledge(loan_application)
+
+		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date='2019-10-01')
+		loan.submit()
+
+		self.assertEquals(loan.loan_amount, 1000000)
+
+		first_date = '2019-10-01'
+		last_date = '2019-10-30'
+
+		no_of_days = date_diff(last_date, first_date) + 1
+		no_of_days += 5
+
+		accrued_interest_amount = (loan.loan_amount * loan.rate_of_interest * no_of_days) \
+			/ (days_in_year(get_datetime(first_date).year) * 100)
+
+		make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=first_date)
+		process_loan_interest_accrual_for_demand_loans(posting_date = last_date)
+
+		# repay 50 less so that it can be automatically written off
+		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 5),
+			flt(loan.loan_amount + accrued_interest_amount - 50))
+
+		repayment_entry.submit()
+
+		amount = frappe.db.get_value('Loan Interest Accrual', {'loan': loan.name}, ['sum(paid_interest_amount)'])
+
+		self.assertEquals(flt(amount, 0),flt(accrued_interest_amount, 0))
+		self.assertEquals(flt(repayment_entry.penalty_amount, 5), 0)
+
+		amounts = calculate_amounts(loan.name, add_days(last_date, 5))
+		self.assertEquals(flt(amounts['pending_principal_amount'], 0), 50)
+
+		request_loan_closure(loan.name)
+		loan.load_from_db()
+		self.assertEquals(loan.status, "Loan Closure Requested")
+
+	def test_loan_amount_write_off(self):
+		pledge = [{
+			"loan_security": "Test Security 1",
+			"qty": 4000.00
+		}]
+
+		loan_application = create_loan_application('_Test Company', self.applicant2, 'Demand Loan', pledge)
+		create_pledge(loan_application)
+
+		loan = create_demand_loan(self.applicant2, "Demand Loan", loan_application, posting_date='2019-10-01')
+		loan.submit()
+
+		self.assertEquals(loan.loan_amount, 1000000)
+
+		first_date = '2019-10-01'
+		last_date = '2019-10-30'
+
+		no_of_days = date_diff(last_date, first_date) + 1
+		no_of_days += 5
+
+		accrued_interest_amount = (loan.loan_amount * loan.rate_of_interest * no_of_days) \
+			/ (days_in_year(get_datetime(first_date).year) * 100)
+
+		make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=first_date)
+		process_loan_interest_accrual_for_demand_loans(posting_date = last_date)
+
+		# repay 100 less so that it can be automatically written off
+		repayment_entry = create_repayment_entry(loan.name, self.applicant2, add_days(last_date, 5),
+			flt(loan.loan_amount + accrued_interest_amount - 100))
+
+		repayment_entry.submit()
+
+		amount = frappe.db.get_value('Loan Interest Accrual', {'loan': loan.name}, ['sum(paid_interest_amount)'])
+
+		self.assertEquals(flt(amount, 0),flt(accrued_interest_amount, 0))
+		self.assertEquals(flt(repayment_entry.penalty_amount, 5), 0)
+
+		amounts = calculate_amounts(loan.name, add_days(last_date, 5))
+		self.assertEquals(flt(amounts['pending_principal_amount'], 0), 100)
+
+		we = make_loan_write_off(loan.name, amount=amounts['pending_principal_amount'])
+		we.submit()
+
+		amounts = calculate_amounts(loan.name, add_days(last_date, 5))
+		self.assertEquals(flt(amounts['pending_principal_amount'], 0), 0)
+
 
 def create_loan_accounts():
 	if not frappe.db.exists("Account", "Loans and Advances (Assets) - _TC"):
@@ -496,7 +671,8 @@
 			"interest_income_account": interest_income_account,
 			"penalty_income_account": penalty_income_account,
 			"repayment_method": repayment_method,
-			"repayment_periods": repayment_periods
+			"repayment_periods": repayment_periods,
+			"write_off_amount": 100
 		}).insert()
 
 		loan_type.submit()
@@ -532,7 +708,7 @@
 			"haircut": 50.00,
 		}).insert(ignore_permissions=True)
 
-def create_loan_security_pledge(applicant, pledges, loan_application):
+def create_loan_security_pledge(applicant, pledges, loan_application=None, loan=None):
 
 	lsp = frappe.new_doc("Loan Security Pledge")
 	lsp.applicant_type = 'Customer'
@@ -540,11 +716,13 @@
 	lsp.company = "_Test Company"
 	lsp.loan_application = loan_application
 
+	if loan:
+		lsp.loan = loan
+
 	for pledge in pledges:
 		lsp.append('securities', {
 			"loan_security": pledge['loan_security'],
-			"qty": pledge['qty'],
-			"haircut": pledge['haircut']
+			"qty": pledge['qty']
 		})
 
 	lsp.save()
@@ -582,12 +760,11 @@
 			"valid_upto": to_date
 		}).insert(ignore_permissions=True)
 
-def create_repayment_entry(loan, applicant, posting_date, payment_type, paid_amount):
+def create_repayment_entry(loan, applicant, posting_date, paid_amount):
 
 	lr = frappe.get_doc({
 		"doctype": "Loan Repayment",
 		"against_loan": loan,
-		"payment_type": payment_type,
 		"company": "_Test Company",
 		"posting_date": posting_date or nowdate(),
 		"applicant": applicant,
diff --git a/erpnext/loan_management/doctype/loan_application/loan_application.py b/erpnext/loan_management/doctype/loan_application/loan_application.py
index bac6e63..e59db4c 100644
--- a/erpnext/loan_management/doctype/loan_application/loan_application.py
+++ b/erpnext/loan_management/doctype/loan_application/loan_application.py
@@ -127,6 +127,7 @@
 		target_doc.loan_account = account_details.loan_account
 		target_doc.interest_income_account = account_details.interest_income_account
 		target_doc.penalty_income_account = account_details.penalty_income_account
+		target_doc.loan_application = source_name
 
 
 	doclist = get_mapped_doc("Loan Application", source_name, {
diff --git a/erpnext/loan_management/doctype/loan_application/test_loan_application.py b/erpnext/loan_management/doctype/loan_application/test_loan_application.py
index 687c580..2a659e9 100644
--- a/erpnext/loan_management/doctype/loan_application/test_loan_application.py
+++ b/erpnext/loan_management/doctype/loan_application/test_loan_application.py
@@ -5,7 +5,7 @@
 
 import frappe
 import unittest
-from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_employee
+from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_employee, make_salary_structure
 from erpnext.loan_management.doctype.loan.test_loan import create_loan_type, create_loan_accounts
 
 class TestLoanApplication(unittest.TestCase):
@@ -14,6 +14,7 @@
 		create_loan_type("Home Loan", 500000, 9.2, 0, 1, 0, 'Cash', 'Payment Account - _TC', 'Loan Account - _TC',
 			'Interest Income Account - _TC', 'Penalty Income Account - _TC', 'Repay Over Number of Periods', 18)
 		self.applicant = make_employee("kate_loan@loan.com", "_Test Company")
+		make_salary_structure("Test Salary Structure Loan", "Monthly", employee=self.applicant, currency='INR')
 		self.create_loan_application()
 
 	def create_loan_application(self):
@@ -29,7 +30,6 @@
 		})
 		loan_application.insert()
 
-
 	def test_loan_totals(self):
 		loan_application = frappe.get_doc("Loan Application", {"applicant":self.applicant})
 
diff --git a/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.json b/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.json
index c437a98..cd5df4d 100644
--- a/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.json
+++ b/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.json
@@ -26,19 +26,24 @@
   {
    "fieldname": "against_loan",
    "fieldtype": "Link",
+   "in_list_view": 1,
    "label": "Against Loan ",
-   "options": "Loan"
+   "options": "Loan",
+   "reqd": 1
   },
   {
    "fieldname": "disbursement_date",
    "fieldtype": "Date",
-   "label": "Disbursement Date"
+   "label": "Disbursement Date",
+   "reqd": 1
   },
   {
    "fieldname": "disbursed_amount",
    "fieldtype": "Currency",
    "label": "Disbursed Amount",
-   "options": "Company:company:default_currency"
+   "non_negative": 1,
+   "options": "Company:company:default_currency",
+   "reqd": 1
   },
   {
    "fieldname": "amended_from",
@@ -53,17 +58,21 @@
    "fetch_from": "against_loan.company",
    "fieldname": "company",
    "fieldtype": "Link",
+   "in_list_view": 1,
    "label": "Company",
    "options": "Company",
-   "read_only": 1
+   "read_only": 1,
+   "reqd": 1
   },
   {
    "fetch_from": "against_loan.applicant",
    "fieldname": "applicant",
    "fieldtype": "Dynamic Link",
+   "in_list_view": 1,
    "label": "Applicant",
    "options": "applicant_type",
-   "read_only": 1
+   "read_only": 1,
+   "reqd": 1
   },
   {
    "collapsible": 1,
@@ -102,9 +111,11 @@
    "fetch_from": "against_loan.applicant_type",
    "fieldname": "applicant_type",
    "fieldtype": "Select",
+   "in_list_view": 1,
    "label": "Applicant Type",
    "options": "Employee\nMember\nCustomer",
-   "read_only": 1
+   "read_only": 1,
+   "reqd": 1
   },
   {
    "fieldname": "bank_account",
@@ -117,9 +128,10 @@
    "fieldtype": "Column Break"
   }
  ],
+ "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-04-29 05:20:41.629911",
+ "modified": "2020-11-06 10:04:30.882322",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Loan Disbursement",
diff --git a/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.py b/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.py
index 260fada..f341e81 100644
--- a/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.py
+++ b/erpnext/loan_management/doctype/loan_disbursement/loan_disbursement.py
@@ -17,6 +17,7 @@
 
 	def validate(self):
 		self.set_missing_values()
+		self.validate_disbursal_amount()
 
 	def on_submit(self):
 		self.set_status_and_amounts()
@@ -40,57 +41,21 @@
 		if not self.bank_account and self.applicant_type == "Customer":
 			self.bank_account = frappe.db.get_value("Customer", self.applicant, "default_bank_account")
 
-	def set_status_and_amounts(self, cancel=0):
+	def validate_disbursal_amount(self):
+		possible_disbursal_amount = get_disbursal_amount(self.against_loan)
 
+		if self.disbursed_amount > possible_disbursal_amount:
+			frappe.throw(_("Disbursed Amount cannot be greater than {0}").format(possible_disbursal_amount))
+
+	def set_status_and_amounts(self, cancel=0):
 		loan_details = frappe.get_all("Loan",
 			fields = ["loan_amount", "disbursed_amount", "total_payment", "total_principal_paid", "total_interest_payable",
 				"status", "is_term_loan", "is_secured_loan"], filters= { "name": self.against_loan })[0]
 
 		if cancel:
-			disbursed_amount = loan_details.disbursed_amount - self.disbursed_amount
-			total_payment = loan_details.total_payment
-
-			if loan_details.disbursed_amount > loan_details.loan_amount:
-				topup_amount = loan_details.disbursed_amount - loan_details.loan_amount
-				if topup_amount > self.disbursed_amount:
-					topup_amount = self.disbursed_amount
-
-				total_payment = total_payment - topup_amount
-
-			if disbursed_amount == 0:
-				status = "Sanctioned"
-			elif disbursed_amount >= loan_details.loan_amount:
-				status = "Disbursed"
-			else:
-				status = "Partially Disbursed"
+			disbursed_amount, status, total_payment = self.get_values_on_cancel(loan_details)
 		else:
-			disbursed_amount = self.disbursed_amount + loan_details.disbursed_amount
-			total_payment = loan_details.total_payment
-
-			possible_disbursal_amount = get_disbursal_amount(self.against_loan)
-
-			if self.disbursed_amount > possible_disbursal_amount:
-				frappe.throw(_("Disbursed Amount cannot be greater than {0}").format(possible_disbursal_amount))
-
-			if loan_details.status == "Disbursed" and not loan_details.is_term_loan:
-				process_loan_interest_accrual_for_demand_loans(posting_date=add_days(self.disbursement_date, -1),
-					loan=self.against_loan)
-
-			if disbursed_amount > loan_details.loan_amount:
-				topup_amount = disbursed_amount - loan_details.loan_amount
-
-				if topup_amount < 0:
-					topup_amount = 0
-
-				if topup_amount > self.disbursed_amount:
-					topup_amount = self.disbursed_amount
-
-				total_payment = total_payment + topup_amount
-
-			if flt(disbursed_amount) >= loan_details.loan_amount:
-				status = "Disbursed"
-			else:
-				status = "Partially Disbursed"
+			disbursed_amount, status, total_payment = self.get_values_on_submit(loan_details)
 
 		frappe.db.set_value("Loan", self.against_loan, {
 			"disbursement_date": self.disbursement_date,
@@ -99,6 +64,53 @@
 			"total_payment": total_payment
 		})
 
+	def get_values_on_cancel(self, loan_details):
+		disbursed_amount = loan_details.disbursed_amount - self.disbursed_amount
+		total_payment = loan_details.total_payment
+
+		if loan_details.disbursed_amount > loan_details.loan_amount:
+			topup_amount = loan_details.disbursed_amount - loan_details.loan_amount
+			if topup_amount > self.disbursed_amount:
+				topup_amount = self.disbursed_amount
+
+			total_payment = total_payment - topup_amount
+
+		if disbursed_amount == 0:
+			status = "Sanctioned"
+
+		elif disbursed_amount >= loan_details.loan_amount:
+			status = "Disbursed"
+		else:
+			status = "Partially Disbursed"
+
+		return disbursed_amount, status, total_payment
+
+	def get_values_on_submit(self, loan_details):
+		disbursed_amount = self.disbursed_amount + loan_details.disbursed_amount
+		total_payment = loan_details.total_payment
+
+		if loan_details.status in ("Disbursed", "Partially Disbursed") and not loan_details.is_term_loan:
+			process_loan_interest_accrual_for_demand_loans(posting_date=add_days(self.disbursement_date, -1),
+				loan=self.against_loan, accrual_type="Disbursement")
+
+		if disbursed_amount > loan_details.loan_amount:
+			topup_amount = disbursed_amount - loan_details.loan_amount
+
+			if topup_amount < 0:
+				topup_amount = 0
+
+			if topup_amount > self.disbursed_amount:
+				topup_amount = self.disbursed_amount
+
+			total_payment = total_payment + topup_amount
+
+		if flt(disbursed_amount) >= loan_details.loan_amount:
+			status = "Disbursed"
+		else:
+			status = "Partially Disbursed"
+
+		return disbursed_amount, status, total_payment
+
 	def make_gl_entries(self, cancel=0, adv_adj=0):
 		gle_map = []
 		loan_details = frappe.get_doc("Loan", self.against_loan)
@@ -111,7 +123,7 @@
 				"debit_in_account_currency": self.disbursed_amount,
 				"against_voucher_type": "Loan",
 				"against_voucher": self.against_loan,
-				"remarks": "Against Loan:" + self.against_loan,
+				"remarks": _("Disbursement against loan:") + self.against_loan,
 				"cost_center": self.cost_center,
 				"party_type": self.applicant_type,
 				"party": self.applicant,
@@ -127,10 +139,8 @@
 				"credit_in_account_currency": self.disbursed_amount,
 				"against_voucher_type": "Loan",
 				"against_voucher": self.against_loan,
-				"remarks": "Against Loan:" + self.against_loan,
+				"remarks": _("Disbursement against loan:") + self.against_loan,
 				"cost_center": self.cost_center,
-				"party_type": self.applicant_type,
-				"party": self.applicant,
 				"posting_date": self.disbursement_date
 			})
 		)
@@ -155,15 +165,16 @@
 	pledged_securities = get_pledged_security_qty(loan)
 
 	for security, qty in pledged_securities.items():
-		security_value += (loan_security_price_map.get(security) * qty * hair_cut_map.get(security))/100
+		after_haircut_percentage = 100 - hair_cut_map.get(security)
+		security_value += (loan_security_price_map.get(security) * qty * after_haircut_percentage)/100
 
 	return security_value
 
 @frappe.whitelist()
-def get_disbursal_amount(loan):
-	loan_details = frappe.get_all("Loan", fields = ["loan_amount", "disbursed_amount", "total_payment",
-		"total_principal_paid", "total_interest_payable", "status", "is_term_loan", "is_secured_loan"],
-		filters= { "name": loan })[0]
+def get_disbursal_amount(loan, on_current_security_price=0):
+	loan_details = frappe.get_value("Loan", loan, ["loan_amount", "disbursed_amount", "total_payment",
+		"total_principal_paid", "total_interest_payable", "status", "is_term_loan", "is_secured_loan",
+		"maximum_loan_amount"], as_dict=1)
 
 	if loan_details.is_secured_loan and frappe.get_all('Loan Security Shortfall', filters={'loan': loan,
 		'status': 'Pending'}):
@@ -173,17 +184,24 @@
 		pending_principal_amount = flt(loan_details.total_payment) - flt(loan_details.total_interest_payable) \
 			- flt(loan_details.total_principal_paid)
 	else:
-		pending_principal_amount = flt(loan_details.disbursed_amount)
+		pending_principal_amount = flt(loan_details.disbursed_amount) - flt(loan_details.total_interest_payable) \
+			- flt(loan_details.total_principal_paid)
 
 	security_value = 0.0
-	if loan_details.is_secured_loan:
+	if loan_details.is_secured_loan and on_current_security_price:
 		security_value = get_total_pledged_security_value(loan)
 
+	if loan_details.is_secured_loan and not on_current_security_price:
+		security_value = flt(loan_details.maximum_loan_amount)
+
 	if not security_value and not loan_details.is_secured_loan:
 		security_value = flt(loan_details.loan_amount)
 
 	disbursal_amount = flt(security_value) - flt(pending_principal_amount)
 
+	if loan_details.is_term_loan and (disbursal_amount + loan_details.loan_amount) > loan_details.loan_amount:
+		disbursal_amount = loan_details.loan_amount - loan_details.disbursed_amount
+
 	return disbursal_amount
 
 
diff --git a/erpnext/loan_management/doctype/loan_disbursement/test_loan_disbursement.py b/erpnext/loan_management/doctype/loan_disbursement/test_loan_disbursement.py
index 2cb2637..a875387 100644
--- a/erpnext/loan_management/doctype/loan_disbursement/test_loan_disbursement.py
+++ b/erpnext/loan_management/doctype/loan_disbursement/test_loan_disbursement.py
@@ -8,9 +8,10 @@
 from erpnext.loan_management.doctype.loan.test_loan import (create_loan_type, create_loan_security_pledge, create_repayment_entry, create_loan_application,
 	make_loan_disbursement_entry, create_loan_accounts, create_loan_security_type, create_loan_security, create_demand_loan, create_loan_security_price)
 from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_demand_loans
-from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import days_in_year
+from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import days_in_year, get_per_day_interest
 from erpnext.selling.doctype.customer.test_customer import get_customer_dict
 from erpnext.loan_management.doctype.loan_application.loan_application import create_pledge
+from erpnext.loan_management.doctype.loan_repayment.loan_repayment import calculate_amounts
 
 class TestLoanDisbursement(unittest.TestCase):
 
@@ -60,8 +61,7 @@
 		self.assertRaises(frappe.ValidationError, make_loan_disbursement_entry, loan.name,
 			500000, first_date)
 
-		repayment_entry = create_repayment_entry(loan.name, self.applicant, add_days(get_last_day(nowdate()), 5),
-			"Regular Payment", 611095.89)
+		repayment_entry = create_repayment_entry(loan.name, self.applicant, add_days(get_last_day(nowdate()), 5), 611095.89)
 
 		repayment_entry.submit()
 		loan.reload()
@@ -69,3 +69,50 @@
 		# After repayment loan disbursement entry should go through
 		make_loan_disbursement_entry(loan.name, 500000, disbursement_date=add_days(last_date, 16))
 
+		# check for disbursement accrual
+		loan_interest_accrual = frappe.db.get_value('Loan Interest Accrual', {'loan': loan.name,
+			'accrual_type': 'Disbursement'})
+
+		self.assertTrue(loan_interest_accrual)
+
+	def test_loan_topup_with_additional_pledge(self):
+		pledge = [{
+			"loan_security": "Test Security 1",
+			"qty": 4000.00
+		}]
+
+		loan_application = create_loan_application('_Test Company', self.applicant, 'Demand Loan', pledge)
+		create_pledge(loan_application)
+
+		loan = create_demand_loan(self.applicant, "Demand Loan", loan_application, posting_date='2019-10-01')
+		loan.submit()
+
+		self.assertEquals(loan.loan_amount, 1000000)
+
+		first_date = '2019-10-01'
+		last_date = '2019-10-30'
+
+		# Disbursed 10,00,000 amount
+		make_loan_disbursement_entry(loan.name, loan.loan_amount, disbursement_date=first_date)
+		process_loan_interest_accrual_for_demand_loans(posting_date = last_date)
+		amounts = calculate_amounts(loan.name, add_days(last_date, 1))
+
+		previous_interest = amounts['interest_amount']
+
+		pledge1 = [{
+			"loan_security": "Test Security 1",
+			"qty": 2000.00
+		}]
+
+		create_loan_security_pledge(self.applicant, pledge1, loan=loan.name)
+
+		# Topup 500000
+		make_loan_disbursement_entry(loan.name, 500000, disbursement_date=add_days(last_date, 1))
+		process_loan_interest_accrual_for_demand_loans(posting_date = add_days(last_date, 15))
+		amounts = calculate_amounts(loan.name, add_days(last_date, 15))
+
+		per_day_interest = get_per_day_interest(1500000, 13.5, '2019-10-30')
+		interest = per_day_interest * 15
+
+		self.assertEquals(amounts['pending_principal_amount'], 1500000)
+		self.assertEquals(amounts['interest_amount'], flt(interest + previous_interest, 2))
diff --git a/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.json b/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.json
index 5fc3e8f..f157f0d 100644
--- a/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.json
+++ b/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.json
@@ -14,6 +14,7 @@
   "column_break_4",
   "company",
   "posting_date",
+  "accrual_type",
   "is_term_loan",
   "section_break_7",
   "pending_principal_amount",
@@ -22,9 +23,11 @@
   "column_break_14",
   "interest_amount",
   "paid_interest_amount",
+  "penalty_amount",
   "section_break_15",
   "process_loan_interest_accrual",
   "repayment_schedule_name",
+  "last_accrual_date",
   "amended_from"
  ],
  "fields": [
@@ -139,6 +142,7 @@
    "read_only": 1
   },
   {
+   "depends_on": "eval:doc.is_term_loan",
    "fieldname": "paid_principal_amount",
    "fieldtype": "Currency",
    "label": "Paid Principal Amount",
@@ -149,12 +153,32 @@
    "fieldtype": "Currency",
    "label": "Paid Interest Amount",
    "options": "Company:company:default_currency"
+  },
+  {
+   "fieldname": "accrual_type",
+   "fieldtype": "Select",
+   "label": "Accrual Type",
+   "options": "Regular\nRepayment\nDisbursement"
+  },
+  {
+   "fieldname": "penalty_amount",
+   "fieldtype": "Currency",
+   "label": "Penalty Amount",
+   "options": "Company:company:default_currency"
+  },
+  {
+   "fieldname": "last_accrual_date",
+   "fieldtype": "Date",
+   "hidden": 1,
+   "label": "Last Accrual Date",
+   "read_only": 1
   }
  ],
  "in_create": 1,
+ "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-04-16 11:24:23.258404",
+ "modified": "2020-11-07 05:49:25.448875",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Loan Interest Accrual",
diff --git a/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.py b/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.py
index 2d959bf..d17f5af 100644
--- a/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.py
+++ b/erpnext/loan_management/doctype/loan_interest_accrual/loan_interest_accrual.py
@@ -22,6 +22,8 @@
 		if not self.interest_amount and not self.payable_principal_amount:
 			frappe.throw(_("Interest Amount or Principal Amount is mandatory"))
 
+		if not self.last_accrual_date:
+			self.last_accrual_date = get_last_accrual_date(self.loan)
 
 	def on_submit(self):
 		self.make_gl_entries()
@@ -50,7 +52,8 @@
 					"debit_in_account_currency": self.interest_amount,
 					"against_voucher_type": "Loan",
 					"against_voucher": self.loan,
-					"remarks": _("Against Loan:") + self.loan,
+					"remarks": _("Interest accrued from {0} to {1} against loan: {2}").format(
+						self.last_accrual_date, self.posting_date, self.loan),
 					"cost_center": erpnext.get_default_cost_center(self.company),
 					"posting_date": self.posting_date
 				})
@@ -59,14 +62,13 @@
 			gle_map.append(
 				self.get_gl_dict({
 					"account": self.interest_income_account,
-					"party_type": self.applicant_type,
-					"party": self.applicant,
 					"against": self.loan_account,
 					"credit": self.interest_amount,
 					"credit_in_account_currency":  self.interest_amount,
 					"against_voucher_type": "Loan",
 					"against_voucher": self.loan,
-					"remarks": _("Against Loan:") + self.loan,
+					"remarks": ("Interest accrued from {0} to {1} against loan: {2}").format(
+						self.last_accrual_date, self.posting_date, self.loan),
 					"cost_center": erpnext.get_default_cost_center(self.company),
 					"posting_date": self.posting_date
 				})
@@ -79,19 +81,23 @@
 # For Eg: If Loan disbursement date is '01-09-2019' and disbursed amount is 1000000 and
 # rate of interest is 13.5 then first loan interest accural will be on '01-10-2019'
 # which means interest will be accrued for 30 days which should be equal to 11095.89
-def calculate_accrual_amount_for_demand_loans(loan, posting_date, process_loan_interest):
+def calculate_accrual_amount_for_demand_loans(loan, posting_date, process_loan_interest, accrual_type):
+	from erpnext.loan_management.doctype.loan_repayment.loan_repayment import calculate_amounts
+
 	no_of_days = get_no_of_days_for_interest_accural(loan, posting_date)
+	precision = cint(frappe.db.get_default("currency_precision")) or 2
 
 	if no_of_days <= 0:
 		return
 
 	if loan.status == 'Disbursed':
 		pending_principal_amount = flt(loan.total_payment) - flt(loan.total_interest_payable) \
-			- flt(loan.total_principal_paid)
+			- flt(loan.total_principal_paid) - flt(loan.written_off_amount)
 	else:
-		pending_principal_amount = loan.disbursed_amount
+		pending_principal_amount = flt(loan.disbursed_amount) - flt(loan.total_interest_payable) \
+			- flt(loan.total_principal_paid) - flt(loan.written_off_amount)
 
-	interest_per_day = (pending_principal_amount * loan.rate_of_interest) / (days_in_year(get_datetime(posting_date).year) * 100)
+	interest_per_day = get_per_day_interest(pending_principal_amount, loan.rate_of_interest, posting_date)
 	payable_interest = interest_per_day * no_of_days
 
 	args = frappe._dict({
@@ -102,13 +108,16 @@
 		'loan_account': loan.loan_account,
 		'pending_principal_amount': pending_principal_amount,
 		'interest_amount': payable_interest,
+		'penalty_amount': calculate_amounts(loan.name, posting_date)['penalty_amount'],
 		'process_loan_interest': process_loan_interest,
-		'posting_date': posting_date
+		'posting_date': posting_date,
+		'accrual_type': accrual_type
 	})
 
-	make_loan_interest_accrual_entry(args)
+	if flt(payable_interest, precision) > 0.0:
+		make_loan_interest_accrual_entry(args)
 
-def make_accrual_interest_entry_for_demand_loans(posting_date, process_loan_interest, open_loans=None, loan_type=None):
+def make_accrual_interest_entry_for_demand_loans(posting_date, process_loan_interest, open_loans=None, loan_type=None, accrual_type="Regular"):
 	query_filters = {
 		"status": ('in', ['Disbursed', 'Partially Disbursed']),
 		"docstatus": 1
@@ -123,13 +132,13 @@
 		open_loans = frappe.get_all("Loan",
 			fields=["name", "total_payment", "total_amount_paid", "loan_account", "interest_income_account",
 				"is_term_loan", "status", "disbursement_date", "disbursed_amount", "applicant_type", "applicant",
-				"rate_of_interest", "total_interest_payable", "total_principal_paid", "repayment_start_date"],
+				"rate_of_interest", "total_interest_payable", "written_off_amount", "total_principal_paid", "repayment_start_date"],
 			filters=query_filters)
 
 	for loan in open_loans:
-		calculate_accrual_amount_for_demand_loans(loan, posting_date, process_loan_interest)
+		calculate_accrual_amount_for_demand_loans(loan, posting_date, process_loan_interest, accrual_type)
 
-def make_accrual_interest_entry_for_term_loans(posting_date, process_loan_interest, term_loan=None, loan_type=None):
+def make_accrual_interest_entry_for_term_loans(posting_date, process_loan_interest, term_loan=None, loan_type=None, accrual_type="Regular"):
 	curr_date = posting_date or add_days(nowdate(), 1)
 
 	term_loans = get_term_loans(curr_date, term_loan, loan_type)
@@ -148,7 +157,8 @@
 			'payable_principal': loan.principal_amount,
 			'process_loan_interest': process_loan_interest,
 			'repayment_schedule_name': loan.payment_entry,
-			'posting_date': posting_date
+			'posting_date': posting_date,
+			'accrual_type': accrual_type
 		})
 
 		make_loan_interest_accrual_entry(args)
@@ -192,31 +202,33 @@
 	loan_interest_accrual.loan_account = args.loan_account
 	loan_interest_accrual.pending_principal_amount = flt(args.pending_principal_amount, precision)
 	loan_interest_accrual.interest_amount = flt(args.interest_amount, precision)
+	loan_interest_accrual.penalty_amount = flt(args.penalty_amount, precision)
 	loan_interest_accrual.posting_date = args.posting_date or nowdate()
 	loan_interest_accrual.process_loan_interest_accrual = args.process_loan_interest
 	loan_interest_accrual.repayment_schedule_name = args.repayment_schedule_name
 	loan_interest_accrual.payable_principal_amount = args.payable_principal
+	loan_interest_accrual.accrual_type = args.accrual_type
 
 	loan_interest_accrual.save()
 	loan_interest_accrual.submit()
 
 
 def get_no_of_days_for_interest_accural(loan, posting_date):
-	last_interest_accrual_date = get_last_accural_date_in_current_month(loan)
+	last_interest_accrual_date = get_last_accrual_date(loan.name)
 
 	no_of_days = date_diff(posting_date or nowdate(), last_interest_accrual_date) + 1
 
 	return no_of_days
 
-def get_last_accural_date_in_current_month(loan):
+def get_last_accrual_date(loan):
 	last_posting_date = frappe.db.sql(""" SELECT MAX(posting_date) from `tabLoan Interest Accrual`
-		WHERE loan = %s""", (loan.name))
+		WHERE loan = %s and docstatus = 1""", (loan))
 
 	if last_posting_date[0][0]:
 		# interest for last interest accrual date is already booked, so add 1 day
 		return add_days(last_posting_date[0][0], 1)
 	else:
-		return loan.disbursement_date
+		return frappe.db.get_value('Loan', loan, 'disbursement_date')
 
 def days_in_year(year):
 	days = 365
@@ -226,3 +238,11 @@
 
 	return days
 
+def get_per_day_interest(principal_amount, rate_of_interest, posting_date=None):
+	if not posting_date:
+		posting_date = getdate()
+
+	precision = cint(frappe.db.get_default("currency_precision")) or 2
+
+	return flt((principal_amount * rate_of_interest) / (days_in_year(get_datetime(posting_date).year) * 100), precision)
+
diff --git a/erpnext/loan_management/doctype/loan_interest_accrual/test_loan_interest_accrual.py b/erpnext/loan_management/doctype/loan_interest_accrual/test_loan_interest_accrual.py
index 4b85b21..46a6440 100644
--- a/erpnext/loan_management/doctype/loan_interest_accrual/test_loan_interest_accrual.py
+++ b/erpnext/loan_management/doctype/loan_interest_accrual/test_loan_interest_accrual.py
@@ -5,7 +5,7 @@
 import frappe
 import unittest
 from frappe.utils import (nowdate, add_days, get_datetime, get_first_day, get_last_day, date_diff, flt, add_to_date)
-from erpnext.loan_management.doctype.loan.test_loan import (create_loan_type, create_loan_security_pledge, create_loan_security_price,
+from erpnext.loan_management.doctype.loan.test_loan import (create_loan_type, create_loan_security_price,
 	make_loan_disbursement_entry, create_loan_accounts, create_loan_security_type, create_loan_security, create_demand_loan, create_loan_application)
 from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_demand_loans
 from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import days_in_year
@@ -57,4 +57,4 @@
 
 		loan_interest_accural = frappe.get_doc("Loan Interest Accrual", {'loan': loan.name})
 
-		self.assertEquals(flt(loan_interest_accural.interest_amount, 2), flt(accrued_interest_amount, 2))
+		self.assertEquals(flt(loan_interest_accural.interest_amount, 0), flt(accrued_interest_amount, 0))
diff --git a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.json b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.json
index 5942455..2b5df4b 100644
--- a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.json
+++ b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.json
@@ -10,11 +10,11 @@
   "applicant_type",
   "applicant",
   "loan_type",
-  "payment_type",
   "column_break_3",
   "company",
   "posting_date",
   "is_term_loan",
+  "rate_of_interest",
   "payment_details_section",
   "due_date",
   "pending_principal_amount",
@@ -31,6 +31,7 @@
   "column_break_21",
   "reference_date",
   "principal_amount_paid",
+  "total_interest_paid",
   "repayment_details",
   "amended_from"
  ],
@@ -96,15 +97,6 @@
    "fieldtype": "Column Break"
   },
   {
-   "default": "Regular Payment",
-   "fieldname": "payment_type",
-   "fieldtype": "Select",
-   "in_list_view": 1,
-   "label": "Payment Type",
-   "options": "\nRegular Payment\nLoan Closure",
-   "reqd": 1
-  },
-  {
    "fieldname": "payable_amount",
    "fieldtype": "Currency",
    "label": "Payable Amount",
@@ -116,6 +108,7 @@
    "fieldname": "amount_paid",
    "fieldtype": "Currency",
    "label": "Amount Paid",
+   "non_negative": 1,
    "options": "Company:company:default_currency",
    "reqd": 1
   },
@@ -195,6 +188,7 @@
    "fieldtype": "Currency",
    "hidden": 1,
    "label": "Principal Amount Paid",
+   "options": "Company:company:default_currency",
    "read_only": 1
   },
   {
@@ -217,11 +211,27 @@
    "hidden": 1,
    "label": "Repayment Details",
    "options": "Loan Repayment Detail"
+  },
+  {
+   "fieldname": "total_interest_paid",
+   "fieldtype": "Currency",
+   "hidden": 1,
+   "label": "Total Interest Paid",
+   "options": "Company:company:default_currency",
+   "read_only": 1
+  },
+  {
+   "fetch_from": "loan_type.rate_of_interest",
+   "fieldname": "rate_of_interest",
+   "fieldtype": "Percent",
+   "label": "Rate Of Interest",
+   "read_only": 1
   }
  ],
+ "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-05-16 09:40:15.581165",
+ "modified": "2020-11-05 10:06:58.792841",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Loan Repayment",
diff --git a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
index 97dbc44..415ba99 100644
--- a/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
+++ b/erpnext/loan_management/doctype/loan_repayment/loan_repayment.py
@@ -14,14 +14,15 @@
 from erpnext.accounts.general_ledger import make_gl_entries
 from erpnext.loan_management.doctype.loan_security_shortfall.loan_security_shortfall import update_shortfall_status
 from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_demand_loans
+from erpnext.loan_management.doctype.loan_interest_accrual.loan_interest_accrual import get_per_day_interest, get_last_accrual_date
 
 class LoanRepayment(AccountsController):
 
 	def validate(self):
-		amounts = calculate_amounts(self.against_loan, self.posting_date, self.payment_type)
+		amounts = calculate_amounts(self.against_loan, self.posting_date)
 		self.set_missing_values(amounts)
 		self.validate_amount()
-		self.allocate_amounts(amounts['pending_accrual_entries'])
+		self.allocate_amounts(amounts)
 
 	def before_submit(self):
 		self.book_unaccrued_interest()
@@ -32,8 +33,8 @@
 
 	def on_cancel(self):
 		self.mark_as_unpaid()
-		self.make_gl_entries(cancel=1)
 		self.ignore_linked_doctypes = ['GL Entry']
+		self.make_gl_entries(cancel=1)
 
 	def set_missing_values(self, amounts):
 		precision = cint(frappe.db.get_default("currency_precision")) or 2
@@ -72,29 +73,36 @@
 			msg = _("Paid amount cannot be less than {0}").format(self.penalty_amount)
 			frappe.throw(msg)
 
-		if self.payment_type == "Loan Closure" and flt(self.amount_paid, precision) < flt(self.payable_amount, precision):
-			msg = _("Amount of {0} is required for Loan closure").format(self.payable_amount)
-			frappe.throw(msg)
-
 	def book_unaccrued_interest(self):
-		if self.payment_type == 'Loan Closure':
-			total_interest_paid = 0
-			for payment in self.repayment_details:
-				total_interest_paid += payment.paid_interest_amount
+		precision = cint(frappe.db.get_default("currency_precision")) or 2
+		if self.total_interest_paid > self.interest_payable:
+			if not self.is_term_loan:
+				# get last loan interest accrual date
+				last_accrual_date = get_last_accrual_date(self.against_loan)
 
-			if total_interest_paid < self.interest_payable:
-				if not self.is_term_loan:
-					process = process_loan_interest_accrual_for_demand_loans(posting_date=self.posting_date,
-						loan=self.against_loan)
+				# get posting date upto which interest has to be accrued
+				per_day_interest = flt(get_per_day_interest(self.pending_principal_amount,
+					self.rate_of_interest, self.posting_date), 2)
 
-					lia = frappe.db.get_value('Loan Interest Accrual', {'process_loan_interest_accrual':
-						process}, ['name', 'interest_amount', 'payable_principal_amount'], as_dict=1)
+				no_of_days = flt(flt(self.total_interest_paid - self.interest_payable,
+					precision)/per_day_interest, 0) - 1
 
-					self.append('repayment_details', {
-						'loan_interest_accrual': lia.name,
-						'paid_interest_amount': lia.interest_amount,
-						'paid_principal_amount': lia.payable_principal_amount
-					})
+				posting_date = add_days(last_accrual_date, no_of_days)
+
+				# book excess interest paid
+				process = process_loan_interest_accrual_for_demand_loans(posting_date=posting_date,
+					loan=self.against_loan, accrual_type="Repayment")
+
+				# get loan interest accrual to update paid amount
+				lia = frappe.db.get_value('Loan Interest Accrual', {'process_loan_interest_accrual':
+					process}, ['name', 'interest_amount', 'payable_principal_amount'], as_dict=1)
+
+				self.append('repayment_details', {
+					'loan_interest_accrual': lia.name,
+					'paid_interest_amount': flt(self.total_interest_paid - self.interest_payable, precision),
+					'paid_principal_amount': 0.0,
+					'accrual_type': 'Repayment'
+				})
 
 	def update_paid_amount(self):
 		precision = cint(frappe.db.get_default("currency_precision")) or 2
@@ -108,12 +116,6 @@
 				WHERE name = %s""",
 				(flt(payment.paid_principal_amount, precision), flt(payment.paid_interest_amount, precision), payment.loan_interest_accrual))
 
-		if flt(loan.total_principal_paid + self.principal_amount_paid, precision) >= flt(loan.total_payment, precision):
-			if loan.is_secured_loan:
-				frappe.db.set_value("Loan", self.against_loan, "status", "Loan Closure Requested")
-			else:
-				frappe.db.set_value("Loan", self.against_loan, "status", "Closed")
-
 		frappe.db.sql(""" UPDATE `tabLoan` SET total_amount_paid = %s, total_principal_paid = %s
 			WHERE name = %s """, (loan.total_amount_paid + self.amount_paid,
 			loan.total_principal_paid + self.principal_amount_paid, self.against_loan))
@@ -123,6 +125,8 @@
 	def mark_as_unpaid(self):
 		loan = frappe.get_doc("Loan", self.against_loan)
 
+		no_of_repayments = len(self.repayment_details)
+
 		for payment in self.repayment_details:
 			frappe.db.sql(""" UPDATE `tabLoan Interest Accrual`
 				SET paid_principal_amount = `paid_principal_amount` - %s,
@@ -130,6 +134,12 @@
 				WHERE name = %s""",
 				(payment.paid_principal_amount, payment.paid_interest_amount, payment.loan_interest_accrual))
 
+			# Cancel repayment interest accrual
+			# checking idx as a preventive measure, repayment accrual will always be the last entry
+			if payment.accrual_type == 'Repayment' and payment.idx == no_of_repayments:
+				lia_doc = frappe.get_doc('Loan Interest Accrual', payment.loan_interest_accrual)
+				lia_doc.cancel()
+
 		frappe.db.sql(""" UPDATE `tabLoan` SET total_amount_paid = %s, total_principal_paid = %s
 			WHERE name = %s """, (loan.total_amount_paid - self.amount_paid,
 			loan.total_principal_paid - self.principal_amount_paid, self.against_loan))
@@ -137,15 +147,17 @@
 		if loan.status == "Loan Closure Requested":
 			frappe.db.set_value("Loan", self.against_loan, "status", "Disbursed")
 
-	def allocate_amounts(self, paid_entries):
+	def allocate_amounts(self, repayment_details):
+		precision = cint(frappe.db.get_default("currency_precision")) or 2
+
 		self.set('repayment_details', [])
 		self.principal_amount_paid = 0
 		total_interest_paid = 0
 		interest_paid = self.amount_paid - self.penalty_amount
 
-		if self.amount_paid - self.penalty_amount > 0 and paid_entries:
+		if self.amount_paid - self.penalty_amount > 0:
 			interest_paid = self.amount_paid - self.penalty_amount
-			for lia, amounts in iteritems(paid_entries):
+			for lia, amounts in iteritems(repayment_details.get('pending_accrual_entries', [])):
 				if amounts['interest_amount'] + amounts['payable_principal_amount'] <= interest_paid:
 					interest_amount = amounts['interest_amount']
 					paid_principal = amounts['payable_principal_amount']
@@ -169,9 +181,24 @@
 					'paid_principal_amount': paid_principal
 				})
 
-		if self.payment_type == 'Loan Closure' and total_interest_paid < self.interest_payable:
-			unaccrued_interest = self.interest_payable - total_interest_paid
-			interest_paid -= unaccrued_interest
+		if repayment_details['unaccrued_interest'] and interest_paid:
+			# no of days for which to accrue interest
+			# Interest can only be accrued for an entire day and not partial
+			if interest_paid > repayment_details['unaccrued_interest']:
+				per_day_interest = flt(get_per_day_interest(self.pending_principal_amount,
+					self.rate_of_interest, self.posting_date), precision)
+				interest_paid -= repayment_details['unaccrued_interest']
+				total_interest_paid += repayment_details['unaccrued_interest']
+			else:
+				# get no of days for which interest can be paid
+				per_day_interest = flt(get_per_day_interest(self.pending_principal_amount,
+					self.rate_of_interest, self.posting_date), precision)
+
+				no_of_days = cint(interest_paid/per_day_interest)
+				total_interest_paid += no_of_days * per_day_interest
+				interest_paid -= no_of_days * per_day_interest
+
+		self.total_interest_paid = total_interest_paid
 
 		if interest_paid:
 			self.principal_amount_paid += interest_paid
@@ -189,7 +216,7 @@
 					"debit_in_account_currency": self.penalty_amount,
 					"against_voucher_type": "Loan",
 					"against_voucher": self.against_loan,
-					"remarks": _("Against Loan:") + self.against_loan,
+					"remarks": _("Penalty against loan:") + self.against_loan,
 					"cost_center": self.cost_center,
 					"party_type": self.applicant_type,
 					"party": self.applicant,
@@ -205,10 +232,8 @@
 					"credit_in_account_currency": self.penalty_amount,
 					"against_voucher_type": "Loan",
 					"against_voucher": self.against_loan,
-					"remarks": _("Against Loan:") + self.against_loan,
+					"remarks": _("Penalty against loan:") + self.against_loan,
 					"cost_center": self.cost_center,
-					"party_type": self.applicant_type,
-					"party": self.applicant,
 					"posting_date": getdate(self.posting_date)
 				})
 			)
@@ -219,13 +244,11 @@
 				"against": loan_details.loan_account + ", " + loan_details.interest_income_account
 						+ ", " + loan_details.penalty_income_account,
 				"debit": self.amount_paid,
-				"debit_in_account_currency": self.amount_paid ,
+				"debit_in_account_currency": self.amount_paid,
 				"against_voucher_type": "Loan",
 				"against_voucher": self.against_loan,
-				"remarks": _("Against Loan:") + self.against_loan,
+				"remarks": _("Repayment against Loan: ") + self.against_loan,
 				"cost_center": self.cost_center,
-				"party_type": self.applicant_type,
-				"party": self.applicant,
 				"posting_date": getdate(self.posting_date)
 			})
 		)
@@ -240,7 +263,7 @@
 				"credit_in_account_currency": self.amount_paid,
 				"against_voucher_type": "Loan",
 				"against_voucher": self.against_loan,
-				"remarks": _("Against Loan:") + self.against_loan,
+				"remarks": _("Repayment against Loan: ") + self.against_loan,
 				"cost_center": self.cost_center,
 				"posting_date": getdate(self.posting_date)
 			})
@@ -273,7 +296,8 @@
 	unpaid_accrued_entries = frappe.db.sql(
 		"""
 			SELECT name, posting_date, interest_amount - paid_interest_amount as interest_amount,
-				payable_principal_amount - paid_principal_amount as payable_principal_amount
+				payable_principal_amount - paid_principal_amount as payable_principal_amount,
+				accrual_type
 			FROM
 				`tabLoan Interest Accrual`
 			WHERE
@@ -282,6 +306,7 @@
 				payable_principal_amount - paid_principal_amount > 0)
 			AND
 				docstatus = 1
+			ORDER BY posting_date
 		""", (against_loan), as_dict=1)
 
 	return unpaid_accrued_entries
@@ -289,7 +314,7 @@
 # This function returns the amounts that are payable at the time of loan repayment based on posting date
 # So it pulls all the unpaid Loan Interest Accrual Entries and calculates the penalty if applicable
 
-def get_amounts(amounts, against_loan, posting_date, payment_type):
+def get_amounts(amounts, against_loan, posting_date):
 	precision = cint(frappe.db.get_default("currency_precision")) or 2
 
 	against_loan_doc = frappe.get_doc("Loan", against_loan)
@@ -311,10 +336,10 @@
 
 		due_date = add_days(entry.posting_date, 1)
 		no_of_late_days = date_diff(posting_date,
-			add_days(due_date, loan_type_details.grace_period_in_days))
+			add_days(due_date, loan_type_details.grace_period_in_days)) + 1
 
-		if no_of_late_days > 0 and (not against_loan_doc.repay_from_salary):
-			penalty_amount += (entry.interest_amount * (loan_type_details.penalty_interest_rate / 100) * no_of_late_days)/365
+		if no_of_late_days > 0 and (not against_loan_doc.repay_from_salary) and entry.accrual_type == 'Regular':
+			penalty_amount += (entry.interest_amount * (loan_type_details.penalty_interest_rate / 100) * no_of_late_days)
 
 		total_pending_interest += entry.interest_amount
 		payable_principal_amount += entry.payable_principal_amount
@@ -324,23 +349,27 @@
 			'payable_principal_amount': flt(entry.payable_principal_amount, precision)
 		})
 
-		if not final_due_date:
+		if due_date and not final_due_date:
 			final_due_date = add_days(due_date, loan_type_details.grace_period_in_days)
 
 	if against_loan_doc.status in ('Disbursed', 'Loan Closure Requested', 'Closed'):
-		pending_principal_amount = against_loan_doc.total_payment - against_loan_doc.total_principal_paid - against_loan_doc.total_interest_payable
+		pending_principal_amount = against_loan_doc.total_payment - against_loan_doc.total_principal_paid \
+			- against_loan_doc.total_interest_payable - against_loan_doc.written_off_amount
 	else:
-		pending_principal_amount = against_loan_doc.disbursed_amount
+		pending_principal_amount = against_loan_doc.disbursed_amount - against_loan_doc.total_principal_paid \
+			- against_loan_doc.total_interest_payable - against_loan_doc.written_off_amount
 
-	if payment_type == "Loan Closure":
-		if due_date:
-			pending_days = date_diff(posting_date, due_date) + 1
-		else:
-			pending_days = date_diff(posting_date, against_loan_doc.disbursement_date) + 1
+	unaccrued_interest = 0
+	if due_date:
+		pending_days = date_diff(posting_date, due_date) + 1
+	else:
+		last_accrual_date = get_last_accrual_date(against_loan_doc.name)
+		pending_days = date_diff(posting_date, last_accrual_date) + 1
 
-		payable_principal_amount = pending_principal_amount
-		per_day_interest = (payable_principal_amount * (loan_type_details.rate_of_interest / 100))/365
-		total_pending_interest += (pending_days * per_day_interest)
+	if pending_days > 0:
+		principal_amount = flt(pending_principal_amount, precision)
+		per_day_interest = get_per_day_interest(principal_amount, loan_type_details.rate_of_interest, posting_date)
+		unaccrued_interest += (pending_days * flt(per_day_interest, precision))
 
 	amounts["pending_principal_amount"] = flt(pending_principal_amount, precision)
 	amounts["payable_principal_amount"] = flt(payable_principal_amount, precision)
@@ -348,6 +377,7 @@
 	amounts["penalty_amount"] = flt(penalty_amount, precision)
 	amounts["payable_amount"] = flt(payable_principal_amount + total_pending_interest + penalty_amount, precision)
 	amounts["pending_accrual_entries"] = pending_accrual_entries
+	amounts["unaccrued_interest"] = unaccrued_interest
 
 	if final_due_date:
 		amounts["due_date"] = final_due_date
@@ -355,7 +385,7 @@
 	return amounts
 
 @frappe.whitelist()
-def calculate_amounts(against_loan, posting_date, payment_type):
+def calculate_amounts(against_loan, posting_date, payment_type=''):
 
 	amounts = {
 		'penalty_amount': 0.0,
@@ -363,10 +393,17 @@
 		'pending_principal_amount': 0.0,
 		'payable_principal_amount': 0.0,
 		'payable_amount': 0.0,
+		'unaccrued_interest': 0.0,
 		'due_date': ''
 	}
 
-	amounts = get_amounts(amounts, against_loan, posting_date, payment_type)
+	amounts = get_amounts(amounts, against_loan, posting_date)
+
+	# update values for closure
+	if payment_type == 'Loan Closure':
+		amounts['payable_principal_amount'] = amounts['pending_principal_amount']
+		amounts['interest_amount'] += amounts['unaccrued_interest']
+		amounts['payable_amount'] = amounts['payable_principal_amount'] + amounts['interest_amount']
 
 	return amounts
 
diff --git a/erpnext/loan_management/doctype/loan_repayment_detail/loan_repayment_detail.json b/erpnext/loan_management/doctype/loan_repayment_detail/loan_repayment_detail.json
index cff1dbb..4b9b191 100644
--- a/erpnext/loan_management/doctype/loan_repayment_detail/loan_repayment_detail.json
+++ b/erpnext/loan_management/doctype/loan_repayment_detail/loan_repayment_detail.json
@@ -7,7 +7,8 @@
  "field_order": [
   "loan_interest_accrual",
   "paid_principal_amount",
-  "paid_interest_amount"
+  "paid_interest_amount",
+  "accrual_type"
  ],
  "fields": [
   {
@@ -27,11 +28,20 @@
    "fieldtype": "Currency",
    "label": "Paid Interest Amount",
    "options": "Company:company:default_currency"
+  },
+  {
+   "fetch_from": "loan_interest_accrual.accrual_type",
+   "fetch_if_empty": 1,
+   "fieldname": "accrual_type",
+   "fieldtype": "Select",
+   "label": "Accrual Type",
+   "options": "Regular\nRepayment\nDisbursement"
   }
  ],
+ "index_web_pages_for_search": 1,
  "istable": 1,
  "links": [],
- "modified": "2020-04-15 21:50:03.837019",
+ "modified": "2020-10-23 08:09:18.267030",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Loan Repayment Detail",
diff --git a/erpnext/loan_management/doctype/loan_security/loan_security.json b/erpnext/loan_management/doctype/loan_security/loan_security.json
index 1d0bb30..c698601 100644
--- a/erpnext/loan_management/doctype/loan_security/loan_security.json
+++ b/erpnext/loan_management/doctype/loan_security/loan_security.json
@@ -25,6 +25,7 @@
   },
   {
    "fetch_from": "loan_security_type.haircut",
+   "fetch_if_empty": 1,
    "fieldname": "haircut",
    "fieldtype": "Percent",
    "label": "Haircut %"
@@ -64,8 +65,9 @@
    "reqd": 1
   }
  ],
+ "index_web_pages_for_search": 1,
  "links": [],
- "modified": "2020-04-29 13:21:26.043492",
+ "modified": "2020-10-26 07:34:48.601766",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Loan Security",
diff --git a/erpnext/loan_management/doctype/loan_security_pledge/loan_security_pledge.py b/erpnext/loan_management/doctype/loan_security_pledge/loan_security_pledge.py
index 2bb6fd8..cbc8376 100644
--- a/erpnext/loan_management/doctype/loan_security_pledge/loan_security_pledge.py
+++ b/erpnext/loan_management/doctype/loan_security_pledge/loan_security_pledge.py
@@ -78,7 +78,7 @@
 		self.maximum_loan_value = maximum_loan_value
 
 def update_loan(loan, maximum_value_against_pledge):
-	maximum_loan_value = frappe.db.get_value('Loan', {'name': loan}, ['maximum_loan_value'])
+	maximum_loan_value = frappe.db.get_value('Loan', {'name': loan}, ['maximum_loan_amount'])
 
-	frappe.db.sql(""" UPDATE `tabLoan` SET maximum_loan_value=%s, is_secured_loan=1
+	frappe.db.sql(""" UPDATE `tabLoan` SET maximum_loan_amount=%s, is_secured_loan=1
 		WHERE name=%s""", (maximum_loan_value + maximum_value_against_pledge, loan))
diff --git a/erpnext/loan_management/doctype/loan_security_shortfall/loan_security_shortfall.py b/erpnext/loan_management/doctype/loan_security_shortfall/loan_security_shortfall.py
index 0f42bde..8ec0bfb 100644
--- a/erpnext/loan_management/doctype/loan_security_shortfall/loan_security_shortfall.py
+++ b/erpnext/loan_management/doctype/loan_security_shortfall/loan_security_shortfall.py
@@ -22,7 +22,7 @@
 	if security_value >= loan_security_shortfall.shortfall_amount:
 		frappe.db.set_value("Loan Security Shortfall", loan_security_shortfall.name, {
 			"status": "Completed",
-			"shortfall_value": loan_security_shortfall.shortfall_amount})
+			"shortfall_amount": loan_security_shortfall.shortfall_amount})
 	else:
 		frappe.db.set_value("Loan Security Shortfall", loan_security_shortfall.name,
 			"shortfall_amount", loan_security_shortfall.shortfall_amount - security_value)
diff --git a/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py b/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py
index b3eb600..c29f325 100644
--- a/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py
+++ b/erpnext/loan_management/doctype/loan_security_unpledge/loan_security_unpledge.py
@@ -42,18 +42,20 @@
 				"valid_upto": (">=", get_datetime())
 			}, as_list=1))
 
-		total_payment, principal_paid, interest_payable = frappe.get_value("Loan", self.loan, ['total_payment', 'total_principal_paid',
-			'total_interest_payable'])
+		total_payment, principal_paid, interest_payable, written_off_amount = frappe.get_value("Loan", self.loan, ['total_payment', 'total_principal_paid',
+			'total_interest_payable', 'written_off_amount'])
 
-		pending_principal_amount = flt(total_payment) - flt(interest_payable) - flt(principal_paid)
+		pending_principal_amount = flt(total_payment) - flt(interest_payable) - flt(principal_paid) - flt(written_off_amount)
 		security_value = 0
 
 		for security in self.securities:
 			pledged_qty = pledge_qty_map.get(security.loan_security, 0)
 			if security.qty > pledged_qty:
-				frappe.throw(_("""Row {0}: {1} {2} of {3} is pledged against Loan {4}.
-					You are trying to unpledge more""").format(security.idx, pledged_qty, security.uom,
-					frappe.bold(security.loan_security), frappe.bold(self.loan)))
+				msg = _("Row {0}: {1} {2} of {3} is pledged against Loan {4}.").format(security.idx, pledged_qty, security.uom,
+					frappe.bold(security.loan_security), frappe.bold(self.loan))
+				msg += "<br>"
+				msg += _("You are trying to unpledge more.")
+				frappe.throw(msg, title=_("Loan Security Unpledge Error"))
 
 			qty_after_unpledge = pledged_qty - security.qty
 			ltv_ratio = ltv_ratio_map.get(security.loan_security_type)
@@ -65,10 +67,18 @@
 			security_value += qty_after_unpledge * current_price
 
 		if not security_value and flt(pending_principal_amount, 2) > 0:
-			frappe.throw("Cannot Unpledge, loan to value ratio is breaching")
+			self._throw(security_value, pending_principal_amount, ltv_ratio)
 
 		if security_value and flt(pending_principal_amount/security_value) * 100 > ltv_ratio:
-			frappe.throw("Cannot Unpledge, loan to value ratio is breaching")
+			self._throw(security_value, pending_principal_amount, ltv_ratio)
+
+	def _throw(self, security_value, pending_principal_amount, ltv_ratio):
+		msg = _("Loan Security Value after unpledge is {0}").format(frappe.bold(security_value))
+		msg += '<br>'
+		msg += _("Pending principal amount is {0}").format(frappe.bold(flt(pending_principal_amount, 2)))
+		msg += '<br>'
+		msg += _("Loan To Security Value ratio must always be {0}").format(frappe.bold(ltv_ratio))
+		frappe.throw(msg, title=_("Loan To Value ratio breach"))
 
 	def on_update_after_submit(self):
 		self.approve()
diff --git a/erpnext/loan_management/doctype/loan_type/loan_type.json b/erpnext/loan_management/doctype/loan_type/loan_type.json
index 669490a..18a9731 100644
--- a/erpnext/loan_management/doctype/loan_type/loan_type.json
+++ b/erpnext/loan_management/doctype/loan_type/loan_type.json
@@ -11,6 +11,7 @@
   "rate_of_interest",
   "penalty_interest_rate",
   "grace_period_in_days",
+  "write_off_amount",
   "column_break_2",
   "company",
   "is_term_loan",
@@ -76,7 +77,6 @@
    "reqd": 1
   },
   {
-   "description": "This account is used for booking loan repayments from the borrower and also disbursing loans to the borrower",
    "fieldname": "payment_account",
    "fieldtype": "Link",
    "label": "Payment Account",
@@ -84,7 +84,6 @@
    "reqd": 1
   },
   {
-   "description": "This account is capital account which is used to allocate capital for loan disbursal account ",
    "fieldname": "loan_account",
    "fieldtype": "Link",
    "label": "Loan Account",
@@ -96,7 +95,6 @@
    "fieldtype": "Column Break"
   },
   {
-   "description": "This account will be used for booking loan interest accruals",
    "fieldname": "interest_income_account",
    "fieldtype": "Link",
    "label": "Interest Income Account",
@@ -104,7 +102,6 @@
    "reqd": 1
   },
   {
-   "description": "This account will be used for booking penalties levied due to delayed repayments",
    "fieldname": "penalty_income_account",
    "fieldtype": "Link",
    "label": "Penalty Income Account",
@@ -113,7 +110,6 @@
   },
   {
    "default": "0",
-   "description": "If this is not checked the loan by default will be considered as a Demand Loan",
    "fieldname": "is_term_loan",
    "fieldtype": "Check",
    "label": "Is Term Loan"
@@ -145,17 +141,27 @@
    "label": "Company",
    "options": "Company",
    "reqd": 1
+  },
+  {
+   "allow_on_submit": 1,
+   "description": "Pending amount that will be automatically ignored on loan closure request ",
+   "fieldname": "write_off_amount",
+   "fieldtype": "Currency",
+   "label": "Write Off Amount ",
+   "options": "Company:company:default_currency"
   }
  ],
+ "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-07 18:55:59.346292",
+ "modified": "2020-10-26 07:13:55.029811",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Loan Type",
  "owner": "Administrator",
  "permissions": [
   {
+   "cancel": 1,
    "create": 1,
    "delete": 1,
    "email": 1,
@@ -165,6 +171,7 @@
    "report": 1,
    "role": "Loan Manager",
    "share": 1,
+   "submit": 1,
    "write": 1
   },
   {
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/loan_management/doctype/loan_write_off/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/loan_management/doctype/loan_write_off/__init__.py
diff --git a/erpnext/loan_management/doctype/loan_write_off/loan_write_off.js b/erpnext/loan_management/doctype/loan_write_off/loan_write_off.js
new file mode 100644
index 0000000..4e3319c
--- /dev/null
+++ b/erpnext/loan_management/doctype/loan_write_off/loan_write_off.js
@@ -0,0 +1,36 @@
+// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+{% include 'erpnext/loan_management/loan_common.js' %};
+
+frappe.ui.form.on('Loan Write Off', {
+	loan: function(frm) {
+		frm.trigger('show_pending_principal_amount');
+	},
+	onload: function(frm) {
+		frm.trigger('show_pending_principal_amount');
+	},
+	refresh: function(frm) {
+		frm.set_query('write_off_account', function(){
+			return {
+				filters: {
+					'company': frm.doc.company,
+					'root_type': 'Expense',
+					'is_group': 0
+				}
+			}
+		});
+	},
+	show_pending_principal_amount: function(frm) {
+		if (frm.doc.loan && frm.doc.docstatus === 0) {
+			frappe.db.get_value('Loan', frm.doc.loan, ['total_payment', 'total_interest_payable',
+				'total_principal_paid', 'written_off_amount'], function(values) {
+				frm.set_df_property('write_off_amount', 'description',
+					"Pending principal amount is " + cstr(flt(values.total_payment - values.total_interest_payable
+						- values.total_principal_paid - values.written_off_amount, 2)));
+				frm.refresh_field('write_off_amount');
+			});
+
+		}
+	}
+});
diff --git a/erpnext/loan_management/doctype/loan_write_off/loan_write_off.json b/erpnext/loan_management/doctype/loan_write_off/loan_write_off.json
new file mode 100644
index 0000000..4617a62
--- /dev/null
+++ b/erpnext/loan_management/doctype/loan_write_off/loan_write_off.json
@@ -0,0 +1,157 @@
+{
+ "actions": [],
+ "autoname": "LM-WO-.#####",
+ "creation": "2020-10-16 11:09:14.495066",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "loan",
+  "applicant_type",
+  "applicant",
+  "column_break_3",
+  "company",
+  "posting_date",
+  "accounting_dimensions_section",
+  "cost_center",
+  "section_break_9",
+  "write_off_account",
+  "column_break_11",
+  "write_off_amount",
+  "amended_from"
+ ],
+ "fields": [
+  {
+   "fieldname": "loan",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Loan",
+   "options": "Loan",
+   "reqd": 1
+  },
+  {
+   "default": "Today",
+   "fieldname": "posting_date",
+   "fieldtype": "Date",
+   "in_list_view": 1,
+   "label": "Posting Date",
+   "reqd": 1
+  },
+  {
+   "fieldname": "column_break_3",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fetch_from": "loan.company",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Company",
+   "options": "Company",
+   "read_only": 1,
+   "reqd": 1
+  },
+  {
+   "fetch_from": "loan.applicant_type",
+   "fieldname": "applicant_type",
+   "fieldtype": "Select",
+   "label": "Applicant Type",
+   "options": "Employee\nMember\nCustomer",
+   "read_only": 1
+  },
+  {
+   "fetch_from": "loan.applicant",
+   "fieldname": "applicant",
+   "fieldtype": "Dynamic Link",
+   "label": "Applicant ",
+   "options": "applicant_type",
+   "read_only": 1
+  },
+  {
+   "collapsible": 1,
+   "fieldname": "accounting_dimensions_section",
+   "fieldtype": "Section Break",
+   "label": "Accounting Dimensions"
+  },
+  {
+   "fieldname": "cost_center",
+   "fieldtype": "Link",
+   "label": "Cost Center",
+   "options": "Cost Center"
+  },
+  {
+   "fieldname": "section_break_9",
+   "fieldtype": "Section Break",
+   "label": "Write Off Details"
+  },
+  {
+   "fieldname": "write_off_account",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Write Off Account",
+   "options": "Account",
+   "reqd": 1
+  },
+  {
+   "fieldname": "write_off_amount",
+   "fieldtype": "Currency",
+   "label": "Write Off Amount",
+   "options": "Company:company:default_currency",
+   "reqd": 1
+  },
+  {
+   "fieldname": "column_break_11",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "label": "Amended From",
+   "no_copy": 1,
+   "options": "Loan Write Off",
+   "print_hide": 1,
+   "read_only": 1
+  }
+ ],
+ "index_web_pages_for_search": 1,
+ "is_submittable": 1,
+ "links": [],
+ "modified": "2020-10-26 07:13:43.663924",
+ "modified_by": "Administrator",
+ "module": "Loan Management",
+ "name": "Loan Write Off",
+ "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
+  },
+  {
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Loan Manager",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  }
+ ],
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/loan_management/doctype/loan_write_off/loan_write_off.py b/erpnext/loan_management/doctype/loan_write_off/loan_write_off.py
new file mode 100644
index 0000000..54a3f2c
--- /dev/null
+++ b/erpnext/loan_management/doctype/loan_write_off/loan_write_off.py
@@ -0,0 +1,88 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe, erpnext
+from frappe import _
+from frappe.utils import getdate, flt, cint
+from erpnext.controllers.accounts_controller import AccountsController
+from erpnext.accounts.general_ledger import make_gl_entries
+
+class LoanWriteOff(AccountsController):
+	def validate(self):
+		self.set_missing_values()
+		self.validate_write_off_amount()
+
+	def set_missing_values(self):
+		if not self.cost_center:
+			self.cost_center = erpnext.get_default_cost_center(self.company)
+
+	def validate_write_off_amount(self):
+		precision = cint(frappe.db.get_default("currency_precision")) or 2
+		total_payment, principal_paid, interest_payable, written_off_amount = frappe.get_value("Loan", self.loan,
+			['total_payment', 'total_principal_paid','total_interest_payable', 'written_off_amount'])
+
+		pending_principal_amount = flt(flt(total_payment) - flt(interest_payable) - flt(principal_paid) - flt(written_off_amount),
+			precision)
+
+		if self.write_off_amount > pending_principal_amount:
+			frappe.throw(_("Write off amount cannot be greater than pending principal amount"))
+
+	def on_submit(self):
+		self.update_outstanding_amount()
+		self.make_gl_entries()
+
+	def on_cancel(self):
+		self.update_outstanding_amount(cancel=1)
+		self.ignore_linked_doctypes = ['GL Entry']
+		self.make_gl_entries(cancel=1)
+
+	def update_outstanding_amount(self, cancel=0):
+		written_off_amount = frappe.db.get_value('Loan', self.loan, 'written_off_amount')
+
+		if cancel:
+			written_off_amount -= self.write_off_amount
+		else:
+			written_off_amount += self.write_off_amount
+
+		frappe.db.set_value('Loan', self.loan, 'written_off_amount', written_off_amount)
+
+
+	def make_gl_entries(self, cancel=0):
+		gl_entries = []
+		loan_details = frappe.get_doc("Loan", self.loan)
+
+		gl_entries.append(
+			self.get_gl_dict({
+				"account": self.write_off_account,
+				"against": loan_details.loan_account,
+				"debit": self.write_off_amount,
+				"debit_in_account_currency": self.write_off_amount,
+				"against_voucher_type": "Loan",
+				"against_voucher": self.loan,
+				"remarks": _("Against Loan:") + self.loan,
+				"cost_center": self.cost_center,
+				"posting_date": getdate(self.posting_date)
+			})
+		)
+
+		gl_entries.append(
+			self.get_gl_dict({
+				"account": loan_details.loan_account,
+				"party_type": loan_details.applicant_type,
+				"party": loan_details.applicant,
+				"against": self.write_off_account,
+				"credit": self.write_off_amount,
+				"credit_in_account_currency": self.write_off_amount,
+				"against_voucher_type": "Loan",
+				"against_voucher": self.loan,
+				"remarks": _("Against Loan:") + self.loan,
+				"cost_center": self.cost_center,
+				"posting_date": getdate(self.posting_date)
+			})
+		)
+
+		make_gl_entries(gl_entries, cancel=cancel, merge_entries=False)
+
+
diff --git a/erpnext/loan_management/doctype/loan_write_off/test_loan_write_off.py b/erpnext/loan_management/doctype/loan_write_off/test_loan_write_off.py
new file mode 100644
index 0000000..9f6700e
--- /dev/null
+++ b/erpnext/loan_management/doctype/loan_write_off/test_loan_write_off.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+# import frappe
+import unittest
+
+class TestLoanWriteOff(unittest.TestCase):
+	pass
diff --git a/erpnext/loan_management/doctype/pledge/pledge.json b/erpnext/loan_management/doctype/pledge/pledge.json
index f22a21e..801e3a3 100644
--- a/erpnext/loan_management/doctype/pledge/pledge.json
+++ b/erpnext/loan_management/doctype/pledge/pledge.json
@@ -1,4 +1,5 @@
 {
+ "actions": [],
  "creation": "2019-09-09 17:06:16.756573",
  "doctype": "DocType",
  "editable_grid": 1,
@@ -49,7 +50,8 @@
    "fieldname": "qty",
    "fieldtype": "Float",
    "in_list_view": 1,
-   "label": "Quantity"
+   "label": "Quantity",
+   "non_negative": 1
   },
   {
    "fieldname": "loan_security_price",
@@ -86,7 +88,8 @@
   }
  ],
  "istable": 1,
- "modified": "2019-12-03 10:59:58.001421",
+ "links": [],
+ "modified": "2020-11-05 10:07:15.424937",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Pledge",
diff --git a/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.json b/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.json
index 0ef098f..828df2e 100644
--- a/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.json
+++ b/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.json
@@ -10,6 +10,7 @@
   "loan_type",
   "loan",
   "process_type",
+  "accrual_type",
   "amended_from"
  ],
  "fields": [
@@ -47,17 +48,27 @@
    "hidden": 1,
    "label": "Process Type",
    "read_only": 1
+  },
+  {
+   "fieldname": "accrual_type",
+   "fieldtype": "Select",
+   "hidden": 1,
+   "label": "Accrual Type",
+   "options": "Regular\nRepayment\nDisbursement",
+   "read_only": 1
   }
  ],
+ "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-04-09 22:52:53.911416",
+ "modified": "2020-11-06 13:28:51.478909",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Process Loan Interest Accrual",
  "owner": "Administrator",
  "permissions": [
   {
+   "cancel": 1,
    "create": 1,
    "delete": 1,
    "email": 1,
@@ -67,9 +78,11 @@
    "report": 1,
    "role": "System Manager",
    "share": 1,
+   "submit": 1,
    "write": 1
   },
   {
+   "cancel": 1,
    "create": 1,
    "delete": 1,
    "email": 1,
@@ -79,6 +92,7 @@
    "report": 1,
    "role": "Loan Manager",
    "share": 1,
+   "submit": 1,
    "write": 1
   }
  ],
diff --git a/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.py b/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.py
index 0fa9686..11333dc 100644
--- a/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.py
+++ b/erpnext/loan_management/doctype/process_loan_interest_accrual/process_loan_interest_accrual.py
@@ -20,19 +20,20 @@
 
 		if (not self.loan or not loan_doc.is_term_loan) and self.process_type != 'Term Loans':
 			make_accrual_interest_entry_for_demand_loans(self.posting_date, self.name,
-				open_loans = open_loans, loan_type = self.loan_type)
+				open_loans = open_loans, loan_type = self.loan_type, accrual_type=self.accrual_type)
 
 		if (not self.loan or loan_doc.is_term_loan) and self.process_type != 'Demand Loans':
 			make_accrual_interest_entry_for_term_loans(self.posting_date, self.name, term_loan=self.loan,
-				loan_type=self.loan_type)
+				loan_type=self.loan_type, accrual_type=self.accrual_type)
 
 
-def process_loan_interest_accrual_for_demand_loans(posting_date=None, loan_type=None, loan=None):
+def process_loan_interest_accrual_for_demand_loans(posting_date=None, loan_type=None, loan=None, accrual_type="Regular"):
 	loan_process = frappe.new_doc('Process Loan Interest Accrual')
 	loan_process.posting_date = posting_date or nowdate()
 	loan_process.loan_type = loan_type
 	loan_process.process_type = 'Demand Loans'
 	loan_process.loan = loan
+	loan_process.accrual_type = accrual_type
 
 	loan_process.submit()
 
diff --git a/erpnext/loan_management/doctype/proposed_pledge/proposed_pledge.json b/erpnext/loan_management/doctype/proposed_pledge/proposed_pledge.json
index aee7c2c..3e7e778 100644
--- a/erpnext/loan_management/doctype/proposed_pledge/proposed_pledge.json
+++ b/erpnext/loan_management/doctype/proposed_pledge/proposed_pledge.json
@@ -1,4 +1,5 @@
 {
+ "actions": [],
  "creation": "2019-08-29 22:29:37.628178",
  "doctype": "DocType",
  "editable_grid": 1,
@@ -39,7 +40,8 @@
    "fieldname": "qty",
    "fieldtype": "Float",
    "in_list_view": 1,
-   "label": "Quantity"
+   "label": "Quantity",
+   "non_negative": 1
   },
   {
    "fieldname": "loan_security",
@@ -56,8 +58,10 @@
    "read_only": 1
   }
  ],
+ "index_web_pages_for_search": 1,
  "istable": 1,
- "modified": "2019-12-02 10:23:11.498308",
+ "links": [],
+ "modified": "2020-11-05 10:07:37.542344",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Proposed Pledge",
diff --git a/erpnext/loan_management/doctype/unpledge/unpledge.json b/erpnext/loan_management/doctype/unpledge/unpledge.json
index ee192d7..0035668 100644
--- a/erpnext/loan_management/doctype/unpledge/unpledge.json
+++ b/erpnext/loan_management/doctype/unpledge/unpledge.json
@@ -52,6 +52,7 @@
    "fieldtype": "Float",
    "in_list_view": 1,
    "label": "Quantity",
+   "non_negative": 1,
    "reqd": 1
   },
   {
@@ -62,9 +63,10 @@
    "read_only": 1
   }
  ],
+ "index_web_pages_for_search": 1,
  "istable": 1,
  "links": [],
- "modified": "2020-05-06 10:50:18.448552",
+ "modified": "2020-11-05 10:07:28.106961",
  "modified_by": "Administrator",
  "module": "Loan Management",
  "name": "Unpledge",
diff --git a/erpnext/loan_management/loan_common.js b/erpnext/loan_management/loan_common.js
index d9dd415..50b68da 100644
--- a/erpnext/loan_management/loan_common.js
+++ b/erpnext/loan_management/loan_common.js
@@ -8,14 +8,14 @@
 			frm.refresh_field('applicant_type');
 		}
 
-		if (['Loan Disbursement', 'Loan Repayment', 'Loan Interest Accrual'].includes(frm.doc.doctype)
+		if (['Loan Disbursement', 'Loan Repayment', 'Loan Interest Accrual', 'Loan Write Off'].includes(frm.doc.doctype)
 			&& frm.doc.docstatus > 0) {
 
 			frm.add_custom_button(__("Accounting Ledger"), function() {
 				frappe.route_options = {
 					voucher_no: frm.doc.name,
 					company: frm.doc.company,
-					from_date: frm.doc.posting_date,
+					from_date: moment(frm.doc.posting_date).format('YYYY-MM-DD'),
 					to_date: moment(frm.doc.modified).format('YYYY-MM-DD'),
 					show_cancelled_entries: frm.doc.docstatus === 2
 				};
diff --git a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js
index e940b60..ddbcdfd 100644
--- a/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js
+++ b/erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js
@@ -66,7 +66,7 @@
 							company: me.frm.doc.company
 						}
 					});
-				}, __("Get items from"));
+				}, __("Get Items From"));
 		} else if (this.frm.doc.docstatus === 1) {
 			this.frm.add_custom_button(__('Create Maintenance Visit'), function() {
 				frappe.model.open_mapped_doc({
diff --git a/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js b/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
index 2e2a9ce..4cbb02a 100644
--- a/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
+++ b/erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.js
@@ -62,7 +62,7 @@
 							company: me.frm.doc.company
 						}
 					})
-				}, __("Get items from"));
+				}, __("Get Items From"));
 			this.frm.add_custom_button(__('Warranty Claim'),
 				function() {
 					erpnext.utils.map_current_doc({
@@ -78,7 +78,7 @@
 							company: me.frm.doc.company
 						}
 					})
-				}, __("Get items from"));
+				}, __("Get Items From"));
 			this.frm.add_custom_button(__('Sales Order'),
 				function() {
 					erpnext.utils.map_current_doc({
@@ -94,7 +94,7 @@
 							order_type: me.frm.doc.order_type,
 						}
 					})
-				}, __("Get items from"));
+				}, __("Get Items From"));
 		}
 	},
 });
diff --git a/erpnext/manufacturing/doctype/bom/bom.py b/erpnext/manufacturing/doctype/bom/bom.py
index 2ab1b98..6363242 100644
--- a/erpnext/manufacturing/doctype/bom/bom.py
+++ b/erpnext/manufacturing/doctype/bom/bom.py
@@ -76,6 +76,7 @@
 		self.set_routing_operations()
 		self.validate_operations()
 		self.calculate_cost()
+		self.update_stock_qty()
 		self.update_cost(update_parent=False, from_child_bom=True, save=False)
 
 	def get_context(self, context):
@@ -84,8 +85,6 @@
 	def on_update(self):
 		frappe.cache().hdel('bom_children', self.name)
 		self.check_recursion()
-		self.update_stock_qty()
-		self.update_exploded_items()
 
 	def on_submit(self):
 		self.manage_default_bom()
@@ -170,8 +169,8 @@
 			 'qty'			: args.get("qty") or args.get("stock_qty") or 1,
 			 'stock_qty'	: args.get("qty") or args.get("stock_qty") or 1,
 			 'base_rate'	: flt(rate) * (flt(self.conversion_rate) or 1),
-			 'include_item_in_manufacturing': cint(args['transfer_for_manufacture']) or 0,
-			 'sourced_by_supplier'		: args['sourced_by_supplier'] or 0
+			 'include_item_in_manufacturing': cint(args.get('transfer_for_manufacture')),
+			 'sourced_by_supplier'		: args.get('sourced_by_supplier', 0)
 		}
 
 		return ret_item
@@ -237,7 +236,8 @@
 			self.calculate_cost()
 		if save:
 			self.db_update()
-		self.update_exploded_items()
+
+		self.update_exploded_items(save=save)
 
 		# update parent BOMs
 		if self.total_cost != existing_bom_cost and update_parent:
@@ -318,8 +318,6 @@
 				m.uom = m.stock_uom
 				m.qty = m.stock_qty
 
-			m.db_update()
-
 	def validate_uom_is_interger(self):
 		from erpnext.utilities.transaction_base import validate_uom_is_integer
 		validate_uom_is_integer(self, "uom", "qty", "BOM Item")
@@ -372,15 +370,6 @@
 		if raise_exception:
 			frappe.throw(_("BOM recursion: {0} cannot be parent or child of {1}").format(self.name, self.name))
 
-	def update_cost_and_exploded_items(self, bom_list=[]):
-		bom_list = self.traverse_tree(bom_list)
-		for bom in bom_list:
-			bom_obj = frappe.get_doc("BOM", bom)
-			bom_obj.check_recursion(bom_list=bom_list)
-			bom_obj.update_exploded_items()
-
-		return bom_list
-
 	def traverse_tree(self, bom_list=None):
 		def _get_children(bom_no):
 			children = frappe.cache().hget('bom_children', bom_no)
@@ -472,10 +461,10 @@
 			d.rate = rate
 			d.amount = (d.stock_qty or d.qty) * rate
 
-	def update_exploded_items(self):
+	def update_exploded_items(self, save=True):
 		""" Update Flat BOM, following will be correct data"""
 		self.get_exploded_items()
-		self.add_exploded_items()
+		self.add_exploded_items(save=save)
 
 	def get_exploded_items(self):
 		""" Get all raw materials including items from child bom"""
@@ -544,11 +533,13 @@
 				'sourced_by_supplier': d.get('sourced_by_supplier', 0)
 			}))
 
-	def add_exploded_items(self):
+	def add_exploded_items(self, save=True):
 		"Add items to Flat BOM table"
-		frappe.db.sql("""delete from `tabBOM Explosion Item` where parent=%s""", self.name)
 		self.set('exploded_items', [])
 
+		if save:
+			frappe.db.sql("""delete from `tabBOM Explosion Item` where parent=%s""", self.name)
+
 		for d in sorted(self.cur_exploded_items, key=itemgetter(0)):
 			ch = self.append('exploded_items', {})
 			for i in self.cur_exploded_items[d].keys():
@@ -556,7 +547,9 @@
 			ch.amount = flt(ch.stock_qty) * flt(ch.rate)
 			ch.qty_consumed_per_unit = flt(ch.stock_qty) / flt(self.quantity)
 			ch.docstatus = self.docstatus
-			ch.db_insert()
+
+			if save:
+				ch.db_insert()
 
 	def validate_bom_links(self):
 		if not self.is_active:
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.js b/erpnext/manufacturing/doctype/job_card/job_card.js
index b051b32..4e8dd41 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.js
+++ b/erpnext/manufacturing/doctype/job_card/job_card.js
@@ -31,6 +31,16 @@
 			}
 		}
 
+		frm.set_query("quality_inspection", function() {
+			return {
+				query: "erpnext.stock.doctype.quality_inspection.quality_inspection.quality_inspection_query",
+				filters: {
+					"item_code": frm.doc.production_item,
+					"reference_name": frm.doc.name
+				}
+			};
+		});
+
 		frm.trigger("toggle_operation_number");
 
 		if (frm.doc.docstatus == 0 && (frm.doc.for_quantity > frm.doc.total_completed_qty || !frm.doc.for_quantity)
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.json b/erpnext/manufacturing/doctype/job_card/job_card.json
index 575e719..5713f69 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.json
+++ b/erpnext/manufacturing/doctype/job_card/job_card.json
@@ -20,6 +20,7 @@
   "production_item",
   "item_name",
   "for_quantity",
+  "quality_inspection",
   "wip_warehouse",
   "column_break_12",
   "employee",
@@ -305,11 +306,19 @@
    "label": "Sequence Id",
    "print_hide": 1,
    "read_only": 1
+  },
+  {
+   "depends_on": "eval:!doc.__islocal;",
+   "fieldname": "quality_inspection",
+   "fieldtype": "Link",
+   "label": "Quality Inspection",
+   "no_copy": 1,
+   "options": "Quality Inspection"
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-10-14 12:58:25.327897",
+ "modified": "2020-11-19 18:26:50.531664",
  "modified_by": "Administrator",
  "module": "Manufacturing",
  "name": "Job Card",
diff --git a/erpnext/manufacturing/doctype/job_card/job_card.py b/erpnext/manufacturing/doctype/job_card/job_card.py
index 4dfa78b..d15d81e 100644
--- a/erpnext/manufacturing/doctype/job_card/job_card.py
+++ b/erpnext/manufacturing/doctype/job_card/job_card.py
@@ -353,17 +353,19 @@
 
 @frappe.whitelist()
 def get_operations(doctype, txt, searchfield, start, page_len, filters):
-	if filters.get("work_order"):
-		args = {"parent": filters.get("work_order")}
-		if txt:
-			args["operation"] = ("like", "%{0}%".format(txt))
+	if not filters.get("work_order"):
+		frappe.msgprint(_("Please select a Work Order first."))
+		return []
+	args = {"parent": filters.get("work_order")}
+	if txt:
+		args["operation"] = ("like", "%{0}%".format(txt))
 
-		return frappe.get_all("Work Order Operation",
-			filters = args,
-			fields = ["distinct operation as operation"],
-			limit_start = start,
-			limit_page_length = page_len,
-			order_by="idx asc", as_list=1)
+	return frappe.get_all("Work Order Operation",
+		filters = args,
+		fields = ["distinct operation as operation"],
+		limit_start = start,
+		limit_page_length = page_len,
+		order_by="idx asc", as_list=1)
 
 @frappe.whitelist()
 def make_material_request(source_name, target_doc=None):
diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan.json b/erpnext/manufacturing/doctype/production_plan/production_plan.json
index 850d5ae..7daf706 100644
--- a/erpnext/manufacturing/doctype/production_plan/production_plan.json
+++ b/erpnext/manufacturing/doctype/production_plan/production_plan.json
@@ -19,6 +19,7 @@
   "column_break2",
   "from_date",
   "to_date",
+  "sales_order_status",
   "sales_orders_detail",
   "get_sales_orders",
   "sales_orders",
@@ -301,13 +302,20 @@
    "label": "Warehouses",
    "options": "Production Plan Material Request Warehouse",
    "read_only": 1
+  },
+  {
+   "depends_on": "eval: doc.get_items_from == \"Sales Order\"",
+   "fieldname": "sales_order_status",
+   "fieldtype": "Select",
+   "label": "Sales Order Status",
+   "options": "\nTo Deliver and Bill\nTo Bill\nTo Deliver"
   }
  ],
  "icon": "fa fa-calendar",
  "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-10-26 13:00:54.335319",
+ "modified": "2020-11-10 18:01:54.991970",
  "modified_by": "Administrator",
  "module": "Manufacturing",
  "name": "Production Plan",
diff --git a/erpnext/manufacturing/doctype/production_plan/production_plan.py b/erpnext/manufacturing/doctype/production_plan/production_plan.py
index a314a15..3833e86 100644
--- a/erpnext/manufacturing/doctype/production_plan/production_plan.py
+++ b/erpnext/manufacturing/doctype/production_plan/production_plan.py
@@ -571,6 +571,8 @@
 		so_filter += " and so.customer = %(customer)s"
 	if self.project:
 		so_filter += " and so.project = %(project)s"
+	if self.sales_order_status:
+		so_filter += "and so.status = %(sales_order_status)s"
 
 	if self.item_code:
 		item_filter += " and so_item.item_code = %(item)s"
@@ -594,8 +596,8 @@
 			"customer": self.customer,
 			"project": self.project,
 			"item": self.item_code,
-			"company": self.company
-
+			"company": self.company,
+			"sales_order_status": self.sales_order_status
 		}, as_dict=1)
 	return open_so
 
diff --git a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
index fa9d080..27335aa 100644
--- a/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
+++ b/erpnext/manufacturing/doctype/production_plan/test_production_plan.py
@@ -137,7 +137,8 @@
 			'from_date': so.transaction_date,
 			'to_date': so.transaction_date,
 			'customer': so.customer,
-			'item_code': item
+			'item_code': item,
+			'sales_order_status': so.status
 		})
 		sales_orders = get_sales_orders(pln) or {}
 		sales_orders = [d.get('name') for d in sales_orders if d.get('name') == sales_order]
diff --git a/erpnext/manufacturing/doctype/routing/routing.js b/erpnext/manufacturing/doctype/routing/routing.js
index 741a3f0..9b1a8ca 100644
--- a/erpnext/manufacturing/doctype/routing/routing.js
+++ b/erpnext/manufacturing/doctype/routing/routing.js
@@ -2,7 +2,15 @@
 // For license information, please see license.txt
 
 frappe.ui.form.on('Routing', {
-	setup: function(frm) {
+	refresh: function(frm) {
+		frm.trigger("display_sequence_id_column");
+	},
+
+	onload: function(frm) {
+		frm.trigger("display_sequence_id_column");
+	},
+
+	display_sequence_id_column: function(frm) {
 		frappe.meta.get_docfield("BOM Operation", "sequence_id",
 			frm.doc.name).in_list_view = true;
 
diff --git a/erpnext/manufacturing/doctype/work_order/test_work_order.py b/erpnext/manufacturing/doctype/work_order/test_work_order.py
index 5f8a134..e539279 100644
--- a/erpnext/manufacturing/doctype/work_order/test_work_order.py
+++ b/erpnext/manufacturing/doctype/work_order/test_work_order.py
@@ -443,6 +443,11 @@
 		ste1 = frappe.get_doc(make_stock_entry(wo.name, "Manufacture", 1))
 		self.assertEqual(len(ste1.items), 3)
 
+	def test_cost_center_for_manufacture(self):
+		wo_order = make_wo_order_test_record()
+		ste = make_stock_entry(wo_order.name, "Material Transfer for Manufacture", wo_order.qty)
+		self.assertEquals(ste.get("items")[0].get("cost_center"), "_Test Cost Center - _TC")
+
 	def test_operation_time_with_batch_size(self):
 		fg_item = "Test Batch Size Item For BOM"
 		rm1 = "Test Batch Size Item RM 1 For BOM"
diff --git a/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.js b/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.js
index 2ac6fa0..8cd0164 100644
--- a/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.js
+++ b/erpnext/manufacturing/report/bom_stock_report/bom_stock_report.js
@@ -25,11 +25,11 @@
 	],
 	"formatter": function(value, row, column, data, default_formatter) {
 		value = default_formatter(value, row, column, data);
-		if (column.id == "Item"){
-			if (data["Enough Parts to Build"] > 0){
-				value = `<a style='color:green' href="#Form/Item/${data['Item']}" data-doctype="Item">${data['Item']}</a>`
+		if (column.id == "item") {
+			if (data["enough_parts_to_build"] > 0) {
+				value = `<a style='color:green' href="#Form/Item/${data['item']}" data-doctype="Item">${data['item']}</a>`;
 			} else {
-				value = `<a style='color:red' href="#Form/Item/${data['Item']}" data-doctype="Item">${data['Item']}</a>`
+				value = `<a style='color:red' href="#Form/Item/${data['item']}" data-doctype="Item">${data['item']}</a>`;
 			}
 		}
 		return value
diff --git a/erpnext/manufacturing/report/production_planning_report/production_planning_report.py b/erpnext/manufacturing/report/production_planning_report/production_planning_report.py
index ebc01c6..806d268 100644
--- a/erpnext/manufacturing/report/production_planning_report/production_planning_report.py
+++ b/erpnext/manufacturing/report/production_planning_report/production_planning_report.py
@@ -124,7 +124,7 @@
 				if self.filters.include_subassembly_raw_materials else "(bom_item.qty / bom.quantity)")
 
 			raw_materials = frappe.db.sql(""" SELECT bom_item.parent, bom_item.item_code,
-					bom_item.item_name as raw_material_name, {0} as required_qty
+					bom_item.item_name as raw_material_name, {0} as required_qty_per_unit
 				FROM
 					`tabBOM` as bom, `tab{1}` as bom_item
 				WHERE
@@ -208,7 +208,7 @@
 		warehouses = self.mrp_warehouses or []
 		for d in self.raw_materials_dict.get(key):
 			if self.filters.based_on != "Work Order":
-				d.required_qty = d.required_qty * data.qty_to_manufacture
+				d.required_qty = d.required_qty_per_unit * data.qty_to_manufacture
 
 			if not warehouses:
 				warehouses = [data.warehouse]
diff --git a/erpnext/modules.txt b/erpnext/modules.txt
index 1e2aeea..62f5dce 100644
--- a/erpnext/modules.txt
+++ b/erpnext/modules.txt
@@ -25,4 +25,5 @@
 Quality Management
 Communication
 Loan Management
-Payroll
\ No newline at end of file
+Payroll
+Telephony
\ No newline at end of file
diff --git a/erpnext/non_profit/doctype/membership/membership.py b/erpnext/non_profit/doctype/membership/membership.py
index 4c85cb6..7d15aba 100644
--- a/erpnext/non_profit/doctype/membership/membership.py
+++ b/erpnext/non_profit/doctype/membership/membership.py
@@ -70,7 +70,7 @@
 		settings = frappe.get_doc("Membership Settings")
 
 		if not member.customer:
-			frappe.throw(_("No customer linked to member {}", [member.name]))
+			frappe.throw(_("No customer linked to member {0}").format(frappe.bold(self.member)))
 
 		if not settings.debit_account:
 			frappe.throw(_("You need to set <b>Debit Account</b> in Membership Settings"))
diff --git a/erpnext/patches.txt b/erpnext/patches.txt
index 5ef5371..86ac613 100644
--- a/erpnext/patches.txt
+++ b/erpnext/patches.txt
@@ -632,7 +632,7 @@
 execute:frappe.reload_doc('desk', 'doctype', 'dashboard_chart')
 execute:frappe.reload_doc('desk', 'doctype', 'dashboard_chart_field')
 erpnext.patches.v12_0.remove_bank_remittance_custom_fields
-erpnext.patches.v12_0.generate_leave_ledger_entries #27-08-2020
+erpnext.patches.v12_0.generate_leave_ledger_entries #04-11-2020
 execute:frappe.delete_doc_if_exists("Report", "Loan Repayment")
 erpnext.patches.v12_0.move_credit_limit_to_customer_credit_limit
 erpnext.patches.v12_0.add_variant_of_in_item_attribute_table
@@ -691,6 +691,7 @@
 erpnext.patches.v12_0.set_serial_no_status #2020-05-21
 erpnext.patches.v12_0.update_price_list_currency_in_bom
 execute:frappe.reload_doctype('Dashboard')
+execute:frappe.reload_doc('desk', 'doctype', 'number_card_link')
 execute:frappe.delete_doc_if_exists('Dashboard', 'Accounts')
 erpnext.patches.v13_0.update_actual_start_and_end_date_in_wo
 erpnext.patches.v13_0.set_company_field_in_healthcare_doctypes #2020-05-25
@@ -732,4 +733,11 @@
 erpnext.patches.v13_0.print_uom_after_quantity_patch
 erpnext.patches.v13_0.set_payment_channel_in_payment_gateway_account
 erpnext.patches.v13_0.create_healthcare_custom_fields_in_stock_entry_detail
+erpnext.patches.v13_0.updates_for_multi_currency_payroll
 erpnext.patches.v13_0.update_reason_for_resignation_in_employee
+erpnext.patches.v13_0.update_custom_fields_for_shopify
+execute:frappe.delete_doc("Report", "Quoted Item Comparison")
+erpnext.patches.v13_0.updates_for_multi_currency_payroll
+erpnext.patches.v13_0.create_leave_policy_assignment_based_on_employee_current_leave_policy
+erpnext.patches.v13_0.add_po_to_global_search
+erpnext.patches.v13_0.update_returned_qty_in_pr_dn
diff --git a/erpnext/patches/v11_0/create_salary_structure_assignments.py b/erpnext/patches/v11_0/create_salary_structure_assignments.py
index c51c381..a908c16 100644
--- a/erpnext/patches/v11_0/create_salary_structure_assignments.py
+++ b/erpnext/patches/v11_0/create_salary_structure_assignments.py
@@ -8,8 +8,8 @@
 from erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment import DuplicateAssignment
 
 def execute():
-	frappe.reload_doc('Payroll', 'doctype', 'salary_structure')
-	frappe.reload_doc("Payroll", "doctype", "salary_structure_assignment")
+	frappe.reload_doc('Payroll', 'doctype', 'Salary Structure')
+	frappe.reload_doc("Payroll", "doctype", "Salary Structure Assignment")
 	frappe.db.sql("""
 		delete from `tabSalary Structure Assignment`
 		where salary_structure in (select name from `tabSalary Structure` where is_active='No' or docstatus!=1)
@@ -33,6 +33,13 @@
 			AND employee in (select name from `tabEmployee` where ifNull(status, '') != 'Left')
 		""".format(cols), as_dict=1)
 
+	all_companies = frappe.db.get_all("Company", fields=["name", "default_currency"])
+	for d in all_companies:
+		company = d.name
+		company_currency = d.default_currency
+
+		frappe.db.sql("""update `tabSalary Structure` set currency = %s where company=%s""", (company_currency, company))
+
 	for d in ss_details:
 		try:
 			joining_date, relieving_date = frappe.db.get_value("Employee", d.employee,
@@ -42,6 +49,7 @@
 				from_date = joining_date
 			elif relieving_date and getdate(from_date) > relieving_date:
 				continue
+			company_currency = frappe.db.get_value('Company', d.company, 'default_currency')
 
 			s = frappe.new_doc("Salary Structure Assignment")
 			s.employee = d.employee
@@ -52,6 +60,7 @@
 			s.base = d.get("base")
 			s.variable = d.get("variable")
 			s.company = d.company
+			s.currency = company_currency
 
 			# to migrate the data of the old employees
 			s.flags.old_employee = True
diff --git a/erpnext/patches/v12_0/generate_leave_ledger_entries.py b/erpnext/patches/v12_0/generate_leave_ledger_entries.py
index 342c129..fe072d7 100644
--- a/erpnext/patches/v12_0/generate_leave_ledger_entries.py
+++ b/erpnext/patches/v12_0/generate_leave_ledger_entries.py
@@ -11,8 +11,6 @@
 	frappe.reload_doc("HR", "doctype", "Leave Ledger Entry")
 	frappe.reload_doc("HR", "doctype", "Leave Encashment")
 	frappe.reload_doc("HR", "doctype", "Leave Type")
-	if frappe.db.a_row_exists("Leave Ledger Entry"):
-		return
 
 	if not frappe.get_meta("Leave Allocation").has_field("unused_leaves"):
 		frappe.reload_doc("HR", "doctype", "Leave Allocation")
@@ -53,7 +51,7 @@
 
 	for encashment in leave_encashments:
 		if not frappe.db.exists("Leave Ledger Entry", {'transaction_type': 'Leave Encashment', 'transaction_name': encashment.name}):
-			frappe.get_doc("Leave Enchashment", encashment).create_leave_ledger_entry()
+			frappe.get_doc("Leave Encashment", encashment).create_leave_ledger_entry()
 
 def generate_expiry_allocation_ledger_entries():
 	''' fix ledger entries for missing leave allocation transaction '''
diff --git a/erpnext/patches/v13_0/add_po_to_global_search.py b/erpnext/patches/v13_0/add_po_to_global_search.py
new file mode 100644
index 0000000..1c60b18
--- /dev/null
+++ b/erpnext/patches/v13_0/add_po_to_global_search.py
@@ -0,0 +1,17 @@
+from __future__ import unicode_literals
+import frappe
+
+
+def execute():
+    global_search_settings = frappe.get_single("Global Search Settings")
+
+    if "Purchase Order" in (
+        dt.document_type for dt in global_search_settings.allowed_in_global_search
+    ):
+        return
+
+    global_search_settings.append(
+        "allowed_in_global_search", {"document_type": "Purchase Order"}
+    )
+
+    global_search_settings.save(ignore_permissions=True)
diff --git a/erpnext/patches/v13_0/create_leave_policy_assignment_based_on_employee_current_leave_policy.py b/erpnext/patches/v13_0/create_leave_policy_assignment_based_on_employee_current_leave_policy.py
new file mode 100644
index 0000000..90dc0e2
--- /dev/null
+++ b/erpnext/patches/v13_0/create_leave_policy_assignment_based_on_employee_current_leave_policy.py
@@ -0,0 +1,79 @@
+# Copyright (c) 2019, Frappe and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+
+import frappe
+
+def execute():
+    if "leave_policy" in frappe.db.get_table_columns("Employee"):
+        employees_with_leave_policy = frappe.db.sql("SELECT name, leave_policy FROM `tabEmployee` WHERE leave_policy IS NOT NULL and leave_policy != ''", as_dict = 1)
+
+        employee_with_assignment = []
+        leave_policy =[]
+
+        #for employee
+
+        for employee in employees_with_leave_policy:
+            alloc = frappe.db.exists("Leave Allocation", {"employee":employee.name, "leave_policy": employee.leave_policy, "docstatus": 1})
+            if not alloc:
+                create_assignment(employee.name, employee.leave_policy)
+
+            employee_with_assignment.append(employee.name)
+            leave_policy.append(employee.leave_policy)
+
+
+    if "default_leave_policy" in frappe.db.get_table_columns("Employee"):
+        employee_grade_with_leave_policy = frappe.db.sql("SELECT name, default_leave_policy FROM `tabEmployee Grade` WHERE default_leave_policy IS NOT NULL and default_leave_policy!=''", as_dict = 1)
+
+        #for whole employee Grade
+
+        for grade in employee_grade_with_leave_policy:
+            employees = get_employee_with_grade(grade.name)
+            for employee in employees:
+
+                if employee not in employee_with_assignment: #Will ensure no duplicate
+                    alloc = frappe.db.exists("Leave Allocation", {"employee":employee.name, "leave_policy": grade.default_leave_policy, "docstatus": 1})
+                    if not alloc:
+                        create_assignment(employee.name, grade.default_leave_policy)
+                    leave_policy.append(grade.default_leave_policy)
+
+    #for old Leave allocation and leave policy from allocation, which may got updated in employee grade.
+    leave_allocations = frappe.db.sql("SELECT leave_policy, leave_period, employee FROM `tabLeave Allocation` WHERE leave_policy IS NOT NULL and leave_policy != '' and docstatus = 1 ", as_dict = 1)
+
+    for allocation in leave_allocations:
+        if allocation.leave_policy not in leave_policy:
+            create_assignment(allocation.employee, allocation.leave_policy, leave_period=allocation.leave_period,
+                allocation_exists=True)
+
+def create_assignment(employee, leave_policy, leave_period=None, allocation_exists = False):
+
+    filters = {"employee":employee, "leave_policy": leave_policy}
+    if leave_period:
+        filters["leave_period"] = leave_period
+
+    frappe.reload_doc('hr', 'doctype', 'leave_policy_assignment')
+
+    if not frappe.db.exists("Leave Policy Assignment" , filters):
+        lpa = frappe.new_doc("Leave Policy Assignment")
+        lpa.employee = employee
+        lpa.leave_policy = leave_policy
+
+        lpa.flags.ignore_mandatory = True
+        if allocation_exists:
+            lpa.assignment_based_on = 'Leave Period'
+            lpa.leave_period = leave_period
+            lpa.leaves_allocated = 1
+
+        lpa.save()
+        if allocation_exists:
+            lpa.submit()
+            #Updating old Leave Allocation
+            frappe.db.sql("Update `tabLeave Allocation` set leave_policy_assignment = %s", lpa.name)
+
+
+def get_employee_with_grade(grade):
+    return frappe.get_list("Employee", filters = {"grade": grade})
+
+
+
diff --git a/erpnext/patches/v13_0/rename_issue_doctype_fields.py b/erpnext/patches/v13_0/rename_issue_doctype_fields.py
index 96a6362..fa1dfed 100644
--- a/erpnext/patches/v13_0/rename_issue_doctype_fields.py
+++ b/erpnext/patches/v13_0/rename_issue_doctype_fields.py
@@ -29,7 +29,7 @@
 				'response_by_variance': response_by_variance,
 				'resolution_by_variance': resolution_by_variance,
 				'first_response_time': mins_to_first_response
-			})
+			}, update_modified=False)
 			# commit after every 100 updates
 			count += 1
 			if count%100 == 0:
@@ -44,7 +44,7 @@
 		count = 0
 		for entry in opportunities:
 			mins_to_first_response = convert_to_seconds(entry.mins_to_first_response, 'Minutes')
-			frappe.db.set_value('Opportunity', entry.name, 'first_response_time', mins_to_first_response)
+			frappe.db.set_value('Opportunity', entry.name, 'first_response_time', mins_to_first_response, update_modified=False)
 			# commit after every 100 updates
 			count += 1
 			if count%100 == 0:
diff --git a/erpnext/patches/v13_0/update_custom_fields_for_shopify.py b/erpnext/patches/v13_0/update_custom_fields_for_shopify.py
new file mode 100644
index 0000000..f1d2ea2
--- /dev/null
+++ b/erpnext/patches/v13_0/update_custom_fields_for_shopify.py
@@ -0,0 +1,10 @@
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# MIT License. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+from erpnext.erpnext_integrations.doctype.shopify_settings.shopify_settings import setup_custom_fields
+
+def execute():
+	if frappe.db.get_single_value('Shopify Settings', 'enable_shopify'):
+		setup_custom_fields()
diff --git a/erpnext/patches/v13_0/update_returned_qty_in_pr_dn.py b/erpnext/patches/v13_0/update_returned_qty_in_pr_dn.py
new file mode 100644
index 0000000..7f42cd9
--- /dev/null
+++ b/erpnext/patches/v13_0/update_returned_qty_in_pr_dn.py
@@ -0,0 +1,27 @@
+# Copyright (c) 2019, Frappe and Contributors
+# License: GNU General Public License v3. See license.txt
+
+from __future__ import unicode_literals
+import frappe
+
+def execute():
+	frappe.reload_doc('stock', 'doctype', 'purchase_receipt')
+	frappe.reload_doc('stock', 'doctype', 'purchase_receipt_item')
+	frappe.reload_doc('stock', 'doctype', 'delivery_note')
+	frappe.reload_doc('stock', 'doctype', 'delivery_note_item')
+
+	def update_from_return_docs(doctype):
+		for return_doc in frappe.get_all(doctype, filters={'is_return' : 1, 'docstatus' : 1}):
+			# Update original receipt/delivery document from return
+			return_doc = frappe.get_cached_doc(doctype, return_doc.name)
+			return_doc.update_prevdoc_status()
+			return_against = frappe.get_doc(doctype, return_doc.return_against)
+			return_against.update_billing_status()
+
+	# Set received qty in stock uom in PR, as returned qty is checked against it
+	frappe.db.sql(""" update `tabPurchase Receipt Item`
+		set received_stock_qty = received_qty * conversion_factor
+		where docstatus = 1 """)
+
+	for doctype in ('Purchase Receipt', 'Delivery Note'):
+		update_from_return_docs(doctype)
\ No newline at end of file
diff --git a/erpnext/patches/v13_0/updates_for_multi_currency_payroll.py b/erpnext/patches/v13_0/updates_for_multi_currency_payroll.py
new file mode 100644
index 0000000..340bf49
--- /dev/null
+++ b/erpnext/patches/v13_0/updates_for_multi_currency_payroll.py
@@ -0,0 +1,136 @@
+# Copyright (c) 2019, Frappe and Contributors
+# License: GNU General Public License v3. See license.txt
+
+import frappe
+from frappe import _
+from frappe.model.utils.rename_field import rename_field
+
+def execute():
+
+	frappe.reload_doc('Accounts', 'doctype', 'Salary Component Account')
+	if frappe.db.has_column('Salary Component Account', 'default_account'):
+		rename_field("Salary Component Account", "default_account", "account")
+
+	doctype_list = [
+		{
+		'module':'HR',
+		'doctype':'Employee Advance'
+		},
+		{
+		'module':'HR',
+		'doctype':'Leave Encashment'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Additional Salary'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Employee Benefit Application'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Employee Benefit Claim'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Employee Incentive'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Employee Tax Exemption Declaration'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Employee Tax Exemption Proof Submission'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Income Tax Slab'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Payroll Entry'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Retention Bonus'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Salary Structure'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Salary Structure Assignment'
+		},
+		{
+		'module':'Payroll',
+		'doctype':'Salary Slip'
+		},
+	]
+
+	for item in doctype_list:
+		frappe.reload_doc(item['module'], 'doctype', item['doctype'])
+
+	# update company in employee advance based on employee company
+	for dt in ['Employee Incentive', 'Leave Encashment', 'Employee Benefit Application', 'Employee Benefit Claim']:
+		frappe.db.sql("""
+			update `tab{doctype}`
+			set company = (select company from tabEmployee where name=`tab{doctype}`.employee)
+		""".format(doctype=dt))
+
+	# update exchange rate for employee advance
+	frappe.db.sql("update `tabEmployee Advance` set exchange_rate=1")
+
+	# get all companies and it's currency
+	all_companies = frappe.db.get_all("Company", fields=["name", "default_currency", "default_payroll_payable_account"])
+	for d in all_companies:
+		company = d.name
+		company_currency = d.default_currency
+		default_payroll_payable_account = d.default_payroll_payable_account
+
+		if not default_payroll_payable_account:
+			default_payroll_payable_account = frappe.db.get_value("Account",
+				{"account_name": _("Payroll Payable"), "company": company, "account_currency": company_currency, "is_group": 0})
+
+		# update currency in following doctypes based on company currency
+		doctypes_for_currency = ['Employee Advance', 'Leave Encashment', 'Employee Benefit Application',
+			'Employee Benefit Claim', 'Employee Incentive', 'Additional Salary', 
+			'Employee Tax Exemption Declaration', 'Employee Tax Exemption Proof Submission', 
+			'Income Tax Slab', 'Retention Bonus', 'Salary Structure']
+
+		for dt in doctypes_for_currency:
+			frappe.db.sql("""update `tab{doctype}` set currency = %s where company=%s"""
+				.format(doctype=dt), (company_currency, company))
+
+		# update fields in payroll entry
+		frappe.db.sql("""
+			update `tabPayroll Entry`
+			set currency = %s,
+				exchange_rate = 1,
+				payroll_payable_account=%s
+			where company=%s
+		""", (company_currency, default_payroll_payable_account, company))
+
+		# update fields in Salary Structure Assignment
+		frappe.db.sql("""
+			update `tabSalary Structure Assignment`
+			set currency = %s,
+				payroll_payable_account=%s
+			where company=%s
+		""", (company_currency, default_payroll_payable_account, company))
+
+		# update fields in Salary Slip
+		frappe.db.sql("""
+			update `tabSalary Slip`
+			set currency = %s,
+				exchange_rate = 1,
+				base_hour_rate = hour_rate,
+				base_gross_pay = gross_pay,
+				base_total_deduction = total_deduction,
+				base_net_pay = net_pay,
+				base_rounded_total = rounded_total,
+				base_total_in_words = total_in_words
+			where company=%s
+		""", (company_currency, company))
diff --git a/erpnext/patches/v7_0/po_status_issue_for_pr_return.py b/erpnext/patches/v7_0/po_status_issue_for_pr_return.py
index 6e92ffb..910814f 100644
--- a/erpnext/patches/v7_0/po_status_issue_for_pr_return.py
+++ b/erpnext/patches/v7_0/po_status_issue_for_pr_return.py
@@ -7,19 +7,23 @@
 def execute():
 	parent_list = []
 	count = 0
-	for data in frappe.db.sql(""" 
-		select 
+
+	frappe.reload_doc('stock', 'doctype', 'purchase_receipt')
+	frappe.reload_doc('stock', 'doctype', 'purchase_receipt_item')
+
+	for data in frappe.db.sql("""
+		select
 			`tabPurchase Receipt Item`.purchase_order, `tabPurchase Receipt Item`.name,
 			`tabPurchase Receipt Item`.item_code, `tabPurchase Receipt Item`.idx,
 			`tabPurchase Receipt Item`.parent
-		from 
+		from
 			`tabPurchase Receipt Item`, `tabPurchase Receipt`
 		where
 			`tabPurchase Receipt Item`.parent = `tabPurchase Receipt`.name and
 			`tabPurchase Receipt Item`.purchase_order_item is null and
 			`tabPurchase Receipt Item`.purchase_order is not null and
 			`tabPurchase Receipt`.is_return = 1""", as_dict=1):
-			name = frappe.db.get_value('Purchase Order Item', 
+			name = frappe.db.get_value('Purchase Order Item',
 				{'item_code': data.item_code, 'parent': data.purchase_order, 'idx': data.idx}, 'name')
 
 			if name:
diff --git a/erpnext/payroll/doctype/additional_salary/additional_salary.js b/erpnext/payroll/doctype/additional_salary/additional_salary.js
index d56cd4e..0784de9 100644
--- a/erpnext/payroll/doctype/additional_salary/additional_salary.js
+++ b/erpnext/payroll/doctype/additional_salary/additional_salary.js
@@ -12,5 +12,57 @@
 				}
 			};
 		});
+
+		if (!frm.doc.currency) return;
+		frm.set_query("salary_component", function() {
+			return {
+				query: "erpnext.payroll.doctype.salary_structure.salary_structure.get_earning_deduction_components",
+				filters: {currency: frm.doc.currency, company: frm.doc.company}
+			};
+		});
+	},
+
+	employee: function(frm) {
+		if (frm.doc.employee) {
+			frappe.run_serially([
+				() => 	frm.trigger('get_employee_currency'),
+				() => 	frm.trigger('set_company')
+			]);
+		} else {
+			frm.set_value("company", null);
+		}
+	},
+
+	set_company: function(frm) {
+		frappe.call({
+			method: "frappe.client.get_value",
+			args: {
+				doctype: "Employee",
+				fieldname: "company",
+				filters: {
+					name: frm.doc.employee
+				}
+			},
+			callback: function(data) {
+				if (data.message) {
+					frm.set_value("company", data.message.company);
+				}
+			}
+		});
+	},
+
+	get_employee_currency: function(frm) {
+		frappe.call({
+			method: "erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment.get_employee_currency",
+			args: {
+				employee: frm.doc.employee,
+			},
+			callback: function(r) {
+				if (r.message) {
+					frm.set_value('currency', r.message);
+					frm.refresh_fields();
+				}
+			}
+		});
 	},
 });
diff --git a/erpnext/payroll/doctype/additional_salary/additional_salary.json b/erpnext/payroll/doctype/additional_salary/additional_salary.json
index 69cb5da..2b29f66 100644
--- a/erpnext/payroll/doctype/additional_salary/additional_salary.json
+++ b/erpnext/payroll/doctype/additional_salary/additional_salary.json
@@ -11,20 +11,21 @@
   "employee",
   "employee_name",
   "salary_component",
-  "overwrite_salary_structure_amount",
-  "deduct_full_tax_on_selected_payroll_date",
+  "type",
+  "amount",
   "ref_doctype",
   "ref_docname",
+  "amended_from",
   "column_break_5",
   "company",
-  "is_recurring",
+  "department",
+  "currency",
   "from_date",
   "to_date",
   "payroll_date",
-  "type",
-  "department",
-  "amount",
-  "amended_from"
+  "is_recurring",
+  "overwrite_salary_structure_amount",
+  "deduct_full_tax_on_selected_payroll_date"
  ],
  "fields": [
   {
@@ -59,6 +60,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Amount",
+   "options": "currency",
    "reqd": 1
   },
   {
@@ -159,11 +161,22 @@
    "label": "Reference Document",
    "options": "ref_doctype",
    "read_only": 1
+  },
+  {
+   "default": "Company:company:default_currency",
+   "depends_on": "eval:(doc.docstatus==1 || doc.employee)",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 21:10:50.374063",
+ "modified": "2020-10-20 17:51:13.419716",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Additional Salary",
diff --git a/erpnext/payroll/doctype/additional_salary/additional_salary.py b/erpnext/payroll/doctype/additional_salary/additional_salary.py
index e3dc907..f5af677 100644
--- a/erpnext/payroll/doctype/additional_salary/additional_salary.py
+++ b/erpnext/payroll/doctype/additional_salary/additional_salary.py
@@ -22,10 +22,15 @@
 
 	def validate(self):
 		self.validate_dates()
+		self.validate_salary_structure()
 		self.validate_recurring_additional_salary_overlap()
 		if self.amount < 0:
 			frappe.throw(_("Amount should not be less than zero."))
 
+	def validate_salary_structure(self):
+		if not frappe.db.exists('Salary Structure Assignment', {'employee': self.employee}):
+			frappe.throw(_("There is no Salary Structure assigned to {0}. First assign a Salary Stucture.").format(self.employee))
+
 	def validate_recurring_additional_salary_overlap(self):
 		if self.is_recurring:
 			additional_salaries = frappe.db.sql("""
diff --git a/erpnext/payroll/doctype/additional_salary/test_additional_salary.py b/erpnext/payroll/doctype/additional_salary/test_additional_salary.py
index de26543..4d47f25 100644
--- a/erpnext/payroll/doctype/additional_salary/test_additional_salary.py
+++ b/erpnext/payroll/doctype/additional_salary/test_additional_salary.py
@@ -8,6 +8,7 @@
 from erpnext.hr.doctype.employee.test_employee import make_employee
 from erpnext.payroll.doctype.salary_component.test_salary_component import create_salary_component
 from erpnext.payroll.doctype.salary_slip.test_salary_slip import make_employee_salary_slip, setup_test
+from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure
 
 
 class TestAdditionalSalary(unittest.TestCase):
@@ -15,12 +16,19 @@
 	def setUp(self):
 		setup_test()
 
+	def tearDown(self):
+		for dt in ["Salary Slip", "Additional Salary", "Salary Structure Assignment", "Salary Structure"]:
+			frappe.db.sql("delete from `tab%s`" % dt)
+
 	def test_recurring_additional_salary(self):
+		amount = 0
+		salary_component = None
 		emp_id = make_employee("test_additional@salary.com")
 		frappe.db.set_value("Employee", emp_id, "relieving_date", add_days(nowdate(), 1800))
+		salary_structure = make_salary_structure("Test Salary Structure Additional Salary", "Monthly", employee=emp_id)
 		add_sal = get_additional_salary(emp_id)
-
-		ss = make_employee_salary_slip("test_additional@salary.com", "Monthly")
+		
+		ss = make_employee_salary_slip("test_additional@salary.com", "Monthly", salary_structure=salary_structure.name)
 		for earning in ss.earnings:
 			if earning.salary_component == "Recurring Salary Component":
 				amount = earning.amount
@@ -29,8 +37,6 @@
 		self.assertEqual(amount, add_sal.amount)
 		self.assertEqual(salary_component, add_sal.salary_component)
 
-
-
 def get_additional_salary(emp_id):
 	create_salary_component("Recurring Salary Component")
 	add_sal = frappe.new_doc("Additional Salary")
@@ -40,6 +46,7 @@
 	add_sal.from_date = add_days(nowdate(), -50)
 	add_sal.to_date = add_days(nowdate(), 180)
 	add_sal.amount = 5000
+	add_sal.currency = erpnext.get_default_currency()
 	add_sal.save()
 	add_sal.submit()
 
diff --git a/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.js b/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.js
index f509df3..6756cd9 100644
--- a/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.js
+++ b/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.js
@@ -3,7 +3,12 @@
 
 frappe.ui.form.on('Employee Benefit Application', {
 	employee: function(frm) {
-		frm.trigger('set_earning_component');
+		if (frm.doc.employee) {
+			frappe.run_serially([
+				() => 	frm.trigger('get_employee_currency'),
+				() => 	frm.trigger('set_earning_component')
+			]);
+		}
 		var method, args;
 		if(frm.doc.employee && frm.doc.date && frm.doc.payroll_period){
 			method = "erpnext.payroll.doctype.employee_benefit_application.employee_benefit_application.get_max_benefits_remaining";
@@ -38,9 +43,26 @@
 		});
 	},
 
+	get_employee_currency: function(frm) {
+		if (frm.doc.employee) {
+			frappe.call({
+				method: "erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment.get_employee_currency",
+				args: {
+					employee: frm.doc.employee,
+				},
+				callback: function(r) {
+					if (r.message) {
+						frm.set_value('currency', r.message);
+						frm.refresh_fields();
+					}
+				}
+			});
+		}
+	},
+
 	payroll_period: function(frm) {
 		var method, args;
-		if(frm.doc.employee && frm.doc.date && frm.doc.payroll_period){
+		if (frm.doc.employee && frm.doc.date && frm.doc.payroll_period) {
 			method = "erpnext.payroll.doctype.employee_benefit_application.employee_benefit_application.get_max_benefits_remaining";
 			args = {
 				employee: frm.doc.employee,
@@ -60,11 +82,14 @@
 		method: method,
 		args: args,
 		callback: function (data) {
-			if(!data.exc){
-				if(data.message){
+			if (!data.exc) {
+				if (data.message) {
 					frm.set_value("max_benefits", data.message);
+				} else {
+					frm.set_value("max_benefits", 0);
 				}
 			}
+			frm.refresh_fields();
 		}
 	});
 };
@@ -82,14 +107,19 @@
 	var tbl = doc.employee_benefits || [];
 	var pro_rata_dispensed_amount = 0;
 	var total_amount = 0;
-	for(var i = 0; i < tbl.length; i++){
-		if(cint(tbl[i].amount) > 0) {
-			total_amount += flt(tbl[i].amount);
-		}
-		if(tbl[i].pay_against_benefit_claim != 1){
-			pro_rata_dispensed_amount += flt(tbl[i].amount);
+	if (doc.max_benefits === 0) {
+		doc.employee_benefits = [];
+	} else {
+		for (var i = 0; i < tbl.length; i++) {
+			if (cint(tbl[i].amount) > 0) {
+				total_amount += flt(tbl[i].amount);
+			}
+			if (tbl[i].pay_against_benefit_claim != 1) {
+				pro_rata_dispensed_amount += flt(tbl[i].amount);
+			}
 		}
 	}
+
 	doc.total_amount = total_amount;
 	doc.remaining_benefit = doc.max_benefits - total_amount;
 	doc.pro_rata_dispensed_amount = pro_rata_dispensed_amount;
diff --git a/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.json b/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.json
index b0c1bd6..9a5a463 100644
--- a/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.json
+++ b/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.json
@@ -10,12 +10,14 @@
  "field_order": [
   "employee",
   "employee_name",
+  "currency",
   "max_benefits",
   "remaining_benefit",
   "column_break_2",
   "date",
   "payroll_period",
   "department",
+  "company",
   "amended_from",
   "section_break_4",
   "employee_benefits",
@@ -43,12 +45,14 @@
    "fieldname": "max_benefits",
    "fieldtype": "Currency",
    "label": "Max Benefits (Yearly)",
+   "options": "currency",
    "read_only": 1
   },
   {
    "fieldname": "remaining_benefit",
    "fieldtype": "Currency",
    "label": "Remaining Benefits (Yearly)",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -108,18 +112,38 @@
    "fieldname": "total_amount",
    "fieldtype": "Currency",
    "label": "Total Amount",
+   "options": "currency",
    "read_only": 1
   },
   {
    "fieldname": "pro_rata_dispensed_amount",
    "fieldtype": "Currency",
    "label": "Dispensed Amount (Pro-rated)",
+   "options": "currency",
    "read_only": 1
+  },
+  {
+   "default": "Company:company:default_currency",
+   "depends_on": "eval:(doc.docstatus==1 || doc.employee)",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "read_only": 1,
+   "reqd": 1
+  },
+  {
+   "fetch_from": "employee.company",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "options": "Company",
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 22:58:31.271922",
+ "modified": "2020-11-25 11:49:05.095101",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Employee Benefit Application",
diff --git a/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.py b/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.py
index ef844fb..27df30a 100644
--- a/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.py
+++ b/erpnext/payroll/doctype/employee_benefit_application/employee_benefit_application.py
@@ -33,8 +33,8 @@
 					benefit_given = get_sal_slip_total_benefit_given(self.employee, payroll_period, component = benefit.earning_component)
 					benefit_claim_remining = benefit_claimed - benefit_given
 					if benefit_claimed > 0 and benefit_claim_remining > benefit.amount:
-						frappe.throw(_("An amount of {0} already claimed for the component {1},\
-						 set the amount equal or greater than {2}").format(benefit_claimed, benefit.earning_component, benefit_claim_remining))
+						frappe.throw(_("An amount of {0} already claimed for the component {1}, set the amount equal or greater than {2}").format(
+							benefit_claimed, benefit.earning_component, benefit_claim_remining))
 
 	def validate_remaining_benefit_amount(self):
 		# check salary structure earnings have flexi component (sum of max_benefit_amount)
@@ -62,11 +62,11 @@
 			if pro_rata_amount == 0  and non_pro_rata_amount == 0:
 				frappe.throw(_("Please add the remaining benefits {0} to any of the existing component").format(self.remaining_benefit))
 			elif non_pro_rata_amount > 0 and non_pro_rata_amount < rounded(self.remaining_benefit):
-				frappe.throw(_("You can claim only an amount of {0}, the rest amount {1} should be in the application \
-				as pro-rata component").format(non_pro_rata_amount, self.remaining_benefit - non_pro_rata_amount))
+				frappe.throw(_("You can claim only an amount of {0}, the rest amount {1} should be in the application as pro-rata component").format(
+					non_pro_rata_amount, self.remaining_benefit - non_pro_rata_amount))
 			elif non_pro_rata_amount == 0:
-				frappe.throw(_("Please add the remaining benefits {0} to the application as \
-				pro-rata component").format(self.remaining_benefit))
+				frappe.throw(_("Please add the remaining benefits {0} to the application as pro-rata component").format(
+					self.remaining_benefit))
 
 	def validate_max_benefit_for_component(self):
 		if self.employee_benefits:
@@ -115,7 +115,7 @@
 	if max_benefits and max_benefits > 0:
 		have_depends_on_payment_days = False
 		per_day_amount_total = 0
-		payroll_period_days = get_payroll_period_days(on_date, on_date, employee)[0]
+		payroll_period_days = get_payroll_period_days(on_date, on_date, employee)[1]
 		payroll_period_obj = frappe.get_doc("Payroll Period", payroll_period)
 
 		# Get all salary slip flexi amount in the payroll period
@@ -239,4 +239,17 @@
 		""", salary_structure)
 	else:
 		frappe.throw(_("Salary Structure not found for employee {0} and date {1}")
-			.format(filters['employee'], filters['date']))
\ No newline at end of file
+			.format(filters['employee'], filters['date']))
+
+@frappe.whitelist()
+def get_earning_components_max_benefits(employee, date, earning_component):
+	salary_structure = get_assigned_salary_structure(employee, date)
+	amount = frappe.db.sql("""
+			select amount
+			from `tabSalary Detail`
+			where parent = %s and is_flexible_benefit = 1
+			and salary_component = %s
+			order by name
+		""", salary_structure, earning_component)
+
+	return amount if amount else 0
\ No newline at end of file
diff --git a/erpnext/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.json b/erpnext/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.json
index fa6b4da..c93d356 100644
--- a/erpnext/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.json
+++ b/erpnext/payroll/doctype/employee_benefit_application_detail/employee_benefit_application_detail.json
@@ -33,6 +33,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Max Benefit Amount",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -40,12 +41,13 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Amount",
+   "options": "currency",
    "reqd": 1
   }
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-06-22 23:45:00.519134",
+ "modified": "2020-09-29 16:22:15.783854",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Employee Benefit Application Detail",
diff --git a/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.js b/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.js
index 6db6cb8..ea9ccd5 100644
--- a/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.js
+++ b/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.js
@@ -12,5 +12,24 @@
 	},
 	employee: function(frm) {
 		frm.set_value("earning_component", null);
+		if (frm.doc.employee) {
+			frappe.call({
+				method: "erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment.get_employee_currency",
+				args: {
+					employee: frm.doc.employee,
+				},
+				callback: function(r) {
+					if (r.message) {
+						frm.set_value('currency', r.message);
+						frm.set_df_property('currency', 'hidden', 0);
+					}
+				}
+			});
+		}
+		if (!frm.doc.earning_component) {
+			frm.doc.max_amount_eligible = null;
+			frm.doc.claimed_amount = null;
+		}
+		frm.refresh_fields();
 	}
 });
diff --git a/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.json b/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.json
index ae4c218..da24aac 100644
--- a/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.json
+++ b/erpnext/payroll/doctype/employee_benefit_claim/employee_benefit_claim.json
@@ -12,6 +12,8 @@
   "department",
   "column_break_3",
   "claim_date",
+  "currency",
+  "company",
   "benefit_type_and_amount",
   "earning_component",
   "max_amount_eligible",
@@ -76,6 +78,7 @@
    "fieldname": "max_amount_eligible",
    "fieldtype": "Currency",
    "label": "Max Amount Eligible",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -92,6 +95,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Claimed Amount",
+   "options": "currency",
    "reqd": 1
   },
   {
@@ -119,11 +123,29 @@
    "fieldname": "attachments",
    "fieldtype": "Attach",
    "label": "Attachments"
+  },
+  {
+   "default": "Company:company:default_currency",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "hidden": 1,
+   "label": "Currency",
+   "options": "Currency",
+   "read_only": 1,
+   "reqd": 1
+  },
+  {
+   "fetch_from": "employee.company",
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "options": "Company",
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 23:01:50.791676",
+ "modified": "2020-11-25 11:49:56.097352",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Employee Benefit Claim",
diff --git a/erpnext/payroll/doctype/employee_incentive/employee_incentive.js b/erpnext/payroll/doctype/employee_incentive/employee_incentive.js
index db0f83a..85d1c54 100644
--- a/erpnext/payroll/doctype/employee_incentive/employee_incentive.js
+++ b/erpnext/payroll/doctype/employee_incentive/employee_incentive.js
@@ -11,12 +11,57 @@
 			};
 		});
 
+		if (!frm.doc.currency) return;
 		frm.set_query("salary_component", function() {
 			return {
-				filters: {
-					"type": "Earning"
-				}
+				query: "erpnext.payroll.doctype.salary_structure.salary_structure.get_earning_deduction_components",
+				filters: {type: "earning", currency: frm.doc.currency, company: frm.doc.company}
 			};
 		});
-	}
+
+	},
+
+	employee: function(frm) {
+		if (frm.doc.employee) {
+			frappe.run_serially([
+				() => 	frm.trigger('get_employee_currency'),
+				() => 	frm.trigger('set_company')
+			]);
+		} else {
+			frm.set_value("company", null);
+		}
+	},
+
+	set_company: function(frm) {
+		frappe.call({
+			method: "frappe.client.get_value",
+			args: {
+				doctype: "Employee",
+				fieldname: "company",
+				filters: {
+					name: frm.doc.employee
+				}
+			},
+			callback: function(data) {
+				if (data.message) {
+					frm.set_value("company", data.message.company);
+				}
+			}
+		});
+	},
+
+	get_employee_currency: function(frm) {
+		frappe.call({
+			method: "erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment.get_employee_currency",
+			args: {
+				employee: frm.doc.employee,
+			},
+			callback: function(r) {
+				if (r.message) {
+					frm.set_value('currency', r.message);
+					frm.refresh_fields();
+				}
+			}
+		});
+	},
 });
diff --git a/erpnext/payroll/doctype/employee_incentive/employee_incentive.json b/erpnext/payroll/doctype/employee_incentive/employee_incentive.json
index 204c9a4..e5b1052 100644
--- a/erpnext/payroll/doctype/employee_incentive/employee_incentive.json
+++ b/erpnext/payroll/doctype/employee_incentive/employee_incentive.json
@@ -7,10 +7,12 @@
  "engine": "InnoDB",
  "field_order": [
   "employee",
-  "incentive_amount",
   "employee_name",
-  "salary_component",
+  "company",
+  "currency",
+  "incentive_amount",
   "column_break_5",
+  "salary_component",
   "payroll_date",
   "department",
   "amended_from"
@@ -28,6 +30,7 @@
    "fieldname": "incentive_amount",
    "fieldtype": "Currency",
    "label": "Incentive Amount",
+   "options": "currency",
    "reqd": 1
   },
   {
@@ -70,11 +73,29 @@
    "label": "Salary Component",
    "options": "Salary Component",
    "reqd": 1
+  },
+  {
+   "default": "Company:company:default_currency",
+   "depends_on": "eval:(doc.docstatus==1 || doc.employee)",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 1
+  },
+  {
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "options": "Company",
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 22:42:51.209630",
+ "modified": "2020-10-20 17:22:16.468042",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Employee Incentive",
diff --git a/erpnext/payroll/doctype/employee_incentive/employee_incentive.py b/erpnext/payroll/doctype/employee_incentive/employee_incentive.py
index 84a97f6..ead3db1 100644
--- a/erpnext/payroll/doctype/employee_incentive/employee_incentive.py
+++ b/erpnext/payroll/doctype/employee_incentive/employee_incentive.py
@@ -4,14 +4,23 @@
 
 from __future__ import unicode_literals
 import frappe
+from frappe import _
 from frappe.model.document import Document
 
 class EmployeeIncentive(Document):
+	def validate(self):
+		self.validate_salary_structure()
+
+	def validate_salary_structure(self):
+		if not frappe.db.exists('Salary Structure Assignment', {'employee': self.employee}):
+			frappe.throw(_("There is no Salary Structure assigned to {0}. First assign a Salary Stucture.").format(self.employee))
+
 	def on_submit(self):
 		company = frappe.db.get_value('Employee', self.employee, 'company')
 
 		additional_salary = frappe.new_doc('Additional Salary')
 		additional_salary.employee = self.employee
+		additional_salary.currency = self.currency
 		additional_salary.salary_component = self.salary_component
 		additional_salary.overwrite_salary_structure_amount = 0
 		additional_salary.amount = self.incentive_amount
diff --git a/erpnext/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.json b/erpnext/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.json
index de7c348..83d4ae5 100644
--- a/erpnext/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.json
+++ b/erpnext/payroll/doctype/employee_tax_exemption_declaration/employee_tax_exemption_declaration.json
@@ -14,6 +14,7 @@
   "column_break_2",
   "payroll_period",
   "company",
+  "currency",
   "amended_from",
   "section_break_8",
   "declarations",
@@ -92,6 +93,7 @@
    "fieldname": "total_declared_amount",
    "fieldtype": "Currency",
    "label": "Total Declared Amount",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -102,12 +104,22 @@
    "fieldname": "total_exemption_amount",
    "fieldtype": "Currency",
    "label": "Total Exemption Amount",
+   "options": "currency",
    "read_only": 1
+  },
+  {
+   "default": "Company:company:default_currency",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "print_hide": 1,
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 22:49:43.829892",
+ "modified": "2020-10-20 16:42:24.493761",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Employee Tax Exemption Declaration",
diff --git a/erpnext/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py b/erpnext/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py
index 9549fd1..0609d19 100644
--- a/erpnext/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py
+++ b/erpnext/payroll/doctype/employee_tax_exemption_declaration/test_employee_tax_exemption_declaration.py
@@ -22,6 +22,7 @@
 			"employee": frappe.get_value("Employee", {"user_id":"employee@taxexepmtion.com"}, "name"),
 			"company": erpnext.get_default_company(),
 			"payroll_period": "_Test Payroll Period",
+			"currency": erpnext.get_default_currency(),
 			"declarations": [
 				dict(exemption_sub_category = "_Test Sub Category",
 					exemption_category = "_Test Category",
@@ -39,6 +40,7 @@
 			"employee": frappe.get_value("Employee", {"user_id":"employee@taxexepmtion.com"}, "name"),
 			"company":  erpnext.get_default_company(),
 			"payroll_period": "_Test Payroll Period",
+			"currency": erpnext.get_default_currency(),
 			"declarations": [
 				dict(exemption_sub_category = "_Test Sub Category",
 					exemption_category = "_Test Category",
@@ -54,6 +56,7 @@
 			"employee": frappe.get_value("Employee", {"user_id":"employee@taxexepmtion.com"}, "name"),
 			"company":  erpnext.get_default_company(),
 			"payroll_period": "_Test Payroll Period",
+			"currency": erpnext.get_default_currency(),
 			"declarations": [
 				dict(exemption_sub_category = "_Test Sub Category",
 					exemption_category = "_Test Category",
@@ -70,6 +73,7 @@
 			"employee": frappe.get_value("Employee", {"user_id":"employee@taxexepmtion.com"}, "name"),
 			"company":  erpnext.get_default_company(),
 			"payroll_period": "_Test Payroll Period",
+			"currency": erpnext.get_default_currency(),
 			"declarations": [
 				dict(exemption_sub_category = "_Test Sub Category",
 					exemption_category = "_Test Category",
diff --git a/erpnext/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.json b/erpnext/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.json
index 8c2f9aa..723a3df 100644
--- a/erpnext/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.json
+++ b/erpnext/payroll/doctype/employee_tax_exemption_declaration_category/employee_tax_exemption_declaration_category.json
@@ -35,6 +35,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Maximum Exempted Amount",
+   "options": "currency",
    "read_only": 1,
    "reqd": 1
   },
@@ -43,12 +44,13 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Declared Amount",
+   "options": "currency",
    "reqd": 1
   }
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-06-22 23:41:03.638739",
+ "modified": "2020-10-20 16:43:09.606265",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Employee Tax Exemption Declaration Category",
diff --git a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.js b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.js
index 715d755..497f35c 100644
--- a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.js
+++ b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.js
@@ -54,5 +54,9 @@
 				});
 			});
 		}
+	},
+
+	currency: function(frm) {
+		frm.refresh_fields();
 	}
 });
diff --git a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.json b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.json
index b62b5aa..53f18cb 100644
--- a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.json
+++ b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission/employee_tax_exemption_proof_submission.json
@@ -11,6 +11,7 @@
   "employee",
   "employee_name",
   "department",
+  "currency",
   "column_break_2",
   "submission_date",
   "payroll_period",
@@ -97,6 +98,7 @@
    "fieldname": "total_actual_amount",
    "fieldtype": "Currency",
    "label": "Total Actual Amount",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -107,6 +109,7 @@
    "fieldname": "exemption_amount",
    "fieldtype": "Currency",
    "label": "Total Exemption Amount",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -126,11 +129,20 @@
    "options": "Employee Tax Exemption Proof Submission",
    "print_hide": 1,
    "read_only": 1
+  },
+  {
+   "default": "Company:company:default_currency",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "print_hide": 1,
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 22:53:10.412321",
+ "modified": "2020-10-20 16:47:03.410020",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Employee Tax Exemption Proof Submission",
diff --git a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.json b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.json
index c1f5320..2fd8b94 100644
--- a/erpnext/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.json
+++ b/erpnext/payroll/doctype/employee_tax_exemption_proof_submission_detail/employee_tax_exemption_proof_submission_detail.json
@@ -34,6 +34,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Maximum Exemption Amount",
+   "options": "currency",
    "read_only": 1,
    "reqd": 1
   },
@@ -48,12 +49,13 @@
    "fieldname": "amount",
    "fieldtype": "Currency",
    "in_list_view": 1,
-   "label": "Actual Amount"
+   "label": "Actual Amount",
+   "options": "currency"
   }
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-06-22 23:37:08.265600",
+ "modified": "2020-10-20 16:47:31.480870",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Employee Tax Exemption Proof Submission Detail",
diff --git a/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.js b/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.js
index 73a54eb..7d780d3 100644
--- a/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.js
+++ b/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.js
@@ -2,5 +2,7 @@
 // For license information, please see license.txt
 
 frappe.ui.form.on('Income Tax Slab', {
-
+	currency: function(frm) {
+		frm.refresh_fields();
+	}
 });
diff --git a/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.json b/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.json
index 6337d5a..9fa261d 100644
--- a/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.json
+++ b/erpnext/payroll/doctype/income_tax_slab/income_tax_slab.json
@@ -9,8 +9,9 @@
   "effective_from",
   "company",
   "column_break_3",
-  "allow_tax_exemption",
+  "currency",
   "standard_tax_exemption_amount",
+  "allow_tax_exemption",
   "disabled",
   "amended_from",
   "taxable_salary_slabs_section",
@@ -70,7 +71,7 @@
    "fieldname": "standard_tax_exemption_amount",
    "fieldtype": "Currency",
    "label": "Standard Tax Exemption Amount",
-   "options": "Company:company:default_currency"
+   "options": "currency"
   },
   {
    "fieldname": "company",
@@ -90,11 +91,20 @@
    "fieldtype": "Table",
    "label": "Other Taxes and Charges",
    "options": "Income Tax Slab Other Charges"
+  },
+  {
+   "default": "Company:company:default_currency",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "print_hide": 1,
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 20:27:13.425084",
+ "modified": "2020-10-19 13:54:24.728075",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Income Tax Slab",
diff --git a/erpnext/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.json b/erpnext/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.json
index 7f21204..0dba338 100644
--- a/erpnext/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.json
+++ b/erpnext/payroll/doctype/income_tax_slab_other_charges/income_tax_slab_other_charges.json
@@ -45,7 +45,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Min Taxable Income",
-   "options": "Company:company:default_currency"
+   "options": "currency"
   },
   {
    "fieldname": "column_break_7",
@@ -57,12 +57,12 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Max Taxable Income",
-   "options": "Company:company:default_currency"
+   "options": "currency"
   }
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-06-22 23:33:17.931912",
+ "modified": "2020-10-19 13:45:12.850090",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Income Tax Slab Other Charges",
diff --git a/erpnext/payroll/doctype/payroll_employee_detail/payroll_employee_detail.json b/erpnext/payroll/doctype/payroll_employee_detail/payroll_employee_detail.json
index bb68e18..8a55224 100644
--- a/erpnext/payroll/doctype/payroll_employee_detail/payroll_employee_detail.json
+++ b/erpnext/payroll/doctype/payroll_employee_detail/payroll_employee_detail.json
@@ -52,7 +52,7 @@
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-06-22 23:25:13.779032",
+ "modified": "2020-09-30 12:40:07.999878",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Payroll Employee Detail",
diff --git a/erpnext/payroll/doctype/payroll_entry/payroll_entry.js b/erpnext/payroll/doctype/payroll_entry/payroll_entry.js
index 1abc869..cb48abb 100644
--- a/erpnext/payroll/doctype/payroll_entry/payroll_entry.js
+++ b/erpnext/payroll/doctype/payroll_entry/payroll_entry.js
@@ -17,6 +17,16 @@
 				}
 			};
 		});
+
+		frm.set_query("payroll_payable_account", function() {
+			return {
+				filters: {
+					"company": frm.doc.company,
+					"root_type": "Liability",
+					"is_group": 0,
+				}
+			};
+		});
 	},
 
 	refresh: function(frm) {
@@ -139,6 +149,36 @@
 		frm.events.clear_employee_table(frm);
 	},
 
+	currency: function (frm) {
+		var company_currency;
+		if (!frm.doc.company) {
+			company_currency = erpnext.get_currency(frappe.defaults.get_default("Company"));
+		} else {
+			company_currency = erpnext.get_currency(frm.doc.company);
+		}
+		if (frm.doc.currency) {
+			if (company_currency != frm.doc.currency) {
+				frappe.call({
+					method: "erpnext.setup.utils.get_exchange_rate",
+					args: {
+						from_currency: frm.doc.currency,
+						to_currency: company_currency,
+					},
+					callback: function(r) {
+						frm.set_value("exchange_rate", flt(r.message));
+						frm.set_df_property('exchange_rate', 'hidden', 0);
+						frm.set_df_property("exchange_rate", "description", "1 " + frm.doc.currency
+							+ " = [?] " + company_currency);
+					}
+				});
+			} else {
+				frm.set_value("exchange_rate", 1.0);
+				frm.set_df_property('exchange_rate', 'hidden', 1);
+				frm.set_df_property("exchange_rate", "description", "" );
+			}
+		}
+	},
+
 	department: function (frm) {
 		frm.events.clear_employee_table(frm);
 	},
diff --git a/erpnext/payroll/doctype/payroll_entry/payroll_entry.json b/erpnext/payroll/doctype/payroll_entry/payroll_entry.json
index 31a8996..7a48dd1 100644
--- a/erpnext/payroll/doctype/payroll_entry/payroll_entry.json
+++ b/erpnext/payroll/doctype/payroll_entry/payroll_entry.json
@@ -11,8 +11,11 @@
   "column_break0",
   "posting_date",
   "payroll_frequency",
-  "column_break1",
   "company",
+  "column_break1",
+  "currency",
+  "exchange_rate",
+  "payroll_payable_account",
   "section_break_8",
   "branch",
   "department",
@@ -257,12 +260,37 @@
   {
    "fieldname": "column_break_33",
    "fieldtype": "Column Break"
+  },
+  {
+   "depends_on": "company",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Currency",
+   "options": "Currency",
+   "reqd": 1
+  },
+  {
+   "depends_on": "company",
+   "fieldname": "exchange_rate",
+   "fieldtype": "Float",
+   "label": "Exchange Rate",
+   "precision": "9",
+   "reqd": 1
+  },
+  {
+   "depends_on": "company",
+   "fieldname": "payroll_payable_account",
+   "fieldtype": "Link",
+   "label": "Payroll Payable Account",
+   "options": "Account",
+   "reqd": 1
   }
  ],
  "icon": "fa fa-cog",
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 20:06:06.953904",
+ "modified": "2020-10-23 13:00:33.753228",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Payroll Entry",
diff --git a/erpnext/payroll/doctype/payroll_entry/payroll_entry.py b/erpnext/payroll/doctype/payroll_entry/payroll_entry.py
index 30ea432..8c2d974 100644
--- a/erpnext/payroll/doctype/payroll_entry/payroll_entry.py
+++ b/erpnext/payroll/doctype/payroll_entry/payroll_entry.py
@@ -3,7 +3,7 @@
 # For license information, please see license.txt
 
 from __future__ import unicode_literals
-import frappe
+import frappe, erpnext
 from frappe.model.document import Document
 from dateutil.relativedelta import relativedelta
 from frappe.utils import cint, flt, nowdate, add_days, getdate, fmt_money, add_to_date, DATE_FORMAT, date_diff
@@ -51,13 +51,15 @@
 				where
 					docstatus = 1 and
 					is_active = 'Yes'
-					and company = %(company)s and
+					and company = %(company)s
+					and currency = %(currency)s and
 					ifnull(salary_slip_based_on_timesheet,0) = %(salary_slip_based_on_timesheet)s
 					{condition}""".format(condition=condition),
-				{"company": self.company, "salary_slip_based_on_timesheet":self.salary_slip_based_on_timesheet})
+				{"company": self.company, "currency": self.currency, "salary_slip_based_on_timesheet":self.salary_slip_based_on_timesheet})
 
 		if sal_struct:
 			cond += "and t2.salary_structure IN %(sal_struct)s "
+			cond += "and t2.payroll_payable_account = %(payroll_payable_account)s "
 			cond += "and %(from_date)s >= t2.from_date"
 			emp_list = frappe.db.sql("""
 				select
@@ -68,14 +70,26 @@
 					t1.name = t2.employee
 					and t2.docstatus = 1
 			%s order by t2.from_date desc
-			""" % cond, {"sal_struct": tuple(sal_struct), "from_date": self.end_date}, as_dict=True)
+			""" % cond, {"sal_struct": tuple(sal_struct), "from_date": self.end_date, "payroll_payable_account": self.payroll_payable_account}, as_dict=True)
 			return emp_list
 
 	def fill_employee_details(self):
 		self.set('employees', [])
 		employees = self.get_emp_list()
 		if not employees:
-			frappe.throw(_("No employees for the mentioned criteria"))
+			error_msg = _("No employees found for the mentioned criteria:<br>Company: {0}<br> Currency: {1}<br>Payroll Payable Account: {2}").format(
+				frappe.bold(self.company), frappe.bold(self.currency), frappe.bold(self.payroll_payable_account))
+			if self.branch:
+				error_msg += "<br>" + _("Branch: {0}").format(frappe.bold(self.branch))
+			if self.department:
+				error_msg += "<br>" + _("Department: {0}").format(frappe.bold(self.department))
+			if self.designation:
+				error_msg += "<br>" + _("Designation: {0}").format(frappe.bold(self.designation))
+			if self.start_date:
+				error_msg += "<br>" + _("Start date: {0}").format(frappe.bold(self.start_date))
+			if self.end_date:
+				error_msg += "<br>" + _("End date: {0}").format(frappe.bold(self.end_date))
+			frappe.throw(error_msg, title=_("No employees found"))
 
 		for d in employees:
 			self.append('employees', d)
@@ -123,7 +137,9 @@
 				"posting_date": self.posting_date,
 				"deduct_tax_for_unclaimed_employee_benefits": self.deduct_tax_for_unclaimed_employee_benefits,
 				"deduct_tax_for_unsubmitted_tax_exemption_proof": self.deduct_tax_for_unsubmitted_tax_exemption_proof,
-				"payroll_entry": self.name
+				"payroll_entry": self.name,
+				"exchange_rate": self.exchange_rate,
+				"currency": self.currency
 			})
 			if len(emp_list) > 30:
 				frappe.enqueue(create_salary_slips_for_employees, timeout=600, employees=emp_list, args=args)
@@ -160,10 +176,10 @@
 
 	def get_salary_component_account(self, salary_component):
 		account = frappe.db.get_value("Salary Component Account",
-			{"parent": salary_component, "company": self.company}, "default_account")
+			{"parent": salary_component, "company": self.company}, "account")
 
 		if not account:
-			frappe.throw(_("Please set default account in Salary Component {0}")
+			frappe.throw(_("Please set account in Salary Component {0}")
 				.format(salary_component))
 
 		return account
@@ -203,21 +219,11 @@
 			account_dict[(account, key[1])] = account_dict.get((account, key[1]), 0) + amount
 		return account_dict
 
-	def get_default_payroll_payable_account(self):
-		payroll_payable_account = frappe.get_cached_value('Company',
-			{"company_name": self.company},  "default_payroll_payable_account")
-
-		if not payroll_payable_account:
-			frappe.throw(_("Please set Default Payroll Payable Account in Company {0}")
-				.format(self.company))
-
-		return payroll_payable_account
-
 	def make_accrual_jv_entry(self):
 		self.check_permission('write')
 		earnings = self.get_salary_component_total(component_type = "earnings") or {}
 		deductions = self.get_salary_component_total(component_type = "deductions") or {}
-		default_payroll_payable_account = self.get_default_payroll_payable_account()
+		payroll_payable_account = self.payroll_payable_account
 		jv_name = ""
 		precision = frappe.get_precision("Journal Entry Account", "debit_in_account_currency")
 
@@ -230,14 +236,19 @@
 			journal_entry.posting_date = self.posting_date
 
 			accounts = []
+			currencies = []
 			payable_amount = 0
+			multi_currency = 0
+			company_currency = erpnext.get_company_currency(self.company)
 
 			# Earnings
 			for acc_cc, amount in earnings.items():
+				exchange_rate, amt = self.get_amount_and_exchange_rate_for_journal_entry(acc_cc[0], amount, company_currency, currencies)
 				payable_amount += flt(amount, precision)
 				accounts.append({
 						"account": acc_cc[0],
-						"debit_in_account_currency": flt(amount, precision),
+						"debit_in_account_currency": flt(amt, precision),
+						"exchange_rate": flt(exchange_rate),
 						"party_type": '',
 						"cost_center": acc_cc[1] or self.cost_center,
 						"project": self.project
@@ -245,25 +256,32 @@
 
 			# Deductions
 			for acc_cc, amount in deductions.items():
+				exchange_rate, amt = self.get_amount_and_exchange_rate_for_journal_entry(acc_cc[0], amount, company_currency, currencies)
 				payable_amount -= flt(amount, precision)
 				accounts.append({
 						"account": acc_cc[0],
-						"credit_in_account_currency": flt(amount, precision),
+						"credit_in_account_currency": flt(amt, precision),
+						"exchange_rate": flt(exchange_rate),
 						"cost_center": acc_cc[1] or self.cost_center,
 						"party_type": '',
 						"project": self.project
 					})
 
 			# Payable amount
+			exchange_rate, payable_amt = self.get_amount_and_exchange_rate_for_journal_entry(payroll_payable_account, payable_amount, company_currency, currencies)
 			accounts.append({
-				"account": default_payroll_payable_account,
-				"credit_in_account_currency": flt(payable_amount, precision),
+				"account": payroll_payable_account,
+				"credit_in_account_currency": flt(payable_amt, precision),
+				"exchange_rate": flt(exchange_rate),
 				"party_type": '',
 				"cost_center": self.cost_center
 			})
 
 			journal_entry.set("accounts", accounts)
-			journal_entry.title = default_payroll_payable_account
+			if len(currencies) > 1:
+				multi_currency = 1
+			journal_entry.multi_currency = multi_currency
+			journal_entry.title = payroll_payable_account
 			journal_entry.save()
 
 			try:
@@ -271,10 +289,24 @@
 				jv_name = journal_entry.name
 				self.update_salary_slip_status(jv_name = jv_name)
 			except Exception as e:
-				frappe.msgprint(e)
+				if type(e) in (str, list, tuple):
+					frappe.msgprint(e)
+				raise
 
 		return jv_name
 
+	def get_amount_and_exchange_rate_for_journal_entry(self, account, amount, company_currency, currencies):
+		conversion_rate = 1
+		exchange_rate = self.exchange_rate
+		account_currency = frappe.db.get_value('Account', account, 'account_currency')
+		if account_currency not in currencies:
+			currencies.append(account_currency)
+		if account_currency == company_currency:
+			conversion_rate = self.exchange_rate
+			exchange_rate = 1
+		amount = flt(amount) * flt(conversion_rate)
+		return exchange_rate, amount
+
 	def make_payment_entry(self):
 		self.check_permission('write')
 
@@ -303,31 +335,43 @@
 				self.create_journal_entry(salary_slip_total, "salary")
 
 	def create_journal_entry(self, je_payment_amount, user_remark):
-		default_payroll_payable_account = self.get_default_payroll_payable_account()
+		payroll_payable_account = self.payroll_payable_account
 		precision = frappe.get_precision("Journal Entry Account", "debit_in_account_currency")
 
+		accounts = []
+		currencies = []
+		multi_currency = 0
+		company_currency = erpnext.get_company_currency(self.company)
+
+		exchange_rate, amount = self.get_amount_and_exchange_rate_for_journal_entry(self.payment_account, je_payment_amount, company_currency, currencies)
+		accounts.append({
+				"account": self.payment_account,
+				"bank_account": self.bank_account,
+				"credit_in_account_currency": flt(amount, precision),
+				"exchange_rate": flt(exchange_rate),
+			})
+
+		exchange_rate, amount = self.get_amount_and_exchange_rate_for_journal_entry(payroll_payable_account, je_payment_amount, company_currency, currencies)
+		accounts.append({
+				"account": payroll_payable_account,
+				"debit_in_account_currency": flt(amount, precision),
+				"exchange_rate": flt(exchange_rate),
+				"reference_type": self.doctype,
+				"reference_name": self.name
+			})
+
+		if len(currencies) > 1:
+				multi_currency = 1
+
 		journal_entry = frappe.new_doc('Journal Entry')
 		journal_entry.voucher_type = 'Bank Entry'
 		journal_entry.user_remark = _('Payment of {0} from {1} to {2}')\
 			.format(user_remark, self.start_date, self.end_date)
 		journal_entry.company = self.company
 		journal_entry.posting_date = self.posting_date
+		journal_entry.multi_currency = multi_currency
 
-		payment_amount = flt(je_payment_amount, precision)
-
-		journal_entry.set("accounts", [
-			{
-				"account": self.payment_account,
-				"bank_account": self.bank_account,
-				"credit_in_account_currency": payment_amount
-			},
-			{
-				"account": default_payroll_payable_account,
-				"debit_in_account_currency": payment_amount,
-				"reference_type": self.doctype,
-				"reference_name": self.name
-			}
-		])
+		journal_entry.set("accounts", accounts)
 		journal_entry.save(ignore_permissions = True)
 
 	def update_salary_slip_status(self, jv_name = None):
@@ -344,9 +388,13 @@
 		employees_to_mark_attendance = []
 		days_in_payroll, days_holiday, days_attendance_marked = 0, 0, 0
 		for employee_detail in self.employees:
-			days_holiday = self.get_count_holidays_of_employee(employee_detail.employee)
-			days_attendance_marked = self.get_count_employee_attendance(employee_detail.employee)
-			days_in_payroll = date_diff(self.end_date, self.start_date) + 1
+			employee_joining_date = frappe.db.get_value("Employee", employee_detail.employee, 'date_of_joining')
+			start_date = self.start_date
+			if employee_joining_date > getdate(self.start_date):
+				start_date = employee_joining_date
+			days_holiday = self.get_count_holidays_of_employee(employee_detail.employee, start_date)
+			days_attendance_marked = self.get_count_employee_attendance(employee_detail.employee, start_date)
+			days_in_payroll = date_diff(self.end_date, start_date) + 1
 			if days_in_payroll > days_holiday + days_attendance_marked:
 				employees_to_mark_attendance.append({
 					"employee": employee_detail.employee,
@@ -354,22 +402,25 @@
 					})
 		return employees_to_mark_attendance
 
-	def get_count_holidays_of_employee(self, employee):
+	def get_count_holidays_of_employee(self, employee, start_date):
 		holiday_list = get_holiday_list_for_employee(employee)
 		holidays = 0
 		if holiday_list:
 			days = frappe.db.sql("""select count(*) from tabHoliday where
 				parent=%s and holiday_date between %s and %s""", (holiday_list,
-				self.start_date, self.end_date))
+				start_date, self.end_date))
 			if days and days[0][0]:
 				holidays = days[0][0]
 		return holidays
 
-	def get_count_employee_attendance(self, employee):
+	def get_count_employee_attendance(self, employee, start_date):
 		marked_days = 0
-		attendances = frappe.db.sql("""select count(*) from tabAttendance where
-			employee=%s and docstatus=1 and attendance_date between %s and %s""",
-			(employee, self.start_date, self.end_date))
+		attendances = frappe.get_all("Attendance",
+				fields = ["count(*)"],
+				filters = {
+					"employee": employee,
+					"attendance_date": ('between', [start_date, self.end_date])
+				}, as_list=1)
 		if attendances and attendances[0][0]:
 			marked_days = attendances[0][0]
 		return marked_days
@@ -489,6 +540,21 @@
 			if publish_progress:
 				frappe.publish_progress(count*100/len(set(employees) - set(salary_slips_exists_for)),
 					title = _("Creating Salary Slips..."))
+		else:
+			salary_slip_name = frappe.db.sql(
+				'''SELECT 
+						name
+					FROM `tabSalary Slip`
+					WHERE company=%s
+					AND start_date >= %s
+					AND end_date <= %s
+					AND employee = %s
+				''', (args.company, args.start_date, args.end_date, emp), as_dict=True)
+
+			salary_slip_doc = frappe.get_doc('Salary Slip', salary_slip_name[0].name)
+			salary_slip_doc.exchange_rate = args.exchange_rate
+			salary_slip_doc.set_totals()
+			salary_slip_doc.db_update()
 
 	payroll_entry = frappe.get_doc("Payroll Entry", args.payroll_entry)
 	payroll_entry.db_set("salary_slips_created", 1)
diff --git a/erpnext/payroll/doctype/payroll_entry/test_payroll_entry.py b/erpnext/payroll/doctype/payroll_entry/test_payroll_entry.py
index b0f225d..54106c8 100644
--- a/erpnext/payroll/doctype/payroll_entry/test_payroll_entry.py
+++ b/erpnext/payroll/doctype/payroll_entry/test_payroll_entry.py
@@ -10,8 +10,8 @@
 from erpnext.payroll.doctype.payroll_entry.payroll_entry import get_start_end_dates, get_end_date
 from erpnext.hr.doctype.employee.test_employee import make_employee
 from erpnext.payroll.doctype.salary_slip.test_salary_slip import get_salary_component_account, \
-		make_earning_salary_component, make_deduction_salary_component, create_account
-from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure
+		make_earning_salary_component, make_deduction_salary_component, create_account, make_employee_salary_slip
+from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure, create_salary_structure_assignment
 from erpnext.loan_management.doctype.loan.test_loan import create_loan, make_loan_disbursement_entry
 from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_term_loans
 
@@ -34,10 +34,47 @@
 				get_salary_component_account(data.name)
 
 		employee = frappe.db.get_value("Employee", {'company': company})
-		make_salary_structure("_Test Salary Structure", "Monthly", employee, company=company)
+		company_doc = frappe.get_doc('Company', company)
+		make_salary_structure("_Test Salary Structure", "Monthly", employee, company=company, currency=company_doc.default_currency)
 		dates = get_start_end_dates('Monthly', nowdate())
 		if not frappe.db.get_value("Salary Slip", {"start_date": dates.start_date, "end_date": dates.end_date}):
-			make_payroll_entry(start_date=dates.start_date, end_date=dates.end_date)
+			make_payroll_entry(start_date=dates.start_date, end_date=dates.end_date, payable_account=company_doc.default_payroll_payable_account,
+				currency=company_doc.default_currency)
+
+	def test_multi_currency_payroll_entry(self): # pylint: disable=no-self-use
+		company = erpnext.get_default_company()
+		employee = make_employee("test_muti_currency_employee@payroll.com", company=company)
+		for data in frappe.get_all('Salary Component', fields = ["name"]):
+			if not frappe.db.get_value('Salary Component Account',
+				{'parent': data.name, 'company': company}, 'name'):
+				get_salary_component_account(data.name)
+
+		company_doc = frappe.get_doc('Company', company)
+		salary_structure = make_salary_structure("_Test Multi Currency Salary Structure", "Monthly", company=company, currency='USD')
+		create_salary_structure_assignment(employee, salary_structure.name, company=company)
+		frappe.db.sql("""delete from `tabSalary Slip` where employee=%s""",(frappe.db.get_value("Employee", {"user_id": "test_muti_currency_employee@payroll.com"})))
+		salary_slip = get_salary_slip("test_muti_currency_employee@payroll.com", "Monthly", "_Test Multi Currency Salary Structure")
+		dates = get_start_end_dates('Monthly', nowdate())
+		payroll_entry = make_payroll_entry(start_date=dates.start_date, end_date=dates.end_date, 
+			payable_account=company_doc.default_payroll_payable_account, currency='USD', exchange_rate=70)
+		payroll_entry.make_payment_entry()
+
+		salary_slip.load_from_db()
+
+		payroll_je = salary_slip.journal_entry
+		payroll_je_doc = frappe.get_doc('Journal Entry', payroll_je)
+
+		self.assertEqual(salary_slip.base_gross_pay, payroll_je_doc.total_debit)
+		self.assertEqual(salary_slip.base_gross_pay, payroll_je_doc.total_credit)
+
+		payment_entry = frappe.db.sql('''
+			Select ifnull(sum(je.total_debit),0) as total_debit, ifnull(sum(je.total_credit),0) as total_credit from `tabJournal Entry` je, `tabJournal Entry Account` jea
+			Where je.name = jea.parent
+			And jea.reference_name = %s
+			''', (payroll_entry.name), as_dict=1)
+
+		self.assertEqual(salary_slip.base_net_pay, payment_entry[0].total_debit)
+		self.assertEqual(salary_slip.base_net_pay, payment_entry[0].total_credit)
 
 	def test_payroll_entry_with_employee_cost_center(self): # pylint: disable=no-self-use
 		for data in frappe.get_all('Salary Component', fields = ["name"]):
@@ -52,24 +89,32 @@
 				"company": "_Test Company"
 			}).insert()
 
+		frappe.db.sql("""delete from `tabEmployee` where employee_name='test_employee1@example.com' """)
+		frappe.db.sql("""delete from `tabEmployee` where employee_name='test_employee2@example.com' """)
+		frappe.db.sql("""delete from `tabSalary Structure` where name='_Test Salary Structure 1' """)
+		frappe.db.sql("""delete from `tabSalary Structure` where name='_Test Salary Structure 2' """)
+
 		employee1 = make_employee("test_employee1@example.com", payroll_cost_center="_Test Cost Center - _TC",
 			department="cc - _TC", company="_Test Company")
 		employee2 = make_employee("test_employee2@example.com", payroll_cost_center="_Test Cost Center 2 - _TC",
 			department="cc - _TC", company="_Test Company")
 
-		make_salary_structure("_Test Salary Structure 1", "Monthly", employee1, company="_Test Company")
-		make_salary_structure("_Test Salary Structure 2", "Monthly", employee2, company="_Test Company")
-
 		if not frappe.db.exists("Account", "_Test Payroll Payable - _TC"):
-			create_account(account_name="_Test Payroll Payable",
-				company="_Test Company", parent_account="Current Liabilities - _TC")
-			frappe.db.set_value("Company", "_Test Company", "default_payroll_payable_account",
-				"_Test Payroll Payable - _TC")
+				create_account(account_name="_Test Payroll Payable",
+					company="_Test Company", parent_account="Current Liabilities - _TC")
+
+		if not frappe.db.get_value("Company", "_Test Company", "default_payroll_payable_account") or \
+			frappe.db.get_value("Company", "_Test Company", "default_payroll_payable_account") != "_Test Payroll Payable - _TC":
+				frappe.db.set_value("Company", "_Test Company", "default_payroll_payable_account",
+					"_Test Payroll Payable - _TC")
+
+		make_salary_structure("_Test Salary Structure 1", "Monthly", employee1, company="_Test Company", currency=frappe.db.get_value("Company", "_Test Company", "default_currency"))
+		make_salary_structure("_Test Salary Structure 2", "Monthly", employee2, company="_Test Company", currency=frappe.db.get_value("Company", "_Test Company", "default_currency"))
 
 		dates = get_start_end_dates('Monthly', nowdate())
 		if not frappe.db.get_value("Salary Slip", {"start_date": dates.start_date, "end_date": dates.end_date}):
-			pe = make_payroll_entry(start_date=dates.start_date, end_date=dates.end_date,
-				department="cc - _TC", company="_Test Company", payment_account="Cash - _TC", cost_center="Main - _TC")
+			pe = make_payroll_entry(start_date=dates.start_date, end_date=dates.end_date, payable_account="_Test Payroll Payable - _TC",
+				currency=frappe.db.get_value("Company", "_Test Company", "default_currency"), department="cc - _TC", company="_Test Company", payment_account="Cash - _TC", cost_center="Main - _TC")
 			je = frappe.db.get_value("Salary Slip", {"payroll_entry": pe.name}, "journal_entry")
 			je_entries = frappe.db.sql("""
 				select account, cost_center, debit, credit
@@ -121,7 +166,7 @@
 		employee_doc.save()
 
 		salary_structure = "Test Salary Structure for Loan"
-		make_salary_structure(salary_structure, "Monthly", employee=employee_doc.name, company="_Test Company")
+		make_salary_structure(salary_structure, "Monthly", employee=employee_doc.name, company="_Test Company", currency=company_doc.default_currency)
 
 		loan = create_loan(applicant, "Car Loan", 280000, "Repay Over Number of Periods", 20, posting_date=add_months(nowdate(), -1))
 		loan.repay_from_salary = 1
@@ -133,8 +178,8 @@
 
 
 		dates = get_start_end_dates('Monthly', nowdate())
-		make_payroll_entry(company="_Test Company", start_date=dates.start_date,
-			end_date=dates.end_date, branch=branch, cost_center="Main - _TC", payment_account="Cash - _TC")
+		make_payroll_entry(company="_Test Company", start_date=dates.start_date, payable_account=company_doc.default_payroll_payable_account,
+			currency=company_doc.default_currency, end_date=dates.end_date, branch=branch, cost_center="Main - _TC", payment_account="Cash - _TC")
 
 		name = frappe.db.get_value('Salary Slip',
 			{'posting_date': nowdate(), 'employee': applicant}, 'name')
@@ -165,6 +210,9 @@
 	payroll_entry.payroll_frequency = "Monthly"
 	payroll_entry.branch = args.branch or None
 	payroll_entry.department = args.department or None
+	payroll_entry.payroll_payable_account = args.payable_account
+	payroll_entry.currency = args.currency
+	payroll_entry.exchange_rate = args.exchange_rate or 1
 
 	if args.cost_center:
 		payroll_entry.cost_center = args.cost_center
@@ -212,3 +260,11 @@
 		}).insert()
 
 	return holiday_list_name
+
+def get_salary_slip(user, period, salary_structure):
+	salary_slip = make_employee_salary_slip(user, period, salary_structure)
+	salary_slip.exchange_rate = 70
+	salary_slip.calculate_net_pay()
+	salary_slip.db_update()
+
+	return salary_slip
\ No newline at end of file
diff --git a/erpnext/payroll/doctype/payroll_entry/test_set_salary_components.js b/erpnext/payroll/doctype/payroll_entry/test_set_salary_components.js
index 8ff5515..092cbd8 100644
--- a/erpnext/payroll/doctype/payroll_entry/test_set_salary_components.js
+++ b/erpnext/payroll/doctype/payroll_entry/test_set_salary_components.js
@@ -9,45 +9,45 @@
 		() => {
 			var row = frappe.model.add_child(cur_frm.doc, "Salary Component Account", "accounts");
 			row.company = 'For Testing';
-			row.default_account = 'Salary - FT';
+			row.account = 'Salary - FT';
 		},
 
 		() => cur_frm.save(),
 		() => frappe.timeout(2),
-		() => assert.equal(cur_frm.doc.accounts[0].default_account, 'Salary - FT'),
+		() => assert.equal(cur_frm.doc.accounts[0].account, 'Salary - FT'),
 
 		() => frappe.set_route('Form', 'Salary Component', 'Basic'),
 		() => {
 			var row = frappe.model.add_child(cur_frm.doc, "Salary Component Account", "accounts");
 			row.company = 'For Testing';
-			row.default_account = 'Salary - FT';
+			row.account = 'Salary - FT';
 		},
 
 		() => cur_frm.save(),
 		() => frappe.timeout(2),
-		() => assert.equal(cur_frm.doc.accounts[0].default_account, 'Salary - FT'),
+		() => assert.equal(cur_frm.doc.accounts[0].account, 'Salary - FT'),
 
 		() => frappe.set_route('Form', 'Salary Component', 'Income Tax'),
 		() => {
 			var row = frappe.model.add_child(cur_frm.doc, "Salary Component Account", "accounts");
 			row.company = 'For Testing';
-			row.default_account = 'Salary - FT';
+			row.account = 'Salary - FT';
 		},
 
 		() => cur_frm.save(),
 		() => frappe.timeout(2),
-		() => assert.equal(cur_frm.doc.accounts[0].default_account, 'Salary - FT'),
+		() => assert.equal(cur_frm.doc.accounts[0].account, 'Salary - FT'),
 
 		() => frappe.set_route('Form', 'Salary Component', 'Arrear'),
 		() => {
 			var row = frappe.model.add_child(cur_frm.doc, "Salary Component Account", "accounts");
 			row.company = 'For Testing';
-			row.default_account = 'Salary - FT';
+			row.account = 'Salary - FT';
 		},
 
 		() => cur_frm.save(),
 		() => frappe.timeout(2),
-		() => assert.equal(cur_frm.doc.accounts[0].default_account, 'Salary - FT'),
+		() => assert.equal(cur_frm.doc.accounts[0].account, 'Salary - FT'),
 
 		() => frappe.set_route('Form', 'Company', 'For Testing'),
 		() => cur_frm.set_value('default_payroll_payable_account', 'Payroll Payable - FT'),
diff --git a/erpnext/payroll/doctype/retention_bonus/retention_bonus.js b/erpnext/payroll/doctype/retention_bonus/retention_bonus.js
index 64e726d..6fe8cca 100644
--- a/erpnext/payroll/doctype/retention_bonus/retention_bonus.js
+++ b/erpnext/payroll/doctype/retention_bonus/retention_bonus.js
@@ -18,5 +18,22 @@
 				}
 			};
 		});
+	},
+
+	employee: function(frm) {
+		if (frm.doc.employee) {
+			frappe.call({
+				method: "erpnext.payroll.doctype.salary_structure_assignment.salary_structure_assignment.get_employee_currency",
+				args: {
+					employee: frm.doc.employee,
+				},
+				callback: function(r) {
+					if (r.message) {
+						frm.set_value('currency', r.message);
+						frm.refresh_fields();
+					}
+				}
+			});
+		}
 	}
 });
diff --git a/erpnext/payroll/doctype/retention_bonus/retention_bonus.json b/erpnext/payroll/doctype/retention_bonus/retention_bonus.json
index da884c2..6647230 100644
--- a/erpnext/payroll/doctype/retention_bonus/retention_bonus.json
+++ b/erpnext/payroll/doctype/retention_bonus/retention_bonus.json
@@ -17,7 +17,8 @@
   "column_break_6",
   "employee_name",
   "department",
-  "date_of_joining"
+  "date_of_joining",
+  "currency"
  ],
  "fields": [
   {
@@ -46,6 +47,7 @@
    "fieldname": "bonus_amount",
    "fieldtype": "Currency",
    "label": "Bonus Amount",
+   "options": "currency",
    "reqd": 1
   },
   {
@@ -89,11 +91,22 @@
    "label": "Salary Component",
    "options": "Salary Component",
    "reqd": 1
+  },
+  {
+   "default": "Company:company:default_currency",
+   "depends_on": "eval:(doc.docstatus==1 || doc.employee)",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 1
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 22:42:05.251951",
+ "modified": "2020-10-20 17:27:47.003134",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Retention Bonus",
@@ -151,7 +164,6 @@
    "share": 1
   }
  ],
- "quick_entry": 1,
  "sort_field": "modified",
  "sort_order": "DESC",
  "track_changes": 1
diff --git a/erpnext/payroll/doctype/salary_component/salary_component.js b/erpnext/payroll/doctype/salary_component/salary_component.js
index c455eb3..dbf7514 100644
--- a/erpnext/payroll/doctype/salary_component/salary_component.js
+++ b/erpnext/payroll/doctype/salary_component/salary_component.js
@@ -3,7 +3,7 @@
 
 frappe.ui.form.on('Salary Component', {
 	setup: function(frm) {
-		frm.set_query("default_account", "accounts", function(doc, cdt, cdn) {
+		frm.set_query("account", "accounts", function(doc, cdt, cdn) {
 			var d = locals[cdt][cdn];
 			return {
 				filters: {
diff --git a/erpnext/payroll/doctype/salary_detail/salary_detail.json b/erpnext/payroll/doctype/salary_detail/salary_detail.json
index eedb56e..5c1eb61 100644
--- a/erpnext/payroll/doctype/salary_detail/salary_detail.json
+++ b/erpnext/payroll/doctype/salary_detail/salary_detail.json
@@ -147,7 +147,7 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "Amount",
-   "options": "Company:company:default_currency"
+   "options": "currency"
   },
   {
    "default": "0",
@@ -160,7 +160,7 @@
    "fieldname": "default_amount",
    "fieldtype": "Currency",
    "label": "Default Amount",
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "print_hide": 1
   },
   {
@@ -169,6 +169,7 @@
    "hidden": 1,
    "label": "Additional Amount",
    "no_copy": 1,
+   "options": "currency",
    "print_hide": 1,
    "read_only": 1
   },
@@ -177,6 +178,7 @@
    "fieldname": "tax_on_flexible_benefit",
    "fieldtype": "Currency",
    "label": "Tax on flexible benefit",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -184,6 +186,7 @@
    "fieldname": "tax_on_additional_salary",
    "fieldtype": "Currency",
    "label": "Tax on additional salary",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -227,7 +230,7 @@
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-10-07 20:39:41.619283",
+ "modified": "2020-11-25 13:12:41.081106",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Salary Detail",
diff --git a/erpnext/payroll/doctype/salary_slip/salary_slip.js b/erpnext/payroll/doctype/salary_slip/salary_slip.js
index 7b69dbe..f7e22c6 100644
--- a/erpnext/payroll/doctype/salary_slip/salary_slip.js
+++ b/erpnext/payroll/doctype/salary_slip/salary_slip.js
@@ -13,12 +13,12 @@
 			];
 		});
 
-		frm.fields_dict["timesheets"].grid.get_field("time_sheet").get_query = function(){
+		frm.fields_dict["timesheets"].grid.get_field("time_sheet").get_query = function() {
 			return {
 				filters: {
 					employee: frm.doc.employee
 				}
-			}
+			};
 		};
 
 		frm.set_query("salary_component", "earnings", function() {
@@ -26,7 +26,7 @@
 				filters: {
 					type: "earning"
 				}
-			}
+			};
 		});
 
 		frm.set_query("salary_component", "deductions", function() {
@@ -34,18 +34,18 @@
 				filters: {
 					type: "deduction"
 				}
-			}
+			};
 		});
 
 		frm.set_query("employee", function() {
-			return{
+			return {
 				query: "erpnext.controllers.queries.employee_query"
-			}
+			};
 		});
 	},
 
-	start_date: function(frm){
-		if(frm.doc.start_date){
+	start_date: function(frm) {
+		if (frm.doc.start_date) {
 			frm.trigger("set_end_date");
 		}
 	},
@@ -54,7 +54,7 @@
 		frm.events.get_emp_and_working_day_details(frm);
 	},
 
-	set_end_date: function(frm){
+	set_end_date: function(frm) {
 		frappe.call({
 			method: 'erpnext.payroll.doctype.payroll_entry.payroll_entry.get_end_date',
 			args: {
@@ -66,22 +66,93 @@
 					frm.set_value('end_date', r.message.end_date);
 				}
 			}
-		})
+		});
 	},
 
 	company: function(frm) {
 		var company = locals[':Company'][frm.doc.company];
-		if(!frm.doc.letter_head && company.default_letter_head) {
+		if (!frm.doc.letter_head && company.default_letter_head) {
 			frm.set_value('letter_head', company.default_letter_head);
 		}
+		frm.trigger("set_dynamic_labels");
+	},
+
+	set_dynamic_labels: function(frm) {
+		var company_currency = frm.doc.company? erpnext.get_currency(frm.doc.company): frappe.defaults.get_default("currency");
+		frappe.run_serially([
+			() => 	frm.events.set_exchange_rate(frm, company_currency),
+			() => 	frm.events.change_form_labels(frm, company_currency),
+			() => 	frm.events.change_grid_labels(frm),
+			() => 	frm.refresh_fields()
+		]);
+	},
+
+	set_exchange_rate: function(frm, company_currency) {
+		if (frm.doc.docstatus === 0) {
+			if (frm.doc.currency) {
+				var from_currency = frm.doc.currency;
+				if (from_currency != company_currency) {
+					frm.events.hide_loan_section(frm);
+					frappe.call({
+						method: "erpnext.setup.utils.get_exchange_rate",
+						args: {
+							from_currency: from_currency,
+							to_currency: company_currency,
+						},
+						callback: function(r) {
+							frm.set_value("exchange_rate", flt(r.message));
+							frm.set_df_property('exchange_rate', 'hidden', 0);
+							frm.set_df_property("exchange_rate", "description", "1 " + frm.doc.currency
+								+ " = [?] " + company_currency);
+						}
+					});
+				} else {
+					frm.set_value("exchange_rate", 1.0);
+					frm.set_df_property('exchange_rate', 'hidden', 1);
+					frm.set_df_property("exchange_rate", "description", "" );
+				}
+			}
+		}
 	},
 
+	exchange_rate: function(frm) {
+		calculate_totals(frm);
+	},
+
+	hide_loan_section: function(frm) {
+		frm.set_df_property('section_break_43', 'hidden', 1);
+	},
+
+	change_form_labels: function(frm, company_currency) {
+		frm.set_currency_labels(["base_hour_rate", "base_gross_pay", "base_total_deduction",
+			"base_net_pay", "base_rounded_total", "base_total_in_words"],
+		company_currency);
+
+		frm.set_currency_labels(["hour_rate", "gross_pay", "total_deduction", "net_pay", "rounded_total", "total_in_words"],
+			frm.doc.currency);
+
+		// toggle fields
+		frm.toggle_display(["exchange_rate", "base_hour_rate", "base_gross_pay", "base_total_deduction",
+			"base_net_pay", "base_rounded_total", "base_total_in_words"],
+		frm.doc.currency != company_currency);
+	},
+
+	change_grid_labels: function(frm) {
+		frm.set_currency_labels(["amount", "default_amount", "additional_amount", "tax_on_flexible_benefit",
+			"tax_on_additional_salary"], frm.doc.currency, "earnings");
+
+		frm.set_currency_labels(["amount", "default_amount", "additional_amount", "tax_on_flexible_benefit",
+			"tax_on_additional_salary"], frm.doc.currency, "deductions");
+	},
+
 	refresh: function(frm) {
-		frm.trigger("toggle_fields")
+		frm.trigger("toggle_fields");
 
 		var salary_detail_fields = ["formula", "abbr", "statistical_component", "variable_based_on_taxable_salary"];
-		cur_frm.fields_dict['earnings'].grid.set_column_disp(salary_detail_fields,false);
-		cur_frm.fields_dict['deductions'].grid.set_column_disp(salary_detail_fields,false);
+		frm.fields_dict['earnings'].grid.set_column_disp(salary_detail_fields, false);
+		frm.fields_dict['deductions'].grid.set_column_disp(salary_detail_fields, false);
+		calculate_totals(frm);
+		frm.trigger("set_dynamic_labels");
 	},
 
 	salary_slip_based_on_timesheet: function(frm) {
@@ -98,12 +169,12 @@
 		frm.events.get_emp_and_working_day_details(frm);
 	},
 
-	leave_without_pay: function(frm){
+	leave_without_pay: function(frm) {
 		if (frm.doc.employee && frm.doc.start_date && frm.doc.end_date) {
 			return frappe.call({
 				method: 'process_salary_based_on_working_days',
 				doc: frm.doc,
-				callback: function(r, rt) {
+				callback: function() {
 					frm.refresh();
 				}
 			});
@@ -118,51 +189,94 @@
 	},
 
 	get_emp_and_working_day_details: function(frm) {
-		return frappe.call({
-			method: 'get_emp_and_working_day_details',
-			doc: frm.doc,
-			callback: function(r, rt) {
-				frm.refresh();
-				if (r.message){
-					frm.fields_dict.absent_days.set_description("Unmarked Days is treated as "+ r.message +". You can can change this in " + frappe.utils.get_form_link("Payroll Settings", "Payroll Settings", true));
+		if (frm.doc.employee) {
+			return frappe.call({
+				method: 'get_emp_and_working_day_details',
+				doc: frm.doc,
+				callback: function(r) {
+					if (r.message[1] !== "Leave" && r.message[0]) {
+						frm.fields_dict.absent_days.set_description(__("Unmarked Days is treated as {0}. You can can change this in {1}", [r.message, frappe.utils.get_form_link("Payroll Settings", "Payroll Settings", true)]));
+					}
+					frm.refresh();
 				}
-			}
-		});
+			});
+		}
 	}
 });
 
 frappe.ui.form.on('Salary Slip Timesheet', {
-	time_sheet: function(frm, dt, dn) {
-		total_work_hours(frm, dt, dn);
+	time_sheet: function(frm) {
+		calculate_totals(frm);
 	},
-	timesheets_remove: function(frm, dt, dn) {
-		total_work_hours(frm, dt, dn);
+	timesheets_remove: function(frm) {
+		calculate_totals(frm);
 	}
 });
 
-// calculate total working hours, earnings based on hourly wages and totals
-var total_work_hours = function(frm, dt, dn) {
-	var total_working_hours = 0.0;
-	$.each(frm.doc["timesheets"] || [], function(i, timesheet) {
-		total_working_hours += timesheet.working_hours;
-	});
-	frm.set_value('total_working_hours', total_working_hours);
-
-	var wages_amount = frm.doc.total_working_hours * frm.doc.hour_rate;
-
-	frappe.db.get_value('Salary Structure', {'name': frm.doc.salary_structure}, 'salary_component', (r) => {
-		var gross_pay = 0.0;
-		$.each(frm.doc["earnings"], function(i, earning) {
-			if (earning.salary_component == r.salary_component) {
-				earning.amount = wages_amount;
-				frm.refresh_fields('earnings');
+var calculate_totals = function(frm) {
+	if (frm.doc.earnings || frm.doc.deductions) {
+		frappe.call({
+			method: "set_totals",
+			doc: frm.doc,
+			callback: function() {
+				frm.refresh_fields();
 			}
-			gross_pay += earning.amount;
 		});
-		frm.set_value('gross_pay', gross_pay);
+	}
+};
 
-		frm.doc.net_pay = flt(frm.doc.gross_pay) - flt(frm.doc.total_deduction);
-		frm.doc.rounded_total = Math.round(frm.doc.net_pay);
-		refresh_many(['net_pay', 'rounded_total']);
-	});
-}
+frappe.ui.form.on('Salary Detail', {
+	amount: function(frm) {
+		calculate_totals(frm);
+	},
+
+	earnings_remove: function(frm) {
+		calculate_totals(frm);
+	},
+
+	deductions_remove: function(frm) {
+		calculate_totals(frm);
+	},
+
+	salary_component: function(frm, cdt, cdn) {
+		var child = locals[cdt][cdn];
+		if (child.salary_component) {
+			frappe.call({
+				method: "frappe.client.get",
+				args: {
+					doctype: "Salary Component",
+					name: child.salary_component
+				},
+				callback: function(data) {
+					if (data.message) {
+						var result = data.message;
+						frappe.model.set_value(cdt, cdn, 'condition', result.condition);
+						frappe.model.set_value(cdt, cdn, 'amount_based_on_formula', result.amount_based_on_formula);
+						if (result.amount_based_on_formula === 1) {
+							frappe.model.set_value(cdt, cdn, 'formula', result.formula);
+						} else {
+							frappe.model.set_value(cdt, cdn, 'amount', result.amount);
+						}
+						frappe.model.set_value(cdt, cdn, 'statistical_component', result.statistical_component);
+						frappe.model.set_value(cdt, cdn, 'depends_on_payment_days', result.depends_on_payment_days);
+						frappe.model.set_value(cdt, cdn, 'do_not_include_in_total', result.do_not_include_in_total);
+						frappe.model.set_value(cdt, cdn, 'variable_based_on_taxable_salary', result.variable_based_on_taxable_salary);
+						frappe.model.set_value(cdt, cdn, 'is_tax_applicable', result.is_tax_applicable);
+						frappe.model.set_value(cdt, cdn, 'is_flexible_benefit', result.is_flexible_benefit);
+						refresh_field("earnings");
+						refresh_field("deductions");
+					}
+				}
+			});
+		}
+	},
+
+	amount_based_on_formula: function(frm, cdt, cdn) {
+		var child = locals[cdt][cdn];
+		if (child.amount_based_on_formula === 1) {
+			frappe.model.set_value(cdt, cdn, 'amount', null);
+		} else {
+			frappe.model.set_value(cdt, cdn, 'formula', null);
+		}
+	}
+});
diff --git a/erpnext/payroll/doctype/salary_slip/salary_slip.json b/erpnext/payroll/doctype/salary_slip/salary_slip.json
index 619c45f..386618c 100644
--- a/erpnext/payroll/doctype/salary_slip/salary_slip.json
+++ b/erpnext/payroll/doctype/salary_slip/salary_slip.json
@@ -18,6 +18,8 @@
   "journal_entry",
   "payroll_entry",
   "company",
+  "currency",
+  "exchange_rate",
   "letter_head",
   "section_break_10",
   "start_date",
@@ -38,6 +40,7 @@
   "column_break_20",
   "total_working_hours",
   "hour_rate",
+  "base_hour_rate",
   "section_break_26",
   "bank_name",
   "bank_account_no",
@@ -52,8 +55,10 @@
   "deductions",
   "totals",
   "gross_pay",
+  "base_gross_pay",
   "column_break_25",
   "total_deduction",
+  "base_total_deduction",
   "loan_repayment",
   "loans",
   "section_break_43",
@@ -63,10 +68,15 @@
   "total_loan_repayment",
   "net_pay_info",
   "net_pay",
+  "base_net_pay",
   "column_break_53",
   "rounded_total",
+  "base_rounded_total",
   "section_break_55",
   "total_in_words",
+  "column_break_69",
+  "base_total_in_words",
+  "section_break_75",
   "amended_from"
  ],
  "fields": [
@@ -205,9 +215,13 @@
   {
    "fieldname": "salary_structure",
    "fieldtype": "Link",
+   "in_list_view": 1,
+   "in_standard_filter": 1,
    "label": "Salary Structure",
    "options": "Salary Structure",
-   "read_only": 1
+   "read_only": 1,
+   "reqd": 1,
+   "search_index": 1
   },
   {
    "depends_on": "eval:(!doc.salary_slip_based_on_timesheet)",
@@ -265,7 +279,7 @@
    "fieldname": "hour_rate",
    "fieldtype": "Currency",
    "label": "Hour Rate",
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "print_hide_if_no_value": 1
   },
   {
@@ -347,9 +361,7 @@
    "fieldname": "gross_pay",
    "fieldtype": "Currency",
    "label": "Gross Pay",
-   "oldfieldname": "gross_pay",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -357,15 +369,6 @@
    "fieldtype": "Column Break"
   },
   {
-   "fieldname": "total_deduction",
-   "fieldtype": "Currency",
-   "label": "Total Deduction",
-   "oldfieldname": "total_deduction",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "read_only": 1
-  },
-  {
    "depends_on": "total_loan_repayment",
    "fieldname": "loan_repayment",
    "fieldtype": "Section Break",
@@ -379,6 +382,7 @@
    "print_hide": 1
   },
   {
+   "depends_on": "eval:doc.docstatus != 0",
    "fieldname": "section_break_43",
    "fieldtype": "Section Break"
   },
@@ -416,13 +420,10 @@
    "label": "net pay info"
   },
   {
-   "description": "Gross Pay - Total Deduction - Loan Repayment",
    "fieldname": "net_pay",
    "fieldtype": "Currency",
    "label": "Net Pay",
-   "oldfieldname": "net_pay",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -434,7 +435,7 @@
    "fieldname": "rounded_total",
    "fieldtype": "Currency",
    "label": "Rounded Total",
-   "options": "Company:company:default_currency",
+   "options": "currency",
    "read_only": 1
   },
   {
@@ -442,15 +443,6 @@
    "fieldtype": "Section Break"
   },
   {
-   "description": "Net Pay (in words) will be visible once you save the Salary Slip.",
-   "fieldname": "total_in_words",
-   "fieldtype": "Data",
-   "label": "Total in words",
-   "oldfieldname": "net_pay_in_words",
-   "oldfieldtype": "Data",
-   "read_only": 1
-  },
-  {
    "fieldname": "amended_from",
    "fieldtype": "Link",
    "ignore_user_permissions": 1,
@@ -500,13 +492,99 @@
   {
    "fieldname": "column_break_18",
    "fieldtype": "Column Break"
+  },
+  {
+   "default": "Company:company:default_currency",
+   "depends_on": "eval:(doc.docstatus==1 || doc.salary_structure)",
+   "fetch_from": "salary_structure.currency",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 1
+  },
+  {
+   "fieldname": "total_deduction",
+   "fieldtype": "Currency",
+   "label": "Total Deduction",
+   "options": "currency",
+   "read_only": 1
+  },
+  {
+   "fieldname": "total_in_words",
+   "fieldtype": "Data",
+   "label": "Total in words",
+   "length": 240,
+   "read_only": 1
+  },
+  {
+   "fieldname": "section_break_75",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "base_hour_rate",
+   "fieldtype": "Currency",
+   "label": "Hour Rate (Company Currency)",
+   "options": "Company:company:default_currency",
+   "print_hide_if_no_value": 1
+  },
+  {
+   "fieldname": "base_gross_pay",
+   "fieldtype": "Currency",
+   "label": "Gross Pay (Company Currency)",
+   "options": "Company:company:default_currency",
+   "read_only": 1
+  },
+  {
+   "default": "1.0",
+   "fieldname": "exchange_rate",
+   "fieldtype": "Float",
+   "hidden": 1,
+   "label": "Exchange Rate",
+   "print_hide": 1,
+   "reqd": 1
+  },
+  {
+   "fieldname": "base_total_deduction",
+   "fieldtype": "Currency",
+   "label": "Total Deduction (Company Currency)",
+   "options": "Company:company:default_currency",
+   "read_only": 1
+  },
+  {
+   "fieldname": "base_net_pay",
+   "fieldtype": "Currency",
+   "label": "Net Pay (Company Currency)",
+   "options": "Company:company:default_currency",
+   "read_only": 1
+  },
+  {
+   "bold": 1,
+   "fieldname": "base_rounded_total",
+   "fieldtype": "Currency",
+   "label": "Rounded Total (Company Currency)",
+   "options": "Company:company:default_currency",
+   "read_only": 1
+  },
+  {
+   "fieldname": "base_total_in_words",
+   "fieldtype": "Data",
+   "label": "Total in words (Company Currency)",
+   "length": 240,
+   "read_only": 1
+  },
+  {
+   "fieldname": "column_break_69",
+   "fieldtype": "Column Break"
   }
  ],
  "icon": "fa fa-file-text",
  "idx": 9,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-08-11 17:37:54.274384",
+ "modified": "2020-10-21 23:02:59.400249",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Salary Slip",
diff --git a/erpnext/payroll/doctype/salary_slip/salary_slip.py b/erpnext/payroll/doctype/salary_slip/salary_slip.py
index 4ccf564..20365b1 100644
--- a/erpnext/payroll/doctype/salary_slip/salary_slip.py
+++ b/erpnext/payroll/doctype/salary_slip/salary_slip.py
@@ -50,16 +50,20 @@
 
 		self.calculate_net_pay()
 
-		company_currency = erpnext.get_company_currency(self.company)
-		total = self.net_pay if self.is_rounding_total_disabled() else self.rounded_total
-		self.total_in_words = money_in_words(total, company_currency)
-
 		if frappe.db.get_single_value("Payroll Settings", "max_working_hours_against_timesheet"):
 			max_working_hours = frappe.db.get_single_value("Payroll Settings", "max_working_hours_against_timesheet")
 			if self.salary_slip_based_on_timesheet and (self.total_working_hours > int(max_working_hours)):
 				frappe.msgprint(_("Total working hours should not be greater than max working hours {0}").
 								format(max_working_hours), alert=True)
 
+	def set_net_total_in_words(self):
+		doc_currency = self.currency
+		company_currency = erpnext.get_company_currency(self.company)
+		total = self.net_pay if self.is_rounding_total_disabled() else self.rounded_total
+		base_total = self.base_net_pay if self.is_rounding_total_disabled() else self.base_rounded_total
+		self.total_in_words = money_in_words(total, doc_currency)
+		self.base_total_in_words = money_in_words(base_total, company_currency)
+
 	def on_submit(self):
 		if self.net_pay < 0:
 			frappe.throw(_("Net Pay cannot be less than 0"))
@@ -136,8 +140,8 @@
 				self.salary_slip_based_on_timesheet = self._salary_structure_doc.salary_slip_based_on_timesheet or 0
 				self.set_time_sheet()
 				self.pull_sal_struct()
-				consider_unmarked_attendance_as = frappe.db.get_value("Payroll Settings", None, "consider_unmarked_attendance_as") or "Present"
-				return consider_unmarked_attendance_as
+				payroll_based_on, consider_unmarked_attendance_as = frappe.db.get_value("Payroll Settings", None, ["payroll_based_on","consider_unmarked_attendance_as"])
+				return [payroll_based_on, consider_unmarked_attendance_as]
 
 	def set_time_sheet(self):
 		if self.salary_slip_based_on_timesheet:
@@ -182,6 +186,7 @@
 		if self.salary_slip_based_on_timesheet:
 			self.salary_structure = self._salary_structure_doc.name
 			self.hour_rate = self._salary_structure_doc.hour_rate
+			self.base_hour_rate = flt(self.hour_rate) * flt(self.exchange_rate)
 			self.total_working_hours = sum([d.working_hours or 0.0 for d in self.timesheets]) or 0.0
 			wages_amount = self.hour_rate * self.total_working_hours
 
@@ -210,10 +215,10 @@
 			frappe.throw(_("Please set Payroll based on in Payroll settings"))
 
 		if payroll_based_on == "Attendance":
-			actual_lwp, absent = self.calculate_lwp_and_absent_days_based_on_attendance(holidays)
+			actual_lwp, absent = self.calculate_lwp_ppl_and_absent_days_based_on_attendance(holidays)
 			self.absent_days = absent
 		else:
-			actual_lwp = self.calculate_lwp_based_on_leave_application(holidays, working_days)
+			actual_lwp = self.calculate_lwp_or_ppl_based_on_leave_application(holidays, working_days)
 
 		if not lwp:
 			lwp = actual_lwp
@@ -240,7 +245,6 @@
 				self.absent_days += unmarked_days #will be treated as absent
 				self.payment_days -= unmarked_days
 				if include_holidays_in_total_working_days:
-					self.absent_days -= len(holidays)
 					for holiday in holidays:
 						if not frappe.db.exists("Attendance", {"employee": self.employee, "attendance_date": holiday, "docstatus": 1 }):
 							self.payment_days += 1
@@ -301,7 +305,7 @@
 
 		return holidays
 
-	def calculate_lwp_based_on_leave_application(self, holidays, working_days):
+	def calculate_lwp_or_ppl_based_on_leave_application(self, holidays, working_days):
 		lwp = 0
 		holidays = "','".join(holidays)
 		daily_wages_fraction_for_half_day = \
@@ -312,10 +316,12 @@
 			leave = frappe.db.sql("""
 				SELECT t1.name,
 					CASE WHEN (t1.half_day_date = %(dt)s or t1.to_date = t1.from_date)
-					THEN t1.half_day else 0 END
+					THEN t1.half_day else 0 END,
+					t2.is_ppl,
+					t2.fraction_of_daily_salary_per_leave
 				FROM `tabLeave Application` t1, `tabLeave Type` t2
 				WHERE t2.name = t1.leave_type
-				AND t2.is_lwp = 1
+				AND (t2.is_lwp = 1 or t2.is_ppl = 1)
 				AND t1.docstatus = 1
 				AND t1.employee = %(employee)s
 				AND ifnull(t1.salary_slip, '') = ''
@@ -328,19 +334,35 @@
 				""".format(holidays), {"employee": self.employee, "dt": dt})
 
 			if leave:
+				equivalent_lwp_count = 0
 				is_half_day_leave = cint(leave[0][1])
-				lwp += (1 - daily_wages_fraction_for_half_day) if is_half_day_leave else 1
+				is_partially_paid_leave = cint(leave[0][2])
+				fraction_of_daily_salary_per_leave = flt(leave[0][3])
+
+				equivalent_lwp_count =  (1 - daily_wages_fraction_for_half_day) if is_half_day_leave else 1
+
+				if is_partially_paid_leave:
+					equivalent_lwp_count *= fraction_of_daily_salary_per_leave if fraction_of_daily_salary_per_leave else 1
+
+				lwp += equivalent_lwp_count
 
 		return lwp
 
-	def calculate_lwp_and_absent_days_based_on_attendance(self, holidays):
+	def calculate_lwp_ppl_and_absent_days_based_on_attendance(self, holidays):
 		lwp = 0
 		absent = 0
 
 		daily_wages_fraction_for_half_day = \
 			flt(frappe.db.get_value("Payroll Settings", None, "daily_wages_fraction_for_half_day")) or 0.5
 
-		lwp_leave_types = dict(frappe.get_all("Leave Type", {"is_lwp": 1}, ["name", "include_holiday"], as_list=1))
+		leave_types = frappe.get_all("Leave Type",
+			or_filters=[["is_ppl", "=", 1], ["is_lwp", "=", 1]],
+			fields =["name", "is_lwp", "is_ppl", "fraction_of_daily_salary_per_leave", "include_holiday"])
+
+		leave_type_map = {}
+		for leave_type in leave_types:
+			leave_type_map[leave_type.name] = leave_type
+
 		attendances = frappe.db.sql('''
 			SELECT attendance_date, status, leave_type
 			FROM `tabAttendance`
@@ -352,21 +374,30 @@
 		''', values=(self.employee, self.start_date, self.end_date), as_dict=1)
 
 		for d in attendances:
-			if d.status in ('Half Day', 'On Leave') and d.leave_type and d.leave_type not in lwp_leave_types:
+			if d.status in ('Half Day', 'On Leave') and d.leave_type and d.leave_type not in leave_type_map.keys():
 				continue
 
 			if formatdate(d.attendance_date, "yyyy-mm-dd") in holidays:
 				if d.status == "Absent" or \
-					(d.leave_type and d.leave_type in lwp_leave_types and not lwp_leave_types[d.leave_type]):
+					(d.leave_type and d.leave_type in leave_type_map.keys() and not leave_type_map[d.leave_type]['include_holiday']):
 						continue
 
+			if d.leave_type:
+				fraction_of_daily_salary_per_leave = leave_type_map[d.leave_type]["fraction_of_daily_salary_per_leave"]
+
 			if d.status == "Half Day":
-				lwp += (1 - daily_wages_fraction_for_half_day)
-			elif d.status == "On Leave" and d.leave_type in lwp_leave_types:
-				lwp += 1
+				equivalent_lwp =  (1 - daily_wages_fraction_for_half_day)
+
+				if d.leave_type in leave_type_map.keys() and leave_type_map[d.leave_type]["is_ppl"]:
+					equivalent_lwp *= fraction_of_daily_salary_per_leave if fraction_of_daily_salary_per_leave else 1
+				lwp += equivalent_lwp
+			elif d.status == "On Leave" and d.leave_type and d.leave_type in leave_type_map.keys():
+				equivalent_lwp = 1
+				if leave_type_map[d.leave_type]["is_ppl"]:
+					equivalent_lwp *= fraction_of_daily_salary_per_leave if fraction_of_daily_salary_per_leave else 1
+				lwp += equivalent_lwp
 			elif d.status == "Absent":
 				absent += 1
-
 		return lwp, absent
 
 	def add_earning_for_hourly_wages(self, doc, salary_component, amount):
@@ -391,15 +422,22 @@
 		if self.salary_structure:
 			self.calculate_component_amounts("earnings")
 		self.gross_pay = self.get_component_totals("earnings")
+		self.base_gross_pay = flt(flt(self.gross_pay) * flt(self.exchange_rate), self.precision('base_gross_pay'))
 
 		if self.salary_structure:
 			self.calculate_component_amounts("deductions")
 		self.total_deduction = self.get_component_totals("deductions")
+		self.base_total_deduction = flt(flt(self.total_deduction) * flt(self.exchange_rate), self.precision('base_total_deduction'))
 
 		self.set_loan_repayment()
 
 		self.net_pay = flt(self.gross_pay) - (flt(self.total_deduction) + flt(self.total_loan_repayment))
 		self.rounded_total = rounded(self.net_pay)
+		self.base_net_pay = flt(flt(self.net_pay) * flt(self.exchange_rate), self.precision('base_net_pay'))
+		self.base_rounded_total = flt(rounded(self.base_net_pay), self.precision('base_net_pay'))
+		if self.hour_rate:
+			self.base_hour_rate = flt(flt(self.hour_rate) * flt(self.exchange_rate), self.precision('base_hour_rate'))
+		self.set_net_total_in_words()
 
 	def calculate_component_amounts(self, component_type):
 		if not getattr(self, '_salary_structure_doc', None):
@@ -950,9 +988,9 @@
 			amounts = calculate_amounts(payment.loan, self.posting_date, "Regular Payment")
 			total_amount = amounts['interest_amount'] + amounts['payable_principal_amount']
 			if payment.total_payment > total_amount:
-				frappe.throw(_("""Row {0}: Paid amount {1} is greater than pending accrued amount {2}
-					against loan {3}""").format(payment.idx, frappe.bold(payment.total_payment),
-					frappe.bold(total_amount), frappe.bold(payment.loan)))
+				frappe.throw(_("""Row {0}: Paid amount {1} is greater than pending accrued amount {2} against loan {3}""")
+					.format(payment.idx, frappe.bold(payment.total_payment),
+						frappe.bold(total_amount), frappe.bold(payment.loan)))
 
 			self.total_interest_amount += payment.interest_amount
 			self.total_principal_amount += payment.principal_amount
@@ -1047,6 +1085,46 @@
 		self.get_working_days_details(lwp=self.leave_without_pay)
 		self.calculate_net_pay()
 
+	def set_totals(self):
+		self.gross_pay = 0
+		if self.salary_slip_based_on_timesheet == 1:
+			self.calculate_total_for_salary_slip_based_on_timesheet()
+		else:
+			self.total_deduction = 0
+			if self.earnings:
+				for earning in self.earnings:
+					self.gross_pay += flt(earning.amount)
+			if self.deductions:
+				for deduction in self.deductions:
+					self.total_deduction += flt(deduction.amount)
+			self.net_pay = flt(self.gross_pay) - flt(self.total_deduction) - flt(self.total_loan_repayment)
+		self.set_base_totals()
+
+	def set_base_totals(self):
+		self.base_gross_pay = flt(self.gross_pay) * flt(self.exchange_rate)
+		self.base_total_deduction = flt(self.total_deduction) * flt(self.exchange_rate)
+		self.rounded_total = rounded(self.net_pay)
+		self.base_net_pay = flt(self.net_pay) * flt(self.exchange_rate)
+		self.base_rounded_total = rounded(self.base_net_pay)
+		self.set_net_total_in_words()
+
+	#calculate total working hours, earnings based on hourly wages and totals
+	def calculate_total_for_salary_slip_based_on_timesheet(self):
+		if self.timesheets:
+			for timesheet in self.timesheets:
+				if timesheet.working_hours:
+					self.total_working_hours += timesheet.working_hours
+
+		wages_amount = self.total_working_hours * self.hour_rate
+		self.base_hour_rate = flt(self.hour_rate) * flt(self.exchange_rate)
+		salary_component = frappe.db.get_value('Salary Structure', {'name': self.salary_structure}, 'salary_component')
+		if self.earnings:
+			for i, earning in enumerate(self.earnings):
+				if earning.salary_component == salary_component:
+					self.earnings[i].amount = wages_amount
+				self.gross_pay += self.earnings[i].amount
+		self.net_pay = flt(self.gross_pay) - flt(self.total_deduction)
+
 def unlink_ref_doc_from_salary_slip(ref_no):
 	linked_ss = frappe.db.sql_list("""select name from `tabSalary Slip`
 	where journal_entry=%s and docstatus < 2""", (ref_no))
diff --git a/erpnext/payroll/doctype/salary_slip/test_salary_slip.py b/erpnext/payroll/doctype/salary_slip/test_salary_slip.py
index 7fe4165..5daf1d4 100644
--- a/erpnext/payroll/doctype/salary_slip/test_salary_slip.py
+++ b/erpnext/payroll/doctype/salary_slip/test_salary_slip.py
@@ -13,6 +13,8 @@
 from erpnext.payroll.doctype.salary_structure.salary_structure import make_salary_slip
 from erpnext.payroll.doctype.payroll_entry.payroll_entry import get_month_details
 from erpnext.hr.doctype.employee.test_employee import make_employee
+from erpnext.hr.doctype.leave_allocation.test_leave_allocation import create_leave_allocation
+from erpnext.hr.doctype.leave_type.test_leave_type import create_leave_type
 from erpnext.payroll.doctype.employee_tax_exemption_declaration.test_employee_tax_exemption_declaration \
 	import create_payroll_period, create_exemption_category
 
@@ -31,7 +33,7 @@
 		frappe.db.set_value("Payroll Settings", None, "payroll_based_on", "Attendance")
 		frappe.db.set_value("Payroll Settings", None, "daily_wages_fraction_for_half_day", 0.75)
 
-		emp_id = make_employee("test_for_attendance@salary.com")
+		emp_id = make_employee("test_payment_days_based_on_attendance@salary.com")
 		frappe.db.set_value("Employee", emp_id, {"relieving_date": None, "status": "Active"})
 
 		frappe.db.set_value("Leave Type", "Leave Without Pay", "include_holiday", 0)
@@ -53,7 +55,7 @@
 		mark_attendance(emp_id, add_days(first_sunday, 4), 'On Leave', leave_type='Casual Leave', ignore_validate=True) # invalid lwp
 		mark_attendance(emp_id, add_days(first_sunday, 7), 'On Leave', leave_type='Leave Without Pay', ignore_validate=True) # invalid lwp
 
-		ss = make_employee_salary_slip("test_for_attendance@salary.com", "Monthly")
+		ss = make_employee_salary_slip("test_payment_days_based_on_attendance@salary.com", "Monthly", "Test Payment Based On Attendence")
 
 		self.assertEqual(ss.leave_without_pay, 1.25)
 		self.assertEqual(ss.absent_days, 1)
@@ -76,7 +78,7 @@
 		# Payroll based on attendance
 		frappe.db.set_value("Payroll Settings", None, "payroll_based_on", "Leave")
 
-		emp_id = make_employee("test_for_attendance@salary.com")
+		emp_id = make_employee("test_payment_days_based_on_leave_application@salary.com")
 		frappe.db.set_value("Employee", emp_id, {"relieving_date": None, "status": "Active"})
 
 		frappe.db.set_value("Leave Type", "Leave Without Pay", "include_holiday", 0)
@@ -93,31 +95,40 @@
 
 		make_leave_application(emp_id, first_sunday, add_days(first_sunday, 3), "Leave Without Pay")
 
-		ss = make_employee_salary_slip("test_for_attendance@salary.com", "Monthly")
+		leave_type_ppl = create_leave_type(leave_type_name="Test Partially Paid Leave", is_ppl = 1)
+		leave_type_ppl.save()
 
-		self.assertEqual(ss.leave_without_pay, 3)
+		alloc = create_leave_allocation(
+			employee = emp_id, from_date = add_days(first_sunday, 4),
+			to_date = add_days(first_sunday, 10), new_leaves_allocated = 3,
+			leave_type = "Test Partially Paid Leave")
+		alloc.save()
+		alloc.submit()
+
+		#two day leave ppl with fraction_of_daily_salary_per_leave = 0.5 equivalent to single day lwp
+		make_leave_application(emp_id, add_days(first_sunday, 4), add_days(first_sunday, 5), "Test Partially Paid Leave")
+
+		ss = make_employee_salary_slip("test_payment_days_based_on_leave_application@salary.com", "Monthly", "Test Payment Based On Leave Application")
+
+
+		self.assertEqual(ss.leave_without_pay, 4)
 
 		days_in_month = no_of_days[0]
 		no_of_holidays = no_of_days[1]
 
-		self.assertEqual(ss.payment_days, days_in_month - no_of_holidays - 3)
-
-		#Gross pay calculation based on attendances
-		gross_pay = 78000 - ((78000 / (days_in_month - no_of_holidays)) * flt(ss.leave_without_pay))
-
-		self.assertEqual(flt(ss.gross_pay, 2), flt(gross_pay, 2))
+		self.assertEqual(ss.payment_days, days_in_month - no_of_holidays - 4)
 
 		frappe.db.set_value("Payroll Settings", None, "payroll_based_on", "Leave")
 
 	def test_salary_slip_with_holidays_included(self):
 		no_of_days = self.get_no_of_days()
 		frappe.db.set_value("Payroll Settings", None, "include_holidays_in_total_working_days", 1)
-		make_employee("test_employee@salary.com")
+		make_employee("test_salary_slip_with_holidays_included@salary.com")
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "relieving_date", None)
+			{"employee_name":"test_salary_slip_with_holidays_included@salary.com"}, "name"), "relieving_date", None)
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "status", "Active")
-		ss = make_employee_salary_slip("test_employee@salary.com", "Monthly")
+			{"employee_name":"test_salary_slip_with_holidays_included@salary.com"}, "name"), "status", "Active")
+		ss = make_employee_salary_slip("test_salary_slip_with_holidays_included@salary.com", "Monthly", "Test Salary Slip With Holidays Included")
 
 		self.assertEqual(ss.total_working_days, no_of_days[0])
 		self.assertEqual(ss.payment_days, no_of_days[0])
@@ -128,12 +139,12 @@
 	def test_salary_slip_with_holidays_excluded(self):
 		no_of_days = self.get_no_of_days()
 		frappe.db.set_value("Payroll Settings", None, "include_holidays_in_total_working_days", 0)
-		make_employee("test_employee@salary.com")
+		make_employee("test_salary_slip_with_holidays_excluded@salary.com")
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "relieving_date", None)
+			{"employee_name":"test_salary_slip_with_holidays_excluded@salary.com"}, "name"), "relieving_date", None)
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "status", "Active")
-		ss = make_employee_salary_slip("test_employee@salary.com", "Monthly")
+			{"employee_name":"test_salary_slip_with_holidays_excluded@salary.com"}, "name"), "status", "Active")
+		ss = make_employee_salary_slip("test_salary_slip_with_holidays_excluded@salary.com", "Monthly",  "Test Salary Slip With Holidays Excluded")
 
 		self.assertEqual(ss.total_working_days, no_of_days[0] - no_of_days[1])
 		self.assertEqual(ss.payment_days, no_of_days[0] - no_of_days[1])
@@ -148,7 +159,7 @@
 		frappe.db.set_value("Payroll Settings", None, "include_holidays_in_total_working_days", 1)
 
 		# set joinng date in the same month
-		make_employee("test_employee@salary.com")
+		make_employee("test_payment_days@salary.com")
 		if getdate(nowdate()).day >= 15:
 			relieving_date = getdate(add_days(nowdate(),-10))
 			date_of_joining = getdate(add_days(nowdate(),-10))
@@ -163,39 +174,39 @@
 			relieving_date = getdate(nowdate())
 
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "date_of_joining", date_of_joining)
+			{"employee_name":"test_payment_days@salary.com"}, "name"), "date_of_joining", date_of_joining)
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "relieving_date", None)
+			{"employee_name":"test_payment_days@salary.com"}, "name"), "relieving_date", None)
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "status", "Active")
+			{"employee_name":"test_payment_days@salary.com"}, "name"), "status", "Active")
 
-		ss = make_employee_salary_slip("test_employee@salary.com", "Monthly")
+		ss = make_employee_salary_slip("test_payment_days@salary.com", "Monthly", "Test Payment Days")
 
 		self.assertEqual(ss.total_working_days, no_of_days[0])
 		self.assertEqual(ss.payment_days, (no_of_days[0] - getdate(date_of_joining).day + 1))
 
 		# set relieving date in the same month
 		frappe.db.set_value("Employee",frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "date_of_joining", (add_days(nowdate(),-60)))
+			{"employee_name":"test_payment_days@salary.com"}, "name"), "date_of_joining", (add_days(nowdate(),-60)))
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "relieving_date", relieving_date)
+			{"employee_name":"test_payment_days@salary.com"}, "name"), "relieving_date", relieving_date)
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "status", "Left")
+			{"employee_name":"test_payment_days@salary.com"}, "name"), "status", "Left")
 		ss.save()
 
 		self.assertEqual(ss.total_working_days, no_of_days[0])
 		self.assertEqual(ss.payment_days, getdate(relieving_date).day)
 
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "relieving_date", None)
+			{"employee_name":"test_payment_days@salary.com"}, "name"), "relieving_date", None)
 		frappe.db.set_value("Employee", frappe.get_value("Employee",
-			{"employee_name":"test_employee@salary.com"}, "name"), "status", "Active")
+			{"employee_name":"test_payment_days@salary.com"}, "name"), "status", "Active")
 
 	def test_employee_salary_slip_read_permission(self):
-		make_employee("test_employee@salary.com")
+		make_employee("test_employee_salary_slip_read_permission@salary.com")
 
-		salary_slip_test_employee = make_employee_salary_slip("test_employee@salary.com", "Monthly")
-		frappe.set_user("test_employee@salary.com")
+		salary_slip_test_employee = make_employee_salary_slip("test_employee_salary_slip_read_permission@salary.com", "Monthly", "Test Employee Salary Slip Read Permission")
+		frappe.set_user("test_employee_salary_slip_read_permission@salary.com")
 		self.assertTrue(salary_slip_test_employee.has_permission("read"))
 
 	def test_email_salary_slip(self):
@@ -203,8 +214,8 @@
 
 		frappe.db.set_value("Payroll Settings", None, "email_salary_slip_to_employee", 1)
 
-		make_employee("test_employee@salary.com")
-		ss = make_employee_salary_slip("test_employee@salary.com", "Monthly")
+		make_employee("test_email_salary_slip@salary.com")
+		ss = make_employee_salary_slip("test_email_salary_slip@salary.com", "Monthly", "Test Salary Slip Email")
 		ss.company = "_Test Company"
 		ss.save()
 		ss.submit()
@@ -215,8 +226,9 @@
 	def test_loan_repayment_salary_slip(self):
 		from erpnext.loan_management.doctype.loan.test_loan import create_loan_type, create_loan, make_loan_disbursement_entry, create_loan_accounts
 		from erpnext.loan_management.doctype.process_loan_interest_accrual.process_loan_interest_accrual import process_loan_interest_accrual_for_term_loans
+		from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure
 
-		applicant = make_employee("test_loanemployee@salary.com", company="_Test Company")
+		applicant = make_employee("test_loan_repayment_salary_slip@salary.com", company="_Test Company")
 
 		create_loan_accounts()
 
@@ -228,6 +240,8 @@
 			interest_income_account='Interest Income Account - _TC',
 			penalty_income_account='Penalty Income Account - _TC')
 
+		make_salary_structure("Test Loan Repayment Salary Structure", "Monthly", employee=applicant, currency='INR')
+		frappe.db.sql("""delete from `tabLoan""")
 		loan = create_loan(applicant, "Car Loan", 11000, "Repay Over Number of Periods", 20, posting_date=add_months(nowdate(), -1))
 		loan.repay_from_salary = 1
 		loan.submit()
@@ -236,7 +250,7 @@
 
 		process_loan_interest_accrual_for_term_loans(posting_date=nowdate())
 
-		ss = make_employee_salary_slip("test_loanemployee@salary.com", "Monthly")
+		ss = make_employee_salary_slip("test_loan_repayment_salary_slip@salary.com", "Monthly", "Test Loan Repayment Salary Structure")
 		ss.submit()
 
 		self.assertEqual(ss.total_loan_repayment, 592)
@@ -249,7 +263,7 @@
 
 		for payroll_frequency in ["Monthly", "Bimonthly", "Fortnightly", "Weekly", "Daily"]:
 			make_employee(payroll_frequency + "_test_employee@salary.com")
-			ss = make_employee_salary_slip(payroll_frequency + "_test_employee@salary.com", payroll_frequency)
+			ss = make_employee_salary_slip(payroll_frequency + "_test_employee@salary.com", payroll_frequency, payroll_frequency + "_Test Payroll Frequency")
 			if payroll_frequency == "Monthly":
 				self.assertEqual(ss.end_date, m['month_end_date'])
 			elif payroll_frequency == "Bimonthly":
@@ -264,6 +278,18 @@
 			elif payroll_frequency == "Daily":
 				self.assertEqual(ss.end_date, nowdate())
 
+	def test_multi_currency_salary_slip(self):
+		from erpnext.payroll.doctype.salary_structure.test_salary_structure import make_salary_structure
+		applicant = make_employee("test_multi_currency_salary_slip@salary.com", company="_Test Company")
+		frappe.db.sql("""delete from `tabSalary Structure` where name='Test Multi Currency Salary Slip'""")
+		salary_structure = make_salary_structure("Test Multi Currency Salary Slip", "Monthly", employee=applicant, company="_Test Company", currency='USD')
+		salary_slip = make_salary_slip(salary_structure.name, employee = applicant)
+		salary_slip.exchange_rate = 70
+		salary_slip.calculate_net_pay()
+
+		self.assertEqual(salary_slip.gross_pay, 78000)
+		self.assertEqual(salary_slip.base_gross_pay, 78000*70)
+
 	def test_tax_for_payroll_period(self):
 		data = {}
 		# test the impact of tax exemption declaration, tax exemption proof submission
@@ -384,16 +410,21 @@
 		salary_structure = payroll_frequency + " Salary Structure Test for Salary Slip"
 
 	employee = frappe.db.get_value("Employee", {"user_id": user})
-	salary_structure_doc = make_salary_structure(salary_structure, payroll_frequency, employee)
-	salary_slip = frappe.db.get_value("Salary Slip", {"employee": frappe.db.get_value("Employee", {"user_id": user})})
+	if not frappe.db.exists('Salary Structure', salary_structure):
+		salary_structure_doc = make_salary_structure(salary_structure, payroll_frequency, employee)
+	else:
+		salary_structure_doc = frappe.get_doc('Salary Structure', salary_structure)
+	salary_slip_name = frappe.db.get_value("Salary Slip", {"employee": frappe.db.get_value("Employee", {"user_id": user})})
 
-	if not salary_slip:
+	if not salary_slip_name:
 		salary_slip = make_salary_slip(salary_structure_doc.name, employee = employee)
 		salary_slip.employee_name = frappe.get_value("Employee",
 			{"name":frappe.db.get_value("Employee", {"user_id": user})}, "employee_name")
 		salary_slip.payroll_frequency = payroll_frequency
 		salary_slip.posting_date = nowdate()
 		salary_slip.insert()
+	else:
+		salary_slip = frappe.get_doc('Salary Slip', salary_slip_name)
 
 	return salary_slip
 
@@ -434,7 +465,7 @@
 
 			sal_comp.append("accounts", {
 				"company": d,
-				"default_account": create_account(account_name, d, parent_account)
+				"account": create_account(account_name, d, parent_account)
 			})
 			sal_comp.save()
 
@@ -561,7 +592,8 @@
 		"doctype": "Employee Tax Exemption Declaration",
 		"employee": employee,
 		"payroll_period": payroll_period,
-		"company": erpnext.get_default_company()
+		"company": erpnext.get_default_company(),
+		"currency": erpnext.get_default_currency()
 	})
 	declaration.append("declarations", {
 		"exemption_sub_category": "_Test Sub Category",
@@ -576,7 +608,8 @@
 		"doctype": "Employee Tax Exemption Proof Submission",
 		"employee": employee,
 		"payroll_period": payroll_period.name,
-		"submission_date": submission_date
+		"submission_date": submission_date,
+		"currency": erpnext.get_default_currency()
 	})
 	proof_submission.append("tax_exemption_proofs", {
 		"exemption_sub_category": "_Test Sub Category",
@@ -593,13 +626,13 @@
 		"employee": employee,
 		"claimed_amount": amount,
 		"claim_date": claim_date,
-		"earning_component": component
+		"earning_component": component,
+		"currency": erpnext.get_default_currency()
 	}).submit()
 	return claim_date
 
-def create_tax_slab(payroll_period, effective_date = None, allow_tax_exemption = False, dont_submit = False):
-	if frappe.db.exists("Income Tax Slab", "Tax Slab: " + payroll_period.name):
-		return
+def create_tax_slab(payroll_period, effective_date = None, allow_tax_exemption = False, dont_submit = False, currency=erpnext.get_default_currency()):
+	frappe.db.sql("""delete from `tabIncome Tax Slab`""")
 
 	slabs = [
 		{
@@ -622,6 +655,7 @@
 	income_tax_slab = frappe.new_doc("Income Tax Slab")
 	income_tax_slab.name = "Tax Slab: " + payroll_period.name
 	income_tax_slab.effective_from = effective_date or add_days(payroll_period.start_date, -2)
+	income_tax_slab.currency = currency
 
 	if allow_tax_exemption:
 		income_tax_slab.allow_tax_exemption = 1
@@ -672,7 +706,8 @@
 		"salary_component": "Performance Bonus",
 		"payroll_date": salary_date,
 		"amount": amount,
-		"type": "Earning"
+		"type": "Earning",
+		"currency": erpnext.get_default_currency()
 	}).submit()
 	return salary_date
 
diff --git a/erpnext/payroll/doctype/salary_structure/salary_structure.js b/erpnext/payroll/doctype/salary_structure/salary_structure.js
index ad93a2f..7daae49 100755
--- a/erpnext/payroll/doctype/salary_structure/salary_structure.js
+++ b/erpnext/payroll/doctype/salary_structure/salary_structure.js
@@ -41,20 +41,6 @@
 
 		frm.toggle_reqd(['payroll_frequency'], !frm.doc.salary_slip_based_on_timesheet)
 
-		frm.set_query("salary_component", "earnings", function() {
-			return {
-				filters: {
-					type: "earning"
-				}
-			}
-		});
-		frm.set_query("salary_component", "deductions", function() {
-			return {
-				filters: {
-					type: "deduction"
-				}
-			}
-		});
 		frm.set_query("payment_account", function () {
 			var account_types = ["Bank", "Cash"];
 			return {
@@ -65,9 +51,48 @@
 				}
 			};
 		});
+		frm.trigger('set_earning_deduction_component');
+	},
+
+	set_earning_deduction_component: function(frm) {
+		if(!frm.doc.currency && !frm.doc.company) return;
+		frm.set_query("salary_component", "earnings", function() {
+			return {
+				query : "erpnext.payroll.doctype.salary_structure.salary_structure.get_earning_deduction_components",
+				filters: {type: "earning", currency: frm.doc.currency, company: frm.doc.company}
+			};
+		});
+		frm.set_query("salary_component", "deductions", function() {
+			return {
+				query : "erpnext.payroll.doctype.salary_structure.salary_structure.get_earning_deduction_components",
+				filters: {type: "deduction", currency: frm.doc.currency, company: frm.doc.company}
+			};
+		});
+	},
+
+
+	currency: function(frm) {
+		calculate_totals(frm.doc);
+		frm.trigger("set_dynamic_labels")
+		frm.trigger('set_earning_deduction_component');
+		frm.refresh()
+	},
+
+	set_dynamic_labels: function(frm) {
+		frm.set_currency_labels(["net_pay","hour_rate", "leave_encashment_amount_per_day", "max_benefits", "total_earning",
+			"total_deduction"], frm.doc.currency);
+
+		frm.set_currency_labels(["amount", "additional_amount", "tax_on_flexible_benefit", "tax_on_additional_salary"],
+			frm.doc.currency, "earnings");
+
+		frm.set_currency_labels(["amount", "additional_amount", "tax_on_flexible_benefit", "tax_on_additional_salary"],
+			frm.doc.currency, "deductions");
+
+		frm.refresh_fields();
 	},
 
 	refresh: function(frm) {
+		frm.trigger("set_dynamic_labels")
 		frm.trigger("toggle_fields");
 		frm.fields_dict['earnings'].grid.set_column_disp("default_amount", false);
 		frm.fields_dict['deductions'].grid.set_column_disp("default_amount", false);
@@ -101,10 +126,12 @@
 			fields: [
 				{fieldname: "sec_break", fieldtype: "Section Break", label: __("Filter Employees By (Optional)")},
 				{fieldname: "company", fieldtype: "Link", options: "Company", label: __("Company"), default: frm.doc.company, read_only:1},
+				{fieldname: "currency", fieldtype: "Link", options: "Currency", label: __("Currency"), default: frm.doc.currency, read_only:1},
 				{fieldname: "grade", fieldtype: "Link", options: "Employee Grade", label: __("Employee Grade")},
 				{fieldname:'department', fieldtype:'Link', options: 'Department', label: __('Department')},
 				{fieldname:'designation', fieldtype:'Link', options: 'Designation', label: __('Designation')},
-                {fieldname:"employee", fieldtype: "Link", options: "Employee", label: __("Employee")},
+				{fieldname:"employee", fieldtype: "Link", options: "Employee", label: __("Employee")},
+				{fieldname:"payroll_payable_account", fieldtype: "Link", options: "Account", filters: {"company": frm.doc.company, "root_type": "Liability", "is_group": 0, "account_currency": frm.doc.currency}, label: __("Payroll Payable Account")},
 				{fieldname:'base_variable', fieldtype:'Section Break'},
 				{fieldname:'from_date', fieldtype:'Date', label: __('From Date'), "reqd": 1},
 				{fieldname:'income_tax_slab', fieldtype:'Link', label: __('Income Tax Slab'), options: 'Income Tax Slab'},
diff --git a/erpnext/payroll/doctype/salary_structure/salary_structure.json b/erpnext/payroll/doctype/salary_structure/salary_structure.json
index 5f94929..de56fc8 100644
--- a/erpnext/payroll/doctype/salary_structure/salary_structure.json
+++ b/erpnext/payroll/doctype/salary_structure/salary_structure.json
@@ -13,6 +13,7 @@
   "column_break1",
   "is_active",
   "payroll_frequency",
+  "currency",
   "is_default",
   "time_sheet_earning_detail",
   "salary_slip_based_on_timesheet",
@@ -26,9 +27,9 @@
   "deductions",
   "conditions_and_formula_variable_and_example",
   "net_pay_detail",
-  "column_break2",
   "total_earning",
   "total_deduction",
+  "column_break2",
   "net_pay",
   "account",
   "mode_of_payment",
@@ -43,23 +44,17 @@
    "label": "Company",
    "options": "Company",
    "remember_last_selected_value": 1,
-   "reqd": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "reqd": 1
   },
   {
    "fieldname": "letter_head",
    "fieldtype": "Link",
    "label": "Letter Head",
-   "options": "Letter Head",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "Letter Head"
   },
   {
    "fieldname": "column_break1",
    "fieldtype": "Column Break",
-   "show_days": 1,
-   "show_seconds": 1,
    "width": "50%"
   },
   {
@@ -72,9 +67,7 @@
    "oldfieldname": "is_active",
    "oldfieldtype": "Select",
    "options": "\nYes\nNo",
-   "reqd": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "reqd": 1
   },
   {
    "default": "Monthly",
@@ -82,9 +75,7 @@
    "fieldname": "payroll_frequency",
    "fieldtype": "Select",
    "label": "Payroll Frequency",
-   "options": "\nMonthly\nFortnightly\nBimonthly\nWeekly\nDaily",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "\nMonthly\nFortnightly\nBimonthly\nWeekly\nDaily"
   },
   {
    "default": "No",
@@ -95,62 +86,46 @@
    "no_copy": 1,
    "options": "Yes\nNo",
    "print_hide": 1,
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "read_only": 1
   },
   {
    "fieldname": "time_sheet_earning_detail",
-   "fieldtype": "Section Break",
-   "show_days": 1,
-   "show_seconds": 1
+   "fieldtype": "Section Break"
   },
   {
    "default": "0",
    "fieldname": "salary_slip_based_on_timesheet",
    "fieldtype": "Check",
-   "label": "Salary Slip Based on Timesheet",
-   "show_days": 1,
-   "show_seconds": 1
+   "label": "Salary Slip Based on Timesheet"
   },
   {
    "fieldname": "column_break_17",
-   "fieldtype": "Column Break",
-   "show_days": 1,
-   "show_seconds": 1
+   "fieldtype": "Column Break"
   },
   {
    "description": "Salary Component for timesheet based payroll.",
    "fieldname": "salary_component",
    "fieldtype": "Link",
    "label": "Salary Component",
-   "options": "Salary Component",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "Salary Component"
   },
   {
    "fieldname": "hour_rate",
    "fieldtype": "Currency",
    "label": "Hour Rate",
-   "options": "Company:company:default_currency",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "currency"
   },
   {
    "fieldname": "leave_encashment_amount_per_day",
    "fieldtype": "Currency",
    "label": "Leave Encashment Amount Per Day",
-   "options": "Company:company:default_currency",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "currency"
   },
   {
    "fieldname": "max_benefits",
    "fieldtype": "Currency",
    "label": "Max Benefits (Amount)",
-   "options": "Company:company:default_currency",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "currency"
   },
   {
    "description": "Salary breakup based on Earning and Deduction.",
@@ -158,9 +133,7 @@
    "fieldtype": "Section Break",
    "oldfieldname": "earning_deduction",
    "oldfieldtype": "Section Break",
-   "precision": "2",
-   "show_days": 1,
-   "show_seconds": 1
+   "precision": "2"
   },
   {
    "fieldname": "earnings",
@@ -168,9 +141,7 @@
    "label": "Earnings",
    "oldfieldname": "earning_details",
    "oldfieldtype": "Table",
-   "options": "Salary Detail",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "Salary Detail"
   },
   {
    "fieldname": "deductions",
@@ -178,22 +149,16 @@
    "label": "Deductions",
    "oldfieldname": "deduction_details",
    "oldfieldtype": "Table",
-   "options": "Salary Detail",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "Salary Detail"
   },
   {
    "fieldname": "net_pay_detail",
    "fieldtype": "Section Break",
-   "options": "Simple",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "Simple"
   },
   {
    "fieldname": "column_break2",
    "fieldtype": "Column Break",
-   "show_days": 1,
-   "show_seconds": 1,
    "width": "50%"
   },
   {
@@ -201,63 +166,45 @@
    "fieldtype": "Currency",
    "hidden": 1,
    "label": "Total Earning",
-   "oldfieldname": "total_earning",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "currency",
+   "read_only": 1
   },
   {
    "fieldname": "total_deduction",
    "fieldtype": "Currency",
    "hidden": 1,
    "label": "Total Deduction",
-   "oldfieldname": "total_deduction",
-   "oldfieldtype": "Currency",
-   "options": "Company:company:default_currency",
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "currency",
+   "read_only": 1
   },
   {
    "fieldname": "net_pay",
    "fieldtype": "Currency",
    "hidden": 1,
    "label": "Net Pay",
-   "options": "Company:company:default_currency",
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "currency",
+   "read_only": 1
   },
   {
    "fieldname": "account",
    "fieldtype": "Section Break",
-   "label": "Account",
-   "show_days": 1,
-   "show_seconds": 1
+   "label": "Account"
   },
   {
    "fieldname": "mode_of_payment",
    "fieldtype": "Link",
    "label": "Mode of Payment",
-   "options": "Mode of Payment",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "Mode of Payment"
   },
   {
    "fieldname": "column_break_28",
-   "fieldtype": "Column Break",
-   "show_days": 1,
-   "show_seconds": 1
+   "fieldtype": "Column Break"
   },
   {
    "fieldname": "payment_account",
    "fieldtype": "Link",
    "label": "Payment Account",
-   "options": "Account",
-   "show_days": 1,
-   "show_seconds": 1
+   "options": "Account"
   },
   {
    "fieldname": "amended_from",
@@ -266,23 +213,26 @@
    "no_copy": 1,
    "options": "Salary Structure",
    "print_hide": 1,
-   "read_only": 1,
-   "show_days": 1,
-   "show_seconds": 1
+   "read_only": 1
   },
   {
    "fieldname": "conditions_and_formula_variable_and_example",
    "fieldtype": "HTML",
-   "label": "Conditions and Formula variable and example",
-   "show_days": 1,
-   "show_seconds": 1
+   "label": "Conditions and Formula variable and example"
+  },
+  {
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "reqd": 1
   }
  ],
  "icon": "fa fa-file-text",
  "idx": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 17:07:26.129355",
+ "modified": "2020-09-30 11:30:32.190798",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Salary Structure",
diff --git a/erpnext/payroll/doctype/salary_structure/salary_structure.py b/erpnext/payroll/doctype/salary_structure/salary_structure.py
index ffc16d7..877e41d 100644
--- a/erpnext/payroll/doctype/salary_structure/salary_structure.py
+++ b/erpnext/payroll/doctype/salary_structure/salary_structure.py
@@ -2,7 +2,7 @@
 # License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
-import frappe
+import frappe, erpnext
 
 from frappe.utils import flt, cint, cstr
 from frappe import _
@@ -88,24 +88,26 @@
 		return employees
 
 	@frappe.whitelist()
-	def assign_salary_structure(self, company=None, grade=None, department=None, designation=None,employee=None,
-			from_date=None, base=None, variable=None, income_tax_slab=None):
-		employees = self.get_employees(company= company, grade= grade,department= department,designation= designation,name=employee)
+	def assign_salary_structure(self, grade=None, department=None, designation=None,employee=None,
+			payroll_payable_account=None, from_date=None, base=None, variable=None, income_tax_slab=None):
+		employees = self.get_employees(company= self.company, grade= grade,department= department,designation= designation,name=employee)
 
 		if employees:
 			if len(employees) > 20:
 				frappe.enqueue(assign_salary_structure_for_employees, timeout=600,
-					employees=employees, salary_structure=self,from_date=from_date,
-					base=base, variable=variable, income_tax_slab=income_tax_slab)
+					employees=employees, salary_structure=self,
+					payroll_payable_account=payroll_payable_account,
+					from_date=from_date, base=base, variable=variable, income_tax_slab=income_tax_slab)
 			else:
-				assign_salary_structure_for_employees(employees, self, from_date=from_date,
-					base=base, variable=variable, income_tax_slab=income_tax_slab)
+				assign_salary_structure_for_employees(employees, self,
+					payroll_payable_account=payroll_payable_account, 
+					from_date=from_date, base=base, variable=variable, income_tax_slab=income_tax_slab)
 		else:
 			frappe.msgprint(_("No Employee Found"))
 
 
 
-def assign_salary_structure_for_employees(employees, salary_structure, from_date=None, base=None, variable=None, income_tax_slab=None):
+def assign_salary_structure_for_employees(employees, salary_structure, payroll_payable_account=None, from_date=None, base=None, variable=None, income_tax_slab=None):
 	salary_structures_assignments = []
 	existing_assignments_for = get_existing_assignments(employees, salary_structure, from_date)
 	count=0
@@ -115,7 +117,7 @@
 		count +=1
 
 		salary_structures_assignment = create_salary_structures_assignment(employee,
-			salary_structure, from_date, base, variable, income_tax_slab)
+			salary_structure, payroll_payable_account, from_date, base, variable, income_tax_slab)
 		salary_structures_assignments.append(salary_structures_assignment)
 		frappe.publish_progress(count*100/len(set(employees) - set(existing_assignments_for)), title = _("Assigning Structures..."))
 
@@ -123,11 +125,22 @@
 		frappe.msgprint(_("Structures have been assigned successfully"))
 
 
-def create_salary_structures_assignment(employee, salary_structure, from_date, base, variable, income_tax_slab=None):
+def create_salary_structures_assignment(employee, salary_structure, payroll_payable_account, from_date, base, variable, income_tax_slab=None):
+	if not payroll_payable_account:
+		payroll_payable_account = frappe.db.get_value('Company', salary_structure.company, 'default_payroll_payable_account')
+		if not payroll_payable_account:
+			frappe.throw(_('Please set "Default Payroll Payable Account" in Company Defaults'))
+	payroll_payable_account_currency = frappe.db.get_value('Account',  payroll_payable_account, 'account_currency')
+	company_curency = erpnext.get_company_currency(salary_structure.company)
+	if payroll_payable_account_currency != salary_structure.currency and payroll_payable_account_currency != company_curency:
+		frappe.throw(_("Invalid Payroll Payable Account. The account currency must be {0} or {1}").format(salary_structure.currency, company_curency))
+
 	assignment = frappe.new_doc("Salary Structure Assignment")
 	assignment.employee = employee
 	assignment.salary_structure = salary_structure.name
 	assignment.company = salary_structure.company
+	assignment.currency = salary_structure.currency
+	assignment.payroll_payable_account = payroll_payable_account
 	assignment.from_date = from_date
 	assignment.base = base
 	assignment.variable = variable
@@ -170,7 +183,8 @@
 			"doctype": "Salary Slip",
 			"field_map": {
 				"total_earning": "gross_pay",
-				"name": "salary_structure"
+				"name": "salary_structure",
+				"currency": "currency"
 			}
 		}
 	}, target_doc, postprocess, ignore_child_tables=True, ignore_permissions=ignore_permissions)
@@ -188,7 +202,22 @@
 		filters={'salary_structure': salary_structure, 'docstatus': 1}, fields=['employee'])
 
 	if not employees:
-		frappe.throw(_("There's no Employee with Salary Structure: {0}. \
-			Assign {1} to an Employee to preview Salary Slip").format(salary_structure, salary_structure))
+		frappe.throw(_("There's no Employee with Salary Structure: {0}. Assign {1} to an Employee to preview Salary Slip").format(
+			salary_structure, salary_structure))
 
 	return list(set([d.employee for d in employees]))
+
+@frappe.whitelist()
+@frappe.validate_and_sanitize_search_inputs
+def get_earning_deduction_components(doctype, txt, searchfield, start, page_len, filters):
+	if len(filters) < 3:
+		return {}
+
+	return frappe.db.sql("""
+		select t1.salary_component
+		from `tabSalary Component` t1, `tabSalary Component Account` t2
+		where t1.salary_component = t2.parent
+		and t1.type = %s 
+		and t2.company = %s
+		order by salary_component
+	""", (filters['type'], filters['company']) )
diff --git a/erpnext/payroll/doctype/salary_structure/test_salary_structure.py b/erpnext/payroll/doctype/salary_structure/test_salary_structure.py
index e04fda8..abb6697 100644
--- a/erpnext/payroll/doctype/salary_structure/test_salary_structure.py
+++ b/erpnext/payroll/doctype/salary_structure/test_salary_structure.py
@@ -94,7 +94,8 @@
 			self.assertFalse(("\n" in row.formula) or ("\n" in row.condition))
 
 	def test_salary_structures_assignment(self):
-		salary_structure = make_salary_structure("Salary Structure Sample", "Monthly")
+		company_currency = erpnext.get_default_currency()
+		salary_structure = make_salary_structure("Salary Structure Sample", "Monthly", currency=company_currency)
 		employee = "test_assign_stucture@salary.com"
 		employee_doc_name = make_employee(employee)
 		# clear the already assigned stuctures
@@ -107,8 +108,13 @@
 		self.assertEqual(salary_structure_assignment.base, 5000)
 		self.assertEqual(salary_structure_assignment.variable, 200)
 
+	def test_multi_currency_salary_structure(self):
+		make_employee("test_muti_currency_employee@salary.com")
+		sal_struct = make_salary_structure("Salary Structure Multi Currency", "Monthly", currency='USD')
+		self.assertEqual(sal_struct.currency, 'USD')
+
 def make_salary_structure(salary_structure, payroll_frequency, employee=None, dont_submit=False, other_details=None,
-	test_tax=False, company=None):
+	test_tax=False, company=None, currency=erpnext.get_default_currency()):
 	if test_tax:
 		frappe.db.sql("""delete from `tabSalary Structure` where name=%s""",(salary_structure))
 
@@ -120,7 +126,8 @@
 			"earnings": make_earning_salary_component(test_tax=test_tax, company_list=["_Test Company"]),
 			"deductions": make_deduction_salary_component(test_tax=test_tax, company_list=["_Test Company"]),
 			"payroll_frequency": payroll_frequency,
-			"payment_account": get_random("Account")
+			"payment_account": get_random("Account", filters={'account_currency': currency}),
+			"currency": currency
 		}
 		if other_details and isinstance(other_details, dict):
 			details.update(other_details)
@@ -134,16 +141,16 @@
 
 	if employee and not frappe.db.get_value("Salary Structure Assignment",
 		{'employee':employee, 'docstatus': 1}) and salary_structure_doc.docstatus==1:
-			create_salary_structure_assignment(employee, salary_structure, company=company)
+			create_salary_structure_assignment(employee, salary_structure, company=company, currency=currency)
 
 	return salary_structure_doc
 
-def create_salary_structure_assignment(employee, salary_structure, from_date=None, company=None):
+def create_salary_structure_assignment(employee, salary_structure, from_date=None, company=None, currency=erpnext.get_default_currency()):
 	if frappe.db.exists("Salary Structure Assignment", {"employee": employee}):
 		frappe.db.sql("""delete from `tabSalary Structure Assignment` where employee=%s""",(employee))
 
 	payroll_period = create_payroll_period()
-	create_tax_slab(payroll_period, allow_tax_exemption=True)
+	create_tax_slab(payroll_period, allow_tax_exemption=True, currency=currency)
 
 	salary_structure_assignment = frappe.new_doc("Salary Structure Assignment")
 	salary_structure_assignment.employee = employee
@@ -151,8 +158,15 @@
 	salary_structure_assignment.variable = 5000
 	salary_structure_assignment.from_date = from_date or add_days(nowdate(), -1)
 	salary_structure_assignment.salary_structure = salary_structure
+	salary_structure_assignment.currency = currency
+	salary_structure_assignment.payroll_payable_account = get_payable_account(company)
 	salary_structure_assignment.company = company or erpnext.get_default_company()
 	salary_structure_assignment.save(ignore_permissions=True)
 	salary_structure_assignment.income_tax_slab = "Tax Slab: _Test Payroll Period"
 	salary_structure_assignment.submit()
 	return salary_structure_assignment
+
+def get_payable_account(company=None):
+	if not company:
+		company = erpnext.get_default_company()
+	return frappe.db.get_value("Company", company, "default_payroll_payable_account")
\ No newline at end of file
diff --git a/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.js b/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.js
index 818e853..6cd897e 100644
--- a/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.js
+++ b/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.js
@@ -6,9 +6,6 @@
 		frm.set_query("employee", function() {
 			return {
 				query: "erpnext.controllers.queries.employee_query",
-				filters: {
-					company: frm.doc.company
-				}
 			}
 		});
 		frm.set_query("salary_structure", function() {
@@ -26,11 +23,25 @@
 				filters: {
 					company: frm.doc.company,
 					docstatus: 1,
-					disabled: 0
+					disabled: 0,
+					currency: frm.doc.currency
+				}
+			};
+		});
+
+		frm.set_query("payroll_payable_account", function() {
+			var company_currency = erpnext.get_currency(frm.doc.company);
+			return {
+				filters: {
+					"company": frm.doc.company,
+					"root_type": "Liability",
+					"is_group": 0,
+					"account_currency": ["in", [frm.doc.currency, company_currency]],
 				}
 			}
 		});
 	},
+
 	employee: function(frm) {
 		if(frm.doc.employee){
 			frappe.call({
@@ -52,5 +63,13 @@
 		else{
 			frm.set_value("company", null);
 		}
+	},
+
+	company: function(frm) {
+		if (frm.doc.company) {
+			frappe.db.get_value("Company", frm.doc.company, "default_payroll_payable_account", (r) => {
+				frm.set_value("payroll_payable_account", r.default_payroll_payable_account);
+			});
+		}
 	}
 });
diff --git a/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.json b/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.json
index c84e034..92bb347 100644
--- a/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.json
+++ b/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.json
@@ -11,11 +11,13 @@
   "employee_name",
   "department",
   "company",
+  "payroll_payable_account",
   "column_break_6",
   "designation",
   "salary_structure",
   "from_date",
   "income_tax_slab",
+  "currency",
   "section_break_7",
   "base",
   "column_break_9",
@@ -94,7 +96,7 @@
    "fieldname": "base",
    "fieldtype": "Currency",
    "label": "Base",
-   "options": "Company:company:default_currency"
+   "options": "currency"
   },
   {
    "fieldname": "column_break_9",
@@ -104,7 +106,7 @@
    "fieldname": "variable",
    "fieldtype": "Currency",
    "label": "Variable",
-   "options": "Company:company:default_currency"
+   "options": "currency"
   },
   {
    "fieldname": "amended_from",
@@ -116,15 +118,35 @@
    "read_only": 1
   },
   {
+   "depends_on": "salary_structure",
    "fieldname": "income_tax_slab",
    "fieldtype": "Link",
    "label": "Income Tax Slab",
    "options": "Income Tax Slab"
+  },
+  {
+   "default": "Company:company:default_currency",
+   "depends_on": "eval:(doc.docstatus==1 || doc.salary_structure)",
+   "fetch_from": "salary_structure.currency",
+   "fieldname": "currency",
+   "fieldtype": "Link",
+   "label": "Currency",
+   "options": "Currency",
+   "print_hide": 1,
+   "read_only": 1,
+   "reqd": 1
+  },
+  {
+   "depends_on": "employee",
+   "fieldname": "payroll_payable_account",
+   "fieldtype": "Link",
+   "label": "Payroll Payable Account",
+   "options": "Account"
   }
  ],
  "is_submittable": 1,
  "links": [],
- "modified": "2020-06-22 19:58:09.964692",
+ "modified": "2020-11-30 18:07:48.251311",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Salary Structure Assignment",
diff --git a/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py b/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py
index 668e0ec..dccb5df 100644
--- a/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py
+++ b/erpnext/payroll/doctype/salary_structure_assignment/salary_structure_assignment.py
@@ -13,6 +13,8 @@
 class SalaryStructureAssignment(Document):
 	def validate(self):
 		self.validate_dates()
+		self.validate_income_tax_slab()
+		self.set_payroll_payable_account()
 
 	def validate_dates(self):
 		joining_date, relieving_date = frappe.db.get_value("Employee", self.employee,
@@ -31,6 +33,24 @@
 				frappe.throw(_("From Date {0} cannot be after employee's relieving Date {1}")
 					.format(self.from_date, relieving_date))
 
+	def validate_income_tax_slab(self):
+		if not self.income_tax_slab:
+			return
+		
+		income_tax_slab_currency = frappe.db.get_value('Income Tax Slab', self.income_tax_slab, 'currency')
+		if self.currency != income_tax_slab_currency:
+			frappe.throw(_("Currency of selected Income Tax Slab should be {0} instead of {1}").format(self.currency, income_tax_slab_currency))
+
+	def set_payroll_payable_account(self):
+		if not self.payroll_payable_account:
+			payroll_payable_account = frappe.db.get_value('Company', self.company, 'default_payable_account')
+			if not payroll_payable_account:
+				payroll_payable_account = frappe.db.get_value(
+					"Account", {
+						"account_name": _("Payroll Payable"), "company": self.company, "account_currency": frappe.db.get_value(
+							"Company", self.company, "default_currency"), "is_group": 0})
+			self.payroll_payable_account = payroll_payable_account
+
 def get_assigned_salary_structure(employee, on_date):
 	if not employee or not on_date:
 		return None
@@ -43,3 +63,10 @@
 			'on_date': on_date,
 		})
 	return salary_structure[0][0] if salary_structure else None
+
+@frappe.whitelist()
+def get_employee_currency(employee):
+	employee_currency = frappe.db.get_value('Salary Structure Assignment', {'employee': employee}, 'currency')
+	if not employee_currency:
+		frappe.throw(_("There is no Salary Structure assigned to {0}. First assign a Salary Stucture.").format(employee))
+	return employee_currency
\ No newline at end of file
diff --git a/erpnext/payroll/doctype/taxable_salary_slab/taxable_salary_slab.json b/erpnext/payroll/doctype/taxable_salary_slab/taxable_salary_slab.json
index 94eda4c..65d3824 100644
--- a/erpnext/payroll/doctype/taxable_salary_slab/taxable_salary_slab.json
+++ b/erpnext/payroll/doctype/taxable_salary_slab/taxable_salary_slab.json
@@ -19,13 +19,15 @@
    "fieldtype": "Currency",
    "in_list_view": 1,
    "label": "From Amount",
+   "options": "currency",
    "reqd": 1
   },
   {
    "fieldname": "to_amount",
    "fieldtype": "Currency",
    "in_list_view": 1,
-   "label": "To Amount"
+   "label": "To Amount",
+   "options": "currency"
   },
   {
    "default": "0",
@@ -53,7 +55,7 @@
  ],
  "istable": 1,
  "links": [],
- "modified": "2020-06-22 18:16:07.596493",
+ "modified": "2020-10-19 13:44:39.549337",
  "modified_by": "Administrator",
  "module": "Payroll",
  "name": "Taxable Salary Slab",
diff --git a/erpnext/payroll/report/bank_remittance/bank_remittance.py b/erpnext/payroll/report/bank_remittance/bank_remittance.py
index 4b052bf..500543c 100644
--- a/erpnext/payroll/report/bank_remittance/bank_remittance.py
+++ b/erpnext/payroll/report/bank_remittance/bank_remittance.py
@@ -47,33 +47,39 @@
 			"fieldtype": "Int",
 			"fieldname": "employee_account_no",
 			"width": 50
-		},
-		{
+		}
+	]
+
+	if frappe.db.has_column('Employee', 'ifsc_code'):
+		columns.append({
 			"label": _("IFSC Code"),
 			"fieldtype": "Data",
 			"fieldname": "bank_code",
 			"width": 100
-		},
-		{
-			"label": _("Currency"),
-			"fieldtype": "Data",
-			"fieldname": "currency",
-			"width": 50
-		},
-		{
-			"label": _("Net Salary Amount"),
-			"fieldtype": "Currency",
-			"options": "currency",
-			"fieldname": "amount",
-			"width": 100
-		}
-	]
+		})
+
+	columns += [{
+		"label": _("Currency"),
+		"fieldtype": "Data",
+		"fieldname": "currency",
+		"width": 50
+	},
+	{
+		"label": _("Net Salary Amount"),
+		"fieldtype": "Currency",
+		"options": "currency",
+		"fieldname": "amount",
+		"width": 100
+	}]
+
 	data = []
 
 	accounts = get_bank_accounts()
 	payroll_entries = get_payroll_entries(accounts, filters)
 	salary_slips = get_salary_slips(payroll_entries)
-	get_emp_bank_ifsc_code(salary_slips)
+
+	if frappe.db.has_column('Employee', 'ifsc_code'):
+		get_emp_bank_ifsc_code(salary_slips)
 
 	for salary in salary_slips:
 		if salary.bank_name and salary.bank_account_no and salary.debit_acc_no and salary.status in ["Submitted", "Paid"]:
diff --git a/erpnext/payroll/report/salary_register/salary_register.js b/erpnext/payroll/report/salary_register/salary_register.js
index 885e3d1..eb4acb9 100644
--- a/erpnext/payroll/report/salary_register/salary_register.js
+++ b/erpnext/payroll/report/salary_register/salary_register.js
@@ -8,34 +8,48 @@
 			"label": __("From"),
 			"fieldtype": "Date",
 			"default": frappe.datetime.add_months(frappe.datetime.get_today(),-1),
-			"reqd": 1
+			"reqd": 1,
+			"width": "100px"
 		},
 		{
 			"fieldname":"to_date",
 			"label": __("To"),
 			"fieldtype": "Date",
 			"default": frappe.datetime.get_today(),
-			"reqd": 1
+			"reqd": 1,
+			"width": "100px"
+		},
+		{
+			"fieldname": "currency",
+			"fieldtype": "Link",
+			"options": "Currency",
+			"label": __("Currency"),
+			"default": erpnext.get_currency(frappe.defaults.get_default("Company")),
+			"width": "50px"
 		},
 		{
 			"fieldname":"employee",
 			"label": __("Employee"),
 			"fieldtype": "Link",
-			"options": "Employee"
+			"options": "Employee",
+			"width": "100px"
 		},
 		{
 			"fieldname":"company",
 			"label": __("Company"),
 			"fieldtype": "Link",
 			"options": "Company",
-			"default": frappe.defaults.get_user_default("Company")
+			"default": frappe.defaults.get_user_default("Company"),
+			"width": "100px",
+			"reqd": 1
 		},
 		{
 			"fieldname":"docstatus",
 			"label":__("Document Status"),
 			"fieldtype":"Select",
 			"options":["Draft", "Submitted", "Cancelled"],
-			"default":"Submitted"
+			"default": "Submitted",
+			"width": "100px"
 		}
 	]
 }
diff --git a/erpnext/payroll/report/salary_register/salary_register.py b/erpnext/payroll/report/salary_register/salary_register.py
index 8701085..a1b1a8c 100644
--- a/erpnext/payroll/report/salary_register/salary_register.py
+++ b/erpnext/payroll/report/salary_register/salary_register.py
@@ -2,18 +2,22 @@
 # License: GNU General Public License v3. See license.txt
 
 from __future__ import unicode_literals
-import frappe
+import frappe, erpnext
 from frappe.utils import flt
 from frappe import _
 
 def execute(filters=None):
 	if not filters: filters = {}
-	salary_slips = get_salary_slips(filters)
+	currency = None
+	if filters.get('currency'):
+		currency = filters.get('currency')
+	company_currency = erpnext.get_company_currency(filters.get("company"))
+	salary_slips = get_salary_slips(filters, company_currency)
 	if not salary_slips: return [], []
 
 	columns, earning_types, ded_types = get_columns(salary_slips)
-	ss_earning_map = get_ss_earning_map(salary_slips)
-	ss_ded_map = get_ss_ded_map(salary_slips)
+	ss_earning_map = get_ss_earning_map(salary_slips, currency, company_currency)
+	ss_ded_map = get_ss_ded_map(salary_slips,currency, company_currency)
 	doj_map = get_employee_doj_map()
 
 	data = []
@@ -21,24 +25,30 @@
 		row = [ss.name, ss.employee, ss.employee_name, doj_map.get(ss.employee), ss.branch, ss.department, ss.designation,
 			ss.company, ss.start_date, ss.end_date, ss.leave_without_pay, ss.payment_days]
 
-		if not ss.branch == None:columns[3] = columns[3].replace('-1','120')
-		if not ss.department  == None: columns[4] = columns[4].replace('-1','120')
-		if not ss.designation  == None: columns[5] = columns[5].replace('-1','120')
-		if not ss.leave_without_pay  == None: columns[9] = columns[9].replace('-1','130')
+		if ss.branch is not None: columns[3] = columns[3].replace('-1','120')
+		if ss.department is not None: columns[4] = columns[4].replace('-1','120')
+		if ss.designation is not None: columns[5] = columns[5].replace('-1','120')
+		if ss.leave_without_pay is not None: columns[9] = columns[9].replace('-1','130')
 
 
 		for e in earning_types:
 			row.append(ss_earning_map.get(ss.name, {}).get(e))
 
-		row += [ss.gross_pay]
+		if currency == company_currency:
+			row += [flt(ss.gross_pay) * flt(ss.exchange_rate)]
+		else:
+			row += [ss.gross_pay]
 
 		for d in ded_types:
 			row.append(ss_ded_map.get(ss.name, {}).get(d))
 
 		row.append(ss.total_loan_repayment)
 
-		row += [ss.total_deduction, ss.net_pay]
-
+		if currency == company_currency:
+			row += [flt(ss.total_deduction) * flt(ss.exchange_rate), flt(ss.net_pay) * flt(ss.exchange_rate)]
+		else:
+			row += [ss.total_deduction, ss.net_pay]
+		row.append(currency or company_currency)
 		data.append(row)
 
 	return columns, data
@@ -46,10 +56,19 @@
 def get_columns(salary_slips):
 	"""
 	columns = [
-		_("Salary Slip ID") + ":Link/Salary Slip:150",_("Employee") + ":Link/Employee:120", _("Employee Name") + "::140",
-		_("Date of Joining") + "::80", _("Branch") + ":Link/Branch:120", _("Department") + ":Link/Department:120",
-		_("Designation") + ":Link/Designation:120", _("Company") + ":Link/Company:120", _("Start Date") + "::80",
-		_("End Date") + "::80", _("Leave Without Pay") + ":Float:130", _("Payment Days") + ":Float:120"
+		_("Salary Slip ID") + ":Link/Salary Slip:150",
+		_("Employee") + ":Link/Employee:120",
+		_("Employee Name") + "::140",
+		_("Date of Joining") + "::80",
+		_("Branch") + ":Link/Branch:120",
+		_("Department") + ":Link/Department:120",
+		_("Designation") + ":Link/Designation:120",
+		_("Company") + ":Link/Company:120",
+		_("Start Date") + "::80",
+		_("End Date") + "::80",
+		_("Leave Without Pay") + ":Float:130",
+		_("Payment Days") + ":Float:120",
+		_("Currency") + ":Link/Currency:80"
 	]
 	"""
 	columns = [
@@ -73,15 +92,15 @@
 
 	return columns, salary_components[_("Earning")], salary_components[_("Deduction")]
 
-def get_salary_slips(filters):
+def get_salary_slips(filters, company_currency):
 	filters.update({"from_date": filters.get("from_date"), "to_date":filters.get("to_date")})
-	conditions, filters = get_conditions(filters)
+	conditions, filters = get_conditions(filters, company_currency)
 	salary_slips = frappe.db.sql("""select * from `tabSalary Slip` where %s
 		order by employee""" % conditions, filters, as_dict=1)
 
 	return salary_slips or []
 
-def get_conditions(filters):
+def get_conditions(filters, company_currency):
 	conditions = ""
 	doc_status = {"Draft": 0, "Submitted": 1, "Cancelled": 2}
 
@@ -92,6 +111,8 @@
 	if filters.get("to_date"): conditions += " and end_date <= %(to_date)s"
 	if filters.get("company"): conditions += " and company = %(company)s"
 	if filters.get("employee"): conditions += " and employee = %(employee)s"
+	if filters.get("currency") and filters.get("currency") != company_currency:
+		conditions += " and currency = %(currency)s"
 
 	return conditions, filters
 
@@ -103,26 +124,32 @@
 				FROM `tabEmployee`
 				"""))
 
-def get_ss_earning_map(salary_slips):
-	ss_earnings = frappe.db.sql("""select parent, salary_component, amount
-		from `tabSalary Detail` where parent in (%s)""" %
+def get_ss_earning_map(salary_slips, currency, company_currency):
+	ss_earnings = frappe.db.sql("""select sd.parent, sd.salary_component, sd.amount, ss.exchange_rate, ss.name
+		from `tabSalary Detail` sd, `tabSalary Slip` ss where sd.parent=ss.name and sd.parent in (%s)""" %
 		(', '.join(['%s']*len(salary_slips))), tuple([d.name for d in salary_slips]), as_dict=1)
 
 	ss_earning_map = {}
 	for d in ss_earnings:
 		ss_earning_map.setdefault(d.parent, frappe._dict()).setdefault(d.salary_component, [])
-		ss_earning_map[d.parent][d.salary_component] = flt(d.amount)
+		if currency == company_currency:
+			ss_earning_map[d.parent][d.salary_component] = flt(d.amount) * flt(d.exchange_rate if d.exchange_rate else 1)
+		else:
+			ss_earning_map[d.parent][d.salary_component] = flt(d.amount)
 
 	return ss_earning_map
 
-def get_ss_ded_map(salary_slips):
-	ss_deductions = frappe.db.sql("""select parent, salary_component, amount
-		from `tabSalary Detail` where parent in (%s)""" %
+def get_ss_ded_map(salary_slips, currency, company_currency):
+	ss_deductions = frappe.db.sql("""select sd.parent, sd.salary_component, sd.amount, ss.exchange_rate, ss.name
+		from `tabSalary Detail` sd, `tabSalary Slip` ss where sd.parent=ss.name and sd.parent in (%s)""" %
 		(', '.join(['%s']*len(salary_slips))), tuple([d.name for d in salary_slips]), as_dict=1)
 
 	ss_ded_map = {}
 	for d in ss_deductions:
 		ss_ded_map.setdefault(d.parent, frappe._dict()).setdefault(d.salary_component, [])
-		ss_ded_map[d.parent][d.salary_component] = flt(d.amount)
+		if currency == company_currency:
+			ss_ded_map[d.parent][d.salary_component] = flt(d.amount) * flt(d.exchange_rate if d.exchange_rate else 1)
+		else:
+			ss_ded_map[d.parent][d.salary_component] = flt(d.amount)
 
 	return ss_ded_map
diff --git a/erpnext/projects/doctype/task/task.js b/erpnext/projects/doctype/task/task.js
index 8c6a9cf..002ddb2 100644
--- a/erpnext/projects/doctype/task/task.js
+++ b/erpnext/projects/doctype/task/task.js
@@ -49,7 +49,10 @@
 			},
 			callback: function (r) {
 				if (r.message.length > 0) {
-					frappe.msgprint(__(`Cannot convert it to non-group. The following child Tasks exist: ${r.message.join(", ")}.`));
+					let message = __('Cannot convert Task to non-group because the following child Tasks exist: {0}.',
+						[r.message.join(", ")]
+					);
+					frappe.msgprint(message);
 					frm.reload_doc();
 				}
 			}
diff --git a/erpnext/projects/doctype/timesheet/timesheet.js b/erpnext/projects/doctype/timesheet/timesheet.js
index 607c3fd..b068245 100644
--- a/erpnext/projects/doctype/timesheet/timesheet.js
+++ b/erpnext/projects/doctype/timesheet/timesheet.js
@@ -133,6 +133,11 @@
 			frm: frm
 		});
 	},
+
+	project: function(frm) {
+		set_project_in_timelog(frm);
+	},
+
 });
 
 frappe.ui.form.on("Timesheet Detail", {
@@ -162,7 +167,11 @@
 		frappe.model.set_value(cdt, cdn, "hours", hours);
 	},
 
-	time_logs_add: function(frm) {
+	time_logs_add: function(frm, cdt, cdn) {
+		if(frm.doc.project) {
+			frappe.model.set_value(cdt, cdn, 'project', frm.doc.project);
+		}
+
 		var $trigger_again = $('.form-grid').find('.grid-row').find('.btn-open-row');
 		$trigger_again.on('click', () => {
 			$('.form-grid')
@@ -297,3 +306,9 @@
 		}
 	});
 };
+
+function set_project_in_timelog(frm) {
+	if(frm.doc.project){
+		erpnext.utils.copy_value_in_all_rows(frm.doc, frm.doc.doctype, frm.doc.name, "time_logs", "project");
+	}
+}
\ No newline at end of file
diff --git a/erpnext/projects/doctype/timesheet/timesheet.json b/erpnext/projects/doctype/timesheet/timesheet.json
index c29c11b..4c2edf4 100644
--- a/erpnext/projects/doctype/timesheet/timesheet.json
+++ b/erpnext/projects/doctype/timesheet/timesheet.json
@@ -1,1133 +1,352 @@
 {
- "allow_copy": 0, 
- "allow_events_in_timeline": 0, 
- "allow_guest_to_view": 0, 
- "allow_import": 1, 
- "allow_rename": 0, 
- "autoname": "naming_series:", 
- "beta": 0, 
- "creation": "2013-02-28 17:57:33", 
- "custom": 0, 
- "description": "", 
- "docstatus": 0, 
- "doctype": "DocType", 
- "document_type": "Document", 
- "editable_grid": 1, 
+ "actions": [],
+ "allow_import": 1,
+ "autoname": "naming_series:",
+ "creation": "2013-02-28 17:57:33",
+ "doctype": "DocType",
+ "document_type": "Document",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "title",
+  "naming_series",
+  "company",
+  "sales_invoice",
+  "column_break_3",
+  "salary_slip",
+  "status",
+  "project",
+  "employee_detail",
+  "employee",
+  "employee_name",
+  "department",
+  "column_break_9",
+  "user",
+  "start_date",
+  "end_date",
+  "section_break_5",
+  "time_logs",
+  "working_hours",
+  "total_hours",
+  "billing_details",
+  "total_billable_hours",
+  "total_billed_hours",
+  "total_costing_amount",
+  "column_break_10",
+  "total_billable_amount",
+  "total_billed_amount",
+  "per_billed",
+  "section_break_18",
+  "note",
+  "amended_from"
+ ],
  "fields": [
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 1, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "default": "{employee_name}", 
-   "fieldname": "title", 
-   "fieldtype": "Data", 
-   "hidden": 1, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Title", 
-   "length": 0, 
-   "no_copy": 1, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "allow_on_submit": 1,
+   "default": "{employee_name}",
+   "fieldname": "title",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "label": "Title",
+   "no_copy": 1,
+   "print_hide": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "default": "", 
-   "fieldname": "naming_series", 
-   "fieldtype": "Select", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Series", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "TS-.YYYY.-", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 1, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "naming_series",
+   "fieldtype": "Select",
+   "label": "Series",
+   "options": "TS-.YYYY.-",
+   "reqd": 1,
+   "set_only_once": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "company", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Company", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Company", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 1, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "options": "Company",
+   "remember_last_selected_value": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "depends_on": "", 
-   "description": "", 
-   "fieldname": "sales_invoice", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Sales Invoice", 
-   "length": 0, 
-   "no_copy": 1, 
-   "options": "Sales Invoice", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "sales_invoice",
+   "fieldtype": "Link",
+   "label": "Sales Invoice",
+   "no_copy": 1,
+   "options": "Sales Invoice",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "column_break_3", 
-   "fieldtype": "Column Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "column_break_3",
+   "fieldtype": "Column Break"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "depends_on": "", 
-   "fieldname": "salary_slip", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Salary Slip", 
-   "length": 0, 
-   "no_copy": 1, 
-   "options": "Salary Slip", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "salary_slip",
+   "fieldtype": "Link",
+   "label": "Salary Slip",
+   "no_copy": 1,
+   "options": "Salary Slip",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "default": "Draft", 
-   "fieldname": "status", 
-   "fieldtype": "Select", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 1, 
-   "label": "Status", 
-   "length": 0, 
-   "no_copy": 1, 
-   "options": "Draft\nSubmitted\nBilled\nPayslip\nCompleted\nCancelled", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "default": "Draft",
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "in_standard_filter": 1,
+   "label": "Status",
+   "no_copy": 1,
+   "options": "Draft\nSubmitted\nBilled\nPayslip\nCompleted\nCancelled",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "collapsible_depends_on": "", 
-   "columns": 0, 
-   "depends_on": "eval:!doc.work_order || doc.docstatus == 1", 
-   "fieldname": "employee_detail", 
-   "fieldtype": "Section Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Employee Detail", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "depends_on": "eval:!doc.work_order || doc.docstatus == 1",
+   "fieldname": "employee_detail",
+   "fieldtype": "Section Break",
+   "label": "Employee Detail"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "depends_on": "", 
-   "description": "", 
-   "fieldname": "employee", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 1, 
-   "label": "Employee", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Employee", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "employee",
+   "fieldtype": "Link",
+   "in_standard_filter": 1,
+   "label": "Employee",
+   "options": "Employee"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "depends_on": "employee", 
-   "fieldname": "employee_name", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 1, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Employee Name", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "depends_on": "employee",
+   "fieldname": "employee_name",
+   "fieldtype": "Data",
+   "in_global_search": 1,
+   "label": "Employee Name",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fetch_from": "employee.department", 
-   "fieldname": "department", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Department", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Department", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fetch_from": "employee.department",
+   "fieldname": "department",
+   "fieldtype": "Link",
+   "label": "Department",
+   "options": "Department",
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "column_break_9", 
-   "fieldtype": "Column Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "column_break_9",
+   "fieldtype": "Column Break"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "user", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 1, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "User", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "User", 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "user",
+   "fieldtype": "Link",
+   "in_global_search": 1,
+   "label": "User",
+   "options": "User",
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "start_date", 
-   "fieldtype": "Date", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Start Date", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "start_date",
+   "fieldtype": "Date",
+   "in_list_view": 1,
+   "label": "Start Date",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "end_date", 
-   "fieldtype": "Date", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "End Date", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "end_date",
+   "fieldtype": "Date",
+   "label": "End Date",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "section_break_5", 
-   "fieldtype": "Section Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "section_break_5",
+   "fieldtype": "Section Break"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "time_logs", 
-   "fieldtype": "Table", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Time Sheets", 
-   "length": 0, 
-   "no_copy": 0, 
-   "options": "Timesheet Detail", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "time_logs",
+   "fieldtype": "Table",
+   "label": "Time Sheets",
+   "options": "Timesheet Detail",
+   "reqd": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "working_hours", 
-   "fieldtype": "Section Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "working_hours",
+   "fieldtype": "Section Break"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 1, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "default": "0", 
-   "description": "", 
-   "fieldname": "total_hours", 
-   "fieldtype": "Float", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Total Working Hours", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "allow_on_submit": 1,
+   "default": "0",
+   "fieldname": "total_hours",
+   "fieldtype": "Float",
+   "in_list_view": 1,
+   "label": "Total Working Hours",
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 1, 
-   "columns": 0, 
-   "fieldname": "billing_details", 
-   "fieldtype": "Section Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Billing Details", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 1, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "collapsible": 1,
+   "fieldname": "billing_details",
+   "fieldtype": "Section Break",
+   "label": "Billing Details",
+   "permlevel": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 1, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "total_billable_hours", 
-   "fieldtype": "Float", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Total Billable Hours", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "allow_on_submit": 1,
+   "fieldname": "total_billable_hours",
+   "fieldtype": "Float",
+   "label": "Total Billable Hours",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 1, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "total_billed_hours", 
-   "fieldtype": "Float", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 1, 
-   "in_standard_filter": 0, 
-   "label": "Total Billed Hours", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "allow_on_submit": 1,
+   "fieldname": "total_billed_hours",
+   "fieldtype": "Float",
+   "in_list_view": 1,
+   "label": "Total Billed Hours",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 1, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "total_costing_amount", 
-   "fieldtype": "Currency", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Total Costing Amount", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "allow_on_submit": 1,
+   "fieldname": "total_costing_amount",
+   "fieldtype": "Currency",
+   "label": "Total Costing Amount",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "column_break_10", 
-   "fieldtype": "Column Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "column_break_10",
+   "fieldtype": "Column Break"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 1, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "default": "0", 
-   "depends_on": "", 
-   "description": "", 
-   "fieldname": "total_billable_amount", 
-   "fieldtype": "Currency", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Total Billable Amount", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "allow_on_submit": 1,
+   "default": "0",
+   "fieldname": "total_billable_amount",
+   "fieldtype": "Currency",
+   "label": "Total Billable Amount",
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 1, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "total_billed_amount", 
-   "fieldtype": "Currency", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Total Billed Amount", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "allow_on_submit": 1,
+   "fieldname": "total_billed_amount",
+   "fieldtype": "Currency",
+   "label": "Total Billed Amount",
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 1, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "per_billed", 
-   "fieldtype": "Percent", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "% Amount Billed", 
-   "length": 0, 
-   "no_copy": 1, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "allow_on_submit": 1,
+   "fieldname": "per_billed",
+   "fieldtype": "Percent",
+   "label": "% Amount Billed",
+   "no_copy": 1,
+   "print_hide": 1,
+   "read_only": 1
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "section_break_18", 
-   "fieldtype": "Section Break", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "section_break_18",
+   "fieldtype": "Section Break"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "note", 
-   "fieldtype": "Text Editor", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Note", 
-   "length": 0, 
-   "no_copy": 0, 
-   "permlevel": 0, 
-   "precision": "", 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
-  }, 
+   "fieldname": "note",
+   "fieldtype": "Text Editor",
+   "label": "Note"
+  },
   {
-   "allow_bulk_edit": 0, 
-   "allow_in_quick_entry": 0, 
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "columns": 0, 
-   "fieldname": "amended_from", 
-   "fieldtype": "Link", 
-   "hidden": 0, 
-   "ignore_user_permissions": 1, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_global_search": 0, 
-   "in_list_view": 0, 
-   "in_standard_filter": 0, 
-   "label": "Amended From", 
-   "length": 0, 
-   "no_copy": 1, 
-   "options": "Timesheet", 
-   "permlevel": 0, 
-   "print_hide": 1, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 1, 
-   "remember_last_selected_value": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "translatable": 0, 
-   "unique": 0
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "ignore_user_permissions": 1,
+   "label": "Amended From",
+   "no_copy": 1,
+   "options": "Timesheet",
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "project",
+   "fieldtype": "Link",
+   "label": "Project",
+   "options": "Project"
   }
- ], 
- "has_web_view": 0, 
- "hide_heading": 0, 
- "hide_toolbar": 0, 
- "icon": "fa fa-clock-o", 
- "idx": 1, 
- "image_view": 0, 
- "in_create": 0, 
- "is_submittable": 1, 
- "issingle": 0, 
- "istable": 0, 
- "max_attachments": 0, 
- "modified": "2019-03-05 21:54:02.654690", 
- "modified_by": "Administrator", 
- "module": "Projects", 
- "name": "Timesheet", 
- "owner": "Administrator", 
+ ],
+ "icon": "fa fa-clock-o",
+ "idx": 1,
+ "is_submittable": 1,
+ "links": [],
+ "modified": "2020-10-29 07:50:35.938231",
+ "modified_by": "Administrator",
+ "module": "Projects",
+ "name": "Timesheet",
+ "owner": "Administrator",
  "permissions": [
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Projects User", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Projects User",
+   "share": 1,
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "export": 1, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "HR User", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "HR User",
+   "share": 1,
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "export": 1, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 1, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Manufacturing User", 
-   "set_user_permissions": 0, 
-   "share": 1, 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Manufacturing User",
+   "share": 1,
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 1, 
-   "delete": 0, 
-   "email": 0, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Employee", 
-   "set_user_permissions": 0, 
-   "share": 0, 
-   "submit": 0, 
+   "create": 1,
+   "read": 1,
+   "role": "Employee",
    "write": 1
-  }, 
+  },
   {
-   "amend": 1, 
-   "cancel": 1, 
-   "create": 1, 
-   "delete": 1, 
-   "email": 1, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 0, 
-   "print": 0, 
-   "read": 1, 
-   "report": 1, 
-   "role": "Accounts User", 
-   "set_user_permissions": 0, 
-   "share": 0, 
-   "submit": 1, 
+   "amend": 1,
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Accounts User",
+   "submit": 1,
    "write": 1
-  }, 
+  },
   {
-   "amend": 0, 
-   "cancel": 0, 
-   "create": 0, 
-   "delete": 0, 
-   "email": 0, 
-   "export": 0, 
-   "if_owner": 0, 
-   "import": 0, 
-   "permlevel": 1, 
-   "print": 0, 
-   "read": 1, 
-   "report": 0, 
-   "role": "Accounts User", 
-   "set_user_permissions": 0, 
-   "share": 0, 
-   "submit": 0, 
+   "permlevel": 1,
+   "read": 1,
+   "role": "Accounts User",
    "write": 1
   }
- ], 
- "quick_entry": 0, 
- "read_only": 0, 
- "read_only_onload": 0, 
- "show_name_in_global_search": 0, 
- "sort_order": "ASC", 
- "title_field": "title", 
- "track_changes": 0, 
- "track_seen": 0, 
- "track_views": 0
+ ],
+ "sort_field": "modified",
+ "sort_order": "ASC",
+ "title_field": "title"
 }
\ No newline at end of file
diff --git a/erpnext/public/build.json b/erpnext/public/build.json
index 2695502..2f15cbc 100644
--- a/erpnext/public/build.json
+++ b/erpnext/public/build.json
@@ -49,7 +49,8 @@
 		"public/js/education/assessment_result_tool.html",
 		"public/js/hub/hub_factory.js",
 		"public/js/call_popup/call_popup.js",
-		"public/js/utils/dimension_tree_filter.js"
+		"public/js/utils/dimension_tree_filter.js",
+		"public/js/telephony.js"
 	],
 	"js/item-dashboard.min.js": [
 		"stock/dashboard/item_dashboard.html",
diff --git a/erpnext/public/js/call_popup/call_popup.js b/erpnext/public/js/call_popup/call_popup.js
index 5e4d4a5..aeb3b38 100644
--- a/erpnext/public/js/call_popup/call_popup.js
+++ b/erpnext/public/js/call_popup/call_popup.js
@@ -74,7 +74,7 @@
 				'click': () => {
 					const call_summary = this.dialog.get_value('call_summary');
 					if (!call_summary) return;
-					frappe.xcall('erpnext.communication.doctype.call_log.call_log.add_call_summary', {
+					frappe.xcall('erpnext.telephony.doctype.call_log.call_log.add_call_summary', {
 						'call_log': this.call_log.name,
 						'summary': call_summary,
 					}).then(() => {
diff --git a/erpnext/public/js/controllers/accounts.js b/erpnext/public/js/controllers/accounts.js
index 6e97d81..29f3595 100644
--- a/erpnext/public/js/controllers/accounts.js
+++ b/erpnext/public/js/controllers/accounts.js
@@ -146,18 +146,18 @@
 	if(!d.charge_type && d.account_head){
 		frappe.msgprint(__("Please select Charge Type first"));
 		frappe.model.set_value(cdt, cdn, "account_head", "");
-	} else if(d.account_head && d.charge_type!=="Actual") {
+	} else if (d.account_head) {
 		frappe.call({
 			type:"GET",
 			method: "erpnext.controllers.accounts_controller.get_tax_rate",
 			args: {"account_head":d.account_head},
 			callback: function(r) {
-				frappe.model.set_value(cdt, cdn, "rate", r.message.tax_rate || 0);
+				if (d.charge_type!=="Actual") {
+					frappe.model.set_value(cdt, cdn, "rate", r.message.tax_rate || 0);
+				}
 				frappe.model.set_value(cdt, cdn, "description", r.message.account_name);
 			}
 		})
-	} else if (d.charge_type == 'Actual' && d.account_head) {
-		frappe.model.set_value(cdt, cdn, "description", d.account_head.split(' - ')[0]);
 	}
 }
 
diff --git a/erpnext/public/js/controllers/buying.js b/erpnext/public/js/controllers/buying.js
index cb76c87..db85a3e 100644
--- a/erpnext/public/js/controllers/buying.js
+++ b/erpnext/public/js/controllers/buying.js
@@ -189,6 +189,7 @@
 
 			frappe.model.round_floats_in(item, ["qty", "received_qty"]);
 			item.rejected_qty = flt(item.received_qty - item.qty, precision("rejected_qty", item));
+			item.received_stock_qty = flt(item.conversion_factor, precision("conversion_factor", item)) * flt(item.received_qty);
 		}
 
 		this._super(doc, cdt, cdn);
@@ -218,8 +219,7 @@
 		var is_negative_qty = false;
 		for(var i = 0; i<fieldnames.length; i++) {
 			if(item[fieldnames[i]] < 0){
-				frappe.msgprint(__("Row #{0}: {1} can not be negative for item {2}",
-					[item.idx,__(frappe.meta.get_label(cdt, fieldnames[i], cdn)), item.item_code]));
+				frappe.msgprint(__("Row #{0}: {1} can not be negative for item {2}", [item.idx,__(frappe.meta.get_label(cdt, fieldnames[i], cdn)), item.item_code]));
 				is_negative_qty = true;
 				break;
 			}
@@ -276,7 +276,7 @@
 		var me = this;
 		this.frm.add_custom_button(__("Product Bundle"), function() {
 			erpnext.buying.get_items_from_product_bundle(me.frm);
-		}, __("Get items from"));
+		}, __("Get Items From"));
 	},
 
 	shipping_address: function(){
@@ -294,69 +294,6 @@
 		this.get_terms();
 	},
 
-	link_to_mrs: function() {
-		var my_items = [];
-		for (var i in cur_frm.doc.items) {
-			if(!cur_frm.doc.items[i].material_request){
-				my_items.push(cur_frm.doc.items[i].item_code);
-			}
-		}
-		frappe.call({
-			method: "erpnext.buying.utils.get_linked_material_requests",
-			args:{
-				items: my_items
-			},
-			callback: function(r) {
-				if(!r.message || r.message.length == 0) {
-					frappe.throw(__("No pending Material Requests found to link for the given items."))
-				}
-				else {
-					var i = 0;
-					var item_length = cur_frm.doc.items.length;
-					while (i < item_length) {
-						var qty = cur_frm.doc.items[i].qty;
-						(r.message[0] || []).forEach(function(d) {
-							if (d.qty > 0 && qty > 0 && cur_frm.doc.items[i].item_code == d.item_code && !cur_frm.doc.items[i].material_request_item)
-							{
-								cur_frm.doc.items[i].material_request = d.mr_name;
-								cur_frm.doc.items[i].material_request_item = d.mr_item;
-								var my_qty = Math.min(qty, d.qty);
-								qty = qty - my_qty;
-								d.qty = d.qty  - my_qty;
-								cur_frm.doc.items[i].stock_qty = my_qty*cur_frm.doc.items[i].conversion_factor;
-								cur_frm.doc.items[i].qty = my_qty;
-
-								frappe.msgprint("Assigning " + d.mr_name + " to " + d.item_code + " (row " + cur_frm.doc.items[i].idx + ")");
-								if (qty > 0)
-								{
-									frappe.msgprint("Splitting " + qty + " units of " + d.item_code);
-									var newrow = frappe.model.add_child(cur_frm.doc, cur_frm.doc.items[i].doctype, "items");
-									item_length++;
-
-									for (var key in cur_frm.doc.items[i])
-									{
-										newrow[key] = cur_frm.doc.items[i][key];
-									}
-
-									newrow.idx = item_length;
-									newrow["stock_qty"] = newrow.conversion_factor*qty;
-									newrow["qty"] = qty;
-
-									newrow["material_request"] = "";
-									newrow["material_request_item"] = "";
-
-								}
-							}
-						});
-						i++;
-					}
-					refresh_field("items");
-					//cur_frm.save();
-				}
-			}
-		});
-	},
-
 	update_auto_repeat_reference: function(doc) {
 		if (doc.auto_repeat) {
 			frappe.call({
@@ -422,6 +359,62 @@
 
 cur_frm.add_fetch('project', 'cost_center', 'cost_center');
 
+erpnext.buying.link_to_mrs = function(frm) {
+	frappe.call({
+		method: "erpnext.buying.utils.get_linked_material_requests",
+		args:{
+			items: frm.doc.items.map((item) => item.item_code)
+		},
+		callback: function(r) {
+			if (!r.message || r.message.length == 0) {
+				frappe.throw({
+					message: __("No pending Material Requests found to link for the given items."),
+					title: __("Note")
+				});
+			}
+
+			var item_length = frm.doc.items.length;
+			for (let item of frm.doc.items) {
+				var qty = item.qty;
+				(r.message[0] || []).forEach(function(d) {
+					if (d.qty > 0 && qty > 0 && item.item_code == d.item_code && !item.material_request_item)
+					{
+						item.material_request = d.mr_name;
+						item.material_request_item = d.mr_item;
+						var my_qty = Math.min(qty, d.qty);
+						qty = qty - my_qty;
+						d.qty = d.qty - my_qty;
+						item.stock_qty = my_qty*item.conversion_factor;
+						item.qty = my_qty;
+
+						frappe.msgprint("Assigning " + d.mr_name + " to " + d.item_code + " (row " + item.idx + ")");
+						if (qty > 0)
+						{
+							frappe.msgprint("Splitting " + qty + " units of " + d.item_code);
+							var newrow = frappe.model.add_child(frm.doc, item.doctype, "items");
+							item_length++;
+
+							for (var key in item)
+							{
+								newrow[key] = item[key];
+							}
+
+							newrow.idx = item_length;
+							newrow["stock_qty"] = newrow.conversion_factor*qty;
+							newrow["qty"] = qty;
+
+							newrow["material_request"] = "";
+							newrow["material_request_item"] = "";
+
+						}
+					}
+				});
+			}
+			refresh_field("items");
+		}
+	});
+}
+
 erpnext.buying.get_default_bom = function(frm) {
 	$.each(frm.doc["items"] || [], function(i, d) {
 		if (d.item_code && d.bom === "") {
diff --git a/erpnext/public/js/controllers/transaction.js b/erpnext/public/js/controllers/transaction.js
index 1358a4b..3bc20f8 100644
--- a/erpnext/public/js/controllers/transaction.js
+++ b/erpnext/public/js/controllers/transaction.js
@@ -209,6 +209,17 @@
 			});
 		}
 
+		if (this.frm.fields_dict.taxes_and_charges) {
+			this.frm.set_query("taxes_and_charges", function() {
+				return {
+					filters: [
+						['company', '=', me.frm.doc.company],
+						['docstatus', '!=', 2]
+					]
+				};
+			});
+		}
+
 	},
 	onload: function() {
 		var me = this;
@@ -397,7 +408,7 @@
 
 				show_description(row_to_modify.idx, row_to_modify.item_code);
 
-				this.frm.from_barcode = true;
+				this.frm.from_barcode = this.frm.from_barcode ? this.frm.from_barcode + 1 : 1;
 				frappe.model.set_value(row_to_modify.doctype, row_to_modify.name, {
 					item_code: data.item_code,
 					qty: (row_to_modify.qty || 0) + 1
@@ -481,7 +492,7 @@
 			d.item_code = "";
 		}
 
-		this.frm.from_barcode = true;
+		this.frm.from_barcode = this.frm.from_barcode ? this.frm.from_barcode + 1 : 1;
 		this.item_code(doc, cdt, cdn);
 	},
 
@@ -498,11 +509,12 @@
 			show_batch_dialog = 1;
 		}
 		// clear barcode if setting item (else barcode will take priority)
-		if(!this.frm.from_barcode) {
+		if (this.frm.from_barcode == 0) {
 			item.barcode = null;
 		}
+		this.frm.from_barcode = this.frm.from_barcode - 1 >= 0 ? this.frm.from_barcode - 1 : 0;
 
-		this.frm.from_barcode = false;
+
 		if(item.item_code || item.barcode || item.serial_no) {
 			if(!this.validate_company_and_party()) {
 				this.frm.fields_dict["items"].grid.grid_rows[item.idx - 1].remove();
diff --git a/erpnext/public/js/hub/pages/Category.vue b/erpnext/public/js/hub/pages/Category.vue
index 057fe8b..16d0601 100644
--- a/erpnext/public/js/hub/pages/Category.vue
+++ b/erpnext/public/js/hub/pages/Category.vue
@@ -32,7 +32,7 @@
 			item_id_fieldname: 'name',
 
 			// Constants
-			empty_state_message: __(`No items in this category yet.`),
+			empty_state_message: __('No items in this category yet.'),
 
 			search_value: '',
 
diff --git a/erpnext/public/js/hub/pages/FeaturedItems.vue b/erpnext/public/js/hub/pages/FeaturedItems.vue
index ab9990a..63ae7e9 100644
--- a/erpnext/public/js/hub/pages/FeaturedItems.vue
+++ b/erpnext/public/js/hub/pages/FeaturedItems.vue
@@ -33,10 +33,8 @@
 
 			// Constants
 			page_title: __('Your Featured Items'),
-            empty_state_message: __(`No featured items yet. Got to your 
-                                <a href="#marketplace/published-items">
-                                Published Items</a> 
-                                and feature upto 8 items that you want to highlight to your customers.`)
+			empty_state_message: __('No featured items yet. Got to your {0} and feature up to eight items that you want to highlight to your customers.',
+				[`<a href="#marketplace/published-items">${__("Published Items")}</a>`])
 		};
 	},
 	created() {
@@ -71,9 +69,9 @@
 
 			const item_name = this.items.filter(item => item.hub_item_name === hub_item_name);
 
-			alert = frappe.show_alert(__(`<span>${item_name} removed.
-				<a href="#" data-action="undo-remove"><b>Undo</b></a></span>`),
-				grace_period/1000,
+			alert_message = __('{0} removed. {1}', [item_name, 
+				`<a href="#" data-action="undo-remove"><b>${__('Undo')}</b></a>`]);
+			alert = frappe.show_alert(alert_message, grace_period / 1000,
 				{
 					'undo-remove': undo_remove.bind(this)
 				}
diff --git a/erpnext/public/js/hub/pages/Item.vue b/erpnext/public/js/hub/pages/Item.vue
index 51ade42..93002a7 100644
--- a/erpnext/public/js/hub/pages/Item.vue
+++ b/erpnext/public/js/hub/pages/Item.vue
@@ -113,12 +113,12 @@
 
 			let stats = __('No views yet');
 			if (this.item.view_count) {
-				const views_message = __(`${this.item.view_count} Views`);
+				const views_message = __('{0} Views', [this.item.view_count]);
 
 				const rating_html = get_rating_html(this.item.average_rating);
 				const rating_count =
 					this.item.no_of_ratings > 0
-						? `${this.item.no_of_ratings} reviews`
+						? __('{0} reviews', [this.item.no_of_ratings])
 						: __('No reviews yet');
 
 				stats = [views_message, rating_html, rating_count];
@@ -310,7 +310,7 @@
 					return this.get_item_details();
 				})
 				.then(() => {
-					frappe.show_alert(__(`${this.item.item_name} Updated`));
+					frappe.show_alert(__('{0} Updated', [this.item.item_name]));
 				});
 		},
 
@@ -337,7 +337,7 @@
 		},
 
 		unpublish_item() {
-			frappe.confirm(__(`Unpublish {0}?`, [this.item.item_name]), () => {
+			frappe.confirm(__('Unpublish {0}?', [this.item.item_name]), () => {
 				frappe
 					.call('erpnext.hub_node.api.unpublish_item', {
 						item_code: this.item.item_code,
diff --git a/erpnext/public/js/hub/pages/NotFound.vue b/erpnext/public/js/hub/pages/NotFound.vue
index 246d31b..8901b97 100644
--- a/erpnext/public/js/hub/pages/NotFound.vue
+++ b/erpnext/public/js/hub/pages/NotFound.vue
@@ -27,7 +27,7 @@
 			},
 
 			// Constants
-			empty_state_message: __(`Sorry! I could not find what you were looking for.`)
+			empty_state_message: __('Sorry! We could not find what you were looking for.')
 		};
 	},
 }
diff --git a/erpnext/public/js/hub/pages/Publish.vue b/erpnext/public/js/hub/pages/Publish.vue
index 735f2b9..96fa0aa 100644
--- a/erpnext/public/js/hub/pages/Publish.vue
+++ b/erpnext/public/js/hub/pages/Publish.vue
@@ -75,14 +75,11 @@
 			// TODO: multiline translations don't work
 			page_title: __('Publish Items'),
 			search_placeholder: __('Search Items ...'),
-			empty_state_message: __(`No Items selected yet. Browse and click on items below to publish.`),
-			valid_items_instruction: __(`Only items with an image and description can be published. Please update them if an item in your inventory does not appear.`),
+			empty_state_message: __('No Items selected yet. Browse and click on items below to publish.'),
+			valid_items_instruction: __('Only items with an image and description can be published. Please update them if an item in your inventory does not appear.'),
 			last_sync_message: (hub.settings.last_sync_datetime)
-				? __(`Last sync was
-				<a href="#marketplace/profile">
-					${comment_when(hub.settings.last_sync_datetime)}</a>.
-				<a href="#marketplace/published-items">
-					See your Published Items</a>.`)
+				? __('Last sync was {0}.', [`<a href="#marketplace/profile">${comment_when(hub.settings.last_sync_datetime)}</a>`]) + 
+				  ` <a href="#marketplace/published-items">${__('See your Published Items.')}</a>`
 				: ''
 		};
 	},
@@ -147,11 +144,9 @@
 		},
 
 		add_last_sync_message() {
-			this.last_sync_message = __(`Last sync was
-				<a href="#marketplace/profile">
-					${comment_when(hub.settings.last_sync_datetime)}</a>.
-				<a href="#marketplace/published-items">
-					See your Published Items</a>.`);
+			this.last_sync_message = __('Last sync was {0}.',
+				[`<a href="#marketplace/profile">${comment_when(hub.settings.last_sync_datetime)}</a>`]
+			) + `<a href="#marketplace/published-items">${__('See your Published Items')}</a>.`;
 		},
 
 		clear_last_sync_message() {
diff --git a/erpnext/public/js/hub/pages/SavedItems.vue b/erpnext/public/js/hub/pages/SavedItems.vue
index c29675a..7007ddc 100644
--- a/erpnext/public/js/hub/pages/SavedItems.vue
+++ b/erpnext/public/js/hub/pages/SavedItems.vue
@@ -29,7 +29,7 @@
 
 			// Constants
 			page_title: __('Saved Items'),
-			empty_state_message: __(`You haven't saved any items yet.`)
+			empty_state_message: __('You have not saved any items yet.')
 		};
 	},
 	created() {
@@ -64,8 +64,13 @@
 
 			const item_name = this.items.filter(item => item.hub_item_name === hub_item_name);
 
-			alert = frappe.show_alert(__(`<span>${item_name} removed.
-				<a href="#" data-action="undo-remove"><b>Undo</b></a></span>`),
+			alert = frappe.show_alert(`
+				<span>
+					${__('{0} removed.', [item_name], 'A specific Item has been removed.')}
+					<a href="#" data-action="undo-remove">
+						<b>${__('Undo', None, 'Undo removal of item.')}</b>
+					</a>
+				</span>`,
 				grace_period/1000,
 				{
 					'undo-remove': undo_remove.bind(this)
diff --git a/erpnext/public/js/hub/pages/Search.vue b/erpnext/public/js/hub/pages/Search.vue
index 1032842..c10841e 100644
--- a/erpnext/public/js/hub/pages/Search.vue
+++ b/erpnext/public/js/hub/pages/Search.vue
@@ -42,7 +42,10 @@
 	computed: {
 		page_title() {
 			return this.items.length
-				? __(`Results for "${this.search_value}" ${this.category !== 'All'? `in category ${this.category}` : ''}`)
+				? __('Results for "{0}" {1}', [
+					this.search_value,
+					this.category !== 'All' ? __('in category {0}', [this.category]) : ''
+				  ])
 				: __('No Items found.');
 		}
 	},
diff --git a/erpnext/public/js/hub/pages/Seller.vue b/erpnext/public/js/hub/pages/Seller.vue
index e339eaa..c0903c6 100644
--- a/erpnext/public/js/hub/pages/Seller.vue
+++ b/erpnext/public/js/hub/pages/Seller.vue
@@ -136,7 +136,7 @@
 				this.init = false;
 				this.profile = data.profile;
 				this.items = data.items;
-				this.item_container_heading = data.is_featured_item? "Features Items":"Popular Items";
+				this.item_container_heading = data.is_featured_item ? __('Featured Items') : __('Popular Items');
 				this.hub_seller = this.items[0].hub_seller;
 				this.recent_seller_reviews = data.recent_seller_reviews;
 				this.seller_product_view_stats = data.seller_product_view_stats;
@@ -147,7 +147,7 @@
 
 				this.country = __(profile.country);
 				this.site_name = __(profile.site_name);
-				this.joined_when = __(`Joined ${comment_when(profile.creation)}`);
+				this.joined_when = __('Joined {0}', [comment_when(profile.creation)]);
 
 				this.image = profile.logo;
 				this.sections = [
diff --git a/erpnext/public/js/salary_slip_deductions_report_filters.js b/erpnext/public/js/salary_slip_deductions_report_filters.js
index 2b30e65..1ca3660 100644
--- a/erpnext/public/js/salary_slip_deductions_report_filters.js
+++ b/erpnext/public/js/salary_slip_deductions_report_filters.js
@@ -45,7 +45,7 @@
 		},
 		{
 			fieldname: "branch",
-			label: __("Barnch"),
+			label: __("Branch"),
 			fieldtype: "Link",
 			options: "Branch",
 		}
@@ -63,4 +63,4 @@
 			}
 		});
 	}
-}
\ No newline at end of file
+}
diff --git a/erpnext/public/js/setup_wizard.js b/erpnext/public/js/setup_wizard.js
index 5d21190..092f839 100644
--- a/erpnext/public/js/setup_wizard.js
+++ b/erpnext/public/js/setup_wizard.js
@@ -161,7 +161,10 @@
 						if(r.message){
 							exist = r.message;
 							me.get_field("bank_account").set_value("");
-							frappe.msgprint(__(`Account ${me.values.bank_account} already exists, enter a different name for your bank account`));
+							let message = __('Account {0} already exists. Please enter a different name for your bank account.',
+								[me.values.bank_account]
+							);
+							frappe.msgprint(message);
 						}
 					}
 				});
diff --git a/erpnext/public/js/telephony.js b/erpnext/public/js/telephony.js
new file mode 100644
index 0000000..bd7f890
--- /dev/null
+++ b/erpnext/public/js/telephony.js
@@ -0,0 +1,23 @@
+frappe.ui.form.ControlData = frappe.ui.form.ControlData.extend( {
+	make_input() {
+		this._super();
+		if (this.df.options == 'Phone') {
+			this.setup_phone();
+		}
+	},
+	setup_phone() {
+		if (frappe.phone_call.handler) {
+			this.$wrapper.find('.control-input')
+				.append(`
+					<span class="phone-btn">
+						<a class="btn-open no-decoration" title="${__('Make a call')}">
+							<i class="fa fa-phone"></i></a>
+					</span>
+				`)
+				.find('.phone-btn')
+				.click(() => {
+					frappe.phone_call.handler(this.get_value(), this.frm);
+				});
+		}
+	}
+});
\ No newline at end of file
diff --git a/erpnext/public/js/utils.js b/erpnext/public/js/utils.js
index ea2093e..891bbe5 100755
--- a/erpnext/public/js/utils.js
+++ b/erpnext/public/js/utils.js
@@ -539,7 +539,7 @@
 				fieldtype: "Table",
 				label: "Items",
 				cannot_add_rows: cannot_add_row,
-				in_place_edit: true,
+				in_place_edit: false,
 				reqd: 1,
 				data: this.data,
 				get_data: () => {
diff --git a/erpnext/regional/doctype/datev_settings/datev_settings.js b/erpnext/regional/doctype/datev_settings/datev_settings.js
index 69747b0..f047059 100644
--- a/erpnext/regional/doctype/datev_settings/datev_settings.js
+++ b/erpnext/regional/doctype/datev_settings/datev_settings.js
@@ -2,7 +2,7 @@
 // For license information, please see license.txt
 
 frappe.ui.form.on('DATEV Settings', {
-	// refresh: function(frm) {
-
-	// }
+	refresh: function(frm) {
+		frm.add_custom_button('Show Report', () => frappe.set_route('query-report', 'DATEV'), "fa fa-table");
+	}
 });
diff --git a/erpnext/regional/doctype/datev_settings/datev_settings.json b/erpnext/regional/doctype/datev_settings/datev_settings.json
index 39486df..713e8e3 100644
--- a/erpnext/regional/doctype/datev_settings/datev_settings.json
+++ b/erpnext/regional/doctype/datev_settings/datev_settings.json
@@ -1,4 +1,5 @@
 {
+ "actions": [],
  "autoname": "field:client",
  "creation": "2019-08-13 23:56:34.259906",
  "doctype": "DocType",
@@ -6,6 +7,7 @@
  "engine": "InnoDB",
  "field_order": [
   "client",
+  "account_number_length",
   "column_break_2",
   "client_number",
   "section_break_4",
@@ -28,8 +30,8 @@
    "fieldtype": "Data",
    "in_list_view": 1,
    "label": "Client ID",
-   "reqd": 1,
-   "length": 5
+   "length": 5,
+   "reqd": 1
   },
   {
    "fieldname": "consultant",
@@ -43,8 +45,8 @@
    "fieldtype": "Data",
    "in_list_view": 1,
    "label": "Consultant ID",
-   "reqd": 1,
-   "length": 7
+   "length": 7,
+   "reqd": 1
   },
   {
    "fieldname": "column_break_2",
@@ -57,9 +59,17 @@
   {
    "fieldname": "column_break_6",
    "fieldtype": "Column Break"
+  },
+  {
+   "default": "4",
+   "fieldname": "account_number_length",
+   "fieldtype": "Int",
+   "label": "Account Number Length",
+   "reqd": 1
   }
  ],
- "modified": "2019-08-14 00:03:26.616460",
+ "links": [],
+ "modified": "2020-11-05 17:52:11.674329",
  "modified_by": "Administrator",
  "module": "Regional",
  "name": "DATEV Settings",
@@ -104,4 +114,4 @@
  "sort_field": "modified",
  "sort_order": "DESC",
  "track_changes": 1
-}
+}
\ No newline at end of file
diff --git a/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py b/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py
index 787d557..68c8a0d 100644
--- a/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py
+++ b/erpnext/regional/doctype/gstr_3b_report/gstr_3b_report.py
@@ -192,19 +192,20 @@
 		for d in self.report_dict["itc_elg"]["itc_avl"]:
 
 			itc_type = itc_type_map.get(d["ty"])
-			gst_category = ["Registered Regular"]
 
 			if d["ty"] == 'ISRC':
-				reverse_charge = "Y"
+				reverse_charge = ["Y"]
 				itc_type = 'All Other ITC'
 				gst_category = ['Unregistered', 'Overseas']
 			else:
-				reverse_charge = "N"
+				gst_category = ['Unregistered', 'Overseas', 'Registered Regular']
+				reverse_charge = ["N", "Y"]
 
 			for account_head in self.account_heads:
 				for category in gst_category:
-					for key in [['iamt', 'igst_account'], ['camt', 'cgst_account'], ['samt', 'sgst_account'], ['csamt', 'cess_account']]:
-						d[key[0]] += flt(itc_details.get((category, itc_type, reverse_charge, account_head.get(key[1])), {}).get("amount"), 2)
+					for charge_type in reverse_charge:
+						for key in [['iamt', 'igst_account'], ['camt', 'cgst_account'], ['samt', 'sgst_account'], ['csamt', 'cess_account']]:
+							d[key[0]] += flt(itc_details.get((category, itc_type, charge_type, account_head.get(key[1])), {}).get("amount"), 2)
 
 			for key in ['iamt', 'camt', 'samt', 'csamt']:
 				net_itc[key] += flt(d[key], 2)
@@ -264,7 +265,8 @@
 
 	def get_itc_details(self):
 		itc_amount = frappe.db.sql("""
-			select s.gst_category, sum(t.tax_amount_after_discount_amount) as tax_amount, t.account_head, s.eligibility_for_itc, s.reverse_charge
+			select s.gst_category, sum(t.base_tax_amount_after_discount_amount) as tax_amount,
+			t.account_head, s.eligibility_for_itc, s.reverse_charge
 			from `tabPurchase Invoice` s , `tabPurchase Taxes and Charges` t
 			where s.docstatus = 1 and t.parent = s.name
 			and month(s.posting_date) = %s and year(s.posting_date) = %s and s.company = %s
@@ -387,7 +389,7 @@
 			tax_template = 'Purchase Taxes and Charges'
 
 		tax_amounts = frappe.db.sql("""
-			select s.gst_category, sum(t.tax_amount_after_discount_amount) as tax_amount, t.account_head
+			select s.gst_category, sum(t.base_tax_amount_after_discount_amount) as tax_amount, t.account_head
 			from `tab{doctype}` s , `tab{template}` t
 			where s.docstatus = 1 and t.parent = s.name and s.reverse_charge = %s
 			and month(s.posting_date) = %s and year(s.posting_date) = %s and s.company = %s
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/regional/doctype/uae_vat_account/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/regional/doctype/uae_vat_account/__init__.py
diff --git a/erpnext/regional/doctype/uae_vat_account/uae_vat_account.json b/erpnext/regional/doctype/uae_vat_account/uae_vat_account.json
new file mode 100644
index 0000000..73a8169
--- /dev/null
+++ b/erpnext/regional/doctype/uae_vat_account/uae_vat_account.json
@@ -0,0 +1,35 @@
+{
+ "actions": [],
+ "autoname": "account",
+ "creation": "2020-09-28 11:30:45.472053",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "account"
+ ],
+ "fields": [
+  {
+   "allow_in_quick_entry": 1,
+   "fieldname": "account",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "in_preview": 1,
+   "label": "Account",
+   "options": "Account"
+  }
+ ],
+ "index_web_pages_for_search": 1,
+ "istable": 1,
+ "links": [],
+ "modified": "2020-09-28 12:02:56.444007",
+ "modified_by": "Administrator",
+ "module": "Regional",
+ "name": "UAE VAT Account",
+ "owner": "Administrator",
+ "permissions": [],
+ "quick_entry": 1,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/regional/doctype/uae_vat_account/uae_vat_account.py b/erpnext/regional/doctype/uae_vat_account/uae_vat_account.py
new file mode 100644
index 0000000..80d6b3a
--- /dev/null
+++ b/erpnext/regional/doctype/uae_vat_account/uae_vat_account.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class UAEVATAccount(Document):
+	pass
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/regional/doctype/uae_vat_settings/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/regional/doctype/uae_vat_settings/__init__.py
diff --git a/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py b/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py
new file mode 100644
index 0000000..b88439f
--- /dev/null
+++ b/erpnext/regional/doctype/uae_vat_settings/test_uae_vat_settings.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+# import frappe
+import unittest
+
+class TestUAEVATSettings(unittest.TestCase):
+	pass
diff --git a/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.js b/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.js
new file mode 100644
index 0000000..07a9301
--- /dev/null
+++ b/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('UAE VAT Settings', {
+	// refresh: function(frm) {
+
+	// }
+});
diff --git a/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.json b/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.json
new file mode 100644
index 0000000..ce2c1d4
--- /dev/null
+++ b/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.json
@@ -0,0 +1,55 @@
+{
+ "actions": [],
+ "autoname": "field:company",
+ "creation": "2020-09-25 12:48:51.463265",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "company",
+  "uae_vat_accounts"
+ ],
+ "fields": [
+  {
+   "fieldname": "company",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Company",
+   "options": "Company",
+   "reqd": 1,
+   "unique": 1
+  },
+  {
+   "fieldname": "uae_vat_accounts",
+   "fieldtype": "Table",
+   "label": "UAE VAT Accounts",
+   "options": "UAE VAT Account",
+   "reqd": 1
+  }
+ ],
+ "index_web_pages_for_search": 1,
+ "links": [],
+ "modified": "2020-09-30 20:08:18.764798",
+ "modified_by": "Administrator",
+ "module": "Regional",
+ "name": "UAE VAT Settings",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "share": 1,
+   "write": 1
+  }
+ ],
+ "quick_entry": 1,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.py b/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.py
new file mode 100644
index 0000000..20dc604
--- /dev/null
+++ b/erpnext/regional/doctype/uae_vat_settings/uae_vat_settings.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class UAEVATSettings(Document):
+	pass
diff --git a/erpnext/regional/germany/accounts_controller.py b/erpnext/regional/germany/accounts_controller.py
index 193c8e1..5b2b31f 100644
--- a/erpnext/regional/germany/accounts_controller.py
+++ b/erpnext/regional/germany/accounts_controller.py
@@ -15,8 +15,7 @@
 		},
 		{
 			"field_name": "taxes",
-			"regulation": "§ 14 Abs. 4 Nr. 8 UStG",
-			"condition": "not exempt_from_sales_tax"
+			"regulation": "§ 14 Abs. 4 Nr. 8 UStG"
 		},
 		{
 			"field_name": "customer_address",
diff --git a/erpnext/regional/germany/utils/datev/datev_csv.py b/erpnext/regional/germany/utils/datev/datev_csv.py
index aae734f..f138a80 100644
--- a/erpnext/regional/germany/utils/datev/datev_csv.py
+++ b/erpnext/regional/germany/utils/datev/datev_csv.py
@@ -104,9 +104,9 @@
 		# L = Tax client number (Mandantennummer)
 		datev_settings.get('client_number', '00000'),
 		# M = Start of the fiscal year (Wirtschaftsjahresbeginn)
-		frappe.utils.formatdate(frappe.defaults.get_user_default('year_start_date'), 'yyyyMMdd'),
+		frappe.utils.formatdate(filters.get('fiscal_year_start'), 'yyyyMMdd'),
 		# N = Length of account numbers (Sachkontenlänge)
-		datev_settings.get('account_number_length', '4'),
+		str(filters.get('account_number_length', 4)),
 		# O = Transaction batch start date (YYYYMMDD)
 		frappe.utils.formatdate(filters.get('from_date'), 'yyyyMMdd') if csv_class.DATA_CATEGORY == DataCategory.TRANSACTIONS else '',
 		# P = Transaction batch end date (YYYYMMDD)
@@ -155,20 +155,22 @@
 	return header
 
 
-def download_csv_files_as_zip(csv_data_list):
+def zip_and_download(zip_filename, csv_files):
 	"""
 	Put CSV files in a zip archive and send that to the client.
 
 	Params:
-	csv_data_list -- list of dicts [{'file_name': 'EXTF_Buchunsstapel.zip', 'csv_data': get_datev_csv()}]
+	zip_filename	Name of the zip file
+	csv_files		list of dicts [{'file_name': 'my_file.csv', 'csv_data': 'comma,separated,values'}]
 	"""
 	zip_buffer = BytesIO()
 
-	datev_zip = zipfile.ZipFile(zip_buffer, mode='w', compression=zipfile.ZIP_DEFLATED)
-	for csv_file in csv_data_list:
-		datev_zip.writestr(csv_file.get('file_name'), csv_file.get('csv_data'))
-	datev_zip.close()
+	zip_file = zipfile.ZipFile(zip_buffer, mode='w', compression=zipfile.ZIP_DEFLATED)
+	for csv_file in csv_files:
+		zip_file.writestr(csv_file.get('file_name'), csv_file.get('csv_data'))
+
+	zip_file.close()
 
 	frappe.response['filecontent'] = zip_buffer.getvalue()
-	frappe.response['filename'] = 'DATEV.zip'
+	frappe.response['filename'] = zip_filename
 	frappe.response['type'] = 'binary'
diff --git a/erpnext/regional/india/taxes.js b/erpnext/regional/india/taxes.js
index 3b6a28f..b70b2ec 100644
--- a/erpnext/regional/india/taxes.js
+++ b/erpnext/regional/india/taxes.js
@@ -19,6 +19,7 @@
 				'shipping_address': frm.doc.shipping_address || '',
 				'shipping_address_name': frm.doc.shipping_address_name || '',
 				'customer_address': frm.doc.customer_address || '',
+				'supplier_address': frm.doc.supplier_address,
 				'customer': frm.doc.customer,
 				'supplier': frm.doc.supplier,
 				'supplier_gstin': frm.doc.supplier_gstin,
@@ -31,12 +32,12 @@
 				args: {
 					party_details: JSON.stringify(party_details),
 					doctype: frm.doc.doctype,
-					company: frm.doc.company,
-					return_taxes: 1
+					company: frm.doc.company
 				},
 				callback: function(r) {
 					if(r.message) {
 						frm.set_value('taxes_and_charges', r.message.taxes_and_charges);
+						frm.set_value('place_of_supply', r.message.place_of_supply);
 					} else if (frm.doc.is_internal_supplier || frm.doc.is_internal_customer) {
 						frm.set_value('taxes_and_charges', '');
 						frm.set_value('taxes', []);
diff --git a/erpnext/regional/india/utils.py b/erpnext/regional/india/utils.py
index dd87f0f..f8520c2 100644
--- a/erpnext/regional/india/utils.py
+++ b/erpnext/regional/india/utils.py
@@ -12,6 +12,7 @@
 from six import string_types
 from erpnext.accounts.general_ledger import make_gl_entries
 from erpnext.accounts.utils import get_account_currency
+from frappe.model.utils import get_fetch_values
 
 def validate_gstin_for_india(doc, method):
 	if hasattr(doc, 'gst_state') and doc.gst_state:
@@ -51,6 +52,13 @@
 			frappe.throw(_("Invalid GSTIN! First 2 digits of GSTIN should match with State number {0}.")
 				.format(doc.gst_state_number))
 
+def validate_tax_category(doc, method):
+	if doc.get('gst_state') and frappe.db.get_value('Tax category', {'gst_state': doc.gst_state, 'is_inter_state': doc.is_inter_state}):
+		if doc.is_inter_state:
+			frappe.throw(_("Inter State tax category for GST State {0} already exists").format(doc.gst_state))
+		else:
+			frappe.throw(_("Intra State tax category for GST State {0} already exists").format(doc.gst_state))
+
 def update_gst_category(doc, method):
 	for link in doc.links:
 		if link.link_doctype in ['Customer', 'Supplier']:
@@ -85,8 +93,7 @@
 		total += digit
 		factor = 2 if factor == 1 else 1
 	if gstin[-1] != code_point_chars[((mod - (total % mod)) % mod)]:
-		frappe.throw(_("""Invalid {0}! The check digit validation has failed.
-			Please ensure you've typed the {0} correctly.""".format(label)))
+		frappe.throw(_("""Invalid {0}! The check digit validation has failed. Please ensure you've typed the {0} correctly.""").format(label))
 
 def get_itemised_tax_breakup_header(item_doctype, tax_accounts):
 	if frappe.get_meta(item_doctype).has_field('gst_hsn_code'):
@@ -150,17 +157,19 @@
 			return cstr(address.gst_state_number) + "-" + cstr(address.gst_state)
 
 @frappe.whitelist()
-def get_regional_address_details(party_details, doctype, company, return_taxes=None):
+def get_regional_address_details(party_details, doctype, company):
 	if isinstance(party_details, string_types):
 		party_details = json.loads(party_details)
 		party_details = frappe._dict(party_details)
 
+	update_party_details(party_details, doctype)
+
 	party_details.place_of_supply = get_place_of_supply(party_details, doctype)
 
 	if is_internal_transfer(party_details, doctype):
 		party_details.taxes_and_charges = ''
 		party_details.taxes = ''
-		return
+		return party_details
 
 	if doctype in ("Sales Invoice", "Delivery Note", "Sales Order"):
 		master_doctype = "Sales Taxes and Charges Template"
@@ -168,26 +177,26 @@
 		get_tax_template_for_sez(party_details, master_doctype, company, 'Customer')
 		get_tax_template_based_on_category(master_doctype, company, party_details)
 
-		if party_details.get('taxes_and_charges') and return_taxes:
+		if party_details.get('taxes_and_charges'):
 			return party_details
 
 		if not party_details.company_gstin:
-			return
+			return party_details
 
 	elif doctype in ("Purchase Invoice", "Purchase Order", "Purchase Receipt"):
 		master_doctype = "Purchase Taxes and Charges Template"
 		get_tax_template_for_sez(party_details, master_doctype, company, 'Supplier')
 		get_tax_template_based_on_category(master_doctype, company, party_details)
 
-		if party_details.get('taxes_and_charges') and return_taxes:
+		if party_details.get('taxes_and_charges'):
 			return party_details
 
 		if not party_details.supplier_gstin:
-			return
+			return party_details
 
-	if not party_details.place_of_supply: return
+	if not party_details.place_of_supply: return party_details
 
-	if not party_details.company_gstin: return
+	if not party_details.company_gstin: return party_details
 
 	if ((doctype in ("Sales Invoice", "Delivery Note", "Sales Order") and party_details.company_gstin
 		and party_details.company_gstin[:2] != party_details.place_of_supply[:2]) or (doctype in ("Purchase Invoice",
@@ -197,12 +206,16 @@
 		default_tax = get_tax_template(master_doctype, company, 0, party_details.company_gstin[:2])
 
 	if not default_tax:
-		return
+		return party_details
 	party_details["taxes_and_charges"] = default_tax
 	party_details.taxes = get_taxes_and_charges(master_doctype, default_tax)
 
-	if return_taxes:
-		return party_details
+	return party_details
+
+def update_party_details(party_details, doctype):
+	for address_field in ['shipping_address', 'company_address', 'supplier_address', 'shipping_address_name', 'customer_address']:
+		if party_details.get(address_field):
+			party_details.update(get_fetch_values(doctype, address_field, party_details.get(address_field)))
 
 def is_internal_transfer(party_details, doctype):
 	if doctype in ("Sales Invoice", "Delivery Note", "Sales Order"):
@@ -236,7 +249,7 @@
 		if tax_category.gst_state == number_state_mapping[state_code] or \
 	 		(not default_tax and not tax_category.gst_state):
 			default_tax = frappe.db.get_value(master_doctype,
-				{'disabled': 0, 'tax_category': tax_category.name}, 'name')
+				{'company': company, 'disabled': 0, 'tax_category': tax_category.name}, 'name')
 	return default_tax
 
 def get_tax_template_for_sez(party_details, master_doctype, company, party_type):
@@ -517,6 +530,9 @@
 		data.actualToStateCode = data.toStateCode
 		shipping_address = billing_address
 
+	if doc.gst_category == 'SEZ':
+		data.toStateCode = 99
+
 	return data
 
 def get_item_list(data, doc):
@@ -752,4 +768,4 @@
 					}, account_currency, item=tax)
 				)
 
-	return gl_entries
\ No newline at end of file
+	return gl_entries
diff --git a/erpnext/regional/report/datev/datev.js b/erpnext/regional/report/datev/datev.js
index 55f12cf..4124e3d 100644
--- a/erpnext/regional/report/datev/datev.js
+++ b/erpnext/regional/report/datev/datev.js
@@ -11,14 +11,14 @@
 		{
 			"fieldname": "from_date",
 			"label": __("From Date"),
-			"default": frappe.datetime.month_start(),
+			"default": moment().subtract(1, 'month').startOf('month').format(),
 			"fieldtype": "Date",
 			"reqd": 1
 		},
 		{
 			"fieldname": "to_date",
 			"label": __("To Date"),
-			"default": frappe.datetime.now_date(),
+			"default": moment().subtract(1, 'month').endOf('month').format(),
 			"fieldtype": "Date",
 			"reqd": 1
 		},
@@ -30,9 +30,23 @@
 		}
 	],
 	onload: function(query_report) {
+		let company = frappe.query_report.get_filter_value('company');
+		frappe.db.exists('DATEV Settings', company).then((settings_exist) => {
+			if (!settings_exist) {
+				frappe.confirm(__('DATEV Settings for your Company are missing. Would you like to create them now?'),
+					() => frappe.new_doc('DATEV Settings', {'company': company})
+				);
+			}
+		});
+
 		query_report.page.add_menu_item(__("Download DATEV File"), () => {
 			const filters = JSON.stringify(query_report.get_values());
 			window.open(`/api/method/erpnext.regional.report.datev.datev.download_datev_csv?filters=${filters}`);
 		});
+
+		query_report.page.add_menu_item(__("Change DATEV Settings"), () => {
+			let company = frappe.query_report.get_filter_value('company'); // read company from filters again – it might have changed by now.
+			frappe.set_route('Form', 'DATEV Settings', company);
+		});
 	}
 };
diff --git a/erpnext/regional/report/datev/datev.py b/erpnext/regional/report/datev/datev.py
index dd818e6..1e39c57 100644
--- a/erpnext/regional/report/datev/datev.py
+++ b/erpnext/regional/report/datev/datev.py
@@ -11,9 +11,11 @@
 
 import json
 import frappe
-from frappe import _
 from six import string_types
-from erpnext.regional.germany.utils.datev.datev_csv import download_csv_files_as_zip, get_datev_csv
+
+from frappe import _
+from erpnext.accounts.utils import get_fiscal_year
+from erpnext.regional.germany.utils.datev.datev_csv import zip_and_download, get_datev_csv
 from erpnext.regional.germany.utils.datev.datev_constants import Transactions, DebtorsCreditors, AccountNames
 
 COLUMNS = [
@@ -92,25 +94,44 @@
 
 def execute(filters=None):
 	"""Entry point for frappe."""
-	validate(filters)
-	return COLUMNS, get_transactions(filters, as_dict=0)
+	data = []
+	if filters and validate(filters):
+		data = get_transactions(filters, as_dict=0)
+
+	return COLUMNS, data
 
 
 def validate(filters):
 	"""Make sure all mandatory filters and settings are present."""
-	if not filters.get('company'):
+	company = filters.get('company')
+	if not company:
 		frappe.throw(_('<b>Company</b> is a mandatory filter.'))
 
-	if not filters.get('from_date'):
+	from_date = filters.get('from_date')
+	if not from_date:
 		frappe.throw(_('<b>From Date</b> is a mandatory filter.'))
 
-	if not filters.get('to_date'):
+	to_date = filters.get('to_date')
+	if not to_date:
 		frappe.throw(_('<b>To Date</b> is a mandatory filter.'))
 
-	try:
-		frappe.get_doc('DATEV Settings', filters.get('company'))
-	except frappe.DoesNotExistError:
-		frappe.throw(_('Please create <b>DATEV Settings</b> for Company <b>{}</b>.').format(filters.get('company')))
+	validate_fiscal_year(from_date, to_date, company)
+
+	if not frappe.db.exists('DATEV Settings', filters.get('company')):
+		frappe.log_error(_('Please create {} for Company {}.').format(
+			'<a href="desk#List/DATEV%20Settings/List">{}</a>'.format(_('DATEV Settings')),
+			frappe.bold(filters.get('company'))
+		))
+		return False
+
+	return True
+
+
+def validate_fiscal_year(from_date, to_date, company):
+	from_fiscal_year = get_fiscal_year(date=from_date, company=company)
+	to_fiscal_year = get_fiscal_year(date=to_date, company=company)
+	if from_fiscal_year != to_fiscal_year:
+		frappe.throw(_('Dates {} and {} are not in the same fiscal year.').format(from_date, to_date))
 
 
 def get_transactions(filters, as_dict=1):
@@ -317,17 +338,24 @@
 		filters = json.loads(filters)
 
 	validate(filters)
+	company = filters.get('company')
+
+	fiscal_year = get_fiscal_year(date=filters.get('from_date'), company=company)
+	filters['fiscal_year_start'] = fiscal_year[1]
 
 	# set chart of accounts used
-	coa = frappe.get_value('Company', filters.get('company'), 'chart_of_accounts')
+	coa = frappe.get_value('Company', company, 'chart_of_accounts')
 	filters['skr'] = '04' if 'SKR04' in coa else ('03' if 'SKR03' in coa else '')
 
+	filters['account_number_length'] = frappe.get_value('DATEV Settings', company, 'account_number_length')
+
 	transactions = get_transactions(filters)
 	account_names = get_account_names(filters)
 	customers = get_customers(filters)
 	suppliers = get_suppliers(filters)
 
-	download_csv_files_as_zip([
+	zip_name = '{} DATEV.zip'.format(frappe.utils.datetime.date.today())
+	zip_and_download(zip_name, [
 		{
 			'file_name': 'EXTF_Buchungsstapel.csv',
 			'csv_data': get_datev_csv(transactions, filters, csv_class=Transactions)
diff --git a/erpnext/regional/report/gstr_1/gstr_1.py b/erpnext/regional/report/gstr_1/gstr_1.py
index 282efe4..8379297 100644
--- a/erpnext/regional/report/gstr_1/gstr_1.py
+++ b/erpnext/regional/report/gstr_1/gstr_1.py
@@ -78,7 +78,7 @@
 				place_of_supply = invoice_details.get("place_of_supply")
 				ecommerce_gstin =  invoice_details.get("ecommerce_gstin")
 
-				b2cs_output.setdefault((rate, place_of_supply, ecommerce_gstin),{
+				b2cs_output.setdefault((rate, place_of_supply, ecommerce_gstin, inv),{
 					"place_of_supply": "",
 					"ecommerce_gstin": "",
 					"rate": "",
@@ -90,7 +90,7 @@
 					"invoice_value": invoice_details.get("base_grand_total"),
 				})
 
-				row = b2cs_output.get((rate, place_of_supply, ecommerce_gstin))
+				row = b2cs_output.get((rate, place_of_supply, ecommerce_gstin, inv))
 				row["place_of_supply"] = place_of_supply
 				row["ecommerce_gstin"] = ecommerce_gstin
 				row["rate"] = rate
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/regional/report/uae_vat_201/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/regional/report/uae_vat_201/__init__.py
diff --git a/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py b/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py
new file mode 100644
index 0000000..daa6976
--- /dev/null
+++ b/erpnext/regional/report/uae_vat_201/test_uae_vat_201.py
@@ -0,0 +1,239 @@
+# coding=utf-8
+from __future__ import unicode_literals
+
+import erpnext
+import frappe
+from unittest import TestCase
+from erpnext.accounts.doctype.sales_invoice.test_sales_invoice import create_sales_invoice
+from erpnext.accounts.doctype.purchase_invoice.test_purchase_invoice import make_purchase_invoice
+from erpnext.stock.doctype.warehouse.test_warehouse import get_warehouse_account
+from erpnext.regional.report.uae_vat_201.uae_vat_201 import (
+	get_total_emiratewise,
+	get_tourist_tax_return_total,
+	get_tourist_tax_return_tax,
+	get_zero_rated_total,
+	get_exempt_total,
+	get_standard_rated_expenses_total,
+	get_standard_rated_expenses_tax,
+)
+
+test_dependencies = ["Territory", "Customer Group", "Supplier Group", "Item"]
+
+class TestUaeVat201(TestCase):
+	def setUp(self):
+		frappe.set_user("Administrator")
+
+		frappe.db.sql("delete from `tabSales Invoice` where company='_Test Company UAE VAT'")
+		frappe.db.sql("delete from `tabPurchase Invoice` where company='_Test Company UAE VAT'")
+
+		make_company("_Test Company UAE VAT", "_TCUV")
+		set_vat_accounts()
+
+		make_customer()
+
+		make_supplier()
+
+		create_warehouse("_Test UAE VAT Supplier Warehouse", company="_Test Company UAE VAT")
+
+		make_item("_Test UAE VAT Item", properties = {"is_zero_rated": 0, "is_exempt": 0})
+		make_item("_Test UAE VAT Zero Rated Item", properties = {"is_zero_rated": 1, "is_exempt": 0})
+		make_item("_Test UAE VAT Exempt Item", properties = {"is_zero_rated": 0, "is_exempt": 1})
+
+		make_sales_invoices()
+
+		create_purchase_invoices()
+
+	def test_uae_vat_201_report(self):
+		filters = {"company": "_Test Company UAE VAT"}
+		total_emiratewise = get_total_emiratewise(filters)
+		amounts_by_emirate = {}
+		for data in total_emiratewise:
+			emirate, amount, vat = data
+			amounts_by_emirate[emirate] = {
+				"raw_amount": amount,
+				"raw_vat_amount": vat,
+			}
+		self.assertEqual(amounts_by_emirate["Sharjah"]["raw_amount"],100)
+		self.assertEqual(amounts_by_emirate["Sharjah"]["raw_vat_amount"],5)
+		self.assertEqual(amounts_by_emirate["Dubai"]["raw_amount"],200)
+		self.assertEqual(amounts_by_emirate["Dubai"]["raw_vat_amount"],10)
+		self.assertEqual(get_tourist_tax_return_total(filters),100)
+		self.assertEqual(get_tourist_tax_return_tax(filters),2)
+		self.assertEqual(get_zero_rated_total(filters),100)
+		self.assertEqual(get_exempt_total(filters),100)
+		self.assertEqual(get_standard_rated_expenses_total(filters),250)
+		self.assertEqual(get_standard_rated_expenses_tax(filters),1)
+
+def make_company(company_name, abbr):
+	if not frappe.db.exists("Company", company_name):
+		company = frappe.get_doc({
+			"doctype": "Company",
+			"company_name": company_name,
+			"abbr": abbr,
+			"default_currency": "AED",
+			"country": "United Arab Emirates",
+			"create_chart_of_accounts_based_on": "Standard Template",
+		})
+		company.insert()
+	else:
+		company = frappe.get_doc("Company", company_name)
+
+	company.create_default_warehouses()
+
+	if not frappe.db.get_value("Cost Center", {"is_group": 0, "company": company.name}):
+		company.create_default_cost_center()
+
+	company.save()
+	return company
+
+def set_vat_accounts():
+	if not frappe.db.exists("UAE VAT Settings", "_Test Company UAE VAT"):
+		vat_accounts = frappe.get_all(
+			"Account",
+			fields=["name"],
+			filters = {
+				"company": "_Test Company UAE VAT",
+				"is_group": 0,
+				"account_type": "Tax"
+			}
+		)
+
+		uae_vat_accounts = []
+		for account in vat_accounts:
+			uae_vat_accounts.append({
+				"doctype": "UAE VAT Account",
+				"account": account.name
+			})
+
+		frappe.get_doc({
+			"company": "_Test Company UAE VAT",
+			"uae_vat_accounts": uae_vat_accounts,
+			"doctype": "UAE VAT Settings",
+		}).insert()
+
+def make_customer():
+	if not frappe.db.exists("Customer", "_Test UAE Customer"):
+		customer = frappe.get_doc({
+			"doctype": "Customer",
+			"customer_name": "_Test UAE Customer",
+			"customer_type": "Company",
+		})
+		customer.insert()
+	else:
+		customer = frappe.get_doc("Customer", "_Test UAE Customer")
+
+def make_supplier():
+	if not frappe.db.exists("Supplier", "_Test UAE Supplier"):
+		frappe.get_doc({
+			"supplier_group": "Local",
+			"supplier_name": "_Test UAE Supplier",
+			"supplier_type": "Individual",
+			"doctype": "Supplier",
+		}).insert()
+
+def create_warehouse(warehouse_name, properties=None, company=None):
+	if not company:
+		company = "_Test Company"
+
+	warehouse_id = erpnext.encode_company_abbr(warehouse_name, company)
+	if not frappe.db.exists("Warehouse", warehouse_id):
+		warehouse = frappe.new_doc("Warehouse")
+		warehouse.warehouse_name = warehouse_name
+		warehouse.parent_warehouse = "All Warehouses - _TCUV"
+		warehouse.company = company
+		warehouse.account = get_warehouse_account(warehouse_name, company)
+		if properties:
+			warehouse.update(properties)
+		warehouse.save()
+		return warehouse.name
+	else:
+		return warehouse_id
+
+def make_item(item_code, properties=None):
+	if frappe.db.exists("Item", item_code):
+		return frappe.get_doc("Item", item_code)
+
+	item = frappe.get_doc({
+		"doctype": "Item",
+		"item_code": item_code,
+		"item_name": item_code,
+		"description": item_code,
+		"item_group": "Products"
+	})
+
+	if properties:
+		item.update(properties)
+
+	item.insert()
+
+	return item
+
+def make_sales_invoices():
+	def make_sales_invoices_wrapper(emirate, item, tax = True, tourist_tax= False):
+		si = create_sales_invoice(
+			company="_Test Company UAE VAT",
+			customer = '_Test UAE Customer',
+			currency = 'AED',
+			warehouse = 'Finished Goods - _TCUV',
+			debit_to = 'Debtors - _TCUV',
+			income_account = 'Sales - _TCUV',
+			expense_account = 'Cost of Goods Sold - _TCUV',
+			cost_center = 'Main - _TCUV',
+			item = item,
+			do_not_save=1
+		)
+		si.vat_emirate = emirate
+		if tax:
+			si.append(
+				"taxes", {
+					"charge_type": "On Net Total",
+					"account_head": "VAT 5% - _TCUV",
+					"cost_center": "Main - _TCUV",
+					"description": "VAT 5% @ 5.0",
+					"rate": 5.0
+				}
+			)
+		if tourist_tax:
+			si.tourist_tax_return = 2
+		si.submit()
+
+	#Define Item Names
+	uae_item = "_Test UAE VAT Item"
+	uae_exempt_item = "_Test UAE VAT Exempt Item"
+	uae_zero_rated_item = "_Test UAE VAT Zero Rated Item"
+
+	#Sales Invoice with standard rated expense in Dubai
+	make_sales_invoices_wrapper('Dubai', uae_item)
+	#Sales Invoice with standard rated expense in Sharjah
+	make_sales_invoices_wrapper('Sharjah', uae_item)
+	#Sales Invoice with Tourist Tax Return
+	make_sales_invoices_wrapper('Dubai', uae_item, True, True)
+	#Sales Invoice with Exempt Item
+	make_sales_invoices_wrapper('Sharjah', uae_exempt_item, False)
+	#Sales Invoice with Zero Rated Item
+	make_sales_invoices_wrapper('Sharjah', uae_zero_rated_item, False)
+
+def create_purchase_invoices():
+	pi = make_purchase_invoice(
+		company="_Test Company UAE VAT",
+		supplier = '_Test UAE Supplier',
+		supplier_warehouse = '_Test UAE VAT Supplier Warehouse - _TCUV',
+		warehouse = '_Test UAE VAT Supplier Warehouse - _TCUV',
+		currency = 'AED',
+		cost_center = 'Main - _TCUV',
+		expense_account = 'Cost of Goods Sold - _TCUV',
+		item = "_Test UAE VAT Item",
+		do_not_save=1,
+		uom = "Nos"
+	)
+	pi.append("taxes", {
+		"charge_type": "On Net Total",
+		"account_head": "VAT 5% - _TCUV",
+		"cost_center": "Main - _TCUV",
+		"description": "VAT 5% @ 5.0",
+		"rate": 5.0
+	})
+
+	pi.recoverable_standard_rated_expenses = 1
+
+	pi.submit()
diff --git a/erpnext/regional/report/uae_vat_201/uae_vat_201.html b/erpnext/regional/report/uae_vat_201/uae_vat_201.html
new file mode 100644
index 0000000..d9b9968
--- /dev/null
+++ b/erpnext/regional/report/uae_vat_201/uae_vat_201.html
@@ -0,0 +1,77 @@
+{%
+	var report_columns = report.get_columns_for_print();
+	report_columns = report_columns.filter(col => !col.hidden);
+%}
+<style>
+	.print-format {
+		padding: 10mm;
+		font-size: 8.0pt !important;
+		font-family: Tahoma, sans-serif;
+	}
+</style>
+
+<h1  style="margin-top:0; text-align: center;">{%= __(report.report_name) %}</h1>
+
+<h3  style="margin-top:0; font-weight:500">{%= __("VAT on Sales and All Other Outputs") %}</h2>
+
+<table class="table table-bordered">
+
+    <thead>
+        <th style="width: 13">{%= report_columns[0].label %}</th>
+        <th style="width: {%= 100 - (report_columns.length - 1) * 13%}%">{%= report_columns[1].label %}</th>
+
+        {% for (let i=2; i<report_columns.length; i++) { %}
+            <th style="width: 13">{%= report_columns[i].label %}</th>
+        {% } %}
+    </thead>
+
+    <tbody>
+        {% for (let j=1; j<12; j++)  { %}
+        {%
+            var row = data[j];
+        %}
+        <tr >
+            {% for (let i=0; i<report_columns.length; i++) { %}
+                <td >
+                    {% const fieldname = report_columns[i].fieldname; %}
+                    {% if (!is_null(row[fieldname])) { %}
+                        {%= frappe.format(row[fieldname], report_columns[i], {}, row) %}
+                    {% } %}
+                </td>
+            {% } %}
+        </tr>
+        {% } %}
+    </tbody>
+</table>
+
+<h3 style="margin-top:0; font-weight:500">{%= __("VAT on Expenses and All Other Inputs") %}</h2>
+
+<table  class="table table-bordered">
+    <thead>
+        <th style="width: 13">{%= report_columns[0].label %}</th>
+        <th style="width: {%= 100 - (report_columns.length - 1) * 13%}%">{%= report_columns[1].label %}</th>
+
+        {% for (let i=2; i<report_columns.length; i++) { %}
+            <th style="width: 13">{%= report_columns[i].label %}</th>
+        {% } %}
+    </thead>
+
+    <tbody>
+        {% for (let j=14; j<data.length; j++)  { %}
+        {%
+            var row = data[j];
+        %}
+        <tr >
+            {% for (let i=0; i<report_columns.length; i++) { %}
+                <td >
+                    {% const fieldname = report_columns[i].fieldname; %}
+                    {% if (!is_null(row[fieldname])) { %}
+                        {%= frappe.format(row[fieldname], report_columns[i], {}, row) %}
+                    {% } %}
+                </td>
+            {% } %}
+        </tr>
+        {% } %}
+    </tbody>
+
+</table>
\ No newline at end of file
diff --git a/erpnext/regional/report/uae_vat_201/uae_vat_201.js b/erpnext/regional/report/uae_vat_201/uae_vat_201.js
new file mode 100644
index 0000000..5957424
--- /dev/null
+++ b/erpnext/regional/report/uae_vat_201/uae_vat_201.js
@@ -0,0 +1,40 @@
+// Copyright (c) 2016, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+/* eslint-disable */
+
+frappe.query_reports["UAE VAT 201"] = {
+	"filters": [
+		{
+			"fieldname": "company",
+			"label": __("Company"),
+			"fieldtype": "Link",
+			"options": "Company",
+			"reqd": 1,
+			"default": frappe.defaults.get_user_default("Company")
+		},
+		{
+			"fieldname": "from_date",
+			"label": __("From Date"),
+			"fieldtype": "Date",
+			"reqd": 1,
+			"default": frappe.datetime.add_months(frappe.datetime.get_today(), -3),
+		},
+		{
+			"fieldname": "to_date",
+			"label": __("To Date"),
+			"fieldtype": "Date",
+			"reqd": 1,
+			"default": frappe.datetime.get_today()
+		},
+	],
+	"formatter": function(value, row, column, data, default_formatter) {
+		if (data
+			&& (data.legend=='VAT on Sales and All Other Outputs' || data.legend=='VAT on Expenses and All Other Inputs')
+			&& data.legend==value) {
+			value = $(`<span>${value}</span>`);
+			var $value = $(value).css("font-weight", "bold");
+			value = $value.wrap("<p></p>").parent().html();
+		}
+		return value;
+	},
+};
diff --git a/erpnext/regional/report/uae_vat_201/uae_vat_201.json b/erpnext/regional/report/uae_vat_201/uae_vat_201.json
new file mode 100644
index 0000000..8a88bcd
--- /dev/null
+++ b/erpnext/regional/report/uae_vat_201/uae_vat_201.json
@@ -0,0 +1,22 @@
+{
+ "add_total_row": 0,
+ "columns": [],
+ "creation": "2020-09-10 08:51:02.298482",
+ "disable_prepared_report": 0,
+ "disabled": 0,
+ "docstatus": 0,
+ "doctype": "Report",
+ "filters": [],
+ "idx": 0,
+ "is_standard": "Yes",
+ "modified": "2020-09-10 08:51:02.298482",
+ "modified_by": "Administrator",
+ "module": "Regional",
+ "name": "UAE VAT 201",
+ "owner": "Administrator",
+ "prepared_report": 0,
+ "ref_doctype": "GL Entry",
+ "report_name": "UAE VAT 201",
+ "report_type": "Script Report",
+ "roles": []
+}
\ No newline at end of file
diff --git a/erpnext/regional/report/uae_vat_201/uae_vat_201.py b/erpnext/regional/report/uae_vat_201/uae_vat_201.py
new file mode 100644
index 0000000..b061423
--- /dev/null
+++ b/erpnext/regional/report/uae_vat_201/uae_vat_201.py
@@ -0,0 +1,339 @@
+# Copyright (c) 2013, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe import _
+
+def execute(filters=None):
+	columns = get_columns()
+	data, emirates, amounts_by_emirate = get_data(filters)
+	return columns, data
+
+def get_columns():
+	"""Creates a list of dictionaries that are used to generate column headers of the data table."""
+	return [
+		{
+			"fieldname": "no",
+			"label": _("No"),
+			"fieldtype": "Data",
+			"width": 50
+		},
+		{
+			"fieldname": "legend",
+			"label": _("Legend"),
+			"fieldtype": "Data",
+			"width": 300
+		},
+		{
+			"fieldname": "amount",
+			"label": _("Amount (AED)"),
+			"fieldtype": "Currency",
+			"width": 125,
+		},
+		{
+			"fieldname": "vat_amount",
+			"label": _("VAT Amount (AED)"),
+			"fieldtype": "Currency",
+			"width": 150,
+		}
+	]
+
+def get_data(filters = None):
+	"""Returns the list of dictionaries. Each dictionary is a row in the datatable and chart data."""
+	data = []
+	emirates, amounts_by_emirate = append_vat_on_sales(data, filters)
+	append_vat_on_expenses(data, filters)
+	return data, emirates, amounts_by_emirate
+
+def append_vat_on_sales(data, filters):
+	"""Appends Sales and All Other Outputs."""
+	append_data(data, '', _('VAT on Sales and All Other Outputs'), '', '')
+
+	emirates, amounts_by_emirate = standard_rated_expenses_emiratewise(data, filters)
+
+	append_data(data, '2',
+		 _('Tax Refunds provided to Tourists under the Tax Refunds for Tourists Scheme'),
+		frappe.format((-1) * get_tourist_tax_return_total(filters), 'Currency'),
+		frappe.format((-1) * get_tourist_tax_return_tax(filters), 'Currency'))
+
+	append_data(data, '3', _('Supplies subject to the reverse charge provision'),
+		frappe.format(get_reverse_charge_total(filters), 'Currency'),
+		frappe.format(get_reverse_charge_tax(filters), 'Currency'))
+
+	append_data(data, '4', _('Zero Rated'),
+		frappe.format(get_zero_rated_total(filters), 'Currency'), "-")
+
+	append_data(data, '5', _('Exempt Supplies'),
+		frappe.format(get_exempt_total(filters), 'Currency'),"-")
+
+	append_data(data, '', '', '', '')
+
+	return emirates, amounts_by_emirate
+
+def standard_rated_expenses_emiratewise(data, filters):
+	"""Append emiratewise standard rated expenses and vat."""
+	total_emiratewise = get_total_emiratewise(filters)
+	emirates = get_emirates()
+	amounts_by_emirate = {}
+	for emirate, amount, vat in total_emiratewise:
+		amounts_by_emirate[emirate] = {
+			"legend": emirate,
+			"raw_amount": amount,
+			"raw_vat_amount": vat,
+			"amount": frappe.format(amount, 'Currency'),
+			"vat_amount": frappe.format(vat, 'Currency'),
+		}
+	amounts_by_emirate = append_emiratewise_expenses(data, emirates, amounts_by_emirate)
+	return emirates, amounts_by_emirate
+
+def append_emiratewise_expenses(data, emirates, amounts_by_emirate):
+	"""Append emiratewise standard rated expenses and vat."""
+	for no, emirate in enumerate(emirates, 97):
+		if emirate in amounts_by_emirate:
+			amounts_by_emirate[emirate]["no"] = _('1{0}').format(chr(no))
+			amounts_by_emirate[emirate]["legend"] = _('Standard rated supplies in {0}').format(emirate)
+			data.append(amounts_by_emirate[emirate])
+		else:
+			append_data(data, _('1{0}').format(chr(no)),
+				_('Standard rated supplies in {0}').format(emirate),
+				frappe.format(0, 'Currency'), frappe.format(0, 'Currency'))
+	return amounts_by_emirate
+
+def append_vat_on_expenses(data, filters):
+	"""Appends Expenses and All Other Inputs."""
+	append_data(data, '', _('VAT on Expenses and All Other Inputs'), '', '')
+	append_data(data, '9', _('Standard Rated Expenses'),
+		frappe.format(get_standard_rated_expenses_total(filters), 'Currency'),
+		frappe.format(get_standard_rated_expenses_tax(filters), 'Currency'))
+	append_data(data, '10', _('Supplies subject to the reverse charge provision'),
+		frappe.format(get_reverse_charge_recoverable_total(filters), 'Currency'),
+		frappe.format(get_reverse_charge_recoverable_tax(filters), 'Currency'))
+
+def append_data(data, no, legend, amount, vat_amount):
+	"""Returns data with appended value."""
+	data.append({"no": no, "legend":legend, "amount": amount, "vat_amount": vat_amount})
+
+def get_total_emiratewise(filters):
+	"""Returns Emiratewise Amount and Taxes."""
+	conditions = get_conditions(filters)
+	try:
+		return frappe.db.sql("""
+			select
+				s.vat_emirate as emirate, sum(i.base_amount) as total, sum(s.total_taxes_and_charges)
+			from
+				`tabSales Invoice Item` i inner join `tabSales Invoice` s
+			on
+				i.parent = s.name
+			where
+				s.docstatus = 1 and  i.is_exempt != 1 and i.is_zero_rated != 1
+				{where_conditions}
+			group by
+				s.vat_emirate;
+			""".format(where_conditions=conditions), filters)
+	except (IndexError, TypeError):
+		return 0
+
+def get_emirates():
+	"""Returns a List of emirates in the order that they are to be displayed."""
+	return [
+		'Abu Dhabi',
+		'Dubai',
+		'Sharjah',
+		'Ajman',
+		'Umm Al Quwain',
+		'Ras Al Khaimah',
+		'Fujairah'
+	]
+
+def get_filters(filters):
+	"""The conditions to be used to filter data to calculate the total sale."""
+	query_filters = []
+	if filters.get("company"):
+		query_filters.append(["company", '=', filters['company']])
+	if filters.get("from_date"):
+		query_filters.append(["posting_date", '>=', filters['from_date']])
+	if filters.get("from_date"):
+		query_filters.append(["posting_date", '<=', filters['to_date']])
+	return query_filters
+
+def get_reverse_charge_total(filters):
+	"""Returns the sum of the total of each Purchase invoice made."""
+	query_filters = get_filters(filters)
+	query_filters.append(['reverse_charge', '=', 'Y'])
+	query_filters.append(['docstatus', '=', 1])
+	try:
+		return frappe.db.get_all('Purchase Invoice',
+			filters = query_filters,
+			fields = ['sum(total)'],
+			as_list=True,
+			limit = 1
+		)[0][0] or 0
+	except (IndexError, TypeError):
+		return 0
+
+def get_reverse_charge_tax(filters):
+	"""Returns the sum of the tax of each Purchase invoice made."""
+	conditions = get_conditions_join(filters)
+	return frappe.db.sql("""
+		select sum(debit)  from
+			`tabPurchase Invoice` p inner join `tabGL Entry` gl
+		on
+			gl.voucher_no =  p.name
+		where
+			p.reverse_charge = "Y"
+			and p.docstatus = 1
+			and gl.docstatus = 1
+			and account in (select account from `tabUAE VAT Account` where  parent=%(company)s)
+			{where_conditions} ;
+		""".format(where_conditions=conditions), filters)[0][0] or 0
+
+def get_reverse_charge_recoverable_total(filters):
+	"""Returns the sum of the total of each Purchase invoice made with recoverable reverse charge."""
+	query_filters = get_filters(filters)
+	query_filters.append(['reverse_charge', '=', 'Y'])
+	query_filters.append(['recoverable_reverse_charge', '>', '0'])
+	query_filters.append(['docstatus', '=', 1])
+	try:
+		return frappe.db.get_all('Purchase Invoice',
+			filters = query_filters,
+			fields = ['sum(total)'],
+			as_list=True,
+			limit = 1
+		)[0][0] or 0
+	except (IndexError, TypeError):
+		return 0
+
+def get_reverse_charge_recoverable_tax(filters):
+	"""Returns the sum of the tax of each Purchase invoice made."""
+	conditions = get_conditions_join(filters)
+	return frappe.db.sql("""
+		select
+			sum(debit * p.recoverable_reverse_charge / 100)
+		from
+			`tabPurchase Invoice` p  inner join `tabGL Entry` gl
+		on
+			gl.voucher_no = p.name
+		where
+			p.reverse_charge = "Y"
+			and p.docstatus = 1
+			and p.recoverable_reverse_charge > 0
+			and gl.docstatus = 1
+			and account in (select account from `tabUAE VAT Account` where  parent=%(company)s)
+			{where_conditions} ;
+		""".format(where_conditions=conditions), filters)[0][0] or 0
+
+def get_conditions_join(filters):
+	"""The conditions to be used to filter data to calculate the total vat."""
+	conditions = ""
+	for opts in (("company", " and p.company=%(company)s"),
+		("from_date", " and p.posting_date>=%(from_date)s"),
+		("to_date", " and p.posting_date<=%(to_date)s")):
+		if filters.get(opts[0]):
+			conditions += opts[1]
+	return conditions
+
+def get_standard_rated_expenses_total(filters):
+	"""Returns the sum of the total of each Purchase invoice made with recoverable reverse charge."""
+	query_filters = get_filters(filters)
+	query_filters.append(['recoverable_standard_rated_expenses', '>', 0])
+	query_filters.append(['docstatus', '=', 1])
+	try:
+		return frappe.db.get_all('Purchase Invoice',
+			filters = query_filters,
+			fields = ['sum(total)'],
+			as_list=True,
+			limit = 1
+		)[0][0]  or 0
+	except (IndexError, TypeError):
+		return 0
+
+def get_standard_rated_expenses_tax(filters):
+	"""Returns the sum of the tax of each Purchase invoice made."""
+	query_filters = get_filters(filters)
+	query_filters.append(['recoverable_standard_rated_expenses', '>', 0])
+	query_filters.append(['docstatus', '=', 1])
+	try:
+		return frappe.db.get_all('Purchase Invoice',
+			filters = query_filters,
+			fields = ['sum(recoverable_standard_rated_expenses)'],
+			as_list=True,
+			limit = 1
+		)[0][0]  or 0
+	except (IndexError, TypeError):
+		return 0
+
+def get_tourist_tax_return_total(filters):
+	"""Returns the sum of the total of each Sales invoice with non zero tourist_tax_return."""
+	query_filters = get_filters(filters)
+	query_filters.append(['tourist_tax_return', '>', 0])
+	query_filters.append(['docstatus', '=', 1])
+	try:
+		return frappe.db.get_all('Sales Invoice',
+			filters = query_filters,
+			fields = ['sum(total)'],
+			as_list=True,
+			limit = 1
+		)[0][0]  or 0
+	except (IndexError, TypeError):
+		return 0
+
+def get_tourist_tax_return_tax(filters):
+	"""Returns the sum of the tax of each Sales invoice with non zero tourist_tax_return."""
+	query_filters = get_filters(filters)
+	query_filters.append(['tourist_tax_return', '>', 0])
+	query_filters.append(['docstatus', '=', 1])
+	try:
+		return frappe.db.get_all('Sales Invoice',
+			filters = query_filters,
+			fields = ['sum(tourist_tax_return)'],
+			as_list=True,
+			limit = 1
+		)[0][0]  or 0
+	except (IndexError, TypeError):
+		return 0
+
+def get_zero_rated_total(filters):
+	"""Returns the sum of each Sales Invoice Item Amount which is zero rated."""
+	conditions = get_conditions(filters)
+	try:
+		return frappe.db.sql("""
+			select
+				sum(i.base_amount) as total
+			from
+				`tabSales Invoice Item` i inner join `tabSales Invoice` s
+			on
+				i.parent = s.name
+			where
+				s.docstatus = 1 and  i.is_zero_rated = 1
+				{where_conditions} ;
+			""".format(where_conditions=conditions), filters)[0][0] or 0
+	except (IndexError, TypeError):
+		return 0
+
+def get_exempt_total(filters):
+	"""Returns the sum of each Sales Invoice Item Amount which is Vat Exempt."""
+	conditions = get_conditions(filters)
+	try:
+		return frappe.db.sql("""
+			select
+				sum(i.base_amount) as total
+			from
+				`tabSales Invoice Item` i inner join `tabSales Invoice` s
+			on
+				i.parent = s.name
+			where
+				s.docstatus = 1 and  i.is_exempt = 1
+				{where_conditions} ;
+			""".format(where_conditions=conditions), filters)[0][0] or 0
+	except (IndexError, TypeError):
+		return 0
+def get_conditions(filters):
+	"""The conditions to be used to filter data to calculate the total sale."""
+	conditions = ""
+	for opts in (("company", " and company=%(company)s"),
+		("from_date", " and posting_date>=%(from_date)s"),
+		("to_date", " and posting_date<=%(to_date)s")):
+		if filters.get(opts[0]):
+			conditions += opts[1]
+	return conditions
diff --git a/erpnext/regional/united_arab_emirates/setup.py b/erpnext/regional/united_arab_emirates/setup.py
index 250659e..013ae5c 100644
--- a/erpnext/regional/united_arab_emirates/setup.py
+++ b/erpnext/regional/united_arab_emirates/setup.py
@@ -5,24 +5,30 @@
 
 import frappe, os, json
 from frappe.custom.doctype.custom_field.custom_field import create_custom_fields
+from frappe.permissions import add_permission, update_permission_property
 from erpnext.setup.setup_wizard.operations.taxes_setup import create_sales_tax
 
 def setup(company=None, patch=True):
 	make_custom_fields()
 	add_print_formats()
-
+	add_custom_roles_for_reports()
+	add_permissions()
 	if company:
 		create_sales_tax(company)
 
 def make_custom_fields():
+	is_zero_rated = dict(fieldname='is_zero_rated', label='Is Zero Rated',
+		fieldtype='Check', fetch_from='item_code.is_zero_rated', insert_after='description',
+		print_hide=1)
+	is_exempt = dict(fieldname='is_exempt', label='Is Exempt',
+		fieldtype='Check', fetch_from='item_code.is_exempt', insert_after='is_zero_rated',
+		print_hide=1)
+
 	invoice_fields = [
 		dict(fieldname='vat_section', label='VAT Details', fieldtype='Section Break',
 			insert_after='group_same_items', print_hide=1, collapsible=1),
 		dict(fieldname='permit_no', label='Permit Number',
 			fieldtype='Data', insert_after='vat_section', print_hide=1),
-		dict(fieldname='reverse_charge_applicable', label='Reverse Charge Applicable',
-			fieldtype='Select', insert_after='permit_no', print_hide=1,
-			options='Y\nN', default='N')
 	]
 
 	purchase_invoice_fields = [
@@ -31,7 +37,16 @@
 				fetch_from='company.tax_id', print_hide=1),
 			dict(fieldname='supplier_name_in_arabic', label='Supplier Name in Arabic',
 				fieldtype='Read Only', insert_after='supplier_name',
-				fetch_from='supplier.supplier_name_in_arabic', print_hide=1)
+				fetch_from='supplier.supplier_name_in_arabic', print_hide=1),
+			dict(fieldname='recoverable_standard_rated_expenses', print_hide=1, default='0',
+				label='Recoverable Standard Rated Expenses (AED)', insert_after='permit_no',
+				fieldtype='Currency', ),
+			dict(fieldname='reverse_charge', label='Reverse Charge Applicable',
+				fieldtype='Select', insert_after='recoverable_standard_rated_expenses', print_hide=1,
+				options='Y\nN', default='N'),
+			dict(fieldname='recoverable_reverse_charge', label='Recoverable Reverse Charge (Percentage)',
+				insert_after='reverse_charge', fieldtype='Percent', print_hide=1,
+				depends_on="eval:doc.reverse_charge=='Y'", default='100.000'),
 		]
 
 	sales_invoice_fields = [
@@ -41,6 +56,11 @@
 			dict(fieldname='customer_name_in_arabic', label='Customer Name in Arabic',
 				fieldtype='Read Only', insert_after='customer_name',
 				fetch_from='customer.customer_name_in_arabic', print_hide=1),
+			dict(fieldname='vat_emirate', label='VAT Emirate', insert_after='permit_no', fieldtype='Select',
+				options='\nAbu Dhabi\nAjman\nDubai\nFujairah\nRas Al Khaimah\nSharjah\nUmm Al Quwain',
+				fetch_from='company_address.emirate'),
+			dict(fieldname='tourist_tax_return', label='Tax Refund provided to Tourists (AED)',
+				insert_after='vat_emirate', fieldtype='Currency', print_hide=1, default='0'),
 		]
 
 	invoice_item_fields = [
@@ -67,6 +87,12 @@
 		'Item': [
 			dict(fieldname='tax_code', label='Tax Code',
 				fieldtype='Data', insert_after='item_group'),
+			dict(fieldname='is_zero_rated', label='Is Zero Rated',
+				fieldtype='Check', insert_after='tax_code',
+				print_hide=1),
+			dict(fieldname='is_exempt', label='Is Exempt',
+				fieldtype='Check', insert_after='is_zero_rated',
+				print_hide=1)
 		],
 		'Customer': [
 			dict(fieldname='customer_name_in_arabic', label='Customer Name in Arabic',
@@ -76,13 +102,17 @@
 			dict(fieldname='supplier_name_in_arabic', label='Supplier Name in Arabic',
 				fieldtype='Data', insert_after='supplier_name'),
 		],
+		'Address': [
+			dict(fieldname='emirate', label='Emirate', fieldtype='Select', insert_after='state',
+			options='\nAbu Dhabi\nAjman\nDubai\nFujairah\nRas Al Khaimah\nSharjah\nUmm Al Quwain')
+		],
 		'Purchase Invoice': purchase_invoice_fields + invoice_fields,
 		'Purchase Order': purchase_invoice_fields + invoice_fields,
 		'Purchase Receipt': purchase_invoice_fields + invoice_fields,
 		'Sales Invoice': sales_invoice_fields + invoice_fields,
 		'Sales Order': sales_invoice_fields + invoice_fields,
 		'Delivery Note': sales_invoice_fields + invoice_fields,
-		'Sales Invoice Item': invoice_item_fields + delivery_date_field,
+		'Sales Invoice Item': invoice_item_fields + delivery_date_field + [is_zero_rated, is_exempt],
 		'Purchase Invoice Item': invoice_item_fields,
 		'Sales Order Item': invoice_item_fields,
 		'Delivery Note Item': invoice_item_fields,
@@ -101,3 +131,25 @@
 
 	frappe.db.sql(""" update `tabPrint Format` set disabled = 0 where
 		name in('Simplified Tax Invoice', 'Detailed Tax Invoice', 'Tax Invoice') """)
+
+def add_custom_roles_for_reports():
+	"""Add Access Control to UAE VAT 201."""
+	if not frappe.db.get_value('Custom Role', dict(report='UAE VAT 201')):
+		frappe.get_doc(dict(
+			doctype='Custom Role',
+			report='UAE VAT 201',
+			roles= [
+				dict(role='Accounts User'),
+				dict(role='Accounts Manager'),
+				dict(role='Auditor')
+			]
+		)).insert()
+
+def add_permissions():
+	"""Add Permissions for UAE VAT Settings and UAE VAT Account."""
+	for doctype in ('UAE VAT Settings', 'UAE VAT Account'):
+		add_permission(doctype, 'All', 0)
+		for role in ('Accounts Manager', 'Accounts User', 'System Manager'):
+			add_permission(doctype, role, 0)
+			update_permission_property(doctype, role, 0, 'write', 1)
+			update_permission_property(doctype, role, 0, 'create', 1)
diff --git a/erpnext/regional/united_arab_emirates/utils.py b/erpnext/regional/united_arab_emirates/utils.py
index a0425f6..7d5fd6e 100644
--- a/erpnext/regional/united_arab_emirates/utils.py
+++ b/erpnext/regional/united_arab_emirates/utils.py
@@ -1,6 +1,8 @@
 from __future__ import unicode_literals
 import frappe
-from frappe.utils import flt
+from frappe import _
+import erpnext
+from frappe.utils import flt, round_based_on_smallest_currency_fraction, money_in_words
 from erpnext.controllers.taxes_and_totals import get_itemised_tax
 from six import iteritems
 
@@ -26,4 +28,134 @@
 
 		row.tax_rate = flt(tax_rate, row.precision("tax_rate"))
 		row.tax_amount = flt((row.net_amount * tax_rate) / 100, row.precision("net_amount"))
-		row.total_amount = flt((row.net_amount + row.tax_amount), row.precision("total_amount"))
\ No newline at end of file
+		row.total_amount = flt((row.net_amount + row.tax_amount), row.precision("total_amount"))
+
+def get_account_currency(account):
+	"""Helper function to get account currency."""
+	if not account:
+		return
+	def generator():
+		account_currency, company = frappe.get_cached_value(
+			"Account",
+			account,
+			["account_currency",
+			"company"]
+		)
+		if not account_currency:
+			account_currency = frappe.get_cached_value('Company',  company,  "default_currency")
+
+		return account_currency
+
+	return frappe.local_cache("account_currency", account, generator)
+
+def get_tax_accounts(company):
+	"""Get the list of tax accounts for a specific company."""
+	tax_accounts_dict = frappe._dict()
+	tax_accounts_list = frappe.get_all("UAE VAT Account",
+		filters={"parent": company},
+		fields=["Account"]
+		)
+
+	if not tax_accounts_list and not frappe.flags.in_test:
+		frappe.throw(_('Please set Vat Accounts for Company: "{0}" in UAE VAT Settings').format(company))
+	for tax_account in tax_accounts_list:
+		for account, name in tax_account.items():
+			tax_accounts_dict[name] = name
+
+	return tax_accounts_dict
+
+def update_grand_total_for_rcm(doc, method):
+	"""If the Reverse Charge is Applicable subtract the tax amount from the grand total and update in the form."""
+	country = frappe.get_cached_value('Company', doc.company, 'country')
+
+	if country != 'United Arab Emirates':
+		return
+
+	if not doc.total_taxes_and_charges:
+		return
+
+	if doc.reverse_charge == 'Y':
+		tax_accounts = get_tax_accounts(doc.company)
+
+		base_vat_tax = 0
+		vat_tax = 0
+
+		for tax in doc.get('taxes'):
+			if tax.category not in ("Total", "Valuation and Total"):
+				continue
+
+			if flt(tax.base_tax_amount_after_discount_amount) and tax.account_head in tax_accounts:
+				base_vat_tax += tax.base_tax_amount_after_discount_amount
+				vat_tax += tax.tax_amount_after_discount_amount
+
+		doc.taxes_and_charges_added -= vat_tax
+		doc.total_taxes_and_charges -= vat_tax
+		doc.base_taxes_and_charges_added -= base_vat_tax
+		doc.base_total_taxes_and_charges -= base_vat_tax
+
+		update_totals(vat_tax, base_vat_tax, doc)
+
+def update_totals(vat_tax, base_vat_tax, doc):
+	"""Update the grand total values in the form."""
+	doc.base_grand_total -= base_vat_tax
+	doc.grand_total -= vat_tax
+
+	if doc.meta.get_field("rounded_total"):
+
+		if doc.is_rounded_total_disabled():
+			doc.outstanding_amount = doc.grand_total
+
+		else:
+			doc.rounded_total = round_based_on_smallest_currency_fraction(doc.grand_total,
+				doc.currency, doc.precision("rounded_total"))
+			doc.rounding_adjustment = flt(doc.rounded_total - doc.grand_total,
+				doc.precision("rounding_adjustment"))
+			doc.outstanding_amount = doc.rounded_total or doc.grand_total
+
+	doc.in_words = money_in_words(doc.grand_total, doc.currency)
+	doc.base_in_words = money_in_words(doc.base_grand_total, erpnext.get_company_currency(doc.company))
+	doc.set_payment_schedule()
+
+def make_regional_gl_entries(gl_entries, doc):
+	"""Hooked to make_regional_gl_entries in Purchase Invoice.It appends the region specific general ledger entries to the list of GL Entries."""
+	country = frappe.get_cached_value('Company', doc.company, 'country')
+
+	if country != 'United Arab Emirates':
+		return gl_entries
+
+	if doc.reverse_charge == 'Y':
+		tax_accounts = get_tax_accounts(doc.company)
+		for tax in doc.get('taxes'):
+			if tax.category not in ("Total", "Valuation and Total"):
+				continue
+			gl_entries = make_gl_entry(tax, gl_entries, doc, tax_accounts)
+	return gl_entries
+
+def make_gl_entry(tax, gl_entries, doc, tax_accounts):
+	dr_or_cr = "credit" if tax.add_deduct_tax == "Add" else "debit"
+	if flt(tax.base_tax_amount_after_discount_amount)  and tax.account_head in tax_accounts:
+		account_currency = get_account_currency(tax.account_head)
+
+		gl_entries.append(doc.get_gl_dict({
+				"account": tax.account_head,
+				"cost_center": tax.cost_center,
+				"posting_date": doc.posting_date,
+				"against": doc.supplier,
+				dr_or_cr: tax.base_tax_amount_after_discount_amount,
+				dr_or_cr + "_in_account_currency": tax.base_tax_amount_after_discount_amount \
+					if account_currency==doc.company_currency \
+					else tax.tax_amount_after_discount_amount
+			}, account_currency, item=tax
+		))
+	return gl_entries
+
+
+def validate_returns(doc, method):
+	"""Standard Rated expenses should not be set when Reverse Charge Applicable is set."""
+	country = frappe.get_cached_value('Company', doc.company, 'country')
+	if country != 'United Arab Emirates':
+		return
+	if doc.reverse_charge == 'Y' and  flt(doc.recoverable_standard_rated_expenses) != 0:
+		frappe.throw(_(
+			"Recoverable Standard Rated expenses should not be set when Reverse Charge Applicable is Y"
+		))
diff --git a/erpnext/selling/doctype/quotation/quotation.js b/erpnext/selling/doctype/quotation/quotation.js
index 12f3260..661e107 100644
--- a/erpnext/selling/doctype/quotation/quotation.js
+++ b/erpnext/selling/doctype/quotation/quotation.js
@@ -116,7 +116,7 @@
 							company: me.frm.doc.company
 						}
 					})
-				}, __("Get items from"), "btn-default");
+				}, __("Get Items From"), "btn-default");
 		}
 
 		this.toggle_reqd_lead_customer();
diff --git a/erpnext/selling/doctype/quotation/quotation.json b/erpnext/selling/doctype/quotation/quotation.json
index 5b85187..3eba62b 100644
--- a/erpnext/selling/doctype/quotation/quotation.json
+++ b/erpnext/selling/doctype/quotation/quotation.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-05-24 19:29:08",
@@ -932,7 +933,7 @@
  "is_submittable": 1,
  "links": [],
  "max_attachments": 1,
- "modified": "2020-07-26 17:46:19.951223",
+ "modified": "2020-10-30 13:58:59.212060",
  "modified_by": "Administrator",
  "module": "Selling",
  "name": "Quotation",
diff --git a/erpnext/selling/doctype/sales_order/sales_order.js b/erpnext/selling/doctype/sales_order/sales_order.js
index 989bd33..d4fb07c 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.js
+++ b/erpnext/selling/doctype/sales_order/sales_order.js
@@ -8,7 +8,7 @@
 		frm.custom_make_buttons = {
 			'Delivery Note': 'Delivery Note',
 			'Pick List': 'Pick List',
-			'Sales Invoice': 'Invoice',
+			'Sales Invoice': 'Sales Invoice',
 			'Material Request': 'Material Request',
 			'Purchase Order': 'Purchase Order',
 			'Project': 'Project',
@@ -236,7 +236,7 @@
 							status: ["!=", "Lost"]
 						}
 					})
-				}, __("Get items from"));
+				}, __("Get Items From"));
 		}
 
 		this.order_type(doc);
@@ -326,8 +326,7 @@
 								callback: function(r) {
 									if(r.message) {
 										frappe.msgprint({
-											message: __('Work Orders Created: {0}',
-												[r.message.map(function(d) {
+											message: __('Work Orders Created: {0}', [r.message.map(function(d) {
 													return repl('<a href="#Form/Work Order/%(name)s">%(name)s</a>', {name:d})
 												}).join(', ')]),
 											indicator: 'green'
@@ -573,12 +572,6 @@
 					"default": 0
 				},
 				{
-					"fieldtype": "Section Break",
-					"label": "",
-					"fieldname": "sec_break_dialog",
-					"hide_border": 1
-				},
-				{
 					fieldname: 'items_for_po', fieldtype: 'Table', label: 'Select Items',
 					fields: [
 						{
@@ -616,16 +609,13 @@
 							read_only:1,
 							in_list_view:1
 						},
-					],
-					data: me.frm.doc.items.map((item) =>{
-						item.pending_qty = (flt(item.stock_qty) - flt(item.ordered_qty)) / flt(item.conversion_factor);
-						return item;
-					}).filter((item) => {return item.pending_qty > 0;})
+					]
 				}
 			],
 			primary_action_label: 'Create Purchase Order',
 			primary_action (args) {
 				if (!args) return;
+
 				let selected_items = dialog.fields_dict.items_for_po.grid.get_selected_children();
 				if(selected_items.length == 0) {
 					frappe.throw({message: 'Please select Items from the Table', title: __('Items Required'), indicator:'blue'})
@@ -635,8 +625,9 @@
 
 				var method = args.against_default_supplier ? "make_purchase_order_for_default_supplier" : "make_purchase_order"
 				return frappe.call({
-					type: "GET",
 					method: "erpnext.selling.doctype.sales_order.sales_order." + method,
+					freeze: true,
+					freeze_message: __("Creating Purchase Order ..."),
 					args: {
 						"source_name": me.frm.doc.name,
 						"selected_items": selected_items
@@ -660,8 +651,9 @@
 			}
 		});
 
-		dialog.fields_dict["against_default_supplier"].df.onchange = () => {
-			console.log("yo");
+		dialog.fields_dict["against_default_supplier"].df.onchange = () => set_po_items_data(dialog);
+
+		function set_po_items_data (dialog) {
 			var against_default_supplier = dialog.get_value("against_default_supplier");
 			var items_for_po = dialog.get_value("items_for_po");
 
@@ -671,16 +663,28 @@
 				dialog.fields_dict["items_for_po"].df.data = items_with_supplier;
 				dialog.get_field("items_for_po").refresh();
 			} else {
-				let pending_items = me.frm.doc.items.map((item) =>{
-					item.pending_qty = (flt(item.stock_qty) - flt(item.ordered_qty)) / flt(item.conversion_factor);
-					return item;
-					}).filter((item) => {return item.pending_qty > 0;});
+				let po_items = [];
+				me.frm.doc.items.forEach(d => {
+					let pending_qty = (flt(d.stock_qty) - flt(d.ordered_qty)) / flt(d.conversion_factor);
+					if (pending_qty > 0) {
+						po_items.push({
+							"doctype": "Sales Order Item",
+							"name": d.name,
+							"item_name": d.item_name,
+							"item_code": d.item_code,
+							"pending_qty": pending_qty,
+							"uom": d.uom,
+							"supplier": d.supplier
+						});
+					}
+				});
 
-				dialog.fields_dict["items_for_po"].df.data = pending_items;
+				dialog.fields_dict["items_for_po"].df.data = po_items;
 				dialog.get_field("items_for_po").refresh();
 			}
 		}
 
+		set_po_items_data(dialog);
 		dialog.get_field("items_for_po").grid.only_sortable();
 		dialog.get_field("items_for_po").refresh();
 		dialog.wrapper.find('.grid-heading-row .grid-row-check').click();
diff --git a/erpnext/selling/doctype/sales_order/sales_order.json b/erpnext/selling/doctype/sales_order/sales_order.json
index 77c1787..3d64ac3 100644
--- a/erpnext/selling/doctype/sales_order/sales_order.json
+++ b/erpnext/selling/doctype/sales_order/sales_order.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-06-18 12:39:59",
@@ -1460,7 +1461,7 @@
  "idx": 105,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-10-07 14:30:01.782617",
+ "modified": "2020-10-30 13:59:18.628077",
  "modified_by": "Administrator",
  "module": "Selling",
  "name": "Sales Order",
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 5d341b7..fbf0ab2 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -779,7 +779,9 @@
 	return data
 
 @frappe.whitelist()
-def make_purchase_order_for_default_supplier(source_name, selected_items=[], target_doc=None):
+def make_purchase_order_for_default_supplier(source_name, selected_items=None, target_doc=None):
+	if not selected_items: return
+
 	if isinstance(selected_items, string_types):
 		selected_items = json.loads(selected_items)
 
@@ -830,7 +832,7 @@
 		frappe.throw(_("Please set a Supplier against the Items to be considered in the Purchase Order."))
 
 	for supplier in suppliers:
-		doc = get_mapped_doc("Sales Order", source_name, {
+    doc = get_mapped_doc("Sales Order", source_name, {
 			"Sales Order": {
 				"doctype": "Purchase Order",
 				"field_no_map": [
@@ -875,7 +877,9 @@
 		return doc
 
 @frappe.whitelist()
-def make_purchase_order(source_name, selected_items=[], target_doc=None):
+def make_purchase_order(source_name, selected_items=None, target_doc=None):
+	if not selected_items: return
+
 	if isinstance(selected_items, string_types):
 		selected_items = json.loads(selected_items)
 
@@ -910,7 +914,8 @@
 				"contact_email",
 				"contact_person",
 				"taxes_and_charges",
-				"shipping_address"
+				"shipping_address",
+				"terms"
 			],
 			"validation": {
 				"docstatus": ["=", 1]
@@ -930,7 +935,10 @@
 				"rate",
 				"price_list_rate",
 				"item_tax_template",
-				"supplier"
+				"discount_percentage",
+				"discount_amount",
+				"supplier",
+				"pricing_rules"
 			],
 			"postprocess": update_item,
 			"condition": lambda doc: doc.ordered_qty < doc.stock_qty and doc.item_code in items_to_map
diff --git a/erpnext/selling/doctype/sales_order/test_sales_order.py b/erpnext/selling/doctype/sales_order/test_sales_order.py
index 5954602..e259367 100644
--- a/erpnext/selling/doctype/sales_order/test_sales_order.py
+++ b/erpnext/selling/doctype/sales_order/test_sales_order.py
@@ -1117,6 +1117,7 @@
 	so.company = args.company or "_Test Company"
 	so.customer = args.customer or "_Test Customer"
 	so.currency = args.currency or "INR"
+	so.po_no = args.po_no or '12345'
 	if args.selling_price_list:
 		so.selling_price_list = args.selling_price_list
 
diff --git a/erpnext/selling/page/point_of_sale/point_of_sale.py b/erpnext/selling/page/point_of_sale/point_of_sale.py
index a690050..062cba1 100644
--- a/erpnext/selling/page/point_of_sale/point_of_sale.py
+++ b/erpnext/selling/page/point_of_sale/point_of_sale.py
@@ -62,6 +62,7 @@
 			`tabItem` item {bin_join_selection}
 		WHERE
 			item.disabled = 0
+			AND item.is_stock_item = 1
 			AND item.has_variants = 0
 			AND item.is_sales_item = 1
 			AND item.is_fixed_asset = 0
diff --git a/erpnext/selling/page/point_of_sale/pos_controller.js b/erpnext/selling/page/point_of_sale/pos_controller.js
index f7d1fa4..d4cde43 100644
--- a/erpnext/selling/page/point_of_sale/pos_controller.js
+++ b/erpnext/selling/page/point_of_sale/pos_controller.js
@@ -111,24 +111,24 @@
 		dialog.show();
 	}
 
-	prepare_app_defaults(data) {
+	async prepare_app_defaults(data) {
 		this.pos_opening = data.name;
 		this.company = data.company;
 		this.pos_profile = data.pos_profile;
 		this.pos_opening_time = data.period_start_date;
+		this.item_stock_map = {};
+		this.settings = {};
 
 		frappe.db.get_value('Stock Settings', undefined, 'allow_negative_stock').then(({ message }) => {
 			this.allow_negative_stock = flt(message.allow_negative_stock) || false;
 		});
 
 		frappe.db.get_doc("POS Profile", this.pos_profile).then((profile) => {
-			this.customer_groups = profile.customer_groups.map(group => group.customer_group);
-			this.cart.make_customer_selector();
+			this.settings.customer_groups = profile.customer_groups.map(group => group.customer_group);
+			this.settings.hide_images = profile.hide_images;
+			this.settings.auto_add_item_to_cart = profile.auto_add_item_to_cart;
+			this.make_app();
 		});
-
-		this.item_stock_map = {};
-
-		this.make_app();
 	}
 
 	set_opening_entry_status() {
@@ -238,12 +238,11 @@
 		this.item_selector = new erpnext.PointOfSale.ItemSelector({
 			wrapper: this.$components_wrapper,
 			pos_profile: this.pos_profile,
+			settings: this.settings,
 			events: {
 				item_selected: args => this.on_cart_update(args),
 
-				get_frm: () => this.frm || {},
-
-				get_allowed_item_group: () => this.item_groups
+				get_frm: () => this.frm || {}
 			}
 		})
 	}
@@ -251,6 +250,7 @@
 	init_item_cart() {
 		this.cart = new erpnext.PointOfSale.ItemCart({
 			wrapper: this.$components_wrapper,
+			settings: this.settings,
 			events: {
 				get_frm: () => this.frm,
 
@@ -273,9 +273,7 @@
 					this.customer_details = details;
 					// will add/remove LP payment method
 					this.payment.render_loyalty_points_payment_mode();
-				},
-
-				get_allowed_customer_group: () => this.customer_groups
+				}
 			}
 		})
 	}
@@ -555,6 +553,8 @@
 					frappe.utils.play_sound("error");
 					return;
 				}
+				if (!item_code) return;
+
 				item_selected_from_selector && (value = flt(value))
 
 				const args = { item_code, batch_no, [field]: value };
@@ -642,8 +642,7 @@
 			})
 		} else if (available_qty < qty_needed) {
 			frappe.show_alert({
-				message: __('Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.',
-					[bold_item_code, bold_warehouse, bold_available_qty]),
+				message: __('Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.', [bold_item_code, bold_warehouse, bold_available_qty]),
 				indicator: 'orange'
 			});
 			frappe.utils.play_sound("error");
diff --git a/erpnext/selling/page/point_of_sale/pos_item_cart.js b/erpnext/selling/page/point_of_sale/pos_item_cart.js
index 7799dac..3938300 100644
--- a/erpnext/selling/page/point_of_sale/pos_item_cart.js
+++ b/erpnext/selling/page/point_of_sale/pos_item_cart.js
@@ -1,8 +1,10 @@
 erpnext.PointOfSale.ItemCart = class {
-	constructor({ wrapper, events }) {
+	constructor({ wrapper, events, settings }) {
 		this.wrapper = wrapper;
 		this.events = events;
 		this.customer_info = undefined;
+		this.hide_images = settings.hide_images;
+		this.allowed_customer_groups = settings.customer_groups;
 		
 		this.init_component();
 	}
@@ -32,6 +34,7 @@
 			`<div class="customer-section rounded flex flex-col m-8 mb-0"></div>`
 		)
 		this.$customer_section = this.$component.find('.customer-section');
+		this.make_customer_selector();
 	}
 	
 	reset_customer_selector() {
@@ -302,7 +305,7 @@
 		this.$customer_section.html(`<div class="customer-search-field flex flex-1 items-center"></div>`);
 		const me = this;
 		const query = { query: 'erpnext.controllers.queries.customer_query' };
-		const allowed_customer_group = this.events.get_allowed_customer_group() || [];
+		const allowed_customer_group = this.allowed_customer_groups || [];
 		if (allowed_customer_group.length) {
 			query.filters = {
 				customer_group: ['in', allowed_customer_group]
@@ -423,6 +426,7 @@
 	}
 	
 	update_customer_section() {
+		const me = this;
 		const { customer, email_id='', mobile_no='', image } = this.customer_info || {};
 
 		if (customer) {
@@ -460,7 +464,7 @@
 		}
 
 		function get_customer_image() {
-			if (image) {
+			if (!me.hide_images && image) {
 				return `<div class="icon flex items-center justify-center w-12 h-12 rounded bg-light-grey mr-4 text-grey-200">
 							<img class="h-full" src="${image}" alt="${image}" style="object-fit: cover;">
 						</div>`
diff --git a/erpnext/selling/page/point_of_sale/pos_item_details.js b/erpnext/selling/page/point_of_sale/pos_item_details.js
index 9874d1b..a4de9f1 100644
--- a/erpnext/selling/page/point_of_sale/pos_item_details.js
+++ b/erpnext/selling/page/point_of_sale/pos_item_details.js
@@ -372,12 +372,13 @@
 		this.$form_container.on('click', '.auto-fetch-btn', () => {
 			this.batch_no_control && this.batch_no_control.set_value('');
 			let qty = this.qty_control.get_value();
+			let conversion_factor = this.conversion_factor_control.get_value();
 			let expiry_date = this.item_row.has_batch_no ? this.events.get_frm().doc.posting_date : "";
 
 			let numbers = frappe.call({
 				method: "erpnext.stock.doctype.serial_no.serial_no.auto_fetch_serial_number",
 				args: {
-					qty,
+					qty: qty * conversion_factor,
 					item_code: this.current_item.item_code,
 					warehouse: this.warehouse_control.get_value() || '',
 					batch_nos: this.current_item.batch_no || '',
diff --git a/erpnext/selling/page/point_of_sale/pos_item_selector.js b/erpnext/selling/page/point_of_sale/pos_item_selector.js
index 49d4281..a06b394 100644
--- a/erpnext/selling/page/point_of_sale/pos_item_selector.js
+++ b/erpnext/selling/page/point_of_sale/pos_item_selector.js
@@ -1,8 +1,10 @@
 erpnext.PointOfSale.ItemSelector = class {
-	constructor({ frm, wrapper, events, pos_profile }) {
+	constructor({ frm, wrapper, events, pos_profile, settings }) {
 		this.wrapper = wrapper;
 		this.events = events;
 		this.pos_profile = pos_profile;
+		this.hide_images = settings.hide_images;
+		this.auto_add_item = settings.auto_add_item_to_cart;
 		
 		this.inti_component();
 	}
@@ -26,13 +28,14 @@
 					<div class="flex flex-1 flex-col p-8 pt-2">
 						<div class="text-grey mb-6">ALL ITEMS</div>
 						<div class="items-container grid grid-cols-4 gap-8">
-						</div>					
+						</div>
 					</div>
 				</div>
 			</section>`
 		);
 		
 		this.$component = this.wrapper.find('.items-selector');
+		this.$items_container = this.$component.find('.items-container');
 	}
 
 	async load_items_data() {
@@ -65,7 +68,6 @@
 
 
 	render_item_list(items) {
-		this.$items_container = this.$component.find('.items-container');
 		this.$items_container.html('');
 
 		items.forEach(item => {
@@ -75,11 +77,12 @@
 	}
 
 	get_item_html(item) {
+		const me = this;
 		const { item_image, serial_no, batch_no, barcode, actual_qty, stock_uom } = item;
 		const indicator_color = actual_qty > 10 ? "green" : actual_qty <= 0 ? "red" : "orange";
 
 		function get_item_image_html() {
-			if (item_image) {
+			if (!me.hide_images && item_image) {
 				return `<div class="flex items-center justify-center h-32 border-b-grey text-6xl text-grey-100">
 							<img class="h-full" src="${item_image}" alt="${frappe.get_abbr(item.item_name)}" style="object-fit: cover;">
 						</div>`
@@ -203,6 +206,7 @@
 			ignore_inputs: true,
 			page: cur_page.page.page
 		});
+
 		// for selecting the last filtered item on search
 		frappe.ui.keys.on("enter", () => {
 			const selector_is_visible = this.$component.is(':visible');
@@ -235,6 +239,7 @@
 				const items = this.search_index[search_term];
 				this.items = items;
 				this.render_item_list(items);
+				this.auto_add_item && this.items.length == 1 && this.add_filtered_item_to_cart();
 				return;
 			}
 		}
@@ -247,8 +252,13 @@
 				}
 				this.items = items;
 				this.render_item_list(items);
+				this.auto_add_item && this.items.length == 1 && this.add_filtered_item_to_cart();
 			});
 	}
+
+	add_filtered_item_to_cart() {
+		this.$items_container.find(".item-wrapper").click();
+	}
 	
 	resize_selector(minimize) {
 		minimize ? 
diff --git a/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py b/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py
index c716aa9..8473276 100644
--- a/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py
+++ b/erpnext/selling/report/item_wise_sales_history/item_wise_sales_history.py
@@ -10,8 +10,8 @@
 def execute(filters=None):
 	filters = frappe._dict(filters or {})
 	if filters.from_date > filters.to_date:
-		frappe.throw(_('From Date cannot be greater than To Date'))
-	
+		frappe.throw(_("From Date cannot be greater than To Date"))
+
 	columns = get_columns(filters)
 	data = get_data(filters)
 
@@ -148,14 +148,16 @@
 	company_list.append(filters.get("company"))
 
 	customer_details = get_customer_details()
+	item_details = get_item_details()
 	sales_order_records = get_sales_order_details(company_list, filters)
 
 	for record in sales_order_records:
 		customer_record = customer_details.get(record.customer)
+		item_record = item_details.get(record.item_code)
 		row = {
 			"item_code": record.item_code,
-			"item_name": record.item_name,
-			"item_group": record.item_group,
+			"item_name": item_record.item_name,
+			"item_group": item_record.item_group,
 			"description": record.description,
 			"quantity": record.qty,
 			"uom": record.uom,
@@ -196,8 +198,8 @@
 	return conditions
 
 def get_customer_details():
-	details = frappe.get_all('Customer',
-		fields=['name', 'customer_name', "customer_group"])
+	details = frappe.get_all("Customer",
+		fields=["name", "customer_name", "customer_group"])
 	customer_details = {}
 	for d in details:
 		customer_details.setdefault(d.name, frappe._dict({
@@ -206,15 +208,25 @@
 		}))
 	return customer_details
 
+def get_item_details():
+	details = frappe.db.get_all("Item",
+		fields=["item_code", "item_name", "item_group"])
+	item_details = {}
+	for d in details:
+		item_details.setdefault(d.item_code, frappe._dict({
+			"item_name": d.item_name,
+			"item_group": d.item_group
+		}))
+	return item_details
+
 def get_sales_order_details(company_list, filters):
 	conditions = get_conditions(filters)
 
 	return frappe.db.sql("""
 		SELECT
-			so_item.item_code, so_item.item_name, so_item.item_group,
-			so_item.description, so_item.qty, so_item.uom,
-			so_item.base_rate, so_item.base_amount, so.name,
-			so.transaction_date, so.customer, so.territory,
+			so_item.item_code, so_item.description, so_item.qty,
+			so_item.uom, so_item.base_rate, so_item.base_amount,
+			so.name, so.transaction_date, so.customer,so.territory,
 			so.project, so_item.delivered_qty,
 			so_item.billed_amt, so.company
 		FROM
diff --git a/erpnext/selling/sales_common.js b/erpnext/selling/sales_common.js
index 002cfe4..7f00fca 100644
--- a/erpnext/selling/sales_common.js
+++ b/erpnext/selling/sales_common.js
@@ -42,16 +42,6 @@
 		me.frm.set_query('customer_address', erpnext.queries.address_query);
 		me.frm.set_query('shipping_address_name', erpnext.queries.address_query);
 
-		if(this.frm.fields_dict.taxes_and_charges) {
-			this.frm.set_query("taxes_and_charges", function() {
-				return {
-					filters: [
-						['Sales Taxes and Charges Template', 'company', '=', me.frm.doc.company],
-						['Sales Taxes and Charges Template', 'docstatus', '!=', 2]
-					]
-				}
-			});
-		}
 
 		if(this.frm.fields_dict.selling_price_list) {
 			this.frm.set_query("selling_price_list", function() {
@@ -479,7 +469,7 @@
 						$.each(frm.doc["items"] || [], function(i, row) {
 							if(r.message) {
 								frappe.model.set_value(row.doctype, row.name, "cost_center", r.message);
-								frappe.msgprint(__("Cost Center For Item with Item Code '"+row.item_name+"' has been Changed to "+ r.message));
+								frappe.msgprint(__("Cost Center For Item with Item Code {0} has been Changed to {1}", [row.item_name, r.message]));
 							}
 						})
 					}
diff --git a/erpnext/setup/desk_page/home/home.json b/erpnext/setup/desk_page/home/home.json
index 9cf9f41..0fbd0ec 100644
--- a/erpnext/setup/desk_page/home/home.json
+++ b/erpnext/setup/desk_page/home/home.json
@@ -2,26 +2,6 @@
  "cards": [
   {
    "hidden": 0,
-   "label": "Healthcare",
-   "links": "[\n    {\n        \"label\": \"Patient\",\n        \"name\": \"Patient\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Diagnosis\",\n        \"name\": \"Diagnosis\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    }\n]"
-  },
-  {
-   "hidden": 0,
-   "label": "Agriculture",
-   "links": "[\n    {\n        \"label\": \"Crop\",\n        \"name\": \"Crop\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Crop Cycle\",\n        \"name\": \"Crop Cycle\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Location\",\n        \"name\": \"Location\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Fertilizer\",\n        \"name\": \"Fertilizer\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    }\n]"
-  },
-  {
-   "hidden": 0,
-   "label": "Education",
-   "links": "[\n    {\n        \"label\": \"Student\",\n        \"name\": \"Student\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Course\",\n        \"name\": \"Course\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Instructor\",\n        \"name\": \"Instructor\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Room\",\n        \"name\": \"Room\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    }\n]"
-  },
-  {
-   "hidden": 0,
-   "label": "Non Profit",
-   "links": "[\n    {\n        \"description\": \"Member information.\",\n        \"label\": \"Member\",\n        \"name\": \"Member\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"description\": \"Volunteer information.\",\n        \"label\": \"Volunteer\",\n        \"name\": \"Volunteer\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"description\": \"Chapter information.\",\n        \"label\": \"Chapter\",\n        \"name\": \"Chapter\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"description\": \"Donor information.\",\n        \"label\": \"Donor\",\n        \"name\": \"Donor\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    }\n]"
-  },
-  {
-   "hidden": 0,
    "label": "Stock",
    "links": "[\n    {\n        \"label\": \"Warehouse\",\n        \"name\": \"Warehouse\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Brand\",\n        \"name\": \"Brand\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Unit of Measure (UOM)\",\n        \"name\": \"UOM\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Stock Reconciliation\",\n        \"name\": \"Stock Reconciliation\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    }\n]"
   },
@@ -54,10 +34,11 @@
  "docstatus": 0,
  "doctype": "Desk Page",
  "extends_another_page": 0,
+ "hide_custom": 0,
  "idx": 0,
  "is_standard": 1,
  "label": "Home",
- "modified": "2020-05-11 10:20:37.358701",
+ "modified": "2020-12-07 14:22:38.667767",
  "modified_by": "Administrator",
  "module": "Setup",
  "name": "Home",
@@ -96,4 +77,4 @@
    "type": "Page"
   }
  ]
-}
\ No newline at end of file
+}
diff --git a/erpnext/setup/doctype/company/company.js b/erpnext/setup/doctype/company/company.js
index f882db6..cbf67b4 100644
--- a/erpnext/setup/doctype/company/company.js
+++ b/erpnext/setup/doctype/company/company.js
@@ -90,29 +90,41 @@
 			frm.toggle_enable("default_currency", (frm.doc.__onload &&
 				!frm.doc.__onload.transactions_exist));
 
-			frm.add_custom_button(__('Create Tax Template'), function() {
-				frm.trigger("make_default_tax_template");
-			});
+			if (frm.has_perm('write')) {
+				frm.add_custom_button(__('Create Tax Template'), function() {
+					frm.trigger("make_default_tax_template");
+				});
+			}
 
-			frm.add_custom_button(__('Cost Centers'), function() {
-				frappe.set_route('Tree', 'Cost Center', {'company': frm.doc.name})
-			}, __("View"));
+			if (frappe.perm.has_perm("Cost Center", 0, 'read')) {
+				frm.add_custom_button(__('Cost Centers'), function() {
+					frappe.set_route('Tree', 'Cost Center', {'company': frm.doc.name});
+				}, __("View"));
+			}
 
-			frm.add_custom_button(__('Chart of Accounts'), function() {
-				frappe.set_route('Tree', 'Account', {'company': frm.doc.name})
-			}, __("View"));
+			if (frappe.perm.has_perm("Account", 0, 'read')) {
+				frm.add_custom_button(__('Chart of Accounts'), function() {
+					frappe.set_route('Tree', 'Account', {'company': frm.doc.name});
+				}, __("View"));
+			}
 
-			frm.add_custom_button(__('Sales Tax Template'), function() {
-				frappe.set_route('List', 'Sales Taxes and Charges Template', {'company': frm.doc.name});
-			}, __("View"));
+			if (frappe.perm.has_perm("Sales Taxes and Charges Template", 0, 'read')) {
+				frm.add_custom_button(__('Sales Tax Template'), function() {
+					frappe.set_route('List', 'Sales Taxes and Charges Template', {'company': frm.doc.name});
+				}, __("View"));
+			}
 
-			frm.add_custom_button(__('Purchase Tax Template'), function() {
-				frappe.set_route('List', 'Purchase Taxes and Charges Template', {'company': frm.doc.name});
-			}, __("View"));
+			if (frappe.perm.has_perm("Purchase Taxes and Charges Template", 0, 'read')) {
+				frm.add_custom_button(__('Purchase Tax Template'), function() {
+					frappe.set_route('List', 'Purchase Taxes and Charges Template', {'company': frm.doc.name});
+				}, __("View"));
+			}
 
-			frm.add_custom_button(__('Default Tax Template'), function() {
-				frm.trigger("make_default_tax_template");
-			}, __('Create'));
+			if (frm.has_perm('write')) {
+				frm.add_custom_button(__('Default Tax Template'), function() {
+					frm.trigger("make_default_tax_template");
+				}, __('Create'));
+			}
 		}
 
 		erpnext.company.set_chart_of_accounts_options(frm.doc);
diff --git a/erpnext/setup/doctype/company/delete_company_transactions.py b/erpnext/setup/doctype/company/delete_company_transactions.py
index c94831e..566f20c 100644
--- a/erpnext/setup/doctype/company/delete_company_transactions.py
+++ b/erpnext/setup/doctype/company/delete_company_transactions.py
@@ -27,7 +27,8 @@
 		if doctype not in ("Account", "Cost Center", "Warehouse", "Budget",
 			"Party Account", "Employee", "Sales Taxes and Charges Template",
 			"Purchase Taxes and Charges Template", "POS Profile", "BOM",
-			"Company", "Bank Account"):
+			"Company", "Bank Account", "Item Tax Template", "Mode Of Payment",
+			"Item Default"):
 				delete_for_doctype(doctype, company_name)
 
 	# reset company values
diff --git a/erpnext/setup/doctype/email_digest/email_digest.py b/erpnext/setup/doctype/email_digest/email_digest.py
index b30bd78..cbb4c7c 100644
--- a/erpnext/setup/doctype/email_digest/email_digest.py
+++ b/erpnext/setup/doctype/email_digest/email_digest.py
@@ -48,12 +48,8 @@
 		recipients = list(filter(lambda r: r in valid_users,
 			self.recipient_list.split("\n")))
 
-		original_user = frappe.session.user
-
 		if recipients:
 			for user_id in recipients:
-				frappe.set_user(user_id)
-				frappe.set_user_lang(user_id)
 				msg_for_this_recipient = self.get_msg_html()
 				if msg_for_this_recipient:
 					frappe.sendmail(
@@ -64,9 +60,6 @@
 						reference_name = self.name,
 						unsubscribe_message = _("Unsubscribe from this Email Digest"))
 
-		frappe.set_user(original_user)
-		frappe.set_user_lang(original_user)
-
 	def get_msg_html(self):
 		"""Build email digest content"""
 		frappe.flags.ignore_account_permission = True
diff --git a/erpnext/setup/doctype/sales_person/sales_person.js b/erpnext/setup/doctype/sales_person/sales_person.js
index 8f7593d..b71a92f 100644
--- a/erpnext/setup/doctype/sales_person/sales_person.js
+++ b/erpnext/setup/doctype/sales_person/sales_person.js
@@ -5,8 +5,7 @@
 	refresh: function(frm) {
 		if(frm.doc.__onload && frm.doc.__onload.dashboard_info) {
 			var info = frm.doc.__onload.dashboard_info;
-			frm.dashboard.add_indicator(__('Total Contribution Amount: {0}',
-				[format_currency(info.allocated_amount, info.currency)]), 'blue');
+			frm.dashboard.add_indicator(__('Total Contribution Amount: {0}', [format_currency(info.allocated_amount, info.currency)]), 'blue');
 		}
 	},
 
diff --git a/erpnext/shopping_cart/cart.py b/erpnext/shopping_cart/cart.py
index 0ccc025..c2549fe 100644
--- a/erpnext/shopping_cart/cart.py
+++ b/erpnext/shopping_cart/cart.py
@@ -345,7 +345,7 @@
 	selling_price_list = None
 
 	# check if default customer price list exists
-	if party_name:
+	if party_name and frappe.db.exists("Customer", party_name):
 		selling_price_list = get_default_price_list(frappe.get_doc("Customer", party_name))
 
 	# check default price list in shopping cart
diff --git a/erpnext/stock/desk_page/stock/stock.json b/erpnext/stock/desk_page/stock/stock.json
index 390fcd9..9068e33 100644
--- a/erpnext/stock/desk_page/stock/stock.json
+++ b/erpnext/stock/desk_page/stock/stock.json
@@ -8,7 +8,7 @@
   {
    "hidden": 0,
    "label": "Stock Transactions",
-   "links": "[\n     {\n        \"dependencies\": [\n            \"Item\"\n        ],\n        \"label\": \"Material Request\",\n        \"name\": \"Material Request\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"dependencies\": [\n            \"Item\"\n        ],\n        \"label\": \"Stock Entry\",\n        \"name\": \"Stock Entry\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"dependencies\": [\n            \"Item\",\n            \"Customer\"\n        ],\n        \"label\": \"Delivery Note\",\n        \"name\": \"Delivery Note\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"dependencies\": [\n            \"Item\",\n            \"Supplier\"\n        ],\n        \"label\": \"Purchase Receipt\",\n        \"name\": \"Purchase Receipt\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"dependencies\": [\n            \"Item\"\n        ],\n        \"label\": \"Pick List\",\n        \"name\": \"Pick List\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Delivery Trip\",\n        \"name\": \"Delivery Trip\",\n        \"type\": \"doctype\"\n    }\n]"
+   "links": "[\n     {\n        \"dependencies\": [\n            \"Item\"\n        ],\n        \"label\": \"Material Request\",\n        \"name\": \"Material Request\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"dependencies\": [\n            \"Item\"\n        ],\n        \"label\": \"Stock Entry\",\n        \"name\": \"Stock Entry\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"dependencies\": [\n            \"Item\",\n            \"Customer\"\n        ],\n        \"label\": \"Delivery Note\",\n        \"name\": \"Delivery Note\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"dependencies\": [\n            \"Item\",\n            \"Supplier\"\n        ],\n        \"label\": \"Purchase Receipt\",\n        \"name\": \"Purchase Receipt\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"dependencies\": [\n            \"Item\"\n        ],\n        \"label\": \"Pick List\",\n        \"name\": \"Pick List\",\n        \"onboard\": 1,\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Shipment\",\n        \"name\": \"Shipment\",\n        \"type\": \"doctype\"\n    },\n    {\n        \"label\": \"Delivery Trip\",\n        \"name\": \"Delivery Trip\",\n        \"type\": \"doctype\"\n    }\n]"
   },
   {
    "hidden": 0,
@@ -58,7 +58,7 @@
  "idx": 0,
  "is_standard": 1,
  "label": "Stock",
- "modified": "2020-10-07 18:40:17.130207",
+ "modified": "2020-12-02 15:47:41.532942",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Stock",
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.js b/erpnext/stock/doctype/delivery_note/delivery_note.js
index 19d0bec..03921c5 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.js
@@ -151,11 +151,16 @@
 								project: me.frm.doc.project || undefined,
 							}
 						})
-					}, __("Get items from"));
+					}, __("Get Items From"));
 			}
 		}
 
 		if (!doc.is_return && doc.status!="Closed") {
+			if(doc.docstatus == 1) {
+				this.frm.add_custom_button(__('Shipment'), function() {
+					me.make_shipment() }, __('Create'));
+			}
+
 			if(flt(doc.per_installed, 2) < 100 && doc.docstatus==1)
 				this.frm.add_custom_button(__('Installation Note'), function() {
 					me.make_installation_note() }, __('Create'));
@@ -220,6 +225,13 @@
 		}
 	},
 
+	make_shipment: function() {
+		frappe.model.open_mapped_doc({
+			method: "erpnext.stock.doctype.delivery_note.delivery_note.make_shipment",
+			frm: this.frm
+		})
+	},
+
 	make_sales_invoice: function() {
 		frappe.model.open_mapped_doc({
 			method: "erpnext.stock.doctype.delivery_note.delivery_note.make_sales_invoice",
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.json b/erpnext/stock/doctype/delivery_note/delivery_note.json
index ea385c8..c9f8d08 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.json
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-05-24 19:29:09",
@@ -132,6 +133,7 @@
   "per_installed",
   "installation_status",
   "column_break_89",
+  "per_returned",
   "excise_page",
   "instructions",
   "subscription_section",
@@ -413,7 +415,8 @@
   {
    "fieldname": "company_address_display",
    "fieldtype": "Small Text",
-   "label": "Company Address"
+   "label": "Company Address",
+   "read_only": 1
   },
   {
    "collapsible": 1,
@@ -1097,7 +1100,7 @@
    "no_copy": 1,
    "oldfieldname": "status",
    "oldfieldtype": "Select",
-   "options": "\nDraft\nTo Bill\nCompleted\nCancelled\nClosed",
+   "options": "\nDraft\nTo Bill\nCompleted\nReturn Issued\nCancelled\nClosed",
    "print_hide": 1,
    "print_width": "150px",
    "read_only": 1,
@@ -1249,13 +1252,22 @@
    "fieldtype": "Link",
    "label": "Inter Company Reference",
    "options": "Purchase Receipt"
+  },
+  {
+   "depends_on": "eval:!doc.__islocal",
+   "fieldname": "per_returned",
+   "fieldtype": "Percent",
+   "label": "% Returned",
+   "no_copy": 1,
+   "print_hide": 1,
+   "read_only": 1
   }
  ],
  "icon": "fa fa-truck",
  "idx": 146,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-08-03 23:18:47.739997",
+ "modified": "2020-11-30 12:54:45.407289",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Delivery Note",
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index d04cf78..3f3407e 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -55,7 +55,7 @@
 			'no_allowance': 1
 		}]
 		if cint(self.is_return):
-			self.status_updater.append({
+			self.status_updater.extend([{
 				'source_dt': 'Delivery Note Item',
 				'target_dt': 'Sales Order Item',
 				'join_field': 'so_detail',
@@ -69,7 +69,19 @@
 					where name=`tabDelivery Note Item`.parent and is_return=1)""",
 				'second_source_extra_cond': """ and exists (select name from `tabSales Invoice`
 					where name=`tabSales Invoice Item`.parent and is_return=1 and update_stock=1)"""
-			})
+			},
+			{
+				'source_dt': 'Delivery Note Item',
+				'target_dt': 'Delivery Note Item',
+				'join_field': 'dn_detail',
+				'target_field': 'returned_qty',
+				'target_parent_dt': 'Delivery Note',
+				'target_parent_field': 'per_returned',
+				'target_ref_field': 'stock_qty',
+				'source_field': '-1 * stock_qty',
+				'percent_join_field_parent': 'return_against'
+			}
+		])
 
 	def before_print(self):
 		def toggle_print_hide(meta, fieldname):
@@ -569,6 +581,62 @@
 
 	return doclist
 
+@frappe.whitelist()
+def make_shipment(source_name, target_doc=None):
+	def postprocess(source, target):
+		user = frappe.db.get_value("User", frappe.session.user, ['email', 'full_name', 'phone', 'mobile_no'], as_dict=1)
+		target.pickup_contact_email = user.email
+		pickup_contact_display = '{}'.format(user.full_name)
+		if user:
+			if user.email:
+				pickup_contact_display += '<br>' + user.email
+			if user.phone:
+				pickup_contact_display += '<br>' + user.phone
+			if user.mobile_no and not user.phone:
+				pickup_contact_display += '<br>' + user.mobile_no
+		target.pickup_contact = pickup_contact_display
+
+		contact = frappe.db.get_value("Contact", source.contact_person, ['email_id', 'phone', 'mobile_no'], as_dict=1)
+		delivery_contact_display = '{}'.format(source.contact_display)
+		if contact:
+			if contact.email_id:
+				delivery_contact_display += '<br>' + contact.email_id
+			if contact.phone:
+				delivery_contact_display += '<br>' + contact.phone
+			if contact.mobile_no and not contact.phone:
+				delivery_contact_display += '<br>' + contact.mobile_no
+		target.delivery_contact = delivery_contact_display
+
+	doclist = get_mapped_doc("Delivery Note", source_name, 	{
+		"Delivery Note": {
+			"doctype": "Shipment",
+			"field_map": {
+				"grand_total": "value_of_goods",
+				"company": "pickup_company",
+				"company_address": "pickup_address_name",
+				"company_address_display": "pickup_address",
+				"address_display": "delivery_address",
+				"customer": "delivery_customer",
+				"shipping_address_name": "delivery_address_name",
+				"contact_person": "delivery_contact_name",
+				"contact_email": "delivery_contact_email"
+			},
+			"validation": {
+				"docstatus": ["=", 1]
+			}
+		},
+		"Delivery Note Item": {
+			"doctype": "Shipment Delivery Note",
+			"field_map": {
+				"name": "prevdoc_detail_docname",
+				"parent": "prevdoc_docname",
+				"parenttype": "prevdoc_doctype",
+				"base_amount": "grand_total"
+			}
+		}
+	}, target_doc, postprocess)
+	
+	return doclist
 
 @frappe.whitelist()
 def make_sales_return(source_name, target_doc=None):
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note_list.js b/erpnext/stock/doctype/delivery_note/delivery_note_list.js
index 0ae7c37..4a6500c 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note_list.js
+++ b/erpnext/stock/doctype/delivery_note/delivery_note_list.js
@@ -6,9 +6,11 @@
 			return [__("Return"), "darkgrey", "is_return,=,Yes"];
 		} else if (doc.status === "Closed") {
 			return [__("Closed"), "green", "status,=,Closed"];
+		} else if (flt(doc.per_returned, 2) === 100) {
+			return [__("Return Issued"), "grey", "per_returned,=,100"];
 		} else if (flt(doc.per_billed, 2) < 100) {
 			return [__("To Bill"), "orange", "per_billed,<,100"];
-		} else if (flt(doc.per_billed, 2) == 100) {
+		} else if (flt(doc.per_billed, 2) === 100) {
 			return [__("Completed"), "green", "per_billed,=,100"];
 		}
 	},
diff --git a/erpnext/stock/doctype/delivery_note/test_delivery_note.py b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
index 0168613..6b4663a 100644
--- a/erpnext/stock/doctype/delivery_note/test_delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/test_delivery_note.py
@@ -206,7 +206,7 @@
 		for field, value in field_values.items():
 			self.assertEqual(cstr(serial_no.get(field)), value)
 
-	def test_sales_return_for_non_bundled_items(self):
+	def test_sales_return_for_non_bundled_items_partial(self):
 		company = frappe.db.get_value('Warehouse', 'Stores - TCP1', 'company')
 
 		make_stock_entry(item_code="_Test Item", target="Stores - TCP1", qty=50, basic_rate=100)
@@ -225,7 +225,10 @@
 
 		# return entry
 		dn1 = create_delivery_note(is_return=1, return_against=dn.name, qty=-2, rate=500,
-			company=company, warehouse="Stores - TCP1", expense_account="Cost of Goods Sold - TCP1", cost_center="Main - TCP1")
+			company=company, warehouse="Stores - TCP1", expense_account="Cost of Goods Sold - TCP1",
+			cost_center="Main - TCP1", do_not_submit=1)
+		dn1.items[0].dn_detail = dn.items[0].name
+		dn1.submit()
 
 		actual_qty_2 = get_qty_after_transaction(warehouse="Stores - TCP1")
 
@@ -243,6 +246,70 @@
 
 		self.assertEqual(gle_warehouse_amount, stock_value_difference)
 
+		# hack because new_doc isn't considering is_return portion of status_updater
+		returned = frappe.get_doc("Delivery Note", dn1.name)
+		returned.update_prevdoc_status()
+		dn.load_from_db()
+
+		# Check if Original DN updated
+		self.assertEqual(dn.items[0].returned_qty, 2)
+		self.assertEqual(dn.per_returned, 40)
+
+		from erpnext.controllers.sales_and_purchase_return import make_return_doc
+		return_dn_2 = make_return_doc("Delivery Note", dn.name)
+
+		# Check if unreturned amount is mapped in 2nd return
+		self.assertEqual(return_dn_2.items[0].qty, -3)
+
+		si = make_sales_invoice(dn.name)
+		si.submit()
+
+		self.assertEqual(si.items[0].qty, 3)
+
+		dn.load_from_db()
+		# DN should be completed on billing all unreturned amount
+		self.assertEqual(dn.items[0].billed_amt, 1500)
+		self.assertEqual(dn.per_billed, 100)
+		self.assertEqual(dn.status, 'Completed')
+
+		si.load_from_db()
+		si.cancel()
+
+		dn.load_from_db()
+		self.assertEqual(dn.per_billed, 0)
+
+		dn1.cancel()
+		dn.cancel()
+
+	def test_sales_return_for_non_bundled_items_full(self):
+		from erpnext.stock.doctype.item.test_item import make_item
+
+		company = frappe.db.get_value('Warehouse', 'Stores - TCP1', 'company')
+
+		make_item("Box", {'is_stock_item': 1})
+
+		make_stock_entry(item_code="Box", target="Stores - TCP1", qty=10, basic_rate=100)
+
+		dn = create_delivery_note(item_code="Box", qty=5, rate=500, warehouse="Stores - TCP1", company=company,
+			expense_account="Cost of Goods Sold - TCP1", cost_center="Main - TCP1")
+
+		#return entry
+		dn1 = create_delivery_note(item_code="Box", is_return=1, return_against=dn.name, qty=-5, rate=500,
+			company=company, warehouse="Stores - TCP1", expense_account="Cost of Goods Sold - TCP1",
+			cost_center="Main - TCP1", do_not_submit=1)
+		dn1.items[0].dn_detail = dn.items[0].name
+		dn1.submit()
+
+		# hack because new_doc isn't considering is_return portion of status_updater
+		returned = frappe.get_doc("Delivery Note", dn1.name)
+		returned.update_prevdoc_status()
+		dn.load_from_db()
+
+		# Check if Original DN updated
+		self.assertEqual(dn.items[0].returned_qty, 5)
+		self.assertEqual(dn.per_returned, 100)
+		self.assertEqual(dn.status, 'Return Issued')
+
 	def test_return_single_item_from_bundled_items(self):
 		company = frappe.db.get_value('Warehouse', 'Stores - TCP1', 'company')
 
@@ -442,9 +509,15 @@
 		self.assertEqual(dn.status, "To Bill")
 		self.assertEqual(dn.per_billed, 0)
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(dn.po_no, so.po_no)
+
 		si = make_sales_invoice(dn.name)
 		si.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(dn.po_no, si.po_no)
+
 		dn.load_from_db()
 		self.assertEqual(dn.get("items")[0].billed_amt, 200)
 		self.assertEqual(dn.per_billed, 100)
@@ -461,16 +534,25 @@
 		si.insert()
 		si.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(so.po_no, si.po_no)
+
 		frappe.db.set_value("Stock Settings", None, "allow_negative_stock", 1)
 
 		dn1 = make_delivery_note(so.name)
 		dn1.get("items")[0].qty = 2
 		dn1.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(so.po_no, dn1.po_no)
+
 		dn2 = make_delivery_note(so.name)
 		dn2.get("items")[0].qty = 3
 		dn2.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(so.po_no, dn2.po_no)
+
 		dn1.load_from_db()
 		self.assertEqual(dn1.get("items")[0].billed_amt, 200)
 		self.assertEqual(dn1.per_billed, 100)
@@ -492,9 +574,15 @@
 		dn1.get("items")[0].qty = 2
 		dn1.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(dn1.po_no, so.po_no)
+
 		si1 = make_sales_invoice(dn1.name)
 		si1.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(dn1.po_no, si1.po_no)
+
 		dn1.load_from_db()
 		self.assertEqual(dn1.per_billed, 100)
 
@@ -502,10 +590,16 @@
 		si2.get("items")[0].qty = 4
 		si2.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(si2.po_no, so.po_no)
+
 		dn2 = make_delivery_note(so.name)
 		dn2.get("items")[0].qty = 5
 		dn2.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(dn2.po_no, so.po_no)
+
 		dn1.load_from_db()
 		self.assertEqual(dn1.get("items")[0].billed_amt, 200)
 		self.assertEqual(dn1.per_billed, 100)
@@ -525,9 +619,15 @@
 		si = make_sales_invoice(so.name)
 		si.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(so.po_no, si.po_no)
+
 		dn = make_delivery_note(si.name)
 		dn.submit()
 
+		# Testing if Customer's Purchase Order No was rightly copied
+		self.assertEqual(dn.po_no, si.po_no)
+
 		self.assertEqual(dn.get("items")[0].billed_amt, 1000)
 		self.assertEqual(dn.per_billed, 100)
 		self.assertEqual(dn.status, "Completed")
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 3d57f47..7b47187 100644
--- a/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
+++ b/erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
@@ -1,4 +1,5 @@
 {
+ "actions": [],
  "autoname": "hash",
  "creation": "2013-04-22 13:15:44",
  "doctype": "DocType",
@@ -24,7 +25,10 @@
   "col_break2",
   "uom",
   "conversion_factor",
+  "stock_qty_sec_break",
   "stock_qty",
+  "stock_qty_col_break",
+  "returned_qty",
   "section_break_17",
   "price_list_rate",
   "base_price_list_rate",
@@ -211,7 +215,7 @@
   {
    "fieldname": "stock_qty",
    "fieldtype": "Float",
-   "label": "Qty as per Stock UOM",
+   "label": "Qty in Stock UOM",
    "no_copy": 1,
    "print_hide": 1,
    "read_only": 1
@@ -715,12 +719,29 @@
    "no_copy": 1,
    "print_hide": 1,
    "read_only": 1
+  },
+  {
+   "fieldname": "stock_qty_sec_break",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "stock_qty_col_break",
+   "fieldtype": "Column Break"
+  },
+  {
+   "depends_on": "returned_qty",
+   "fieldname": "returned_qty",
+   "fieldtype": "Float",
+   "label": "Returned Qty in Stock UOM",
+   "no_copy": 1,
+   "print_hide": 1,
+   "read_only": 1
   }
  ],
  "idx": 1,
  "istable": 1,
  "links": [],
- "modified": "2020-07-20 12:25:06.177894",
+ "modified": "2020-07-31 20:12:43.054342",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Delivery Note Item",
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index 3b62c38..be845d9 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -977,15 +977,20 @@
 		# For "Is Stock Item", following doctypes is important
 		# because reserved_qty, ordered_qty and requested_qty updated from these doctypes
 		if field == "is_stock_item":
-			linked_doctypes += ["Sales Order Item", "Purchase Order Item", "Material Request Item"]
+			linked_doctypes += ["Sales Order Item", "Purchase Order Item", "Material Request Item", "Product Bundle"]
 
 		for doctype in linked_doctypes:
+			filters={"item_code": self.name, "docstatus": 1}
+
+			if doctype == "Product Bundle":
+				filters={"new_item_code": self.name}
+
 			if doctype in ("Purchase Invoice Item", "Sales Invoice Item",):
 				# If Invoice has Stock impact, only then consider it.
 				if self.stock_ledger_created():
 					return True
 
-			elif frappe.db.get_value(doctype, filters={"item_code": self.name, "docstatus": 1}):
+			elif frappe.db.get_value(doctype, filters):
 				return True
 
 	def validate_auto_reorder_enabled_in_stock_settings(self):
diff --git a/erpnext/stock/doctype/item_price/item_price.py b/erpnext/stock/doctype/item_price/item_price.py
index 51b47c5..bed5ea9 100644
--- a/erpnext/stock/doctype/item_price/item_price.py
+++ b/erpnext/stock/doctype/item_price/item_price.py
@@ -4,14 +4,13 @@
 from __future__ import unicode_literals
 import frappe
 from frappe import _
-
-
-class ItemPriceDuplicateItem(frappe.ValidationError): pass
-
-
 from frappe.model.document import Document
 
 
+class ItemPriceDuplicateItem(frappe.ValidationError):
+	pass
+
+
 class ItemPrice(Document):
 
 	def validate(self):
@@ -23,7 +22,7 @@
 
 	def validate_item(self):
 		if not frappe.db.exists("Item", self.item_code):
-			frappe.throw(_("Item {0} not found").format(self.item_code))
+			frappe.throw(_("Item {0} not found.").format(self.item_code))
 
 	def validate_dates(self):
 		if self.valid_from and self.valid_upto:
@@ -38,40 +37,45 @@
 
 			if not price_list_details:
 				link = frappe.utils.get_link_to_form('Price List', self.price_list)
-				frappe.throw("The price list {0} does not exists or disabled".
-					format(link))
+				frappe.throw("The price list {0} does not exist or is disabled".format(link))
 
 			self.buying, self.selling, self.currency = price_list_details
 
 	def update_item_details(self):
 		if self.item_code:
-			self.item_name, self.item_description = frappe.db.get_value("Item",
-				self.item_code,["item_name", "description"])
+			self.item_name, self.item_description = frappe.db.get_value("Item", self.item_code,["item_name", "description"])
 
 	def check_duplicates(self):
-		conditions = "where item_code=%(item_code)s and price_list=%(price_list)s and name != %(name)s"
-		condition_data_dict = dict(item_code=self.item_code, price_list=self.price_list, name=self.name)
+		conditions = """where item_code = %(item_code)s and price_list = %(price_list)s and name != %(name)s"""
 
-		for field in ['uom', 'valid_from',
-			'valid_upto', 'packing_unit', 'customer', 'supplier']:
+		for field in [
+			"uom",
+			"valid_from",
+			"valid_upto",
+			"packing_unit",
+			"customer",
+			"supplier",]:
 			if self.get(field):
-				conditions += " and {0} = %({1})s".format(field, field)
-				condition_data_dict[field] = self.get(field)
+				conditions += " and {0} = %({0})s ".format(field)
+			else:
+				conditions += "and (isnull({0}) or {0} = '')".format(field)
 
 		price_list_rate = frappe.db.sql("""
-			SELECT price_list_rate
-			FROM `tabItem Price`
-			  {conditions} """.format(conditions=conditions), condition_data_dict)
+				select price_list_rate
+				from `tabItem Price`
+				{conditions}
+			""".format(conditions=conditions),
+			self.as_dict(),)
 
-		if price_list_rate :
-			frappe.throw(_("Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty and Dates."), ItemPriceDuplicateItem)
+		if price_list_rate:
+			frappe.throw(_("Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, UOM, Qty, and Dates."), ItemPriceDuplicateItem,)
 
 	def before_save(self):
 		if self.selling:
 			self.reference = self.customer
 		if self.buying:
 			self.reference = self.supplier
-		
+
 		if self.selling and not self.buying:
 			# if only selling then remove supplier
 			self.supplier = None
diff --git a/erpnext/stock/doctype/item_price/test_item_price.py b/erpnext/stock/doctype/item_price/test_item_price.py
index 702acc3..f3d406e 100644
--- a/erpnext/stock/doctype/item_price/test_item_price.py
+++ b/erpnext/stock/doctype/item_price/test_item_price.py
@@ -138,4 +138,23 @@
 		# Valid price list must already exist
 		self.assertRaises(frappe.ValidationError, doc.save)
 
+	def test_empty_duplicate_validation(self):
+		# Check if none/empty values are not compared during insert validation
+		doc = frappe.copy_doc(test_records[2])
+		doc.customer = None
+		doc.price_list_rate = 21
+		doc.insert()
+
+		args = {
+			"price_list": doc.price_list,
+			"uom": "_Test UOM",
+			"transaction_date": '2017-04-18',
+			"qty": 7
+		}
+
+		price = get_price_list_rate_for(args, doc.item_code)
+		frappe.db.rollback()
+
+		self.assertEqual(price, 21)
+
 test_records = frappe.get_test_records('Item Price')
diff --git a/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.json b/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.json
index f1e1fd3..888bc2d 100644
--- a/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.json
+++ b/erpnext/stock/doctype/item_quality_inspection_parameter/item_quality_inspection_parameter.json
@@ -1,88 +1,57 @@
 {
- "allow_copy": 0, 
- "allow_import": 0, 
- "allow_rename": 0, 
- "autoname": "hash", 
- "beta": 0, 
- "creation": "2013-02-22 01:28:01", 
- "custom": 0, 
- "docstatus": 0, 
- "doctype": "DocType", 
- "editable_grid": 1, 
+ "actions": [],
+ "autoname": "hash",
+ "creation": "2013-02-22 01:28:01",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "specification",
+  "value",
+  "column_break_3",
+  "acceptance_formula"
+ ],
  "fields": [
   {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "specification", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_list_view": 1, 
-   "label": "Parameter", 
-   "length": 0, 
-   "no_copy": 0, 
-   "oldfieldname": "specification", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "print_width": "200px", 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 1, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0, 
+   "fieldname": "specification",
+   "fieldtype": "Data",
+   "in_list_view": 1,
+   "label": "Parameter",
+   "oldfieldname": "specification",
+   "oldfieldtype": "Data",
+   "print_width": "200px",
+   "reqd": 1,
    "width": "200px"
-  }, 
+  },
   {
-   "allow_on_submit": 0, 
-   "bold": 0, 
-   "collapsible": 0, 
-   "fieldname": "value", 
-   "fieldtype": "Data", 
-   "hidden": 0, 
-   "ignore_user_permissions": 0, 
-   "ignore_xss_filter": 0, 
-   "in_filter": 0, 
-   "in_list_view": 1, 
-   "label": "Acceptance Criteria", 
-   "length": 0, 
-   "no_copy": 0, 
-   "oldfieldname": "value", 
-   "oldfieldtype": "Data", 
-   "permlevel": 0, 
-   "print_hide": 0, 
-   "print_hide_if_no_value": 0, 
-   "read_only": 0, 
-   "report_hide": 0, 
-   "reqd": 0, 
-   "search_index": 0, 
-   "set_only_once": 0, 
-   "unique": 0
+   "fieldname": "value",
+   "fieldtype": "Data",
+   "in_list_view": 1,
+   "label": "Acceptance Criteria",
+   "oldfieldname": "value",
+   "oldfieldtype": "Data"
+  },
+  {
+   "fieldname": "column_break_3",
+   "fieldtype": "Column Break"
+  },
+  {
+   "description": "Simple Python formula based on numeric Readings.<br> Example 1: <b>reading_1 &gt; 0.2 and reading_1 &lt; 0.5</b><br>\nExample 2: <b>(reading_1 + reading_2) / 2 &lt; 10</b>",
+   "fieldname": "acceptance_formula",
+   "fieldtype": "Code",
+   "in_list_view": 1,
+   "label": "Acceptance Criteria Formula"
   }
- ], 
- "hide_heading": 0, 
- "hide_toolbar": 0, 
- "idx": 1, 
- "image_view": 0, 
- "in_create": 0, 
-
- "is_submittable": 0, 
- "issingle": 0, 
- "istable": 1, 
- "max_attachments": 0, 
- "modified": "2016-07-11 03:28:01.074316", 
- "modified_by": "Administrator", 
- "module": "Stock", 
- "name": "Item Quality Inspection Parameter", 
- "owner": "Administrator", 
- "permissions": [], 
- "quick_entry": 0, 
- "read_only": 0, 
- "read_only_onload": 0, 
- "track_seen": 0
+ ],
+ "idx": 1,
+ "istable": 1,
+ "links": [],
+ "modified": "2020-11-16 16:33:42.421842",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Item Quality Inspection Parameter",
+ "owner": "Administrator",
+ "permissions": [],
+ "sort_field": "modified",
+ "sort_order": "DESC"
 }
\ No newline at end of file
diff --git a/erpnext/stock/doctype/material_request/material_request.js b/erpnext/stock/doctype/material_request/material_request.js
index 8c47098..01edd99 100644
--- a/erpnext/stock/doctype/material_request/material_request.js
+++ b/erpnext/stock/doctype/material_request/material_request.js
@@ -90,7 +90,7 @@
 	make_custom_buttons: function(frm) {
 		if (frm.doc.docstatus==0) {
 			frm.add_custom_button(__("Bill of Materials"),
-				() => frm.events.get_items_from_bom(frm), __("Get items from"));
+				() => frm.events.get_items_from_bom(frm), __("Get Items From"));
 		}
 
 		if (frm.doc.docstatus == 1 && frm.doc.status != 'Stopped') {
@@ -147,7 +147,7 @@
 
 		if (frm.doc.docstatus===0) {
 			frm.add_custom_button(__('Sales Order'), () => frm.events.get_items_from_sales_order(frm),
-				__("Get items from"));
+				__("Get Items From"));
 		}
 
 		if (frm.doc.docstatus == 1 && frm.doc.status == 'Stopped') {
@@ -173,7 +173,8 @@
 			source_doctype: "Sales Order",
 			target: frm,
 			setters: {
-				customer: frm.doc.customer || undefined
+				customer: frm.doc.customer || undefined,
+				delivery_date: undefined,
 			},
 			get_query_filters: {
 				docstatus: 1,
@@ -280,8 +281,7 @@
 				fieldname:'default_supplier',
 				fieldtype: 'Link',
 				options: 'Supplier',
-				description: __('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.'),
+				description: __('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.'),
 				get_query: () => {
 					return{
 						query: "erpnext.stock.doctype.material_request.material_request.get_default_supplier_query",
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
index c504e23..bc1d81d 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.js
@@ -128,6 +128,7 @@
 							target: me.frm,
 							setters: {
 								supplier: me.frm.doc.supplier,
+								schedule_date: undefined
 							},
 							get_query_filters: {
 								docstatus: 1,
@@ -136,7 +137,7 @@
 								company: me.frm.doc.company
 							}
 						})
-					}, __("Get items from"));
+					}, __("Get Items From"));
 			}
 
 			if(this.frm.doc.docstatus == 1 && this.frm.doc.status!="Closed") {
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
index ce54fc8..5bb3095 100755
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
@@ -1,5 +1,6 @@
 {
  "actions": [],
+ "allow_auto_repeat": 1,
  "allow_import": 1,
  "autoname": "naming_series:",
  "creation": "2013-05-21 16:16:39",
@@ -110,6 +111,7 @@
   "range",
   "column_break4",
   "per_billed",
+  "per_returned",
   "is_internal_supplier",
   "inter_company_reference",
   "subscription_detail",
@@ -894,7 +896,7 @@
    "no_copy": 1,
    "oldfieldname": "status",
    "oldfieldtype": "Select",
-   "options": "\nDraft\nTo Bill\nCompleted\nCancelled\nClosed",
+   "options": "\nDraft\nTo Bill\nCompleted\nReturn Issued\nCancelled\nClosed",
    "print_hide": 1,
    "print_width": "150px",
    "read_only": 1,
@@ -1103,13 +1105,22 @@
    "fieldtype": "Small Text",
    "label": "Billing Address",
    "read_only": 1
+  },
+  {
+   "depends_on": "eval:!doc.__islocal",
+   "fieldname": "per_returned",
+   "fieldtype": "Percent",
+   "label": "% Returned",
+   "no_copy": 1,
+   "print_hide": 1,
+   "read_only": 1
   }
  ],
  "icon": "fa fa-truck",
  "idx": 261,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-08-03 23:20:26.381024",
+ "modified": "2020-11-30 12:54:23.278500",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Purchase Receipt",
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index faa9dd9..97e0fa7 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -55,20 +55,33 @@
 			'percent_join_field': 'material_request'
 		}]
 		if cint(self.is_return):
-			self.status_updater.append({
-				'source_dt': 'Purchase Receipt Item',
-				'target_dt': 'Purchase Order Item',
-				'join_field': 'purchase_order_item',
-				'target_field': 'returned_qty',
-				'source_field': '-1 * qty',
-				'second_source_dt': 'Purchase Invoice Item',
-				'second_source_field': '-1 * qty',
-				'second_join_field': 'po_detail',
-				'extra_cond': """ and exists (select name from `tabPurchase Receipt`
-					where name=`tabPurchase Receipt Item`.parent and is_return=1)""",
-				'second_source_extra_cond': """ and exists (select name from `tabPurchase Invoice`
-					where name=`tabPurchase Invoice Item`.parent and is_return=1 and update_stock=1)"""
-			})
+			self.status_updater.extend([
+				{
+					'source_dt': 'Purchase Receipt Item',
+					'target_dt': 'Purchase Order Item',
+					'join_field': 'purchase_order_item',
+					'target_field': 'returned_qty',
+					'source_field': '-1 * qty',
+					'second_source_dt': 'Purchase Invoice Item',
+					'second_source_field': '-1 * qty',
+					'second_join_field': 'po_detail',
+					'extra_cond': """ and exists (select name from `tabPurchase Receipt`
+						where name=`tabPurchase Receipt Item`.parent and is_return=1)""",
+					'second_source_extra_cond': """ and exists (select name from `tabPurchase Invoice`
+						where name=`tabPurchase Invoice Item`.parent and is_return=1 and update_stock=1)"""
+				},
+				{
+					'source_dt': 'Purchase Receipt Item',
+					'target_dt': 'Purchase Receipt Item',
+					'join_field': 'purchase_receipt_item',
+					'target_field': 'returned_qty',
+					'target_parent_dt': 'Purchase Receipt',
+					'target_parent_field': 'per_returned',
+					'target_ref_field': 'received_stock_qty',
+					'source_field': '-1 * received_stock_qty',
+					'percent_join_field_parent': 'return_against'
+				}
+			])
 
 	def validate(self):
 		self.validate_posting_time()
@@ -478,7 +491,7 @@
 			frappe.db.set_value("Asset", asset.name, "purchase_receipt_amount", flt(valuation_rate))
 
 	def update_status(self, status):
-		self.set_status(update=True, status = status)
+		self.set_status(update=True, status=status)
 		self.notify_update()
 		clear_doctype_notifications(self)
 
@@ -490,7 +503,7 @@
 
 		for pr in set(updated_pr):
 			pr_doc = self if (pr == self.name) else frappe.get_doc("Purchase Receipt", pr)
-			pr_doc.update_billing_percentage(update_modified=update_modified)
+			update_billing_percentage(pr_doc, update_modified=update_modified)
 
 		self.load_from_db()
 
@@ -500,7 +513,7 @@
 		where po_detail=%s and (pr_detail is null or pr_detail = '') and docstatus=1""", po_detail)
 	billed_against_po = billed_against_po and billed_against_po[0][0] or 0
 
-	# Get all Delivery Note Item rows against the Sales Order Item row
+	# Get all Purchase Receipt Item rows against the Purchase Order Item row
 	pr_details = frappe.db.sql("""select pr_item.name, pr_item.amount, pr_item.parent
 		from `tabPurchase Receipt Item` pr_item, `tabPurchase Receipt` pr
 		where pr.name=pr_item.parent and pr_item.purchase_order_item=%s
@@ -530,9 +543,44 @@
 
 	return updated_pr
 
+def update_billing_percentage(pr_doc, update_modified=True):
+	# Reload as billed amount was set in db directly
+	pr_doc.load_from_db()
+
+	# Update Billing % based on pending accepted qty
+	total_amount, total_billed_amount = 0, 0
+	for item in pr_doc.items:
+		return_data = frappe.db.get_list("Purchase Receipt",
+			fields = [
+				"sum(abs(`tabPurchase Receipt Item`.qty)) as qty"
+			],
+			filters = [
+				["Purchase Receipt", "docstatus", "=", 1],
+				["Purchase Receipt", "is_return", "=", 1],
+				["Purchase Receipt Item", "purchase_receipt_item", "=", item.name]
+		])
+
+		returned_qty = return_data[0].qty if return_data else 0
+		returned_amount = flt(returned_qty) * flt(item.rate)
+		pending_amount = flt(item.amount) - returned_amount
+		total_billable_amount = pending_amount if item.billed_amt <= pending_amount else item.billed_amt
+
+		total_amount += total_billable_amount
+		total_billed_amount += flt(item.billed_amt)
+
+	percent_billed = round(100 * (total_billed_amount / (total_amount or 1)), 6)
+	pr_doc.db_set("per_billed", percent_billed)
+	pr_doc.load_from_db()
+
+	if update_modified:
+		pr_doc.set_status(update=True)
+		pr_doc.notify_update()
+
 @frappe.whitelist()
 def make_purchase_invoice(source_name, target_doc=None):
 	from frappe.model.mapper import get_mapped_doc
+	from erpnext.accounts.party import get_payment_terms_template
+
 	doc = frappe.get_doc('Purchase Receipt', source_name)
 	returned_qty_map = get_returned_qty_map(source_name)
 	invoiced_qty_map = get_invoiced_qty_map(source_name)
@@ -543,12 +591,14 @@
 
 		doc = frappe.get_doc(target)
 		doc.ignore_pricing_rule = 1
+		doc.payment_terms_template = get_payment_terms_template(source.supplier, "Supplier", source.company)
 		doc.run_method("onload")
 		doc.run_method("set_missing_values")
 		doc.run_method("calculate_taxes_and_totals")
 
 	def update_item(source_doc, target_doc, source_parent):
 		target_doc.qty, returned_qty = get_pending_qty(source_doc)
+		target_doc.stock_qty = flt(target_doc.qty) * flt(target_doc.conversion_factor, target_doc.precision("conversion_factor"))
 		returned_qty_map[source_doc.name] = returned_qty
 
 	def get_pending_qty(item_row):
@@ -569,7 +619,8 @@
 			"doctype": "Purchase Invoice",
 			"field_map": {
 				"supplier_warehouse":"supplier_warehouse",
-				"is_return": "is_return"
+				"is_return": "is_return",
+				"bill_date": "bill_date"
 			},
 			"validation": {
 				"docstatus": ["=", 1],
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt_list.js b/erpnext/stock/doctype/purchase_receipt/purchase_receipt_list.js
index e81f323..c9501a4 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt_list.js
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt_list.js
@@ -6,9 +6,11 @@
 			return [__("Return"), "darkgrey", "is_return,=,Yes"];
 		} else if (doc.status === "Closed") {
 			return [__("Closed"), "green", "status,=,Closed"];
+		} else if (flt(doc.per_returned, 2) === 100) {
+			return [__("Return Issued"), "grey", "per_returned,=,100"];
 		} else if (flt(doc.grand_total) !== 0 && flt(doc.per_billed, 2) < 100) {
 			return [__("To Bill"), "orange", "per_billed,<,100"];
-		} else if (flt(doc.grand_total) === 0 || flt(doc.per_billed, 2) == 100) {
+		} else if (flt(doc.grand_total) === 0 || flt(doc.per_billed, 2) === 100) {
 			return [__("Completed"), "green", "per_billed,=,100"];
 		}
 	}
diff --git a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
index a1e01bf..9b8eeed 100644
--- a/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/test_purchase_receipt.py
@@ -42,6 +42,30 @@
 		frappe.db.set_value('UOM', '_Test UOM', 'must_be_whole_number', 1)
 
 	def test_make_purchase_invoice(self):
+		if not frappe.db.exists('Payment Terms Template', '_Test Payment Terms Template For Purchase Invoice'):
+			frappe.get_doc({
+				'doctype': 'Payment Terms Template',
+				'template_name': '_Test Payment Terms Template For Purchase Invoice',
+				'allocate_payment_based_on_payment_terms': 1,
+				'terms': [
+					{
+						'doctype': 'Payment Terms Template Detail',
+						'invoice_portion': 50.00,
+						'credit_days_based_on': 'Day(s) after invoice date',
+						'credit_days': 00
+					},
+					{
+						'doctype': 'Payment Terms Template Detail',
+						'invoice_portion': 50.00,
+						'credit_days_based_on': 'Day(s) after invoice date',
+						'credit_days': 30
+					}]
+			}).insert()
+
+		template = frappe.db.get_value('Payment Terms Template', '_Test Payment Terms Template For Purchase Invoice')
+		old_template_in_supplier = frappe.db.get_value("Supplier", "_Test Supplier", "payment_terms")
+		frappe.db.set_value("Supplier", "_Test Supplier", "payment_terms", template)
+
 		pr = make_purchase_receipt(do_not_save=True)
 		self.assertRaises(frappe.ValidationError, make_purchase_invoice, pr.name)
 		pr.submit()
@@ -51,10 +75,23 @@
 		self.assertEqual(pi.doctype, "Purchase Invoice")
 		self.assertEqual(len(pi.get("items")), len(pr.get("items")))
 
-		# modify rate
+		# test maintaining same rate throughout purchade cycle
 		pi.get("items")[0].rate = 200
 		self.assertRaises(frappe.ValidationError, frappe.get_doc(pi).submit)
 
+		# test if payment terms are fetched and set in PI
+		self.assertEqual(pi.payment_terms_template, template)
+		self.assertEqual(pi.payment_schedule[0].payment_amount, flt(pi.grand_total)/2)
+		self.assertEqual(pi.payment_schedule[0].invoice_portion, 50)
+		self.assertEqual(pi.payment_schedule[1].payment_amount, flt(pi.grand_total)/2)
+		self.assertEqual(pi.payment_schedule[1].invoice_portion, 50)
+
+		# teardown
+		pi.delete() # draft PI
+		pr.cancel()
+		frappe.db.set_value("Supplier", "_Test Supplier", "payment_terms", old_template_in_supplier)
+		frappe.get_doc('Payment Terms Template', '_Test Payment Terms Template For Purchase Invoice').delete()
+
 	def test_purchase_receipt_no_gl_entry(self):
 		company = frappe.db.get_value('Warehouse', '_Test Warehouse - _TC', 'company')
 
@@ -100,7 +137,10 @@
 		self.assertFalse(frappe.db.get_all('Serial No', {'batch_no': batch_no}))
 
 	def test_purchase_receipt_gl_entry(self):
-		pr = make_purchase_receipt(company="_Test Company with perpetual inventory", warehouse = "Stores - TCP1", supplier_warehouse = "Work in Progress - TCP1", get_multiple_items = True, get_taxes_and_charges = True)
+		pr = make_purchase_receipt(company="_Test Company with perpetual inventory",
+			warehouse = "Stores - TCP1", supplier_warehouse = "Work in Progress - TCP1",
+			get_multiple_items = True, get_taxes_and_charges = True)
+
 		self.assertEqual(cint(erpnext.is_perpetual_inventory_enabled(pr.company)), 1)
 
 		gl_entries = get_gl_entries("Purchase Receipt", pr.name)
@@ -244,11 +284,15 @@
 			self.assertEqual(frappe.db.get_value("Serial No", serial_no, "warehouse"),
 				pr.get("items")[0].rejected_warehouse)
 
-	def test_purchase_return(self):
+	def test_purchase_return_partial(self):
+		pr = make_purchase_receipt(company="_Test Company with perpetual inventory",
+			warehouse = "Stores - TCP1", supplier_warehouse = "Work in Progress - TCP1")
 
-		pr = make_purchase_receipt(company="_Test Company with perpetual inventory", warehouse = "Stores - TCP1", supplier_warehouse = "Work in Progress - TCP1")
-
-		return_pr = make_purchase_receipt(company="_Test Company with perpetual inventory", warehouse = "Stores - TCP1", supplier_warehouse = "Work in Progress - TCP1", is_return=1, return_against=pr.name, qty=-2)
+		return_pr = make_purchase_receipt(company="_Test Company with perpetual inventory",
+			warehouse = "Stores - TCP1", supplier_warehouse = "Work in Progress - TCP1",
+			is_return=1, return_against=pr.name, qty=-2, do_not_submit=1)
+		return_pr.items[0].purchase_receipt_item = pr.items[0].name
+		return_pr.submit()
 
 		# check sle
 		outgoing_rate = frappe.db.get_value("Stock Ledger Entry", {"voucher_type": "Purchase Receipt",
@@ -272,6 +316,60 @@
 			self.assertEqual(expected_values[gle.account][0], gle.debit)
 			self.assertEqual(expected_values[gle.account][1], gle.credit)
 
+		# hack because new_doc isn't considering is_return portion of status_updater
+		returned = frappe.get_doc("Purchase Receipt", return_pr.name)
+		returned.update_prevdoc_status()
+		pr.load_from_db()
+
+		# Check if Original PR updated
+		self.assertEqual(pr.items[0].returned_qty, 2)
+		self.assertEqual(pr.per_returned, 40)
+
+		from erpnext.controllers.sales_and_purchase_return import make_return_doc
+		return_pr_2 = make_return_doc("Purchase Receipt", pr.name)
+
+		# Check if unreturned amount is mapped in 2nd return
+		self.assertEqual(return_pr_2.items[0].qty, -3)
+
+		# Make PI against unreturned amount
+		pi = make_purchase_invoice(pr.name)
+		pi.submit()
+
+		self.assertEqual(pi.items[0].qty, 3)
+
+		pr.load_from_db()
+		# PR should be completed on billing all unreturned amount
+		self.assertEqual(pr.items[0].billed_amt, 150)
+		self.assertEqual(pr.per_billed, 100)
+		self.assertEqual(pr.status, 'Completed')
+
+		pi.load_from_db()
+		pi.cancel()
+
+		pr.load_from_db()
+		self.assertEqual(pr.per_billed, 0)
+
+		return_pr.cancel()
+		pr.cancel()
+
+	def test_purchase_return_full(self):
+		pr = make_purchase_receipt(company="_Test Company with perpetual inventory", warehouse = "Stores - TCP1",
+			supplier_warehouse = "Work in Progress - TCP1")
+
+		return_pr = make_purchase_receipt(company="_Test Company with perpetual inventory", warehouse = "Stores - TCP1",
+			supplier_warehouse = "Work in Progress - TCP1", is_return=1, return_against=pr.name, qty=-5, do_not_submit=1)
+		return_pr.items[0].purchase_receipt_item = pr.items[0].name
+		return_pr.submit()
+
+		# hack because new_doc isn't considering is_return portion of status_updater
+		returned = frappe.get_doc("Purchase Receipt", return_pr.name)
+		returned.update_prevdoc_status()
+		pr.load_from_db()
+
+		# Check if Original PR updated
+		self.assertEqual(pr.items[0].returned_qty, 5)
+		self.assertEqual(pr.per_returned, 100)
+		self.assertEqual(pr.status, 'Return Issued')
 
 	def test_purchase_return_for_rejected_qty(self):
 		from erpnext.stock.doctype.warehouse.test_warehouse import get_warehouse
@@ -379,6 +477,7 @@
 		self.assertEqual(pr1.per_billed, 100)
 		self.assertEqual(pr1.status, "Completed")
 
+		pr2.load_from_db()
 		self.assertEqual(pr2.get("items")[0].billed_amt, 2000)
 		self.assertEqual(pr2.per_billed, 80)
 		self.assertEqual(pr2.status, "To Bill")
diff --git a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
index c1e1f90..84c64aa 100644
--- a/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
+++ b/erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
@@ -28,9 +28,13 @@
   "uom",
   "stock_uom",
   "conversion_factor",
-  "stock_qty",
   "retain_sample",
   "sample_quantity",
+  "tracking_section",
+  "received_stock_qty",
+  "stock_qty",
+  "col_break_tracking_section",
+  "returned_qty",
   "rate_and_amount",
   "price_list_rate",
   "discount_percentage",
@@ -526,7 +530,7 @@
   {
    "fieldname": "stock_qty",
    "fieldtype": "Float",
-   "label": "Accepted Qty as per Stock UOM",
+   "label": "Accepted Qty in Stock UOM",
    "oldfieldname": "stock_qty",
    "oldfieldtype": "Currency",
    "print_hide": 1,
@@ -834,12 +838,35 @@
    "collapsible": 1,
    "fieldname": "image_column",
    "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "tracking_section",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "col_break_tracking_section",
+   "fieldtype": "Column Break"
+  },
+  {
+   "depends_on": "returned_qty",
+   "fieldname": "returned_qty",
+   "fieldtype": "Float",
+   "label": "Returned Qty in Stock UOM",
+   "no_copy": 1,
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "received_stock_qty",
+   "fieldtype": "Float",
+   "label": "Received Qty in Stock UOM",
+   "print_hide": 1
   }
  ],
  "idx": 1,
  "istable": 1,
  "links": [],
- "modified": "2020-04-28 19:01:21.154963",
+ "modified": "2020-11-02 10:00:38.204294",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Purchase Receipt Item",
diff --git a/erpnext/stock/doctype/quality_inspection/quality_inspection.js b/erpnext/stock/doctype/quality_inspection/quality_inspection.js
index 22f29e0..376848a 100644
--- a/erpnext/stock/doctype/quality_inspection/quality_inspection.js
+++ b/erpnext/stock/doctype/quality_inspection/quality_inspection.js
@@ -31,17 +31,27 @@
 
 // item code based on GRN/DN
 cur_frm.fields_dict['item_code'].get_query = function(doc, cdt, cdn) {
-	const doctype = (doc.reference_type == "Stock Entry") ?
-		"Stock Entry Detail" : doc.reference_type + " Item";
+	let doctype = doc.reference_type;
+
+	if (doc.reference_type !== "Job Card") {
+		doctype = (doc.reference_type == "Stock Entry") ?
+			"Stock Entry Detail" : doc.reference_type + " Item";
+	}
 
 	if (doc.reference_type && doc.reference_name) {
+		let filters = {
+			"from": doctype,
+			"inspection_type": doc.inspection_type
+		};
+
+		if (doc.reference_type == doctype)
+			filters["reference_name"] = doc.reference_name;
+		else
+			filters["parent"] = doc.reference_name;
+
 		return {
 			query: "erpnext.stock.doctype.quality_inspection.quality_inspection.item_query",
-			filters: {
-				"from": doctype,
-				"parent": doc.reference_name,
-				"inspection_type": doc.inspection_type
-			}
+			filters: filters
 		};
 	}
 },
diff --git a/erpnext/stock/doctype/quality_inspection/quality_inspection.json b/erpnext/stock/doctype/quality_inspection/quality_inspection.json
index dd95075..f6d7619 100644
--- a/erpnext/stock/doctype/quality_inspection/quality_inspection.json
+++ b/erpnext/stock/doctype/quality_inspection/quality_inspection.json
@@ -73,7 +73,7 @@
    "fieldname": "reference_type",
    "fieldtype": "Select",
    "label": "Reference Type",
-   "options": "\nPurchase Receipt\nPurchase Invoice\nDelivery Note\nSales Invoice\nStock Entry",
+   "options": "\nPurchase Receipt\nPurchase Invoice\nDelivery Note\nSales Invoice\nStock Entry\nJob Card",
    "reqd": 1
   },
   {
@@ -236,7 +236,7 @@
  "index_web_pages_for_search": 1,
  "is_submittable": 1,
  "links": [],
- "modified": "2020-10-21 13:03:11.938072",
+ "modified": "2020-11-19 17:06:05.409963",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Quality Inspection",
diff --git a/erpnext/stock/doctype/quality_inspection/quality_inspection.py b/erpnext/stock/doctype/quality_inspection/quality_inspection.py
index c3bb514..ae4eb9b 100644
--- a/erpnext/stock/doctype/quality_inspection/quality_inspection.py
+++ b/erpnext/stock/doctype/quality_inspection/quality_inspection.py
@@ -4,15 +4,20 @@
 from __future__ import unicode_literals
 import frappe
 from frappe.model.document import Document
+from frappe.model.mapper import get_mapped_doc
+from frappe import _
+from frappe.utils import flt
 from erpnext.stock.doctype.quality_inspection_template.quality_inspection_template \
 	import get_template_details
-from frappe.model.mapper import get_mapped_doc
 
 class QualityInspection(Document):
 	def validate(self):
 		if not self.readings and self.item_code:
 			self.get_item_specification_details()
 
+		if self.readings:
+			self.set_status_based_on_acceptance_formula()
+
 	def get_item_specification_details(self):
 		if not self.quality_inspection_template:
 			self.quality_inspection_template = frappe.db.get_value('Item',
@@ -26,6 +31,7 @@
 			child = self.append('readings', {})
 			child.specification = d.specification
 			child.value = d.value
+			child.acceptance_formula = d.acceptance_formula
 			child.status = "Accepted"
 
 	def get_quality_inspection_template(self):
@@ -47,16 +53,51 @@
 
 	def update_qc_reference(self):
 		quality_inspection = self.name if self.docstatus == 1 else ""
-		doctype = self.reference_type + ' Item'
-		if self.reference_type == 'Stock Entry':
-			doctype = 'Stock Entry Detail'
 
-		if self.reference_type and self.reference_name:
-			frappe.db.sql("""update `tab{child_doc}` t1, `tab{parent_doc}` t2
-				set t1.quality_inspection = %s, t2.modified = %s
-				where t1.parent = %s and t1.item_code = %s and t1.parent = t2.name"""
-				.format(parent_doc=self.reference_type, child_doc=doctype),
-				(quality_inspection, self.modified, self.reference_name, self.item_code))
+		if self.reference_type == 'Job Card':
+			if self.reference_name:
+				frappe.db.sql("""
+					UPDATE `tab{doctype}`
+					SET quality_inspection = %s, modified = %s
+					WHERE name = %s and production_item = %s
+				""".format(doctype=self.reference_type),
+					(quality_inspection, self.modified, self.reference_name, self.item_code))
+
+		else:
+			doctype = self.reference_type + ' Item'
+			if self.reference_type == 'Stock Entry':
+				doctype = 'Stock Entry Detail'
+
+			if self.reference_type and self.reference_name:
+				frappe.db.sql("""
+					UPDATE `tab{child_doc}` t1, `tab{parent_doc}` t2
+					SET t1.quality_inspection = %s, t2.modified = %s
+					WHERE t1.parent = %s and t1.item_code = %s and t1.parent = t2.name
+				""".format(parent_doc=self.reference_type, child_doc=doctype),
+					(quality_inspection, self.modified, self.reference_name, self.item_code))
+
+	def set_status_based_on_acceptance_formula(self):
+		for reading in self.readings:
+			if not reading.acceptance_formula: continue
+
+			condition = reading.acceptance_formula
+			data = {}
+			for i in range(1, 11):
+				field = "reading_" + str(i)
+				data[field] = flt(reading.get(field)) or 0
+
+			try:
+				result = frappe.safe_eval(condition, None, data)
+				reading.status = "Accepted" if result else "Rejected"
+			except SyntaxError:
+				frappe.throw(_("Row #{0}: Acceptance Criteria Formula is incorrect.").format(reading.idx),
+					title=_("Invalid Formula"))
+			except NameError as e:
+				field = frappe.bold(e.args[0].split()[1])
+				frappe.throw(_("Row #{0}: {1} is not a valid reading field. Please refer to the field description.")
+					.format(reading.idx, field),
+					title=_("Invalid Formula"))
+
 
 @frappe.whitelist()
 @frappe.validate_and_sanitize_search_inputs
@@ -66,27 +107,44 @@
 		mcond = get_match_cond(filters["from"])
 		cond, qi_condition = "", "and (quality_inspection is null or quality_inspection = '')"
 
-		if filters.get('from') in ['Purchase Invoice Item', 'Purchase Receipt Item']\
-				and filters.get("inspection_type") != "In Process":
-			cond = """and item_code in (select name from `tabItem` where
-				inspection_required_before_purchase = 1)"""
-		elif filters.get('from') in ['Sales Invoice Item', 'Delivery Note Item']\
-				and filters.get("inspection_type") != "In Process":
-			cond = """and item_code in (select name from `tabItem` where
-				inspection_required_before_delivery = 1)"""
-		elif filters.get('from') == 'Stock Entry Detail':
-			cond = """and s_warehouse is null"""
+		if filters.get("parent"):
+			if filters.get('from') in ['Purchase Invoice Item', 'Purchase Receipt Item']\
+					and filters.get("inspection_type") != "In Process":
+				cond = """and item_code in (select name from `tabItem` where
+					inspection_required_before_purchase = 1)"""
+			elif filters.get('from') in ['Sales Invoice Item', 'Delivery Note Item']\
+					and filters.get("inspection_type") != "In Process":
+				cond = """and item_code in (select name from `tabItem` where
+					inspection_required_before_delivery = 1)"""
+			elif filters.get('from') == 'Stock Entry Detail':
+				cond = """and s_warehouse is null"""
 
-		if filters.get('from') in ['Supplier Quotation Item']:
-			qi_condition = ""
+			if filters.get('from') in ['Supplier Quotation Item']:
+				qi_condition = ""
 
-		return frappe.db.sql(""" select item_code from `tab{doc}`
-			where parent=%(parent)s and docstatus < 2 and item_code like %(txt)s
-			{qi_condition} {cond} {mcond}
-			order by item_code limit {start}, {page_len}""".format(doc=filters.get('from'),
-			parent=filters.get('parent'), cond = cond, mcond = mcond, start = start,
-			page_len = page_len, qi_condition = qi_condition),
-			{'parent': filters.get('parent'), 'txt': "%%%s%%" % txt})
+			return frappe.db.sql("""
+					SELECT item_code
+					FROM `tab{doc}`
+					WHERE parent=%(parent)s and docstatus < 2 and item_code like %(txt)s
+					{qi_condition} {cond} {mcond}
+					ORDER BY item_code limit {start}, {page_len}
+				""".format(doc=filters.get('from'),
+					cond = cond, mcond = mcond, start = start,
+					page_len = page_len, qi_condition = qi_condition),
+					{'parent': filters.get('parent'), 'txt': "%%%s%%" % txt})
+
+		elif filters.get("reference_name"):
+			return frappe.db.sql("""
+					SELECT production_item
+					FROM `tab{doc}`
+					WHERE name = %(reference_name)s and docstatus < 2 and production_item like %(txt)s
+					{qi_condition} {cond} {mcond}
+					ORDER BY production_item
+					LIMIT {start}, {page_len}
+				""".format(doc=filters.get("from"),
+					cond = cond, mcond = mcond, start = start,
+					page_len = page_len, qi_condition = qi_condition),
+					{'reference_name': filters.get('reference_name'), 'txt': "%%%s%%" % txt})
 
 @frappe.whitelist()
 @frappe.validate_and_sanitize_search_inputs
diff --git a/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py b/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py
index bb535c1..2c40009 100644
--- a/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py
+++ b/erpnext/stock/doctype/quality_inspection/test_quality_inspection.py
@@ -7,6 +7,7 @@
 from frappe.utils import nowdate
 from erpnext.stock.doctype.item.test_item import create_item
 from erpnext.stock.doctype.delivery_note.test_delivery_note import create_delivery_note
+from erpnext.stock.doctype.stock_entry.test_stock_entry import make_stock_entry
 from erpnext.controllers.stock_controller import QualityInspectionRejectedError, QualityInspectionRequiredError, QualityInspectionNotSubmittedError
 
 # test_records = frappe.get_test_records('Quality Inspection')
@@ -17,10 +18,12 @@
 		frappe.db.set_value("Item", "_Test Item with QA", "inspection_required_before_delivery", 1)
 
 	def test_qa_for_delivery(self):
+		make_stock_entry(item_code="_Test Item with QA", target="_Test Warehouse - _TC", qty=1, basic_rate=100)
 		dn = create_delivery_note(item_code="_Test Item with QA", do_not_submit=True)
+
 		self.assertRaises(QualityInspectionRequiredError, dn.submit)
 
-		qa = create_quality_inspection(reference_type="Delivery Note", reference_name=dn.name, status="Rejected", submit=True)
+		qa = create_quality_inspection(reference_type="Delivery Note", reference_name=dn.name, status="Rejected")
 		dn.reload()
 		self.assertRaises(QualityInspectionRejectedError, dn.submit)
 
@@ -28,12 +31,51 @@
 		dn.reload()
 		dn.submit()
 
+		qa.cancel()
+		dn.reload()
+		dn.cancel()
+
 	def test_qa_not_submit(self):
 		dn = create_delivery_note(item_code="_Test Item with QA", do_not_submit=True)
-		qa = create_quality_inspection(reference_type="Delivery Note", reference_name=dn.name, submit = False)
+		qa = create_quality_inspection(reference_type="Delivery Note", reference_name=dn.name, do_not_submit=True)
 		dn.items[0].quality_inspection = qa.name
 		self.assertRaises(QualityInspectionNotSubmittedError, dn.submit)
 
+		qa.delete()
+		dn.delete()
+
+	def test_formula_based_qi_readings(self):
+		dn = create_delivery_note(item_code="_Test Item with QA", do_not_submit=True)
+		readings = [{
+			"specification": "Iron Content",
+			"acceptance_formula": "reading_1 > 0.35 and reading_1 < 0.50",
+			"reading_1": 0.4
+		},
+		{
+			"specification": "Calcium Content",
+			"acceptance_formula": "reading_1 > 0.20 and reading_1 < 0.50",
+			"reading_1": 0.7
+		},
+		{
+			"specification": "Mg Content",
+			"acceptance_formula": "(reading_1 + reading_2 + reading_3) / 3 < 0.9",
+			"reading_1": 0.5,
+			"reading_2": 0.7,
+			"reading_3": "random text" # check if random string input causes issues
+		}]
+
+		qa = create_quality_inspection(reference_type="Delivery Note", reference_name=dn.name,
+			readings=readings, do_not_save=True)
+		qa.save()
+
+		# status must be auto set as per formula
+		self.assertEqual(qa.readings[0].status, "Accepted")
+		self.assertEqual(qa.readings[1].status, "Rejected")
+		self.assertEqual(qa.readings[2].status, "Accepted")
+
+		qa.delete()
+		dn.delete()
+
 def create_quality_inspection(**args):
 	args = frappe._dict(args)
 	qa = frappe.new_doc("Quality Inspection")
@@ -44,12 +86,18 @@
 	qa.item_code = args.item_code or "_Test Item with QA"
 	qa.sample_size = 1
 	qa.inspected_by = frappe.session.user
-	qa.append("readings", {
-		"specification": "Size",
-		"status": args.status
-	})
-	qa.save()
-	if args.submit:
-		qa.submit()
+
+	readings = args.readings or {"specification": "Size", "status": args.status}
+
+	if isinstance(readings, list):
+		for entry in readings:
+			qa.append("readings", entry)
+	else:
+		qa.append("readings", readings)
+
+	if not args.do_not_save:
+		qa.save()
+		if not args.do_not_submit:
+			qa.submit()
 
 	return qa
diff --git a/erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.json b/erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.json
index f9f8a71..c1976dd 100644
--- a/erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.json
+++ b/erpnext/stock/doctype/quality_inspection_reading/quality_inspection_reading.json
@@ -1,22 +1,29 @@
 {
+ "actions": [],
  "autoname": "hash",
  "creation": "2013-02-22 01:27:43",
  "doctype": "DocType",
  "editable_grid": 1,
+ "engine": "InnoDB",
  "field_order": [
   "specification",
   "value",
+  "status",
+  "column_break_4",
+  "acceptance_formula",
+  "section_break_3",
   "reading_1",
   "reading_2",
   "reading_3",
+  "column_break_10",
   "reading_4",
   "reading_5",
   "reading_6",
+  "column_break_14",
   "reading_7",
   "reading_8",
   "reading_9",
-  "reading_10",
-  "status"
+  "reading_10"
  ],
  "fields": [
   {
@@ -124,15 +131,40 @@
    "oldfieldname": "status",
    "oldfieldtype": "Select",
    "options": "Accepted\nRejected"
+  },
+  {
+   "fieldname": "section_break_3",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "column_break_4",
+   "fieldtype": "Column Break"
+  },
+  {
+   "description": "Simple Python formula based on numeric Readings.<br> Example 1: <b>reading_1 &gt; 0.2 and reading_1 &lt; 0.5</b><br>\nExample 2: <b>(reading_1 + reading_2) / 2 &lt; 10</b>",
+   "fieldname": "acceptance_formula",
+   "fieldtype": "Code",
+   "label": "Acceptance Criteria Formula"
+  },
+  {
+   "fieldname": "column_break_10",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "column_break_14",
+   "fieldtype": "Column Break"
   }
  ],
  "idx": 1,
  "istable": 1,
- "modified": "2019-07-11 18:48:12.667404",
+ "links": [],
+ "modified": "2020-11-16 16:34:29.947856",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Quality Inspection Reading",
  "owner": "Administrator",
  "permissions": [],
+ "sort_field": "modified",
+ "sort_order": "DESC",
  "track_changes": 1
 }
\ No newline at end of file
diff --git a/erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.py b/erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.py
index 0d9a903..e284846 100644
--- a/erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.py
+++ b/erpnext/stock/doctype/quality_inspection_template/quality_inspection_template.py
@@ -12,5 +12,7 @@
 def get_template_details(template):
 	if not template: return []
 
-	return frappe.get_all('Item Quality Inspection Parameter', fields=["specification", "value"],
-		filters={'parenttype': 'Quality Inspection Template', 'parent': template}, order_by="idx")
\ No newline at end of file
+	return frappe.get_all('Item Quality Inspection Parameter',
+		fields=["specification", "value", "acceptance_formula"],
+		filters={'parenttype': 'Quality Inspection Template', 'parent': template},
+		order_by="idx")
\ No newline at end of file
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/stock/doctype/shipment/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/stock/doctype/shipment/__init__.py
diff --git a/erpnext/stock/doctype/shipment/shipment.js b/erpnext/stock/doctype/shipment/shipment.js
new file mode 100644
index 0000000..5ccb7d2
--- /dev/null
+++ b/erpnext/stock/doctype/shipment/shipment.js
@@ -0,0 +1,447 @@
+// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Shipment', {
+	address_query: function(frm, link_doctype, link_name, is_your_company_address) {
+		return {
+			query: 'frappe.contacts.doctype.address.address.address_query',
+			filters: {
+				link_doctype: link_doctype,
+				link_name: link_name,
+				is_your_company_address: is_your_company_address
+			}
+		};
+	},
+	contact_query: function(frm, link_doctype, link_name) {
+		return {
+			query: 'frappe.contacts.doctype.contact.contact.contact_query',
+			filters: {
+				link_doctype: link_doctype,
+				link_name: link_name
+			}
+		};
+	},
+	onload: function(frm) {
+		frm.set_query("delivery_address_name", () => {
+			let delivery_to = `delivery_${frappe.model.scrub(frm.doc.delivery_to_type)}`;
+			return frm.events.address_query(frm, frm.doc.delivery_to_type, frm.doc[delivery_to], frm.doc.delivery_to_type === 'Company' ? 1 : 0);
+		});
+		frm.set_query("pickup_address_name", () => {
+			let pickup_from = `pickup_${frappe.model.scrub(frm.doc.pickup_from_type)}`;
+			return frm.events.address_query(frm, frm.doc.pickup_from_type, frm.doc[pickup_from], frm.doc.pickup_from_type === 'Company' ? 1 : 0);
+		});
+		frm.set_query("delivery_contact_name", () => {
+			let delivery_to = `delivery_${frappe.model.scrub(frm.doc.delivery_to_type)}`;
+			return frm.events.contact_query(frm, frm.doc.delivery_to_type, frm.doc[delivery_to]);
+		});
+		frm.set_query("pickup_contact_name", () => {
+			let pickup_from = `pickup_${frappe.model.scrub(frm.doc.pickup_from_type)}`;
+			return frm.events.contact_query(frm, frm.doc.pickup_from_type, frm.doc[pickup_from]);
+		});
+		frm.set_query("delivery_note", "shipment_delivery_note", function() {
+			let customer = '';
+			if (frm.doc.delivery_to_type == "Customer") {
+				customer = frm.doc.delivery_customer;
+			}
+			if (frm.doc.delivery_to_type == "Company") {
+				customer = frm.doc.delivery_company;
+			}
+			if (customer) {
+				return {
+					filters: {
+						customer: customer,
+						docstatus: 1,
+						status: ["not in", ["Cancelled"]]
+					}
+				};
+			}
+		});
+	},
+	refresh: function() {
+		$('div[data-fieldname=pickup_address] > div > .clearfix').hide();
+		$('div[data-fieldname=pickup_contact] > div > .clearfix').hide();
+		$('div[data-fieldname=delivery_address] > div > .clearfix').hide();
+		$('div[data-fieldname=delivery_contact] > div > .clearfix').hide();
+	},
+	before_save: function(frm) {
+		let delivery_to = `delivery_${frappe.model.scrub(frm.doc.delivery_to_type)}`;
+		frm.set_value("delivery_to", frm.doc[delivery_to]);
+		let pickup_from = `pickup_${frappe.model.scrub(frm.doc.pickup_from_type)}`;
+		frm.set_value("pickup", frm.doc[pickup_from]);
+	},
+	set_pickup_company_address: function(frm) {
+		frappe.db.get_value('Address', {
+			address_title: frm.doc.pickup_company,
+			is_your_company_address: 1
+		}, 'name', (r) => {
+			frm.set_value("pickup_address_name", r.name);
+		});
+	},
+	set_delivery_company_address: function(frm) {
+		frappe.db.get_value('Address', {
+			address_title: frm.doc.delivery_company,
+			is_your_company_address: 1
+		}, 'name', (r) => {
+			frm.set_value("delivery_address_name", r.name);
+		});
+	},
+	pickup_from_type: function(frm) {
+		if (frm.doc.pickup_from_type == 'Company') {
+			frm.set_value("pickup_company", frappe.defaults.get_default('company'));
+			frm.set_value("pickup_customer", '');
+			frm.set_value("pickup_supplier", '');
+		} else {
+			frm.trigger('clear_pickup_fields');
+		}
+		if (frm.doc.pickup_from_type == 'Customer') {
+			frm.set_value("pickup_company", '');
+			frm.set_value("pickup_supplier", '');
+		}
+		if (frm.doc.pickup_from_type == 'Supplier') {
+			frm.set_value("pickup_customer", '');
+			frm.set_value("pickup_company", '');
+		}
+	},
+	delivery_to_type: function(frm) {
+		if (frm.doc.delivery_to_type == 'Company') {
+			frm.set_value("delivery_company", frappe.defaults.get_default('company'));
+			frm.set_value("delivery_customer", '');
+			frm.set_value("delivery_supplier", '');
+		} else {
+			frm.trigger('clear_delivery_fields');
+		}
+		if (frm.doc.delivery_to_type == 'Customer') {
+			frm.set_value("delivery_company", '');
+			frm.set_value("delivery_supplier", '');
+		}
+		if (frm.doc.delivery_to_type == 'Supplier') {
+			frm.set_value("delivery_customer", '');
+			frm.set_value("delivery_company", '');
+			frm.toggle_display("shipment_delivery_note", false);
+		} else {
+			frm.toggle_display("shipment_delivery_note", true);
+		}
+	},
+	delivery_address_name: function(frm) {
+		if (frm.doc.delivery_to_type == 'Company') {
+			erpnext.utils.get_address_display(frm, 'delivery_address_name', 'delivery_address', true);
+		} else {
+			erpnext.utils.get_address_display(frm, 'delivery_address_name', 'delivery_address', false);
+		}
+	},
+	pickup_address_name: function(frm) {
+		if (frm.doc.pickup_from_type == 'Company') {
+			erpnext.utils.get_address_display(frm, 'pickup_address_name', 'pickup_address', true);
+		} else {
+			erpnext.utils.get_address_display(frm, 'pickup_address_name', 'pickup_address', false);
+		}
+	},
+	get_contact_display: function(frm, contact_name, contact_type) {
+		frappe.call({
+			method: "frappe.contacts.doctype.contact.contact.get_contact_details",
+			args: { contact: contact_name },
+			callback: function(r) {
+				if (r.message) {
+					if (!(r.message.contact_email && (r.message.contact_phone || r.message.contact_mobile))) {
+						if (contact_type == 'Delivery') {
+							frm.set_value('delivery_contact_name', '');
+							frm.set_value('delivery_contact', '');
+						} else {
+							frm.set_value('pickup_contact_name', '');
+							frm.set_value('pickup_contact', '');
+						}
+						frappe.throw(__("Email or Phone/Mobile of the Contact are mandatory to continue.") + "</br>" + __("Please set Email/Phone for the contact") + ` <a href='#Form/Contact/${contact_name}'>${contact_name}</a>`);
+					}
+					let contact_display = r.message.contact_display;
+					if (r.message.contact_email) {
+						contact_display += '<br>' + r.message.contact_email;
+					}
+					if (r.message.contact_phone) {
+						contact_display += '<br>' + r.message.contact_phone;
+					}
+					if (r.message.contact_mobile && !r.message.contact_phone) {
+						contact_display += '<br>' + r.message.contact_mobile;
+					}
+					if (contact_type == 'Delivery') {
+						frm.set_value('delivery_contact', contact_display);
+						if (r.message.contact_email) {
+							frm.set_value('delivery_contact_email', r.message.contact_email);
+						}
+					} else {
+						frm.set_value('pickup_contact', contact_display);
+						if (r.message.contact_email) {
+							frm.set_value('pickup_contact_email', r.message.contact_email);
+						}
+					}
+				}
+			}
+		});
+	},
+	delivery_contact_name: function(frm) {
+		if (frm.doc.delivery_contact_name) {
+			frm.events.get_contact_display(frm, frm.doc.delivery_contact_name, 'Delivery');
+		}
+	},
+	pickup_contact_name: function(frm) {
+		if (frm.doc.pickup_contact_name) {
+			frm.events.get_contact_display(frm, frm.doc.pickup_contact_name, 'Pickup');
+		}
+	},
+	pickup_contact_person: function(frm) {
+		if (frm.doc.pickup_contact_person) {
+			frappe.call({
+				method: "erpnext.stock.doctype.shipment.shipment.get_company_contact",
+				args: { user: frm.doc.pickup_contact_person },
+				callback: function({ message }) {
+					const r = message;
+					let contact_display = `${r.first_name} ${r.last_name}`;
+					if (r.email) {
+						contact_display += `<br>${ r.email }`;
+						frm.set_value('pickup_contact_email', r.email);
+					}
+					if (r.phone) {
+						contact_display += `<br>${ r.phone }`;
+					}
+					if (r.mobile_no && !r.phone) {
+						contact_display += `<br>${ r.mobile_no }`;
+					}
+					frm.set_value('pickup_contact', contact_display);
+				}
+			});
+		} else {
+			if (frm.doc.pickup_from_type === 'Company') {
+				frappe.call({
+					method: "erpnext.stock.doctype.shipment.shipment.get_company_contact",
+					args: { user: frappe.session.user },
+					callback: function({ message }) {
+						const r = message;
+						let contact_display = `${r.first_name} ${r.last_name}`;
+						if (r.email) {
+							contact_display += `<br>${ r.email }`;
+							frm.set_value('pickup_contact_email', r.email);
+						}
+						if (r.phone) {
+							contact_display += `<br>${ r.phone }`;
+						}
+						if (r.mobile_no && !r.phone) {
+							contact_display += `<br>${ r.mobile_no }`;
+						}
+						frm.set_value('pickup_contact', contact_display);
+					}
+				});
+			}
+		}
+	},
+	set_company_contact: function(frm, delivery_type) {
+		frappe.db.get_value('User', { name: frappe.session.user }, ['full_name', 'last_name', 'email', 'phone', 'mobile_no'], (r) => {
+			if (!(r.last_name && r.email && (r.phone || r.mobile_no))) {
+				if (delivery_type == 'Delivery') {
+					frm.set_value('delivery_company', '');
+					frm.set_value('delivery_contact', '');
+				} else {
+					frm.set_value('pickup_company', '');
+					frm.set_value('pickup_contact', '');
+				}
+				frappe.throw(__("Last Name, Email or Phone/Mobile of the user are mandatory to continue.") + "</br>" + __("Please first set Last Name, Email and Phone for the user") + ` <a href="#Form/User/${frappe.session.user}">${frappe.session.user}</a>`);
+			}
+			let contact_display = r.full_name;
+			if (r.email) {
+				contact_display += '<br>' + r.email;
+			}
+			if (r.phone) {
+				contact_display += '<br>' + r.phone;
+			}
+			if (r.mobile_no && !r.phone) {
+				contact_display += '<br>' + r.mobile_no;
+			}
+			if (delivery_type == 'Delivery') {
+				frm.set_value('delivery_contact', contact_display);
+				if (r.email) {
+					frm.set_value('delivery_contact_email', r.email);
+				}
+			} else {
+				frm.set_value('pickup_contact', contact_display);
+				if (r.email) {
+					frm.set_value('pickup_contact_email', r.email);
+				}
+			}
+		});
+		frm.set_value('pickup_contact_person', frappe.session.user);
+	},
+	pickup_company: function(frm) {
+		if (frm.doc.pickup_from_type == 'Company'  && frm.doc.pickup_company) {
+			frm.trigger('set_pickup_company_address');
+			frm.events.set_company_contact(frm, 'Pickup');
+		}
+	},
+	delivery_company: function(frm) {
+		if (frm.doc.delivery_to_type == 'Company' && frm.doc.delivery_company) {
+			frm.trigger('set_delivery_company_address');
+			frm.events.set_company_contact(frm, 'Delivery');
+		}
+	},
+	delivery_customer: function(frm) {
+		frm.trigger('clear_delivery_fields');
+		if (frm.doc.delivery_customer) {
+			frm.events.set_address_name(frm, 'Customer', frm.doc.delivery_customer, 'Delivery');
+			frm.events.set_contact_name(frm, 'Customer', frm.doc.delivery_customer, 'Delivery');
+		}
+	},
+	delivery_supplier: function(frm) {
+		frm.trigger('clear_delivery_fields');
+		if (frm.doc.delivery_supplier) {
+			frm.events.set_address_name(frm, 'Supplier', frm.doc.delivery_supplier, 'Delivery');
+			frm.events.set_contact_name(frm, 'Supplier', frm.doc.delivery_supplier, 'Delivery');
+		}
+	},
+	pickup_customer: function(frm) {
+		if (frm.doc.pickup_customer) {
+			frm.events.set_address_name(frm, 'Customer', frm.doc.pickup_customer, 'Pickup');
+			frm.events.set_contact_name(frm, 'Customer', frm.doc.pickup_customer, 'Pickup');
+		}
+	},
+	pickup_supplier: function(frm) {
+		if (frm.doc.pickup_supplier) {
+			frm.events.set_address_name(frm, 'Supplier', frm.doc.pickup_supplier, 'Pickup');
+			frm.events.set_contact_name(frm, 'Supplier', frm.doc.pickup_supplier, 'Pickup');
+		}
+	},
+	set_address_name: function(frm, ref_doctype, ref_docname, delivery_type) {
+		frappe.call({
+			method: "erpnext.stock.doctype.shipment.shipment.get_address_name",
+			args: {
+				ref_doctype: ref_doctype,
+				docname: ref_docname
+			},
+			callback: function(r) {
+				if (r.message) {
+					if (delivery_type == 'Delivery') {
+						frm.set_value('delivery_address_name', r.message);
+					} else {
+						frm.set_value('pickup_address_name', r.message);
+					}
+				}
+			}
+		});
+	},
+	set_contact_name: function(frm, ref_doctype, ref_docname, delivery_type) {
+		frappe.call({
+			method: "erpnext.stock.doctype.shipment.shipment.get_contact_name",
+			args: {
+				ref_doctype: ref_doctype,
+				docname: ref_docname
+			},
+			callback: function(r) {
+				if (r.message) {
+					if (delivery_type == 'Delivery') {
+						frm.set_value('delivery_contact_name', r.message);
+					} else {
+						frm.set_value('pickup_contact_name', r.message);
+					}
+				}
+			}
+		});
+	},
+	add_template: function(frm) {
+		if (frm.doc.parcel_template) {
+			frappe.model.with_doc("Shipment Parcel Template", frm.doc.parcel_template, () => {
+				let parcel_template = frappe.model.get_doc("Shipment Parcel Template", frm.doc.parcel_template);
+				let row = frappe.model.add_child(frm.doc, "Shipment Parcel", "shipment_parcel");
+				row.length = parcel_template.length;
+				row.width = parcel_template.width;
+				row.height = parcel_template.height;
+				row.weight = parcel_template.weight;
+				frm.refresh_fields("shipment_parcel");
+			});
+		}
+	},
+	pickup_date: function(frm) {
+		if (frm.doc.pickup_date < frappe.datetime.get_today()) {
+			frappe.throw(__("Pickup Date cannot be before this day"));
+		}
+		if (frm.doc.pickup_date == frappe.datetime.get_today()) {
+			var pickup_time = frm.events.get_pickup_time(frm);
+			frm.set_value("pickup_from", pickup_time);
+			frm.trigger('set_pickup_to_time');
+		}
+	},
+	pickup_from: function(frm) {
+		var pickup_time = frm.events.get_pickup_time(frm);
+		if (frm.doc.pickup_from && frm.doc.pickup_date == frappe.datetime.get_today()) {
+			let current_hour = pickup_time.split(':')[0];
+			let current_min = pickup_time.split(':')[1];
+			let pickup_hour = frm.doc.pickup_from.split(':')[0];
+			let pickup_min = frm.doc.pickup_from.split(':')[1];
+			if (pickup_hour < current_hour || (pickup_hour == current_hour && pickup_min < current_min)) {
+				frm.set_value("pickup_from", pickup_time);
+				frappe.throw(__("Pickup Time cannot be in the past"));
+			}
+		}
+		frm.trigger('set_pickup_to_time');
+	},
+	get_pickup_time: function() {
+		let current_hour = new Date().getHours();
+		let current_min = new Date().toLocaleString('en-US', {minute: 'numeric'});
+		if (current_min < 30) {
+			current_min = '30';
+		} else {
+			current_min = '00';
+			current_hour = Number(current_hour)+1;
+		}
+		let pickup_time = current_hour +':'+ current_min;
+		return pickup_time;
+	},
+	set_pickup_to_time: function(frm) {
+		let pickup_to_hour = Number(frm.doc.pickup_from.split(':')[0])+5;
+		let pickup_to_min = frm.doc.pickup_from.split(':')[1];
+		let pickup_to = pickup_to_hour +':'+ pickup_to_min;
+		frm.set_value("pickup_to", pickup_to);
+	},
+	clear_pickup_fields: function(frm) {
+		let fields = ["pickup_address_name", "pickup_contact_name", "pickup_address", "pickup_contact", "pickup_contact_email", "pickup_contact_person"];
+		for (let field of fields) {
+			frm.set_value(field,  '');
+		}
+	},
+	clear_delivery_fields: function(frm) {
+		let fields = ["delivery_address_name", "delivery_contact_name", "delivery_address", "delivery_contact", "delivery_contact_email"];
+		for (let field of fields) {
+			frm.set_value(field,  '');
+		}
+	},
+	remove_email_row: function(frm, table, fieldname) {
+		$.each(frm.doc[table] || [], function(i, detail) {
+			if (detail.email === fieldname) {
+				cur_frm.get_field(table).grid.grid_rows[i].remove();
+			}
+		});
+	}
+});
+
+frappe.ui.form.on('Shipment Delivery Note', {
+	delivery_note: function(frm, cdt, cdn) {
+		let row = locals[cdt][cdn];
+		if (row.delivery_note) {
+			let row_index = row.idx - 1;
+			if (validate_duplicate(frm, 'shipment_delivery_note', row.delivery_note, row_index)) {
+				frappe.throw(__("You have entered a duplicate Delivery Note on Row") + ` ${row.idx}. ` + __("Please rectify and try again."));
+			}
+		}
+	},
+	grand_total: function(frm, cdt, cdn) {
+		let row = locals[cdt][cdn];
+		if (row.grand_total) {
+			var value_of_goods = parseFloat(frm.doc.value_of_goods)+parseFloat(row.grand_total);
+			frm.set_value("value_of_goods", Math.round(value_of_goods));
+			frm.refresh_fields("value_of_goods");
+		}
+	},
+});
+
+var validate_duplicate =  function(frm, table, fieldname, index) {
+	return (
+		table === 'shipment_delivery_note'
+			? frm.doc[table].some((detail, i) => detail.delivery_note === fieldname && !(index === i))
+			: frm.doc[table].some((detail, i) => detail.email === fieldname && !(index === i))
+	);
+};
diff --git a/erpnext/stock/doctype/shipment/shipment.json b/erpnext/stock/doctype/shipment/shipment.json
new file mode 100644
index 0000000..37a9cc6
--- /dev/null
+++ b/erpnext/stock/doctype/shipment/shipment.json
@@ -0,0 +1,471 @@
+{
+ "actions": [],
+ "autoname": "SHIPMENT-.#####",
+ "creation": "2020-07-09 10:58:52.508703",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "heading_pickup_from",
+  "pickup_from_type",
+  "pickup_company",
+  "pickup_customer",
+  "pickup_supplier",
+  "pickup",
+  "pickup_address_name",
+  "pickup_address",
+  "pickup_contact_person",
+  "pickup_contact_name",
+  "pickup_contact_email",
+  "pickup_contact",
+  "column_break_2",
+  "heading_delivery_to",
+  "delivery_to_type",
+  "delivery_company",
+  "delivery_customer",
+  "delivery_supplier",
+  "delivery_to",
+  "delivery_address_name",
+  "delivery_address",
+  "delivery_contact_name",
+  "delivery_contact_email",
+  "delivery_contact",
+  "parcels_section",
+  "shipment_parcel",
+  "parcel_template",
+  "add_template",
+  "column_break_28",
+  "shipment_delivery_note",
+  "shipment_details_section",
+  "pallets",
+  "value_of_goods",
+  "pickup_date",
+  "pickup_from",
+  "pickup_to",
+  "column_break_36",
+  "shipment_type",
+  "pickup_type",
+  "incoterm",
+  "description_of_content",
+  "section_break_40",
+  "shipment_information_section",
+  "service_provider",
+  "shipment_id",
+  "shipment_amount",
+  "status",
+  "tracking_url",
+  "column_break_55",
+  "carrier",
+  "carrier_service",
+  "awb_number",
+  "tracking_status",
+  "tracking_status_info",
+  "amended_from"
+ ],
+ "fields": [
+  {
+   "fieldname": "heading_pickup_from",
+   "fieldtype": "Heading",
+   "label": "Pickup from"
+  },
+  {
+   "default": "Company",
+   "fieldname": "pickup_from_type",
+   "fieldtype": "Select",
+   "label": "Pickup from",
+   "options": "Company\nCustomer\nSupplier"
+  },
+  {
+   "depends_on": "eval:doc.pickup_from_type == 'Company'",
+   "fieldname": "pickup_company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "options": "Company"
+  },
+  {
+   "depends_on": "eval:doc.pickup_from_type == 'Customer'",
+   "fieldname": "pickup_customer",
+   "fieldtype": "Link",
+   "label": "Customer",
+   "options": "Customer"
+  },
+  {
+   "depends_on": "eval:doc.pickup_from_type == 'Supplier'",
+   "fieldname": "pickup_supplier",
+   "fieldtype": "Link",
+   "label": "Supplier",
+   "options": "Supplier"
+  },
+  {
+   "fieldname": "pickup",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "in_list_view": 1,
+   "label": "Pickup From",
+   "read_only": 1
+  },
+  {
+   "depends_on": "eval: doc.pickup_customer || doc.pickup_supplier || doc.pickup_from_type == \"Company\"",
+   "fieldname": "pickup_address_name",
+   "fieldtype": "Link",
+   "label": "Address",
+   "options": "Address",
+   "reqd": 1
+  },
+  {
+   "fieldname": "pickup_address",
+   "fieldtype": "Small Text",
+   "read_only": 1
+  },
+  {
+   "depends_on": "eval: doc.pickup_customer || doc.pickup_supplier || doc.pickup_from_type !== \"Company\"",
+   "fieldname": "pickup_contact_name",
+   "fieldtype": "Link",
+   "label": "Contact",
+   "mandatory_depends_on": "eval: doc.pickup_from_type !== 'Company'",
+   "options": "Contact"
+  },
+  {
+   "fieldname": "pickup_contact_email",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "label": "Contact Email",
+   "read_only": 1
+  },
+  {
+   "fieldname": "pickup_contact",
+   "fieldtype": "Small Text",
+   "read_only": 1
+  },
+  {
+   "fieldname": "column_break_2",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "heading_delivery_to",
+   "fieldtype": "Heading",
+   "label": "Delivery to"
+  },
+  {
+   "default": "Customer",
+   "fieldname": "delivery_to_type",
+   "fieldtype": "Select",
+   "label": "Delivery to",
+   "options": "Company\nCustomer\nSupplier"
+  },
+  {
+   "depends_on": "eval:doc.delivery_to_type == 'Company'",
+   "fieldname": "delivery_company",
+   "fieldtype": "Link",
+   "label": "Company",
+   "options": "Company"
+  },
+  {
+   "depends_on": "eval:doc.delivery_to_type == 'Customer'",
+   "fieldname": "delivery_customer",
+   "fieldtype": "Link",
+   "label": "Customer",
+   "options": "Customer"
+  },
+  {
+   "depends_on": "eval:doc.delivery_to_type == 'Supplier'",
+   "fieldname": "delivery_supplier",
+   "fieldtype": "Link",
+   "label": "Supplier",
+   "options": "Supplier"
+  },
+  {
+   "fieldname": "delivery_to",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "in_list_view": 1,
+   "label": "Delivery To",
+   "read_only": 1
+  },
+  {
+   "depends_on": "eval: doc.delivery_customer || doc.delivery_supplier || doc.delivery_to_type == \"Company\"",
+   "fieldname": "delivery_address_name",
+   "fieldtype": "Link",
+   "label": "Address",
+   "options": "Address",
+   "reqd": 1
+  },
+  {
+   "fieldname": "delivery_address",
+   "fieldtype": "Small Text",
+   "read_only": 1
+  },
+  {
+   "depends_on": "eval: doc.delivery_customer || doc.delivery_supplier || doc.delivery_to_type == \"Company\"",
+   "fieldname": "delivery_contact_name",
+   "fieldtype": "Link",
+   "label": "Contact",
+   "mandatory_depends_on": "eval: doc.delivery_from_type !== 'Company'",
+   "options": "Contact"
+  },
+  {
+   "fieldname": "delivery_contact_email",
+   "fieldtype": "Data",
+   "hidden": 1,
+   "label": "Contact Email",
+   "read_only": 1
+  },
+  {
+   "depends_on": "eval:doc.delivery_contact_name",
+   "fieldname": "delivery_contact",
+   "fieldtype": "Small Text",
+   "read_only": 1
+  },
+  {
+   "fieldname": "parcels_section",
+   "fieldtype": "Section Break",
+   "label": "Parcels"
+  },
+  {
+   "fieldname": "shipment_parcel",
+   "fieldtype": "Table",
+   "label": "Shipment Parcel",
+   "options": "Shipment Parcel"
+  },
+  {
+   "fieldname": "parcel_template",
+   "fieldtype": "Link",
+   "label": "Parcel Template",
+   "options": "Shipment Parcel Template"
+  },
+  {
+   "depends_on": "eval:doc.docstatus !== 1\n",
+   "fieldname": "add_template",
+   "fieldtype": "Button",
+   "label": "Add Template"
+  },
+  {
+   "fieldname": "column_break_28",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "shipment_details_section",
+   "fieldtype": "Section Break",
+   "label": "Shipment details"
+  },
+  {
+   "default": "No",
+   "fieldname": "pallets",
+   "fieldtype": "Select",
+   "label": "Pallets",
+   "options": "No\nYes"
+  },
+  {
+   "fieldname": "value_of_goods",
+   "fieldtype": "Currency",
+   "label": "Value of Goods",
+   "precision": "2",
+   "reqd": 1
+  },
+  {
+   "allow_on_submit": 1,
+   "fieldname": "pickup_date",
+   "fieldtype": "Date",
+   "in_list_view": 1,
+   "label": "Pickup Date",
+   "reqd": 1
+  },
+  {
+   "allow_on_submit": 1,
+   "default": "09:00",
+   "fieldname": "pickup_from",
+   "fieldtype": "Time",
+   "label": "Pickup from"
+  },
+  {
+   "allow_on_submit": 1,
+   "default": "17:00",
+   "fieldname": "pickup_to",
+   "fieldtype": "Time",
+   "label": "Pickup to"
+  },
+  {
+   "fieldname": "column_break_36",
+   "fieldtype": "Column Break"
+  },
+  {
+   "default": "Goods",
+   "fieldname": "shipment_type",
+   "fieldtype": "Select",
+   "label": "Shipment Type",
+   "options": "Goods\nDocuments"
+  },
+  {
+   "default": "Pickup",
+   "fieldname": "pickup_type",
+   "fieldtype": "Select",
+   "label": "Pickup Type",
+   "options": "Pickup\nSelf delivery"
+  },
+  {
+   "fieldname": "description_of_content",
+   "fieldtype": "Small Text",
+   "label": "Description of Content",
+   "reqd": 1
+  },
+  {
+   "fieldname": "section_break_40",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "shipment_information_section",
+   "fieldtype": "Section Break",
+   "label": "Shipment Information"
+  },
+  {
+   "fieldname": "service_provider",
+   "fieldtype": "Data",
+   "label": "Service Provider",
+   "no_copy": 1,
+   "print_hide": 1
+  },
+  {
+   "fieldname": "shipment_id",
+   "fieldtype": "Data",
+   "label": "Shipment ID",
+   "no_copy": 1,
+   "print_hide": 1
+  },
+  {
+   "fieldname": "shipment_amount",
+   "fieldtype": "Currency",
+   "label": "Shipment Amount",
+   "no_copy": 1,
+   "precision": "2",
+   "print_hide": 1
+  },
+  {
+   "fieldname": "status",
+   "fieldtype": "Select",
+   "label": "Status",
+   "no_copy": 1,
+   "options": "Draft\nSubmitted\nBooked\nCancelled\nCompleted",
+   "print_hide": 1
+  },
+  {
+   "fieldname": "tracking_url",
+   "fieldtype": "Small Text",
+   "hidden": 1,
+   "label": "Tracking URL",
+   "no_copy": 1,
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "carrier",
+   "fieldtype": "Data",
+   "label": "Carrier",
+   "no_copy": 1,
+   "print_hide": 1
+  },
+  {
+   "fieldname": "carrier_service",
+   "fieldtype": "Data",
+   "label": "Carrier Service",
+   "no_copy": 1,
+   "print_hide": 1
+  },
+  {
+   "fieldname": "awb_number",
+   "fieldtype": "Data",
+   "label": "AWB Number",
+   "no_copy": 1,
+   "print_hide": 1
+  },
+  {
+   "fieldname": "tracking_status",
+   "fieldtype": "Select",
+   "label": "Tracking Status",
+   "no_copy": 1,
+   "options": "\nIn Progress\nDelivered\nReturned\nLost",
+   "print_hide": 1
+  },
+  {
+   "fieldname": "tracking_status_info",
+   "fieldtype": "Data",
+   "label": "Tracking Status Info",
+   "no_copy": 1,
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "amended_from",
+   "fieldtype": "Link",
+   "hidden": 1,
+   "label": "Amended From",
+   "no_copy": 1,
+   "options": "Shipment",
+   "print_hide": 1,
+   "read_only": 1
+  },
+  {
+   "fieldname": "column_break_55",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "incoterm",
+   "fieldtype": "Select",
+   "label": "Incoterm",
+   "options": "EXW (Ex Works)\nFCA (Free Carrier)\nCPT (Carriage Paid To)\nCIP (Carriage and Insurance Paid to)\nDPU (Delivered At Place Unloaded)\nDAP (Delivered At Place)\nDDP (Delivered Duty Paid)"
+  },
+  {
+   "fieldname": "shipment_delivery_note",
+   "fieldtype": "Table",
+   "label": "Shipment Delivery Note",
+   "options": "Shipment Delivery Note"
+  },
+  {
+   "depends_on": "eval:doc.pickup_from_type === 'Company'",
+   "fieldname": "pickup_contact_person",
+   "fieldtype": "Link",
+   "label": "Pickup Contact Person",
+   "mandatory_depends_on": "eval:doc.pickup_from_type === 'Company'",
+   "options": "User"
+  }
+ ],
+ "is_submittable": 1,
+ "links": [],
+ "modified": "2020-12-02 15:43:44.607039",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Shipment",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "cancel": 1,
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "Stock Manager",
+   "share": 1,
+   "submit": 1,
+   "write": 1
+  },
+  {
+   "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",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/shipment/shipment.py b/erpnext/stock/doctype/shipment/shipment.py
new file mode 100644
index 0000000..de0c243
--- /dev/null
+++ b/erpnext/stock/doctype/shipment/shipment.py
@@ -0,0 +1,63 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe import _
+from frappe.utils import flt
+from frappe.model.document import Document
+from erpnext.accounts.party import get_party_shipping_address
+from frappe.contacts.doctype.contact.contact import get_default_contact
+
+class Shipment(Document):
+	def validate(self):
+		self.validate_weight()
+		self.set_value_of_goods()
+		if self.docstatus == 0:
+			self.status = 'Draft'
+
+	def on_submit(self):
+		if not self.shipment_parcel:
+			frappe.throw(_('Please enter Shipment Parcel information'))
+		if self.value_of_goods == 0:
+			frappe.throw(_('Value of goods cannot be 0'))
+		self.status = 'Submitted'
+
+	def on_cancel(self):
+		self.status = 'Cancelled'
+
+	def validate_weight(self):
+		for parcel in self.shipment_parcel:
+			if flt(parcel.weight) <= 0:
+				frappe.throw(_('Parcel weight cannot be 0'))
+
+	def set_value_of_goods(self):
+		value_of_goods = 0
+		for entry in self.get("shipment_delivery_note"):
+			value_of_goods += flt(entry.get("grand_total"))
+		self.value_of_goods = value_of_goods if value_of_goods else self.value_of_goods
+
+@frappe.whitelist()
+def get_address_name(ref_doctype, docname):
+	# Return address name
+	return get_party_shipping_address(ref_doctype, docname)
+
+@frappe.whitelist()
+def get_contact_name(ref_doctype, docname):
+	# Return address name
+	return get_default_contact(ref_doctype, docname)
+
+@frappe.whitelist()
+def get_company_contact(user):
+	contact = frappe.db.get_value('User', user, [
+		'first_name',
+		'last_name',
+		'email',
+		'phone',
+		'mobile_no',
+		'gender',
+	], as_dict=1)
+	if not contact.phone:
+		contact.phone = contact.mobile_no
+	return contact
diff --git a/erpnext/stock/doctype/shipment/shipment_list.js b/erpnext/stock/doctype/shipment/shipment_list.js
new file mode 100644
index 0000000..52b052c
--- /dev/null
+++ b/erpnext/stock/doctype/shipment/shipment_list.js
@@ -0,0 +1,8 @@
+frappe.listview_settings['Shipment'] = {
+	add_fields: ["status"],
+	get_indicator: function(doc) {
+		if (doc.status=='Booked') {
+			return [__("Booked"), "green"];
+		}
+	}
+};
\ No newline at end of file
diff --git a/erpnext/stock/doctype/shipment/test_shipment.py b/erpnext/stock/doctype/shipment/test_shipment.py
new file mode 100644
index 0000000..e1fa207
--- /dev/null
+++ b/erpnext/stock/doctype/shipment/test_shipment.py
@@ -0,0 +1,240 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+from datetime import date, timedelta
+
+import frappe
+import unittest
+from erpnext.stock.doctype.delivery_note.delivery_note import make_shipment
+
+class TestShipment(unittest.TestCase):
+	def test_shipment_from_delivery_note(self):
+		delivery_note = create_test_delivery_note()
+		delivery_note.submit()
+		shipment = create_test_shipment([ delivery_note ])
+		shipment.submit()
+		second_shipment = make_shipment(delivery_note.name)
+		self.assertEqual(second_shipment.value_of_goods, delivery_note.grand_total)
+		self.assertEqual(len(second_shipment.shipment_delivery_note), 1)
+		self.assertEqual(second_shipment.shipment_delivery_note[0].delivery_note, delivery_note.name)
+
+def create_test_delivery_note():
+	company = get_shipment_company()
+	customer = get_shipment_customer()
+	item = get_shipment_item(company.name)
+	posting_date = date.today() + timedelta(days=1)
+	
+	create_material_receipt(item, company.name)
+	delivery_note = frappe.new_doc("Delivery Note")
+	delivery_note.company = company.name
+	delivery_note.posting_date = posting_date.strftime("%Y-%m-%d")
+	delivery_note.posting_time = '10:00'
+	delivery_note.customer = customer.name
+	delivery_note.append('items',
+		{
+			"item_code": item.name,
+			"item_name": item.item_name,
+			"description": 'Test delivery note for shipment',
+			"qty": 5,
+			"uom": 'Nos',
+			"warehouse": 'Stores - SC',
+			"rate": item.standard_rate,
+			"cost_center": 'Main - SC'
+		}
+	)
+	delivery_note.insert()
+	frappe.db.commit()
+	return delivery_note
+
+
+def create_test_shipment(delivery_notes = None):
+	company = get_shipment_company()
+	company_address = get_shipment_company_address(company.name)
+	customer = get_shipment_customer()
+	customer_address = get_shipment_customer_address(customer.name)
+	customer_contact = get_shipment_customer_contact(customer.name)
+	posting_date = date.today() + timedelta(days=5)
+
+	shipment = frappe.new_doc("Shipment")
+	shipment.pickup_from_type = 'Company'
+	shipment.pickup_company = company.name
+	shipment.pickup_address_name = company_address.name
+	shipment.delivery_to_type = 'Customer'
+	shipment.delivery_customer = customer.name
+	shipment.delivery_address_name = customer_address.name
+	shipment.delivery_contact_name = customer_contact.name
+	shipment.pallets = 'No'
+	shipment.shipment_type = 'Goods'
+	shipment.value_of_goods = 1000
+	shipment.pickup_type = 'Pickup'
+	shipment.pickup_date = posting_date.strftime("%Y-%m-%d")
+	shipment.pickup_from = '09:00'
+	shipment.pickup_to = '17:00'
+	shipment.description_of_content = 'unit test entry'
+	for delivery_note in delivery_notes:
+		shipment.append('shipment_delivery_note', 
+			{
+				"delivery_note": delivery_note.name
+			}
+		)
+	shipment.append('shipment_parcel',
+		{
+			"length": 5,
+			"width": 5,
+			"height": 5,
+			"weight": 5,
+			"count": 5
+		}
+	)
+	shipment.insert()
+	frappe.db.commit()
+	return shipment
+
+
+def get_shipment_customer_contact(customer_name):
+	contact_fname = 'Customer Shipment'
+	contact_lname = 'Testing'
+	customer_name = contact_fname + ' ' + contact_lname
+	contacts = frappe.get_all("Contact", fields=["name"], filters = {"name": customer_name})
+	if len(contacts):
+		return contacts[0]
+	else:
+		return create_customer_contact(contact_fname, contact_lname)
+
+
+def get_shipment_customer_address(customer_name):
+	address_title = customer_name + ' address 123'
+	customer_address = frappe.get_all("Address", fields=["name"], filters = {"address_title": address_title})
+	if len(customer_address):
+		return customer_address[0]
+	else:
+		return create_shipment_address(address_title, customer_name, 81929)
+
+def get_shipment_customer():
+	customer_name = 'Shipment Customer'
+	customer = frappe.get_all("Customer", fields=["name"], filters = {"name": customer_name})
+	if len(customer):
+		return customer[0]
+	else:
+		return create_shipment_customer(customer_name)
+
+def get_shipment_company_address(company_name):
+	address_title = company_name + ' address 123'
+	addresses = frappe.get_all("Address", fields=["name"], filters = {"address_title": address_title})
+	if len(addresses):
+		return addresses[0]
+	else:
+		return create_shipment_address(address_title, company_name, 80331)
+
+def get_shipment_company():
+	company_name = 'Shipment Company'
+	abbr = 'SC'
+	companies = frappe.get_all("Company", fields=["name"], filters = {"company_name": company_name})
+	if len(companies):
+		return companies[0]
+	else:
+		return create_shipment_company(company_name, abbr)
+
+def get_shipment_item(company_name):
+	item_name = 'Testing Shipment item'
+	items = frappe.get_all("Item",
+		fields=["name", "item_name", "item_code", "standard_rate"],
+		filters = {"item_name": item_name}
+	)
+	if len(items):
+		return items[0]
+	else:
+		return create_shipment_item(item_name, company_name)
+
+def create_shipment_address(address_title, company_name, postal_code):
+	address = frappe.new_doc("Address")
+	address.address_title = address_title
+	address.address_type = 'Shipping'
+	address.address_line1 = company_name + ' address line 1'
+	address.city = 'Random City'
+	address.postal_code = postal_code
+	address.country = 'Germany'
+	address.insert()
+	return address
+
+
+def create_customer_contact(fname, lname):
+	customer = frappe.new_doc("Contact")
+	customer.customer_name = fname + ' ' + lname
+	customer.first_name = fname
+	customer.last_name = lname
+	customer.is_primary_contact = 1
+	customer.is_billing_contact = 1
+	customer.append('email_ids',
+		{
+			'email_id': 'randomme@email.com',
+			'is_primary': 1
+		}
+	)
+	customer.append('phone_nos',
+		{
+			'phone': '123123123',
+			'is_primary_phone': 1,
+			'is_primary_mobile_no': 1
+		}
+	)
+	customer.status = 'Passive'
+	customer.insert()
+	return customer
+
+
+def create_shipment_company(company_name, abbr):
+	company = frappe.new_doc("Company")
+	company.company_name = company_name
+	company.abbr = abbr
+	company.default_currency = 'EUR'
+	company.country = 'Germany'
+	company.insert()
+	return company
+
+def create_shipment_customer(customer_name):
+	customer = frappe.new_doc("Customer")
+	customer.customer_name = customer_name
+	customer.customer_type = 'Company'
+	customer.customer_group = 'All Customer Groups'
+	customer.territory = 'All Territories'
+	customer.gst_category = 'Unregistered'
+	customer.insert()
+	return customer
+
+def create_material_receipt(item, company):
+	posting_date = date.today()
+	stock = frappe.new_doc("Stock Entry")
+	stock.company = company
+	stock.stock_entry_type = 'Material Receipt'
+	stock.posting_date = posting_date.strftime("%Y-%m-%d")
+	stock.append('items',
+		{
+			"t_warehouse": 'Stores - SC',
+			"item_code": item.name,
+			"qty": 5,
+			"uom": 'Nos',
+			"basic_rate": item.standard_rate,
+			"cost_center": 'Main - SC'
+		}
+	)
+	stock.insert()
+	stock.submit()
+	
+
+def create_shipment_item(item_name, company_name):
+	item = frappe.new_doc("Item")
+	item.item_name = item_name
+	item.item_code = item_name
+	item.item_group = 'All Item Groups'
+	item.stock_uom = 'Nos'
+	item.standard_rate = 50
+	item.append('item_defaults',
+		{
+			"company": company_name,
+			"default_warehouse": 'Stores - SC'
+		}
+	)
+	item.insert()
+	return item
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/stock/doctype/shipment_delivery_note/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/stock/doctype/shipment_delivery_note/__init__.py
diff --git a/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.json b/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.json
new file mode 100644
index 0000000..8625913
--- /dev/null
+++ b/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.json
@@ -0,0 +1,40 @@
+{
+ "actions": [],
+ "creation": "2020-07-09 11:52:57.939021",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "delivery_note",
+  "grand_total"
+ ],
+ "fields": [
+  {
+   "fieldname": "delivery_note",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Delivery Note",
+   "options": "Delivery Note",
+   "reqd": 1
+  },
+  {
+   "fieldname": "grand_total",
+   "fieldtype": "Currency",
+   "in_list_view": 1,
+   "label": "Value",
+   "read_only": 1
+  }
+ ],
+ "istable": 1,
+ "links": [],
+ "modified": "2020-12-02 15:44:34.028703",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Shipment Delivery Note",
+ "owner": "Administrator",
+ "permissions": [],
+ "quick_entry": 1,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.py b/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.py
new file mode 100644
index 0000000..4342151
--- /dev/null
+++ b/erpnext/stock/doctype/shipment_delivery_note/shipment_delivery_note.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class ShipmentDeliveryNote(Document):
+	pass
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/stock/doctype/shipment_parcel/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/stock/doctype/shipment_parcel/__init__.py
diff --git a/erpnext/stock/doctype/shipment_parcel/shipment_parcel.json b/erpnext/stock/doctype/shipment_parcel/shipment_parcel.json
new file mode 100644
index 0000000..6943edc
--- /dev/null
+++ b/erpnext/stock/doctype/shipment_parcel/shipment_parcel.json
@@ -0,0 +1,65 @@
+{
+ "actions": [],
+ "creation": "2020-07-09 11:28:48.887737",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "length",
+  "width",
+  "height",
+  "weight",
+  "count"
+ ],
+ "fields": [
+  {
+   "fieldname": "length",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "Length (cm)",
+   "reqd": 1
+  },
+  {
+   "fieldname": "width",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "Width (cm)",
+   "reqd": 1
+  },
+  {
+   "fieldname": "height",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "Height (cm)",
+   "reqd": 1
+  },
+  {
+   "fieldname": "weight",
+   "fieldtype": "Float",
+   "in_list_view": 1,
+   "label": "Weight (kg)",
+   "precision": "1",
+   "reqd": 1
+  },
+  {
+   "default": "1",
+   "fieldname": "count",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "Count",
+   "reqd": 1
+  }
+ ],
+ "istable": 1,
+ "links": [],
+ "modified": "2020-07-09 12:54:14.847170",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Shipment Parcel",
+ "owner": "Administrator",
+ "permissions": [],
+ "quick_entry": 1,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/shipment_parcel/shipment_parcel.py b/erpnext/stock/doctype/shipment_parcel/shipment_parcel.py
new file mode 100644
index 0000000..53e6ed5
--- /dev/null
+++ b/erpnext/stock/doctype/shipment_parcel/shipment_parcel.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class ShipmentParcel(Document):
+	pass
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/stock/doctype/shipment_parcel_template/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/stock/doctype/shipment_parcel_template/__init__.py
diff --git a/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.js b/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.js
new file mode 100644
index 0000000..785a3b3
--- /dev/null
+++ b/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Shipment Parcel Template', {
+	// refresh: function(frm) {
+
+	// }
+});
diff --git a/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.json b/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.json
new file mode 100644
index 0000000..4735d9f
--- /dev/null
+++ b/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.json
@@ -0,0 +1,78 @@
+{
+ "actions": [],
+ "autoname": "field:parcel_template_name",
+ "creation": "2020-07-09 11:43:43.470339",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "parcel_template_name",
+  "length",
+  "width",
+  "height",
+  "weight"
+ ],
+ "fields": [
+  {
+   "fieldname": "length",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "Length (cm)",
+   "reqd": 1
+  },
+  {
+   "fieldname": "width",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "Width (cm)",
+   "reqd": 1
+  },
+  {
+   "fieldname": "height",
+   "fieldtype": "Int",
+   "in_list_view": 1,
+   "label": "Height (cm)",
+   "reqd": 1
+  },
+  {
+   "fieldname": "weight",
+   "fieldtype": "Float",
+   "in_list_view": 1,
+   "label": "Weight (kg)",
+   "precision": "1",
+   "reqd": 1
+  },
+  {
+   "fieldname": "parcel_template_name",
+   "fieldtype": "Data",
+   "in_list_view": 1,
+   "label": "Parcel Template Name",
+   "reqd": 1,
+   "unique": 1
+  }
+ ],
+ "links": [],
+ "modified": "2020-09-28 12:51:00.320421",
+ "modified_by": "Administrator",
+ "module": "Stock",
+ "name": "Shipment Parcel Template",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "share": 1,
+   "write": 1
+  }
+ ],
+ "quick_entry": 1,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.py b/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.py
new file mode 100644
index 0000000..2a8d58d
--- /dev/null
+++ b/erpnext/stock/doctype/shipment_parcel_template/shipment_parcel_template.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class ShipmentParcelTemplate(Document):
+	pass
diff --git a/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py b/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py
new file mode 100644
index 0000000..6e2caa7
--- /dev/null
+++ b/erpnext/stock/doctype/shipment_parcel_template/test_shipment_parcel_template.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+# import frappe
+import unittest
+
+class TestShipmentParcelTemplate(unittest.TestCase):
+	pass
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.js b/erpnext/stock/doctype/stock_entry/stock_entry.js
index 39fd029..9121758 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.js
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.js
@@ -225,7 +225,7 @@
 						docstatus: 1
 					}
 				})
-			}, __("Get items from"));
+			}, __("Get Items From"));
 
 			frm.add_custom_button(__('Material Request'), function() {
 				erpnext.utils.map_current_doc({
@@ -240,7 +240,7 @@
 						status: ["not in", ["Transferred", "Issued"]]
 					}
 				})
-			}, __("Get items from"));
+			}, __("Get Items From"));
 		}
 		if (frm.doc.docstatus===0 && frm.doc.purpose == "Material Issue") {
 			frm.add_custom_button(__('Expired Batches'), function() {
@@ -263,7 +263,7 @@
 						}
 					}
 				});
-			}, __("Get items from"));
+			}, __("Get Items From"));
 		}
 
 		frm.events.show_bom_custom_button(frm);
@@ -282,7 +282,7 @@
 	},
 
 	stock_entry_type: function(frm){
-		frm.remove_custom_button('Bill of Materials', "Get items from");
+		frm.remove_custom_button('Bill of Materials', "Get Items From");
 		frm.events.show_bom_custom_button(frm);
 		frm.trigger('add_to_transit');
 	},
@@ -425,9 +425,9 @@
 	show_bom_custom_button: function(frm){
 		if (frm.doc.docstatus === 0 &&
 			['Material Issue', 'Material Receipt', 'Material Transfer', 'Send to Subcontractor'].includes(frm.doc.purpose)) {
-				frm.add_custom_button(__('Bill of Materials'), function() {
-					frm.events.get_items_from_bom(frm);
-				}, __("Get items from"));
+			frm.add_custom_button(__('Bill of Materials'), function() {
+				frm.events.get_items_from_bom(frm);
+			}, __("Get Items From"));
 		}
 	},
 
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index 7685267..e3159b9 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -1227,8 +1227,6 @@
 		return item_dict
 
 	def add_to_stock_entry_detail(self, item_dict, bom_no=None):
-		cost_center = frappe.db.get_value("Company", self.company, 'cost_center')
-
 		for d in item_dict:
 			stock_uom = item_dict[d].get("stock_uom") or frappe.db.get_value("Item", d, "stock_uom")
 
@@ -1239,9 +1237,10 @@
 			se_child.uom = item_dict[d]["uom"] if item_dict[d].get("uom") else stock_uom
 			se_child.stock_uom = stock_uom
 			se_child.qty = flt(item_dict[d]["qty"], se_child.precision("qty"))
-			se_child.cost_center = item_dict[d].get("cost_center") or cost_center
 			se_child.allow_alternative_item = item_dict[d].get("allow_alternative_item", 0)
 			se_child.subcontracted_item = item_dict[d].get("main_item_code")
+			se_child.cost_center = (item_dict[d].get("cost_center") or
+				get_default_cost_center(item_dict[d], company = self.company))
 
 			for field in ["idx", "po_detail", "original_item",
 				"expense_account", "description", "item_name"]:
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.json b/erpnext/stock/doctype/stock_settings/stock_settings.json
index 067659f..a166657 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.json
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -217,7 +217,7 @@
  "index_web_pages_for_search": 1,
  "issingle": 1,
  "links": [],
- "modified": "2020-10-13 10:33:29.147682",
+ "modified": "2020-11-23 15:26:54.225608",
  "modified_by": "Administrator",
  "module": "Stock",
  "name": "Stock Settings",
@@ -235,5 +235,6 @@
  ],
  "quick_entry": 1,
  "sort_field": "modified",
- "sort_order": "ASC"
+ "sort_order": "ASC",
+ "track_changes": 1
 }
\ No newline at end of file
diff --git a/erpnext/stock/doctype/stock_settings/stock_settings.py b/erpnext/stock/doctype/stock_settings/stock_settings.py
index 4c7828b..3b9608b 100644
--- a/erpnext/stock/doctype/stock_settings/stock_settings.py
+++ b/erpnext/stock/doctype/stock_settings/stock_settings.py
@@ -55,7 +55,7 @@
 			""")
 
 			if sle:
-				frappe.throw(_("Can't change valuation method, as there are transactions against some items which does not have it's own valuation method"))
+				frappe.throw(_("Can't change the valuation method, as there are transactions against some items which do not have its own valuation method"))
 
 	def validate_clean_description_html(self):
 		if int(self.clean_description_html or 0) \
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 8d8dcb7..08f7a83 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -559,23 +559,40 @@
 	else:
 		return None
 
-def get_default_cost_center(args, item, item_group, brand, company=None):
+def get_default_cost_center(args, item=None, item_group=None, brand=None, company=None):
 	cost_center = None
+
+	if not company and args.get("company"):
+		company = args.get("company")
+
 	if args.get('project'):
 		cost_center = frappe.db.get_value("Project", args.get("project"), "cost_center", cache=True)
 
-	if not cost_center:
+	if not cost_center and (item and item_group and brand):
 		if args.get('customer'):
 			cost_center = item.get('selling_cost_center') or item_group.get('selling_cost_center') or brand.get('selling_cost_center')
 		else:
 			cost_center = item.get('buying_cost_center') or item_group.get('buying_cost_center') or brand.get('buying_cost_center')
 
-	cost_center = cost_center or args.get("cost_center")
+	elif not cost_center and args.get("item_code") and company:
+		for method in ["get_item_defaults", "get_item_group_defaults", "get_brand_defaults"]:
+			path = "erpnext.stock.get_item_details.{0}".format(method)
+			data = frappe.get_attr(path)(args.get("item_code"), company)
+
+			if data and (data.selling_cost_center or data.buying_cost_center):
+				return data.selling_cost_center or data.buying_cost_center
+
+	if not cost_center and args.get("cost_center"):
+		cost_center = args.get("cost_center")
 
 	if (company and cost_center
 		and frappe.get_cached_value("Cost Center", cost_center, "company") != company):
 		return None
 
+	if not cost_center and company:
+		cost_center = frappe.get_cached_value("Company",
+			company, "cost_center")
+
 	return cost_center
 
 def get_default_supplier(args, item, item_group, brand):
diff --git a/erpnext/stock/report/stock_ageing/stock_ageing.py b/erpnext/stock/report/stock_ageing/stock_ageing.py
index 3dc806f..8aaf7ab 100644
--- a/erpnext/stock/report/stock_ageing/stock_ageing.py
+++ b/erpnext/stock/report/stock_ageing/stock_ageing.py
@@ -20,7 +20,8 @@
 
 		fifo_queue = sorted(filter(_func, item_dict["fifo_queue"]), key=_func)
 		details = item_dict["details"]
-		if not fifo_queue and (not item_dict.get("total_qty")): continue
+
+		if not fifo_queue: continue
 
 		average_age = get_average_age(fifo_queue, to_date)
 		earliest_age = date_diff(to_date, fifo_queue[0][1])
diff --git a/erpnext/stock/report/stock_balance/stock_balance.py b/erpnext/stock/report/stock_balance/stock_balance.py
index 1339d9b..ccd0100 100644
--- a/erpnext/stock/report/stock_balance/stock_balance.py
+++ b/erpnext/stock/report/stock_balance/stock_balance.py
@@ -164,7 +164,7 @@
 		select
 			sle.item_code, warehouse, sle.posting_date, sle.actual_qty, sle.valuation_rate,
 			sle.company, sle.voucher_type, sle.qty_after_transaction, sle.stock_value_difference,
-			sle.item_code as name, sle.voucher_no
+			sle.item_code as name, sle.voucher_no, sle.stock_value
 		from
 			`tabStock Ledger Entry` sle force index (posting_sort_index)
 		where sle.docstatus < 2 %s %s
@@ -197,7 +197,7 @@
 		else:
 			qty_diff = flt(d.actual_qty)
 
-		value_diff = flt(d.stock_value_difference)
+		value_diff = flt(d.stock_value) - flt(qty_dict.bal_val)
 
 		if d.posting_date < from_date:
 			qty_dict.opening_qty += qty_diff
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 11e758f..f9ac254 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -288,7 +288,6 @@
 		return
 
 	convertible_cols = {}
-
 	is_dict_obj = False
 	if isinstance(result[0], dict):
 		is_dict_obj = True
@@ -310,13 +309,13 @@
 	for row_idx, row in enumerate(result):
 		data = row.items() if is_dict_obj else enumerate(row)
 		for key, value in data:
-			if not key in convertible_columns or not conversion_factors[row_idx]:
+			if key not in convertible_columns or not conversion_factors[row_idx-1]:
 				continue
 
 			if convertible_columns.get(key) == 'rate':
-				new_value = flt(value) * conversion_factors[row_idx]
+				new_value = flt(value) * conversion_factors[row_idx-1]
 			else:
-				new_value = flt(value) / conversion_factors[row_idx]
+				new_value = flt(value) / conversion_factors[row_idx-1]
 
 			if not is_dict_obj:
 				row.insert(key+1, new_value)
diff --git a/erpnext/support/doctype/issue/issue.js b/erpnext/support/doctype/issue/issue.js
index fe01d4b..086755b 100644
--- a/erpnext/support/doctype/issue/issue.js
+++ b/erpnext/support/doctype/issue/issue.js
@@ -1,6 +1,13 @@
 frappe.ui.form.on("Issue", {
 	onload: function(frm) {
 		frm.email_field = "raised_by";
+		frm.set_query("customer", function () {
+			return {
+				filters: {
+					"disabled": 0
+				}
+			};
+		});
 
 		frappe.db.get_value("Support Settings", {name: "Support Settings"},
 			["allow_resetting_service_level_agreement", "track_service_level_agreement"], (r) => {
@@ -21,14 +28,14 @@
 				},
 				callback: function (r) {
 					if (r && r.message) {
-						frm.set_query('priority', function() {
+						frm.set_query("priority", function() {
 							return {
 								filters: {
 									"name": ["in", r.message.priority],
 								}
 							};
 						});
-						frm.set_query('service_level_agreement', function() {
+						frm.set_query("service_level_agreement", function() {
 							return {
 								filters: {
 									"name": ["in", r.message.service_level_agreements],
@@ -45,9 +52,9 @@
 		if (frm.doc.status !== "Closed" && frm.doc.agreement_status === "Ongoing") {
 			if (frm.doc.service_level_agreement) {
 				frappe.call({
-					'method': 'frappe.client.get',
+					"method": "frappe.client.get",
 					args: {
-						doctype: 'Service Level Agreement',
+						doctype: "Service Level Agreement",
 						name: frm.doc.service_level_agreement
 					},
 					callback: function(data) {
@@ -127,8 +134,8 @@
 				reset_sla.clear();
 
 				frappe.show_alert({
-					indicator: 'green',
-					message: __('Resetting Service Level Agreement.')
+					indicator: "green",
+					message: __("Resetting Service Level Agreement.")
 				});
 
 				frm.call("reset_service_level_agreement", {
@@ -145,35 +152,36 @@
 		reset_sla.show();
 	},
 
+
 	timeline_refresh: function(frm) {
 		// create button for "Help Article"
-		if(frappe.model.can_create('Help Article')) {
+		if (frappe.model.can_create("Help Article")) {
 			// Removing Help Article button if exists to avoid multiple occurance
 			frm.timeline.wrapper.find('.comment-header .asset-details .btn-add-to-kb').remove();
 			$('<button class="btn btn-xs btn-link btn-add-to-kb text-muted hidden-xs pull-right">'+
 				__('Help Article') + '</button>')
 				.appendTo(frm.timeline.wrapper.find('.comment-header .asset-details:not([data-communication-type="Comment"])'))
-				.on('click', function() {
-					var content = $(this).parents('.timeline-item:first').find('.timeline-item-content').html();
-					var doc = frappe.model.get_new_doc('Help Article');
+				.on("click", function() {
+					var content = $(this).parents(".timeline-item:first").find(".timeline-item-content").html();
+					var doc = frappe.model.get_new_doc("Help Article");
 					doc.title = frm.doc.subject;
 					doc.content = content;
-					frappe.set_route('Form', 'Help Article', doc.name);
+					frappe.set_route("Form", "Help Article", doc.name);
 				});
 		}
 
-		if (!frm.timeline.wrapper.find('.btn-split-issue').length) {
+		if (!frm.timeline.wrapper.find(".btn-split-issue").length) {
 			let split_issue = __("Split Issue")
 			$(`<button class="btn btn-xs btn-link btn-add-to-kb text-muted hidden-xs btn-split-issue pull-right" style="display:inline-block; margin-right: 15px">
 				${split_issue}
 			</button>`)
 				.appendTo(frm.timeline.wrapper.find('.comment-header .asset-details:not([data-communication-type="Comment"])'))
 			if (!frm.timeline.wrapper.data("split-issue-event-attached")){
-				frm.timeline.wrapper.on('click', '.btn-split-issue', (e) => {
+				frm.timeline.wrapper.on("click", ".btn-split-issue", (e) => {
 					var dialog = new frappe.ui.Dialog({
 						title: __("Split Issue"),
 						fields: [
-							{fieldname: 'subject', fieldtype: 'Data', reqd:1, label: __('Subject'), description: __('All communications including and above this shall be moved into the new Issue')}
+							{fieldname: "subject", fieldtype: "Data", reqd: 1, label: __("Subject"), description: __("All communications including and above this shall be moved into the new Issue")}
 						],
 						primary_action_label: __("Split"),
 						primary_action: function() {
@@ -226,7 +234,7 @@
 function get_time_left(timestamp, agreement_status) {
 	const diff = moment(timestamp).diff(moment());
 	const diff_display = diff >= 44500 ? moment.duration(diff).humanize() : "Failed";
-	let indicator = (diff_display == 'Failed' && agreement_status != "Fulfilled") ? "red" : "green";
+	let indicator = (diff_display == "Failed" && agreement_status != "Fulfilled") ? "red" : "green";
 	return {"diff_display": diff_display, "indicator": indicator};
 }
 
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/telephony/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/telephony/__init__.py
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/telephony/doctype/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/telephony/doctype/__init__.py
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/telephony/doctype/call_log/__init__.py
similarity index 100%
rename from erpnext/communication/doctype/call_log/__init__.py
rename to erpnext/telephony/doctype/call_log/__init__.py
diff --git a/erpnext/telephony/doctype/call_log/call_log.js b/erpnext/telephony/doctype/call_log/call_log.js
new file mode 100644
index 0000000..977f86d
--- /dev/null
+++ b/erpnext/telephony/doctype/call_log/call_log.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+frappe.ui.form.on('Call Log', {
+	// refresh: function(frm) {
+
+	// }
+});
diff --git a/erpnext/communication/doctype/call_log/call_log.json b/erpnext/telephony/doctype/call_log/call_log.json
similarity index 96%
rename from erpnext/communication/doctype/call_log/call_log.json
rename to erpnext/telephony/doctype/call_log/call_log.json
index 31e79f1..55ad2ba 100644
--- a/erpnext/communication/doctype/call_log/call_log.json
+++ b/erpnext/telephony/doctype/call_log/call_log.json
@@ -137,12 +137,11 @@
    "read_only": 1
   }
  ],
- "in_create": 1,
  "index_web_pages_for_search": 1,
  "links": [],
- "modified": "2020-08-25 17:08:34.085731",
+ "modified": "2020-11-25 14:32:44.407815",
  "modified_by": "Administrator",
- "module": "Communication",
+ "module": "Telephony",
  "name": "Call Log",
  "owner": "Administrator",
  "permissions": [
diff --git a/erpnext/communication/doctype/call_log/call_log.py b/erpnext/telephony/doctype/call_log/call_log.py
similarity index 100%
rename from erpnext/communication/doctype/call_log/call_log.py
rename to erpnext/telephony/doctype/call_log/call_log.py
diff --git a/erpnext/telephony/doctype/call_log/test_call_log.py b/erpnext/telephony/doctype/call_log/test_call_log.py
new file mode 100644
index 0000000..faa6304
--- /dev/null
+++ b/erpnext/telephony/doctype/call_log/test_call_log.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+# import frappe
+import unittest
+
+class TestCallLog(unittest.TestCase):
+	pass
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/telephony/doctype/incoming_call_handling_schedule/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/telephony/doctype/incoming_call_handling_schedule/__init__.py
diff --git a/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.json b/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.json
new file mode 100644
index 0000000..6d46b4e
--- /dev/null
+++ b/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.json
@@ -0,0 +1,60 @@
+{
+ "actions": [],
+ "creation": "2020-11-19 11:15:54.967710",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "day_of_week",
+  "from_time",
+  "to_time",
+  "agent_group"
+ ],
+ "fields": [
+  {
+   "fieldname": "day_of_week",
+   "fieldtype": "Select",
+   "in_list_view": 1,
+   "label": "Day Of Week",
+   "options": "Monday\nTuesday\nWednesday\nThursday\nFriday\nSaturday\nSunday",
+   "reqd": 1
+  },
+  {
+   "default": "9:00:00",
+   "fieldname": "from_time",
+   "fieldtype": "Time",
+   "in_list_view": 1,
+   "label": "From Time",
+   "reqd": 1
+  },
+  {
+   "default": "17:00:00",
+   "fieldname": "to_time",
+   "fieldtype": "Time",
+   "in_list_view": 1,
+   "label": "To Time",
+   "reqd": 1
+  },
+  {
+   "fieldname": "agent_group",
+   "fieldtype": "Link",
+   "in_list_view": 1,
+   "label": "Agent Group",
+   "options": "Employee Group",
+   "reqd": 1
+  }
+ ],
+ "index_web_pages_for_search": 1,
+ "istable": 1,
+ "links": [],
+ "modified": "2020-11-19 11:15:54.967710",
+ "modified_by": "Administrator",
+ "module": "Telephony",
+ "name": "Incoming Call Handling Schedule",
+ "owner": "Administrator",
+ "permissions": [],
+ "quick_entry": 1,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.py b/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.py
new file mode 100644
index 0000000..fcf2974
--- /dev/null
+++ b/erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+# import frappe
+from frappe.model.document import Document
+
+class IncomingCallHandlingSchedule(Document):
+	pass
diff --git a/erpnext/communication/doctype/call_log/__init__.py b/erpnext/telephony/doctype/incoming_call_settings/__init__.py
similarity index 100%
copy from erpnext/communication/doctype/call_log/__init__.py
copy to erpnext/telephony/doctype/incoming_call_settings/__init__.py
diff --git a/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.js b/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.js
new file mode 100644
index 0000000..1bcc846
--- /dev/null
+++ b/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.js
@@ -0,0 +1,102 @@
+// Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+// For license information, please see license.txt
+
+function time_to_seconds(time_str) {
+	// Convert time string of format HH:MM:SS into seconds.
+	let seq = time_str.split(':');
+	seq = seq.map((n) => parseInt(n));
+	return (seq[0]*60*60) + (seq[1]*60) + seq[2];
+}
+
+function number_sort(array, ascending=true) {
+	let array_copy = [...array];
+	if (ascending) {
+		array_copy.sort((a, b) => a-b); // ascending order
+	} else {
+		array_copy.sort((a, b) => b-a); // descending order
+	}
+	return array_copy;
+}
+
+function groupby(items, key) {
+	// Group the list of items using the given key.
+	const obj = {};
+	items.forEach((item) => {
+		if (item[key] in obj) {
+			obj[item[key]].push(item);
+		} else {
+			obj[item[key]] = [item];
+		}
+	});
+	return obj;
+}
+
+function check_timeslot_overlap(ts1, ts2) {
+	/// Timeslot is a an array of length 2 ex: [from_time, to_time]
+	/// time in timeslot is an integer represents number of seconds.
+	if ((ts1[0] < ts2[0] && ts1[1] <= ts2[0]) || (ts1[0] >= ts2[1] && ts1[1] > ts2[1])) {
+		return false;
+	}
+	return true;
+}
+
+function validate_call_schedule(schedule) {
+	validate_call_schedule_timeslot(schedule);
+	validate_call_schedule_overlaps(schedule);
+}
+
+function validate_call_schedule_timeslot(schedule) {
+	// Make sure that to time slot is ahead of from time slot.
+	let errors = [];
+
+	for (let row in schedule) {
+		let record = schedule[row];
+		let from_time_in_secs = time_to_seconds(record.from_time);
+		let to_time_in_secs = time_to_seconds(record.to_time);
+		if (from_time_in_secs >= to_time_in_secs) {
+			errors.push(__('Call Schedule Row {0}: To time slot should always be ahead of From time slot.', [row]));
+		}
+	}
+
+	if (errors.length > 0) {
+		frappe.throw(errors.join("<br/>"));
+	}
+}
+
+function is_call_schedule_overlapped(day_schedule) {
+	// Check if any time slots are overlapped in a day schedule.
+	let timeslots = [];
+	day_schedule.forEach((record)=> {
+		timeslots.push([time_to_seconds(record.from_time), time_to_seconds(record.to_time)]);
+	});
+
+	if (timeslots.length < 2) {
+		return false;
+	}
+
+	timeslots = number_sort(timeslots);
+
+	// Sorted timeslots will be in ascending order if not overlapped.
+	for (let i=1; i < timeslots.length; i++) {
+		if (check_timeslot_overlap(timeslots[i-1], timeslots[i])) {
+			return true;
+		}
+	}
+	return false;
+}
+
+function validate_call_schedule_overlaps(schedule) {
+	let group_by_day = groupby(schedule, 'day_of_week');
+	for (const [day, day_schedule] of Object.entries(group_by_day)) {
+		if (is_call_schedule_overlapped(day_schedule)) {
+			frappe.throw(__('Please fix overlapping time slots for {0}', [day]));
+		}
+	}
+}
+
+frappe.ui.form.on('Incoming Call Settings', {
+	validate(frm) {
+		validate_call_schedule(frm.doc.call_handling_schedule);
+	}
+});
+
diff --git a/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.json b/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.json
new file mode 100644
index 0000000..3ffb3e4
--- /dev/null
+++ b/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.json
@@ -0,0 +1,82 @@
+{
+ "actions": [],
+ "autoname": "Prompt",
+ "creation": "2020-11-19 10:37:20.734245",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+  "call_routing",
+  "column_break_2",
+  "greeting_message",
+  "agent_busy_message",
+  "agent_unavailable_message",
+  "section_break_6",
+  "call_handling_schedule"
+ ],
+ "fields": [
+  {
+   "default": "Sequential",
+   "fieldname": "call_routing",
+   "fieldtype": "Select",
+   "in_list_view": 1,
+   "label": "Call Routing",
+   "options": "Sequential\nSimultaneous"
+  },
+  {
+   "fieldname": "greeting_message",
+   "fieldtype": "Data",
+   "label": "Greeting Message"
+  },
+  {
+   "fieldname": "agent_busy_message",
+   "fieldtype": "Data",
+   "label": "Agent Busy Message"
+  },
+  {
+   "fieldname": "agent_unavailable_message",
+   "fieldtype": "Data",
+   "label": "Agent Unavailable Message"
+  },
+  {
+   "fieldname": "column_break_2",
+   "fieldtype": "Column Break"
+  },
+  {
+   "fieldname": "section_break_6",
+   "fieldtype": "Section Break"
+  },
+  {
+   "fieldname": "call_handling_schedule",
+   "fieldtype": "Table",
+   "label": "Call Handling Schedule",
+   "options": "Incoming Call Handling Schedule",
+   "reqd": 1
+  }
+ ],
+ "index_web_pages_for_search": 1,
+ "links": [],
+ "modified": "2020-11-19 11:17:14.527862",
+ "modified_by": "Administrator",
+ "module": "Telephony",
+ "name": "Incoming Call Settings",
+ "owner": "Administrator",
+ "permissions": [
+  {
+   "create": 1,
+   "delete": 1,
+   "email": 1,
+   "export": 1,
+   "print": 1,
+   "read": 1,
+   "report": 1,
+   "role": "System Manager",
+   "share": 1,
+   "write": 1
+  }
+ ],
+ "quick_entry": 1,
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.py b/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.py
new file mode 100644
index 0000000..2b2008a
--- /dev/null
+++ b/erpnext/telephony/doctype/incoming_call_settings/incoming_call_settings.py
@@ -0,0 +1,63 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and contributors
+# For license information, please see license.txt
+
+from __future__ import unicode_literals
+import frappe
+from frappe.model.document import Document
+from datetime import datetime
+from typing import Tuple
+from frappe import _
+
+class IncomingCallSettings(Document):
+	def validate(self):
+		"""List of validations
+		* Make sure that to time slot is ahead of from time slot in call schedule
+		* Make sure that no overlapping timeslots for a given day
+		"""
+		self.validate_call_schedule_timeslot(self.call_handling_schedule)
+		self.validate_call_schedule_overlaps(self.call_handling_schedule)
+
+	def validate_call_schedule_timeslot(self, schedule: list):
+		"""	Make sure that to time slot is ahead of from time slot.
+		"""
+		errors = []
+		for record in schedule:
+			from_time = self.time_to_seconds(record.from_time)
+			to_time = self.time_to_seconds(record.to_time)
+			if from_time >= to_time:
+				errors.append(
+					_('Call Schedule Row {0}: To time slot should always be ahead of From time slot.').format(record.idx)
+				)
+
+		if errors:
+			frappe.throw('<br/>'.join(errors))
+
+	def validate_call_schedule_overlaps(self, schedule: list):
+		"""Check if any time slots are overlapped in a day schedule.
+		"""
+		week_days = set([each.day_of_week for each in schedule])
+
+		for day in week_days:
+			timeslots = [(record.from_time, record.to_time) for record in schedule if record.day_of_week==day]
+
+			# convert time in timeslot into an integer represents number of seconds
+			timeslots = sorted(map(lambda seq: tuple(map(self.time_to_seconds, seq)), timeslots))
+			if len(timeslots) < 2: continue
+
+			for i in range(1, len(timeslots)):
+				if self.check_timeslots_overlap(timeslots[i-1], timeslots[i]):
+					frappe.throw(_('Please fix overlapping time slots for {0}.').format(day))
+
+	@staticmethod
+	def check_timeslots_overlap(ts1: Tuple[int, int], ts2: Tuple[int, int]) -> bool:
+		if (ts1[0] < ts2[0] and ts1[1] <= ts2[0]) or (ts1[0] >= ts2[1] and ts1[1] > ts2[1]):
+			return False
+		return True
+
+	@staticmethod
+	def time_to_seconds(time: str) -> int:
+		"""Convert time string of format HH:MM:SS into seconds
+		"""
+		date_time = datetime.strptime(time, "%H:%M:%S")
+		return date_time - datetime(1900, 1, 1)
diff --git a/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py b/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py
new file mode 100644
index 0000000..c058c11
--- /dev/null
+++ b/erpnext/telephony/doctype/incoming_call_settings/test_incoming_call_settings.py
@@ -0,0 +1,10 @@
+# -*- coding: utf-8 -*-
+# Copyright (c) 2020, Frappe Technologies Pvt. Ltd. and Contributors
+# See license.txt
+from __future__ import unicode_literals
+
+# import frappe
+import unittest
+
+class TestIncomingCallSettings(unittest.TestCase):
+	pass
diff --git a/erpnext/templates/pages/material_request_info.html b/erpnext/templates/pages/material_request_info.html
index 9d18989..c7a7802 100644
--- a/erpnext/templates/pages/material_request_info.html
+++ b/erpnext/templates/pages/material_request_info.html
@@ -25,7 +25,7 @@
 		</span>
 	</div>
 	<div class="col-xs-6 text-muted text-right small">
-		{{ frappe.utils.formatdate(doc.transaction_date, 'medium') }}
+		{{ frappe.utils.format_date(doc.transaction_date, 'medium') }}
 	</div>
 </div>
 
diff --git a/erpnext/templates/pages/order.html b/erpnext/templates/pages/order.html
index 01b5f6d..af7af11 100644
--- a/erpnext/templates/pages/order.html
+++ b/erpnext/templates/pages/order.html
@@ -42,10 +42,10 @@
 		</span>
 	</div>
 	<div class="col-6 text-muted text-right small">
-		{{ frappe.utils.formatdate(doc.transaction_date, 'medium') }}
+		{{ frappe.utils.format_date(doc.transaction_date, 'medium') }}
 		{% if doc.valid_till %}
 		<p>
-		{{ _("Valid Till") }}: {{ frappe.utils.formatdate(doc.valid_till, 'medium') }}
+		{{ _("Valid Till") }}: {{ frappe.utils.format_date(doc.valid_till, 'medium') }}
 		</p>
 		{% endif %}
 	</div>
diff --git a/erpnext/templates/print_formats/includes/taxes.html b/erpnext/templates/print_formats/includes/taxes.html
index 6e984f3..304e845 100644
--- a/erpnext/templates/print_formats/includes/taxes.html
+++ b/erpnext/templates/print_formats/includes/taxes.html
@@ -20,10 +20,10 @@
 			{%- if (charge.tax_amount or doc.flags.print_taxes_with_zero_amount) and (not charge.included_in_print_rate or doc.flags.show_inclusive_tax_in_print) -%}
 			<div class="row">
 				<div class="col-xs-5 {%- if doc.align_labels_right %} text-right{%- endif -%}">
-					<label>{{ charge.get_formatted("description") }}</label></div>
+					<label>{{ charge.get_formatted("description") }}</label>
+				</div>
 				<div class="col-xs-7 text-right">
-					{{ frappe.format_value(frappe.utils.flt(charge.tax_amount),
-						table_meta.get_field("tax_amount"), doc, currency=doc.currency) }}
+					{{ charge.get_formatted('tax_amount', doc) }}
 				</div>
 			</div>
 			{%- endif -%}
diff --git a/erpnext/translations/af.csv b/erpnext/translations/af.csv
index 3cb1bd8..45435d8 100644
--- a/erpnext/translations/af.csv
+++ b/erpnext/translations/af.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kan nie aftrek as die kategorie vir &#39;Waardasie&#39; of &#39;Vaulering en Totaal&#39; is nie.,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Kan nie reeksnommer {0} uitvee nie, aangesien dit in voorraadtransaksies gebruik word",
 Cannot enroll more than {0} students for this student group.,Kan nie meer as {0} studente vir hierdie studente groep inskryf nie.,
-Cannot find Item with this barcode,Kan geen item met hierdie strepieskode vind nie,
 Cannot find active Leave Period,Kan nie aktiewe verlofperiode vind nie,
 Cannot produce more Item {0} than Sales Order quantity {1},Kan nie meer item {0} produseer as hoeveelheid van die bestelling {1},
 Cannot promote Employee with status Left,Kan nie werknemer bevorder met status links nie,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Skep en bestuur daaglikse, weeklikse en maandelikse e-posverdelings.",
 Create customer quotes,Skep kliënte kwotasies,
 Create rules to restrict transactions based on values.,Skep reëls om transaksies gebaseer op waardes te beperk.,
-Created By,Gemaak deur,
 Created {0} scorecards for {1} between: ,Geskep {0} telkaarte vir {1} tussen:,
 Creating Company and Importing Chart of Accounts,Skep &#39;n maatskappy en voer rekeningrekeninge in,
 Creating Fees,Fooie skep,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Vir ry {0}: Gee beplande hoeveelheid,
 "For {0}, only credit accounts can be linked against another debit entry",Vir {0} kan slegs kredietrekeninge gekoppel word teen &#39;n ander debietinskrywing,
 "For {0}, only debit accounts can be linked against another credit entry",Vir {0} kan slegs debietrekeninge gekoppel word teen &#39;n ander kredietinskrywing,
-Form View,Form View,
 Forum Activity,Forum Aktiwiteit,
 Free item code is not selected,Gratis itemkode word nie gekies nie,
 Freight and Forwarding Charges,Vrag en vragkoste,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Stuur massa-SMS na jou kontakte,
 Sensitivity,sensitiwiteit,
 Sent,gestuur,
-Serial #,Serie #,
 Serial No and Batch,Serial No and Batch,
 Serial No is mandatory for Item {0},Volgnummer is verpligtend vir item {0},
 Serial No {0} does not belong to Batch {1},Reeksnommer {0} hoort nie by bondel {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Waarmee het jy hulp nodig?,
 What does it do?,Wat doen dit?,
 Where manufacturing operations are carried.,Waar vervaardigingsbedrywighede uitgevoer word.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Terwyl u rekening vir kindermaatskappy {0} skep, word ouerrekening {1} nie gevind nie. Skep asseblief die ouerrekening in die ooreenstemmende COA",
 White,wit,
 Wire Transfer,Elektroniese oorbetaling,
 WooCommerce Products,WooCommerce Produkte,
@@ -3493,6 +3488,7 @@
 Merge with existing,Voeg saam met bestaande,
 Office,kantoor,
 Orientation,geaardheid,
+Parent,Ouer,
 Passive,passiewe,
 Payment Failed,Betaling misluk,
 Percent,persent,
@@ -3543,6 +3539,7 @@
 Show {0},Wys {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Spesiale karakters behalwe &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; En &quot;}&quot; word nie toegelaat in die naamreekse nie",
 Target Details,Teikenbesonderhede,
+{0} already has a Parent Procedure {1}.,{0} het reeds &#39;n ouerprosedure {1}.,
 API,API,
 Annual,jaarlikse,
 Approved,goedgekeur,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Einddatum kan nie minder wees as die begin datum nie,
 For Default Supplier (Optional),Vir Standaardverskaffer (opsioneel),
 From date cannot be greater than To date,Vanaf datum kan nie groter wees as Datum,
-Get items from,Kry items van,
 Group by,Groep By,
 In stock,In voorraad,
 Item name,Item naam,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kwaliteit doel,
 Monitoring Frequency,Monitor frekwensie,
 Weekday,weekdag,
-January-April-July-October,Januarie-April-Julie-Oktober,
-Revision and Revised On,Hersiening en hersien op,
-Revision,hersiening,
-Revised On,Hersien op,
 Objectives,doelwitte,
 Quality Goal Objective,Kwaliteit Doelwit,
 Objective,Doel,
@@ -7574,7 +7566,6 @@
 Processes,prosesse,
 Quality Procedure Process,Kwaliteit prosedure proses,
 Process Description,Prosesbeskrywing,
-Child Procedure,Kinderprosedure,
 Link existing Quality Procedure.,Koppel die bestaande kwaliteitsprosedure.,
 Additional Information,Bykomende inligting,
 Quality Review Objective,Doel van gehaltehersiening,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Aankoopontvangstendense,
 Purchase Register,Aankoopregister,
 Quotation Trends,Aanhalingstendense,
-Quoted Item Comparison,Genoteerde Item Vergelyking,
 Received Items To Be Billed,Items ontvang om gefaktureer te word,
 Qty to Order,Hoeveelheid om te bestel,
 Requested Items To Be Transferred,Gevraagde items wat oorgedra moet word,
@@ -9091,7 +9081,6 @@
 Absent Days,Afwesige dae,
 Conditions and Formula variable and example,Voorwaardes en formule veranderlike en voorbeeld,
 Feedback By,Terugvoer deur,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Vervaardigingsafdeling,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Die kliëntnaam word standaard ingestel volgens die volledige naam wat ingevoer is. As u wil hê dat klante deur &#39;n,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Stel die standaardpryslys op wanneer u &#39;n nuwe verkoopstransaksie skep. Itempryse word uit hierdie pryslys gehaal.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Gereserveerde balans,
 Uncleared Balance,Onduidelike balans,
 Payment related to {0} is not completed,Betaling wat verband hou met {0} is nie voltooi nie,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ry # {}: reeksnommer {}. {} is reeds oorgedra na &#39;n ander POS-faktuur. Kies &#39;n geldige reeksnr.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Ry # {}: Itemkode: {} is nie beskikbaar onder pakhuis {} nie.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Ry # {}: voorraadhoeveelheid nie genoeg vir artikelkode: {} onder pakhuis {}. Beskikbare hoeveelheid {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Ry # {}: kies &#39;n reeksnommer en &#39;n bondel teenoor item: {} of verwyder dit om die transaksie te voltooi.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Aktiveer asseblief Laat negatiewe voorraad toe in voorraadinstellings of skep voorraadinskrywing om voort te gaan.,
 No Inpatient Record found against patient {0},Geen pasiëntrekord gevind teen pasiënt nie {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Daar bestaan reeds &#39;n medikasiebevel vir binnepasiënte {0} teen pasiëntontmoeting {1}.,
+Allow In Returns,Laat opbrengste toe,
+Hide Unavailable Items,Versteek nie-beskikbare items,
+Apply Discount on Discounted Rate,Pas afslag toe op afslag,
+Therapy Plan Template,Terapieplan-sjabloon,
+Fetching Template Details,Haal sjabloonbesonderhede op,
+Linked Item Details,Gekoppelde itembesonderhede,
+Therapy Types,Terapie tipes,
+Therapy Plan Template Detail,Terapieplan sjabloonbesonderhede,
+Non Conformance,Nie-ooreenstemming,
+Process Owner,Proses eienaar,
+Corrective Action,Korrektiewe aksie,
+Preventive Action,Voorkomende aksie,
+Problem,Probleem,
+Responsible,Verantwoordelik,
+Completion By,Voltooiing deur,
+Process Owner Full Name,Proses eienaar se volle naam,
+Right Index,Regte indeks,
+Left Index,Linkse indeks,
+Sub Procedure,Subprosedure,
+Passed,Geslaag,
+Print Receipt,Drukbewys,
+Edit Receipt,Wysig kwitansie,
+Focus on search input,Fokus op soekinsette,
+Focus on Item Group filter,Fokus op Item Group filter,
+Checkout Order / Submit Order / New Order,Afhandeling Bestelling / Dien Bestelling / Nuwe Bestelling in,
+Add Order Discount,Bestel afslag byvoeg,
+Item Code: {0} is not available under warehouse {1}.,Itemkode: {0} is nie beskikbaar onder pakhuis {1} nie.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Reeksnommers nie beskikbaar vir item {0} onder pakhuis {1} nie. Probeer om die pakhuis te verander.,
+Fetched only {0} available serial numbers.,Slegs {0} beskikbare reeksnommers gekry.,
+Switch Between Payment Modes,Skakel tussen betaalmetodes,
+Enter {0} amount.,Voer {0} bedrag in.,
+You don't have enough points to redeem.,U het nie genoeg punte om af te los nie.,
+You can redeem upto {0}.,U kan tot {0} gebruik.,
+Enter amount to be redeemed.,Voer die bedrag in wat afgelos moet word.,
+You cannot redeem more than {0}.,U kan nie meer as {0} gebruik nie.,
+Open Form View,Maak vormaansig oop,
+POS invoice {0} created succesfully,POS-faktuur {0} suksesvol geskep,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Voorraadhoeveelheid nie genoeg vir artikelkode: {0} onder pakhuis {1}. Beskikbare hoeveelheid {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serienommer: {0} is reeds oorgedra na &#39;n ander POS-faktuur.,
+Balance Serial No,Saldo Reeksnr,
+Warehouse: {0} does not belong to {1},Pakhuis: {0} behoort nie tot {1},
+Please select batches for batched item {0},Kies groepe vir &#39;n partytjie-item {0},
+Please select quantity on row {0},Kies hoeveelheid in ry {0},
+Please enter serial numbers for serialized item {0},Voer die reeksnommers in vir die reeks-item {0},
+Batch {0} already selected.,Bondel {0} reeds gekies.,
+Please select a warehouse to get available quantities,Kies &#39;n pakhuis om beskikbare hoeveelhede te kry,
+"For transfer from source, selected quantity cannot be greater than available quantity",Vir oordrag vanaf die bron kan die gekose hoeveelheid nie groter wees as die beskikbare hoeveelheid nie,
+Cannot find Item with this Barcode,Kan nie item met hierdie strepieskode vind nie,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} is verpligtend. Miskien word valuta-rekord nie vir {1} tot {2} geskep nie,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} het bates wat daaraan gekoppel is, ingedien. U moet die bates kanselleer om die aankoopopbrengs te skep.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Kan nie hierdie dokument kanselleer nie, want dit is gekoppel aan die ingediende bate {0}. Kanselleer dit asseblief om voort te gaan.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ry # {}: Reeksnr. {} Is reeds oorgedra na &#39;n ander POS-faktuur. Kies &#39;n geldige reeksnr.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ry # {}: reeksnommers. {} Is reeds in &#39;n ander POS-faktuur oorgedra. Kies &#39;n geldige reeksnr.,
+Item Unavailable,Item nie beskikbaar nie,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Ry # {}: reeksnommer {} kan nie teruggestuur word nie, aangesien dit nie op die oorspronklike faktuur gedoen is nie {}",
+Please set default Cash or Bank account in Mode of Payment {},Stel die verstek kontant- of bankrekening in die betaalmetode {},
+Please set default Cash or Bank account in Mode of Payments {},Stel asseblief die standaard kontant- of bankrekening in die modus van betalings {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Maak seker dat die {} rekening &#39;n balansstaatrekening is. U kan die ouerrekening in &#39;n balansrekening verander of &#39;n ander rekening kies.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Maak seker dat die {} rekening &#39;n betaalbare rekening is. Verander die rekeningtipe na Betaalbaar of kies &#39;n ander rekening.,
+Row {}: Expense Head changed to {} ,Ry {}: Onkostekop verander na {},
+because account {} is not linked to warehouse {} ,omdat rekening {} nie aan pakhuis gekoppel is nie {},
+or it is not the default inventory account,of dit is nie die standaardvoorraadrekening nie,
+Expense Head Changed,Uitgawehoof verander,
+because expense is booked against this account in Purchase Receipt {},omdat die onkoste teen hierdie rekening in die aankoopbewys {} bespreek word,
+as no Purchase Receipt is created against Item {}. ,aangesien geen aankoopbewys teen item {} geskep word nie.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Dit word gedoen om rekeningkunde te hanteer vir gevalle waar aankoopbewys na aankoopfaktuur geskep word,
+Purchase Order Required for item {},Bestelling benodig vir item {},
+To submit the invoice without purchase order please set {} ,Stel die {} in om die faktuur sonder &#39;n bestelling in te dien,
+as {} in {},soos in {},
+Mandatory Purchase Order,Verpligte bestelling,
+Purchase Receipt Required for item {},Aankoopbewys benodig vir item {},
+To submit the invoice without purchase receipt please set {} ,Stel die {} in om die faktuur sonder aankoopbewys in te dien.,
+Mandatory Purchase Receipt,Verpligte aankoopbewys,
+POS Profile {} does not belongs to company {},POS-profiel {} behoort nie tot die maatskappy nie {},
+User {} is disabled. Please select valid user/cashier,Gebruiker {} is gedeaktiveer. Kies &#39;n geldige gebruiker / kassier,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Ry # {}: oorspronklike faktuur {} van retourfaktuur {} is {}.,
+Original invoice should be consolidated before or along with the return invoice.,Die oorspronklike faktuur moet voor of saam met die retoervaktuur gekonsolideer word.,
+You can add original invoice {} manually to proceed.,U kan oorspronklike fakture {} handmatig byvoeg om voort te gaan.,
+Please ensure {} account is a Balance Sheet account. ,Maak seker dat die {} rekening &#39;n balansstaatrekening is.,
+You can change the parent account to a Balance Sheet account or select a different account.,U kan die ouerrekening in &#39;n balansrekening verander of &#39;n ander rekening kies.,
+Please ensure {} account is a Receivable account. ,Maak seker dat die {} rekening &#39;n ontvangbare rekening is.,
+Change the account type to Receivable or select a different account.,Verander die rekeningtipe na Ontvangbaar of kies &#39;n ander rekening.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} kan nie gekanselleer word nie omdat die verdienste van die Lojaliteitspunte afgelos is. Kanselleer eers die {} Nee {},
+already exists,bestaan alreeds,
+POS Closing Entry {} against {} between selected period,POS-sluitingsinskrywing {} teen {} tussen die gekose periode,
+POS Invoice is {},POS-faktuur is {},
+POS Profile doesn't matches {},POS-profiel stem nie ooreen nie {},
+POS Invoice is not {},POS-faktuur is nie {},
+POS Invoice isn't created by user {},POS-faktuur word nie deur gebruiker {} geskep nie,
+Row #{}: {},Ry # {}: {},
+Invalid POS Invoices,Ongeldige POS-fakture,
+Please add the account to root level Company - {},Voeg die rekening by die maatskappy se wortelvlak - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Terwyl u &#39;n rekening vir Child Company {0} skep, word die ouerrekening {1} nie gevind nie. Skep asseblief die ouerrekening in ooreenstemmende COA",
+Account Not Found,Rekening nie gevind nie,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Terwyl u &#39;n rekening vir Child Company {0} skep, word die ouerrekening {1} as &#39;n grootboekrekening gevind.",
+Please convert the parent account in corresponding child company to a group account.,Skakel asseblief die ouerrekening in die ooreenstemmende kindermaatskappy om na &#39;n groeprekening.,
+Invalid Parent Account,Ongeldige ouerrekening,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Om dit te hernoem, is slegs toegelaat via moedermaatskappy {0}, om wanverhouding te voorkom.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","As u {0} {1} hoeveelhede van die artikel {2} het, sal die skema {3} op die item toegepas word.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","As u {0} {1} die waarde van item {2} het, sal die skema {3} op die item toegepas word.",
+"As the field {0} is enabled, the field {1} is mandatory.","Aangesien die veld {0} geaktiveer is, is die veld {1} verpligtend.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Aangesien die veld {0} geaktiveer is, moet die waarde van die veld {1} meer as 1 wees.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Kan nie reeksnommer {0} van die artikel {1} lewer nie, aangesien dit gereserveer is vir die volledige bestelling {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",Verkooporder {0} het &#39;n bespreking vir die artikel {1}. U kan slegs gereserveerde {1} teen {0} aflewer.,
+{0} Serial No {1} cannot be delivered,{0} Reeksnr. {1} kan nie afgelewer word nie,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Ry {0}: Item uit die onderkontrak is verpligtend vir die grondstof {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Aangesien daar voldoende grondstowwe is, is materiaalversoek nie nodig vir pakhuis {0} nie.",
+" If you still want to proceed, please enable {0}.",Skakel {0} aan as u nog steeds wil voortgaan.,
+The item referenced by {0} - {1} is already invoiced,Die item waarna verwys word deur {0} - {1} word reeds gefaktureer,
+Therapy Session overlaps with {0},Terapiesessie oorvleuel met {0},
+Therapy Sessions Overlapping,Terapiesessies oorvleuel,
+Therapy Plans,Terapieplanne,
+"Item Code, warehouse, quantity are required on row {0}","Itemkode, pakhuis, hoeveelheid word in ry {0} vereis",
+Get Items from Material Requests against this Supplier,Kry items uit materiaalversoeke teen hierdie verskaffer,
+Enable European Access,Aktiveer Europese toegang,
+Creating Purchase Order ...,Skep tans bestelling ...,
+"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.",Kies &#39;n verskaffer uit die verstekverskaffers van die onderstaande items. By seleksie sal &#39;n bestelling slegs gemaak word teen items wat tot die geselekteerde verskaffer behoort.,
+Row #{}: You must select {} serial numbers for item {}.,Ry # {}: u moet {} reeksnommers vir item {} kies.,
diff --git a/erpnext/translations/am.csv b/erpnext/translations/am.csv
index 907fd07..554b0a5 100644
--- a/erpnext/translations/am.csv
+++ b/erpnext/translations/am.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',በምድብ «ግምቱ &#39;ወይም&#39; Vaulation እና ጠቅላላ &#39;ነው ጊዜ ቀነሰ አይቻልም,
 "Cannot delete Serial No {0}, as it is used in stock transactions",መሰረዝ አይቻልም መለያ የለም {0}: ይህ የአክሲዮን ግብይቶች ላይ የዋለው እንደ,
 Cannot enroll more than {0} students for this student group.,ይህ ተማሪ ቡድን {0} ተማሪዎች በላይ መመዝገብ አይችልም.,
-Cannot find Item with this barcode,በዚህ የአሞሌ ኮድን ንጥል ነገር ማግኘት አልተቻለም ፡፡,
 Cannot find active Leave Period,ንቁ የቆየውን ጊዜ ማግኘት አይቻልም,
 Cannot produce more Item {0} than Sales Order quantity {1},የሽያጭ ትዕዛዝ ብዛት የበለጠ ንጥል {0} ማፍራት የማይችሉ {1},
 Cannot promote Employee with status Left,በአስተዳዳሪ ሁኔታ ወደ ሠራተኛ ማስተዋወቅ አይቻልም,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","ይፍጠሩ እና, ዕለታዊ ሳምንታዊ እና ወርሃዊ የኢሜይል ዜናዎች ያስተዳድሩ.",
 Create customer quotes,የደንበኛ ጥቅሶችን ፍጠር,
 Create rules to restrict transactions based on values.,እሴቶች ላይ የተመሠረተ ግብይቶችን ለመገደብ ደንቦች ይፍጠሩ.,
-Created By,የተፈጠረ,
 Created {0} scorecards for {1} between: ,በ {1} መካከል {0} የካታኬት ካርዶች በ:,
 Creating Company and Importing Chart of Accounts,ኩባኒያን መፍጠር እና የመለያዎች ገበታ ማስመጣት ፡፡,
 Creating Fees,ክፍያዎች በመፍጠር,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,ለረድፍ {0}: የታቀዱ qty አስገባ,
 "For {0}, only credit accounts can be linked against another debit entry",{0}: ብቻ የክሬዲት መለያዎች ሌላ ዴቢት ግቤት ላይ የተገናኘ ሊሆን ይችላል,
 "For {0}, only debit accounts can be linked against another credit entry",{0}: ብቻ ዴቢት መለያዎች ሌላ ክሬዲት ግቤት ላይ የተገናኘ ሊሆን ይችላል,
-Form View,የቅፅ እይታ,
 Forum Activity,የውይይት መድረክ,
 Free item code is not selected,የነፃ ንጥል ኮድ አልተመረጠም።,
 Freight and Forwarding Charges,ጭነት እና ማስተላለፍ ክፍያዎች,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,የመገናኛ ኤስ የእርስዎን እውቂያዎች ላክ,
 Sensitivity,ትብነት,
 Sent,ተልኳል,
-Serial #,ተከታታይ #,
 Serial No and Batch,ተከታታይ የለም እና ባች,
 Serial No is mandatory for Item {0},ተከታታይ ምንም ንጥል ግዴታ ነው {0},
 Serial No {0} does not belong to Batch {1},Serial No {0} የቡድን {1} አይደለም,
@@ -3303,7 +3299,6 @@
 What do you need help with?,ምን ጋር እርዳታ የሚያስፈልጋቸው ለምንድን ነው?,
 What does it do?,ምን ያደርጋል?,
 Where manufacturing operations are carried.,"ባለማምረታቸው, ቀዶ የት ተሸክመው ነው.",
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",ለህፃናት ኩባንያ {0} መለያ በሚፈጥሩበት ጊዜ ፣ የወላጅ መለያ {1} አልተገኘም። እባክዎን የወላጅ መለያ ተጓዳኝ COA ን ይፍጠሩ።,
 White,ነጭ,
 Wire Transfer,የሃዋላ ገንዘብ መላኪያ,
 WooCommerce Products,WooCommerce ምርቶች።,
@@ -3493,6 +3488,7 @@
 Merge with existing,ነባር ጋር አዋህድ,
 Office,ቢሮ,
 Orientation,አቀማመጥ,
+Parent,ወላጅ,
 Passive,የማይሠራ,
 Payment Failed,ክፍያ አልተሳካም,
 Percent,መቶኛ,
@@ -3543,6 +3539,7 @@
 Show {0},አሳይ {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series",ከ &quot;-&quot; ፣ &quot;#&quot; ፣ &quot;፣&quot; ፣ &quot;/&quot; ፣ &quot;{&quot; እና &quot;}&quot; በስተቀር ልዩ ቁምፊዎች ከመለያ መሰየሚያ አይፈቀድም,
 Target Details,የ Detailsላማ ዝርዝሮች።,
+{0} already has a Parent Procedure {1}.,{0} ቀድሞውኑ የወላጅ አሰራር ሂደት አለው {1}።,
 API,ኤ ፒ አይ,
 Annual,ዓመታዊ,
 Approved,ጸድቋል,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,የማብቂያ ቀን ከመጀመሪያ ቀን ያነሰ መሆን አይችልም,
 For Default Supplier (Optional),ነባሪ አቅራቢ (አማራጭ),
 From date cannot be greater than To date,ቀን ቀን ወደ በላይ ሊሆን አይችልም ከ,
-Get items from,ከ ንጥሎችን ያግኙ,
 Group by,ቡድን በ,
 In stock,ለሽያጭ የቀረበ እቃ,
 Item name,ንጥል ስም,
@@ -7558,10 +7554,6 @@
 Quality Goal,ጥራት ያለው ግብ።,
 Monitoring Frequency,ድግግሞሽ መቆጣጠር።,
 Weekday,የሳምንቱ ቀናት።,
-January-April-July-October,ከጥር - ኤፕሪል-ሐምሌ-ጥቅምት ፡፡,
-Revision and Revised On,ክለሳ እና ገምጋሚ ፡፡,
-Revision,ክለሳ,
-Revised On,ተሻሽሎ በርቷል,
 Objectives,ዓላማዎች ፡፡,
 Quality Goal Objective,ጥራት ያለው ግብ ግብ ፡፡,
 Objective,ዓላማ።,
@@ -7574,7 +7566,6 @@
 Processes,ሂደቶች,
 Quality Procedure Process,የጥራት ሂደት,
 Process Description,የሂደት መግለጫ,
-Child Procedure,የሕፃናት አሠራር,
 Link existing Quality Procedure.,አሁን ያለውን የጥራት አሠራር ያገናኙ ፡፡,
 Additional Information,ተጭማሪ መረጃ,
 Quality Review Objective,የጥራት ግምገማ ዓላማ።,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,የግዢ ደረሰኝ በመታየት ላይ ያሉ,
 Purchase Register,የግዢ ይመዝገቡ,
 Quotation Trends,በትዕምርተ ጥቅስ አዝማሚያዎች,
-Quoted Item Comparison,የተጠቀሰ ንጥል ንጽጽር,
 Received Items To Be Billed,ተቀብሏል ንጥሎች እንዲከፍሉ ለማድረግ,
 Qty to Order,ለማዘዝ ብዛት,
 Requested Items To Be Transferred,ተጠይቋል ንጥሎች መወሰድ,
@@ -9091,7 +9081,6 @@
 Absent Days,የቀሩ ቀናት,
 Conditions and Formula variable and example,ሁኔታዎች እና የቀመር ተለዋዋጭ እና ምሳሌ,
 Feedback By,ግብረመልስ በ,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY.-MM. - ዲ.ዲ.-,
 Manufacturing Section,የማምረቻ ክፍል,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",በነባሪነት የደንበኛው ስም እንደገባው ሙሉ ስም ይዋቀራል ፡፡ ደንበኞች በ ሀ እንዲሰየሙ ከፈለጉ,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,አዲስ የሽያጭ ግብይት ሲፈጥሩ ነባሪውን የዋጋ ዝርዝር ያዋቅሩ። የእቃ ዋጋዎች ከዚህ የዋጋ ዝርዝር ውስጥ ይፈለጋሉ።,
@@ -9692,7 +9681,6 @@
 Reserved Balance,የተጠበቀ ሚዛን,
 Uncleared Balance,ያልተስተካከለ ሚዛን,
 Payment related to {0} is not completed,ከ {0} ጋር የተገናኘ ክፍያ አልተጠናቀቀም,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,ረድፍ # {}: ተከታታይ ቁጥር {}. {} ቀድሞውኑ ወደ ሌላ POS ደረሰኝ ተቀይሯል። እባክዎ ትክክለኛ ተከታታይ ቁጥር ይምረጡ።,
 Row #{}: Item Code: {} is not available under warehouse {}.,ረድፍ # {} ንጥል ኮድ {} በመጋዘን ስር አይገኝም {}።,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,ረድፍ # {}: ለዕቃው ኮድ በቂ ያልሆነ የአክሲዮን ብዛት {} ከመጋዘን በታች {}። የሚገኝ ብዛት {},
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,ረድፍ # {}: እባክዎ ተከታታይ ቁጥርን ይምረጡ እና በንጥል ላይ ድምርን ይምረጡ ፦ {} ወይም ግብይቱን ለማጠናቀቅ ያስወግዱት።,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,እባክዎ በክምችት ቅንብሮች ውስጥ አሉታዊ ክምችት ይፍቀዱ ወይም ለመቀጠል የአክሲዮን ግባ ይፍጠሩ።,
 No Inpatient Record found against patient {0},በታካሚው {0} ላይ ምንም የታካሚ መዝገብ አልተገኘም,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,የታካሚ ገጠመኝን {0} የታካሚ ገጠመኝ መድኃኒት {1} ቀድሞውኑ አለ።,
+Allow In Returns,ተመላሽ አድርግ,
+Hide Unavailable Items,የማይገኙ ዕቃዎችን ደብቅ,
+Apply Discount on Discounted Rate,በቅናሽ ዋጋ ላይ ቅናሽ ይተግብሩ,
+Therapy Plan Template,ቴራፒ እቅድ አብነት,
+Fetching Template Details,የአብነት ዝርዝሮችን በማምጣት ላይ,
+Linked Item Details,የተገናኙ ንጥል ዝርዝሮች,
+Therapy Types,የሕክምና ዓይነቶች,
+Therapy Plan Template Detail,ቴራፒ እቅድ አብነት ዝርዝር,
+Non Conformance,ያልሆነ አፈፃፀም,
+Process Owner,የሂደት ባለቤት,
+Corrective Action,የማስተካከያ እርምጃ,
+Preventive Action,የመከላከያ እርምጃ,
+Problem,ችግር,
+Responsible,ኃላፊነት የሚሰማው,
+Completion By,ማጠናቀቂያ በ,
+Process Owner Full Name,የሂደት ባለቤት ሙሉ ስም,
+Right Index,የቀኝ ማውጫ,
+Left Index,የግራ ማውጫ,
+Sub Procedure,ንዑስ አሠራር,
+Passed,አል .ል,
+Print Receipt,ደረሰኝ ያትሙ,
+Edit Receipt,ደረሰኝ ያርትዑ,
+Focus on search input,በፍለጋ ግብዓት ላይ ያተኩሩ,
+Focus on Item Group filter,በእቃ ቡድን ማጣሪያ ላይ ያተኩሩ,
+Checkout Order / Submit Order / New Order,የመውጫ ክፍያ ትዕዛዝ / ትዕዛዝ ያስገቡ / አዲስ ትዕዛዝ,
+Add Order Discount,የትእዛዝ ቅናሽ ያክሉ,
+Item Code: {0} is not available under warehouse {1}.,የእቃ ኮድ {0} በመጋዘን ስር አይገኝም {1}።,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,ተከታታይ ቁጥሮች ለንጥል {0} በመጋዘን ስር {1} አይገኙም። እባክዎን መጋዝን ለመቀየር ይሞክሩ።,
+Fetched only {0} available serial numbers.,የተገኙት {0} ተከታታይ ቁጥሮች ብቻ ተገኝተዋል።,
+Switch Between Payment Modes,በክፍያ ሁነታዎች መካከል ይቀያይሩ,
+Enter {0} amount.,{0} መጠን ያስገቡ።,
+You don't have enough points to redeem.,ለማስመለስ በቂ ነጥቦች የሉዎትም።,
+You can redeem upto {0}.,እስከ {0} ድረስ ማስመለስ ይችላሉ,
+Enter amount to be redeemed.,ለማስመለስ መጠን ያስገቡ።,
+You cannot redeem more than {0}.,ከ {0} በላይ ማስመለስ አይችሉም።,
+Open Form View,የቅጽ እይታን ይክፈቱ,
+POS invoice {0} created succesfully,የ POS ደረሰኝ {0} በተሳካ ሁኔታ ፈጠረ,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,ለንጥል ኮድ በቂ ያልሆነ የአክሲዮን ብዛት {0} ከመጋዘን በታች {1}። የሚገኝ ብዛት {2}።,
+Serial No: {0} has already been transacted into another POS Invoice.,የመለያ ቁጥር {0} ቀድሞውኑ ወደ ሌላ POS ደረሰኝ ተቀይሯል።,
+Balance Serial No,ሚዛን ተከታታይ ቁጥር,
+Warehouse: {0} does not belong to {1},መጋዘን {0} የ {1} አይደለም,
+Please select batches for batched item {0},እባክዎን ለተጣራ ንጥል ስብስቦችን ይምረጡ {0},
+Please select quantity on row {0},እባክዎ በረድፍ {0} ላይ ብዛትን ይምረጡ,
+Please enter serial numbers for serialized item {0},እባክዎ ለተከታታይ ንጥል {0} ተከታታይ ቁጥሮች ያስገቡ,
+Batch {0} already selected.,ባች {0} ቀድሞውኑ ተመርጧል።,
+Please select a warehouse to get available quantities,የሚገኙ መጠኖችን ለማግኘት እባክዎ መጋዘን ይምረጡ,
+"For transfer from source, selected quantity cannot be greater than available quantity",ከምንጭ ለማስተላለፍ የተመረጠው ብዛት ከሚገኘው ብዛት ሊበልጥ አይችልም,
+Cannot find Item with this Barcode,በዚህ ባርኮድ አማካኝነት ንጥል ማግኘት አልተቻለም,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} ግዴታ ነው ምናልባት የምንዛሬ ልውውጥ መዝገብ ለ {1} እስከ {2} አልተፈጠረም,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ከሱ ጋር የተገናኙ ንብረቶችን አስገብቷል። የግዢ ተመላሽ ለመፍጠር ንብረቶቹን መሰረዝ ያስፈልግዎታል።,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,ይህ ሰነድ ከቀረበው ንብረት {0} ጋር የተገናኘ በመሆኑ መሰረዝ አልተቻለም። ለመቀጠል እባክዎ ይሰርዙት።,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,ረድፍ # {}: የመለያ ቁጥር {} ቀድሞውኑ ወደ ሌላ POS ደረሰኝ ተቀይሯል። እባክዎ ትክክለኛ ተከታታይ ቁጥር ይምረጡ።,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,ረድፍ # {}: ተከታታይ ቁጥሮች {} ቀድሞውኑ ወደ ሌላ POS ደረሰኝ ተቀይሯል። እባክዎ ትክክለኛ ተከታታይ ቁጥር ይምረጡ።,
+Item Unavailable,ንጥል አይገኝም,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},ረድፍ # {}: ተከታታይ ቁጥር {} በመጀመሪያው የክፍያ መጠየቂያ ውስጥ ስለማይነካ መመለስ አይቻልም {},
+Please set default Cash or Bank account in Mode of Payment {},እባክዎ ነባሪ ጥሬ ገንዘብ ወይም የባንክ ሂሳብ በክፍያ ሁኔታ ውስጥ ያዘጋጁ {},
+Please set default Cash or Bank account in Mode of Payments {},እባክዎን ነባሪ ጥሬ ገንዘብ ወይም የባንክ ሂሳብ በክፍያዎች ሁኔታ ያዘጋጁ {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,እባክዎ {} መለያ የሂሳብ ሚዛን መለያ መሆኑን ያረጋግጡ። የወላጅ ሂሳብን ወደ ሚዛናዊ ሉህ መለያ መለወጥ ወይም የተለየ መለያ መምረጥ ይችላሉ።,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,እባክዎ {} መለያ የሚከፈልበት መለያ መሆኑን ያረጋግጡ። የመለያውን ዓይነት ወደ ተከፈለ ይለውጡ ወይም የተለየ መለያ ይምረጡ።,
+Row {}: Expense Head changed to {} ,ረድፍ {}: የወጪ ጭንቅላት ወደ {} ተለውጧል,
+because account {} is not linked to warehouse {} ,ምክንያቱም መለያ {} ከመጋዘን ጋር አልተያያዘም {},
+or it is not the default inventory account,ወይም ነባሪው የመለያ ሂሳብ አይደለም,
+Expense Head Changed,የወጪ ጭንቅላት ተቀየረ,
+because expense is booked against this account in Purchase Receipt {},ምክንያቱም በግዢ ደረሰኝ {} ውስጥ በዚህ ሂሳብ ላይ ወጪ ተይ becauseል,
+as no Purchase Receipt is created against Item {}. ,በእቃው ላይ ምንም የግዢ ደረሰኝ ስለማይፈጠር {}።,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,ይህ ከግዢ ደረሰኝ በኋላ የግዢ ደረሰኝ ሲፈጠር ለጉዳዮች የሂሳብ አያያዝን ለመቆጣጠር ነው,
+Purchase Order Required for item {},ለንጥል የግዢ ትዕዛዝ ያስፈልጋል {},
+To submit the invoice without purchase order please set {} ,የክፍያ መጠየቂያውን ያለግዢ ትዕዛዝ ለማስገባት እባክዎ ያዘጋጁ {},
+as {} in {},እንደ {} በ {},
+Mandatory Purchase Order,የግዴታ የግዢ ትዕዛዝ,
+Purchase Receipt Required for item {},የግዢ ደረሰኝ ለንጥል ያስፈልጋል {},
+To submit the invoice without purchase receipt please set {} ,የክፍያ መጠየቂያ ደረሰኝ ያለ ግዢ ደረሰኝ ለማስገባት እባክዎ ያዘጋጁ {},
+Mandatory Purchase Receipt,የግዴታ የግዢ ደረሰኝ,
+POS Profile {} does not belongs to company {},የ POS መገለጫ {} የድርጅት አይደለም {},
+User {} is disabled. Please select valid user/cashier,ተጠቃሚው {} ተሰናክሏል እባክዎ ትክክለኛ ተጠቃሚ / ገንዘብ ተቀባይ ይምረጡ,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,ረድፍ # {}: የመጀመሪያው የክፍያ መጠየቂያ {} የመመለሻ መጠየቂያ {} {} ነው።,
+Original invoice should be consolidated before or along with the return invoice.,ኦሪጅናል የክፍያ መጠየቂያ ከመመለሻ መጠየቂያ በፊት ወይም አብሮ መጠናከር አለበት ፡፡,
+You can add original invoice {} manually to proceed.,ለመቀጠል የመጀመሪያውን የክፍያ መጠየቂያ {} በእጅ ማከል ይችላሉ።,
+Please ensure {} account is a Balance Sheet account. ,እባክዎ {} መለያ የሂሳብ ሚዛን መለያ መሆኑን ያረጋግጡ።,
+You can change the parent account to a Balance Sheet account or select a different account.,የወላጅ ሂሳብን ወደ ሚዛናዊ ሉህ መለያ መለወጥ ወይም የተለየ መለያ መምረጥ ይችላሉ።,
+Please ensure {} account is a Receivable account. ,እባክዎ {} መለያ ተቀባይነት ያለው መለያ መሆኑን ያረጋግጡ።,
+Change the account type to Receivable or select a different account.,የመለያውን ዓይነት ወደ ደረሰኝ ይለውጡ ወይም የተለየ መለያ ይምረጡ።,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},የተገኘው የታማኝነት ነጥቦች ስለተመለሱ {} መሰረዝ አይቻልም። መጀመሪያ {} አይ {} ን ሰርዝ,
+already exists,አስቀድሞ አለ,
+POS Closing Entry {} against {} between selected period,በተመረጠው ጊዜ መካከል የ POS መዝጊያ መግቢያ {} ከ {} ጋር,
+POS Invoice is {},POS ደረሰኝ {} ነው,
+POS Profile doesn't matches {},የ POS መገለጫ ከ {} ጋር አይዛመድም,
+POS Invoice is not {},POS ደረሰኝ {} አይደለም,
+POS Invoice isn't created by user {},POS ደረሰኝ በተጠቃሚ አልተፈጠረም {},
+Row #{}: {},ረድፍ # {}: {},
+Invalid POS Invoices,ልክ ያልሆኑ የ POS ደረሰኞች,
+Please add the account to root level Company - {},እባክዎ መለያውን ወደ ስር ደረጃ ኩባንያ ያክሉ - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",ለህፃናት ኩባንያ {0} መለያ በሚፈጥሩበት ጊዜ ፣ የወላጅ መለያ {1} አልተገኘም። እባክዎን በተጓዳኝ COA ውስጥ የወላጅ መለያ ይፍጠሩ,
+Account Not Found,መለያ አልተገኘም,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",ለህፃናት ኩባንያ {0} መለያ በሚፈጥሩበት ጊዜ ፣ የወላጅ መለያ {1} እንደ የሂሳብ መዝገብ መዝገብ ተገኝቷል።,
+Please convert the parent account in corresponding child company to a group account.,እባክዎ በተዛማጅ ልጅ ኩባንያ ውስጥ ያለውን የወላጅ መለያ ወደ ቡድን መለያ ይለውጡ።,
+Invalid Parent Account,ልክ ያልሆነ የወላጅ መለያ,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",ዳግም መሰየምን የተሳሳተ ላለመሆን ለመከላከል በወላጅ ኩባንያ {0} በኩል ብቻ ነው የሚፈቀደው።,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",እርስዎ {0} {1} የእቃው ብዛት {2} ከሆነ ፣ መርሃግብሩ {3} በእቃው ላይ ይተገበራል።,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",እርስዎ {0} {1} ዋጋ ያለው ዋጋ {2} ከሆነ ፣ መርሃግብሩ {3} በእቃው ላይ ይተገበራል።,
+"As the field {0} is enabled, the field {1} is mandatory.",መስኩ {0} እንደነቃ ፣ መስኩ {1} ግዴታ ነው።,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",መስኩ {0} እንደነቃ ፣ የመስኩ {1} ዋጋ ከ 1 በላይ መሆን አለበት።,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},የመለያ ቁጥር {1} ንጥል {1} ን ለመሙላት የሽያጭ ትዕዛዝ የተያዘ ስለሆነ ማቅረብ አይቻልም {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",የሽያጭ ትዕዛዝ {0} ለንጥል {1} ቦታ ማስያዝ አለው ፣ እርስዎ የተያዙትን በ {1} በ {0} ብቻ ሊያደርሱ ይችላሉ።,
+{0} Serial No {1} cannot be delivered,{0} ተከታታይ ቁጥር {1} ማድረስ አይቻልም,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},ረድፍ {0} ለንዑስ ግብይት የተቀናበረ ንጥል አስገዳጅ ነው {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",በቂ ጥሬ ዕቃዎች ስላሉት ቁሳቁስ መጋዘን ለ መጋዘን {0} አያስፈልግም።,
+" If you still want to proceed, please enable {0}.",አሁንም መቀጠል ከፈለጉ እባክዎ {0} ን ያንቁ።,
+The item referenced by {0} - {1} is already invoiced,የተጠቀሰው ንጥል በ {0} - {1} አስቀድሞ ደረሰኝ ተደርጓል,
+Therapy Session overlaps with {0},ቴራፒ ክፍለ-ጊዜ ከ {0} ጋር ይደራረባል,
+Therapy Sessions Overlapping,ቴራፒ ክፍለ-ጊዜዎች መደራረብ,
+Therapy Plans,የሕክምና ዕቅዶች,
+"Item Code, warehouse, quantity are required on row {0}",የእቃ ኮድ ፣ መጋዘን ፣ ብዛት በረድፍ {0} ላይ ያስፈልጋሉ,
+Get Items from Material Requests against this Supplier,በዚህ አቅራቢ ላይ እቃዎችን ከቁሳዊ ጥያቄዎች ያግኙ,
+Enable European Access,የአውሮፓ መዳረሻን ያንቁ,
+Creating Purchase Order ...,የግዢ ትዕዛዝ በመፍጠር ላይ ...,
+"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.",ከዚህ በታች ካሉ ዕቃዎች ነባሪ አቅራቢዎች አቅራቢ ይምረጡ። በምርጫ ወቅት ለተመረጠው አቅራቢ ብቻ በሆኑ ዕቃዎች ላይ የግዢ ትዕዛዝ ይደረጋል።,
+Row #{}: You must select {} serial numbers for item {}.,ረድፍ # {}: {} ለንጥል ተከታታይ ቁጥሮች {} መምረጥ አለብዎት።,
diff --git a/erpnext/translations/ar.csv b/erpnext/translations/ar.csv
index 0cb50bb..91a9da9 100644
--- a/erpnext/translations/ar.csv
+++ b/erpnext/translations/ar.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',لا يمكن خصمها عند الفئة ' التقييم ' أو ' التقييم والمجموع '\n<br>\nCannot deduct when category is for 'Valuation' or 'Valuation and Total',
 "Cannot delete Serial No {0}, as it is used in stock transactions",لا يمكن حذف الرقم التسلسلي {0}، لانه يتم استخدامها في قيود المخزون,
 Cannot enroll more than {0} students for this student group.,لا يمكن تسجيل أكثر من {0} طلاب لمجموعة الطلاب هذه.,
-Cannot find Item with this barcode,لا يمكن العثور على العنصر مع هذا الرمز الشريطي,
 Cannot find active Leave Period,لا يمكن ايجاد فترة الاجازة النشطة,
 Cannot produce more Item {0} than Sales Order quantity {1},لا يمكن أن تنتج المزيد من البند {0} اكثر من كمية طلب المبيعات {1},
 Cannot promote Employee with status Left,لا يمكن ترقية موظف بحالة مغادرة,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",إنشاء وإدارة البريد الإلكتروني يوميا وأسبوعية وشهرية .,
 Create customer quotes,إنشاء عروض مسعرة للزبائن,
 Create rules to restrict transactions based on values.,إنشاء قواعد لتقييد المعاملات على أساس القيم.,
-Created By,منشئه بواسطه,
 Created {0} scorecards for {1} between: ,تم إنشاء {0} بطاقات الأداء {1} بين:,
 Creating Company and Importing Chart of Accounts,إنشاء شركة واستيراد مخطط الحسابات,
 Creating Fees,إنشاء الرسوم,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,بالنسبة إلى الصف {0}: أدخل الكمية المخطط لها,
 "For {0}, only credit accounts can be linked against another debit entry","ل {0}, فقط الحسابات الدائنة ممكن أن تكون مقابل مدخل مدين أخر.\n<br>\nFor {0}, only credit accounts can be linked against another debit entry",
 "For {0}, only debit accounts can be linked against another credit entry","ل {0}, فقط حسابات المدينة يمكن أن تكون مقابل مدخل دائن أخر.\n<br>\nFor {0}, only debit accounts can be linked against another credit entry",
-Form View,عرض النموذج,
 Forum Activity,نشاط المنتدى,
 Free item code is not selected,لم يتم تحديد رمز العنصر المجاني,
 Freight and Forwarding Charges,رسوم الشحن,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,إرسال SMS الشامل لجهات الاتصال الخاصة بك,
 Sensitivity,حساسية,
 Sent,أرسلت,
-Serial #,المسلسل #,
 Serial No and Batch,الرقم التسلسلي والدفعة,
 Serial No is mandatory for Item {0},رقم المسلسل إلزامي القطعة ل {0},
 Serial No {0} does not belong to Batch {1},المسلسل لا {0} لا ينتمي إلى الدفعة {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,ما الذى تحتاج المساعدة به؟,
 What does it do?,مجال عمل الشركة؟,
 Where manufacturing operations are carried.,حيث تتم عمليات التصنيع.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",أثناء إنشاء حساب لشركة تابعة {0} ، لم يتم العثور على الحساب الأصل {1}. يرجى إنشاء الحساب الأصل في شهادة توثيق البرامج المقابلة,
 White,أبيض,
 Wire Transfer,حوالة مصرفية,
 WooCommerce Products,منتجات WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,دمج مع الحالي,
 Office,مكتب,
 Orientation,توجيه,
+Parent,رقم الاب,
 Passive,غير فعال,
 Payment Failed,عملية الدفع فشلت,
 Percent,في المئة,
@@ -3543,6 +3539,7 @@
 Show {0},عرض {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series",الأحرف الخاصة باستثناء &quot;-&quot; ، &quot;#&quot; ، &quot;.&quot; ، &quot;/&quot; ، &quot;{&quot; و &quot;}&quot; غير مسموح في سلسلة التسمية,
 Target Details,تفاصيل الهدف,
+{0} already has a Parent Procedure {1}.,{0} يحتوي بالفعل على إجراء الأصل {1}.,
 API,API,
 Annual,سنوي,
 Approved,موافق عليه,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,تاريخ النهاية لا يمكن أن يكون اقل من تاريخ البدء\n<br>\nEnd Date can not be less than Start Date,
 For Default Supplier (Optional),للمورد الافتراضي (اختياري),
 From date cannot be greater than To date,(من تاريخ) لا يمكن أن يكون أكبر (الي التاريخ),
-Get items from,الحصول على البنود من,
 Group by,المجموعة حسب,
 In stock,في المخزن,
 Item name,اسم السلعة,
@@ -7558,10 +7554,6 @@
 Quality Goal,هدف الجودة,
 Monitoring Frequency,مراقبة التردد,
 Weekday,يوم من أيام الأسبوع,
-January-April-July-October,من يناير إلى أبريل ويوليو وأكتوبر,
-Revision and Revised On,مراجعة وتنقيح,
-Revision,مراجعة,
-Revised On,المنقحة في,
 Objectives,الأهداف,
 Quality Goal Objective,هدف جودة الهدف,
 Objective,موضوعي,
@@ -7574,7 +7566,6 @@
 Processes,العمليات,
 Quality Procedure Process,عملية إجراءات الجودة,
 Process Description,وصف العملية,
-Child Procedure,إجراء الطفل,
 Link existing Quality Procedure.,ربط إجراءات الجودة الحالية.,
 Additional Information,معلومة اضافية,
 Quality Review Objective,هدف مراجعة الجودة,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,شراء اتجاهات الإيصال,
 Purchase Register,سجل شراء,
 Quotation Trends,مؤشرات المناقصة,
-Quoted Item Comparison,مقارنة بند المناقصة,
 Received Items To Be Billed,العناصر الواردة إلى أن توصف,
 Qty to Order,الكمية للطلب,
 Requested Items To Be Transferred,العناصر المطلوبة على أن يتم تحويلها,
@@ -9091,7 +9081,6 @@
 Absent Days,أيام الغياب,
 Conditions and Formula variable and example,متغير الشروط والصيغة والمثال,
 Feedback By,ردود الفعل من,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,قسم التصنيع,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",بشكل افتراضي ، يتم تعيين اسم العميل وفقًا للاسم الكامل الذي تم إدخاله. إذا كنت تريد تسمية العملاء بواسطة أ,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,تكوين قائمة الأسعار الافتراضية عند إنشاء معاملة مبيعات جديدة. سيتم جلب أسعار العناصر من قائمة الأسعار هذه.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,رصيد محجوز,
 Uncleared Balance,رصيد غير مصفى,
 Payment related to {0} is not completed,الدفع المتعلق بـ {0} لم يكتمل,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,الصف # {}: الرقم التسلسلي {}. تم بالفعل تحويل {} إلى فاتورة نقطة بيع أخرى. الرجاء تحديد رقم تسلسلي صالح.,
 Row #{}: Item Code: {} is not available under warehouse {}.,الصف # {}: رمز العنصر: {} غير متوفر ضمن المستودع {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,الصف # {}: كمية المخزون غير كافية لرمز الصنف: {} تحت المستودع {}. الكمية المتوفرة {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,الصف # {}: الرجاء تحديد رقم تسلسلي ودفعة مقابل العنصر: {} أو إزالته لإكمال المعاملة.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,يرجى تمكين السماح بالمخزون السلبي في إعدادات المخزون أو إنشاء إدخال المخزون للمتابعة.,
 No Inpatient Record found against patient {0},لم يتم العثور على سجل للمرضى الداخليين للمريض {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,يوجد بالفعل طلب دواء للمرضى الداخليين {0} ضد مقابلة المريض {1}.,
+Allow In Returns,السماح في المرتجعات,
+Hide Unavailable Items,إخفاء العناصر غير المتوفرة,
+Apply Discount on Discounted Rate,تطبيق الخصم على السعر المخفض,
+Therapy Plan Template,نموذج خطة العلاج,
+Fetching Template Details,إحضار تفاصيل النموذج,
+Linked Item Details,تفاصيل العنصر المرتبط,
+Therapy Types,أنواع العلاج,
+Therapy Plan Template Detail,تفاصيل نموذج خطة العلاج,
+Non Conformance,غير مطابقة,
+Process Owner,صاحب العملية,
+Corrective Action,اجراء تصحيحي,
+Preventive Action,إجراءات وقائية,
+Problem,مشكلة,
+Responsible,مسؤول,
+Completion By,اكتمال بواسطة,
+Process Owner Full Name,الاسم الكامل لصاحب العملية,
+Right Index,الفهرس الأيمن,
+Left Index,الفهرس الأيسر,
+Sub Procedure,الإجراء الفرعي,
+Passed,تم الاجتياز بنجاح,
+Print Receipt,اطبع الايصال,
+Edit Receipt,تحرير الإيصال,
+Focus on search input,ركز على إدخال البحث,
+Focus on Item Group filter,التركيز على عامل تصفية مجموعة العناصر,
+Checkout Order / Submit Order / New Order,طلب الخروج / إرسال الطلب / طلب جديد,
+Add Order Discount,أضف خصم الطلب,
+Item Code: {0} is not available under warehouse {1}.,رمز العنصر: {0} غير متوفر ضمن المستودع {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,الأرقام التسلسلية غير متاحة للعنصر {0} تحت المستودع {1}. يرجى محاولة تغيير المستودع.,
+Fetched only {0} available serial numbers.,تم جلب {0} من الأرقام التسلسلية المتوفرة فقط.,
+Switch Between Payment Modes,التبديل بين طرق الدفع,
+Enter {0} amount.,أدخل مبلغ {0}.,
+You don't have enough points to redeem.,ليس لديك ما يكفي من النقاط لاستردادها.,
+You can redeem upto {0}.,يمكنك استرداد ما يصل إلى {0}.,
+Enter amount to be redeemed.,أدخل المبلغ المراد استرداده.,
+You cannot redeem more than {0}.,لا يمكنك استرداد أكثر من {0}.,
+Open Form View,افتح طريقة عرض النموذج,
+POS invoice {0} created succesfully,تم إنشاء فاتورة نقاط البيع {0} بنجاح,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,كمية المخزون غير كافية لرمز الصنف: {0} تحت المستودع {1}. الكمية المتوفرة {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,الرقم التسلسلي: تم بالفعل معاملة {0} في فاتورة نقطة بيع أخرى.,
+Balance Serial No,الرقم التسلسلي للميزان,
+Warehouse: {0} does not belong to {1},المستودع: {0} لا ينتمي إلى {1},
+Please select batches for batched item {0},الرجاء تحديد دفعات للصنف المجمّع {0},
+Please select quantity on row {0},الرجاء تحديد الكمية في الصف {0},
+Please enter serial numbers for serialized item {0},الرجاء إدخال الأرقام التسلسلية للعنصر المسلسل {0},
+Batch {0} already selected.,الدفعة {0} محددة بالفعل.,
+Please select a warehouse to get available quantities,الرجاء تحديد مستودع للحصول على الكميات المتاحة,
+"For transfer from source, selected quantity cannot be greater than available quantity",للتحويل من المصدر ، لا يمكن أن تكون الكمية المحددة أكبر من الكمية المتاحة,
+Cannot find Item with this Barcode,لا يمكن العثور على عنصر بهذا الرمز الشريطي,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} إلزامي. ربما لم يتم إنشاء سجل صرف العملات من {1} إلى {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,قام {} بتقديم أصول مرتبطة به. تحتاج إلى إلغاء الأصول لإنشاء عائد شراء.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,لا يمكن إلغاء هذا المستند لأنه مرتبط بالأصل المقدم {0}. من فضلك قم بإلغائها للمتابعة.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,الصف # {}: الرقم التسلسلي {} تم بالفعل التعامل معه في فاتورة نقطة بيع أخرى. الرجاء تحديد رقم تسلسلي صالح.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,الصف # {}: تم بالفعل التعامل مع الأرقام التسلسلية. {} في فاتورة نقطة بيع أخرى. الرجاء تحديد رقم تسلسلي صالح.,
+Item Unavailable,العنصر غير متوفر,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},الصف # {}: لا يمكن إرجاع الرقم التسلسلي {} لأنه لم يتم التعامل معه في الفاتورة الأصلية {},
+Please set default Cash or Bank account in Mode of Payment {},الرجاء تعيين حساب نقدي أو مصرفي افتراضي في طريقة الدفع {},
+Please set default Cash or Bank account in Mode of Payments {},الرجاء تعيين حساب نقدي أو مصرفي افتراضي في طريقة الدفع {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,يرجى التأكد من أن حساب {} هو حساب الميزانية العمومية. يمكنك تغيير الحساب الرئيسي إلى حساب الميزانية العمومية أو تحديد حساب مختلف.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,الرجاء التأكد من أن حساب {} حساب قابل للدفع. قم بتغيير نوع الحساب إلى &quot;مستحق الدفع&quot; أو حدد حسابًا مختلفًا.,
+Row {}: Expense Head changed to {} ,الصف {}: تم تغيير رأس المصاريف إلى {},
+because account {} is not linked to warehouse {} ,لأن الحساب {} غير مرتبط بالمستودع {},
+or it is not the default inventory account,أو أنه ليس حساب المخزون الافتراضي,
+Expense Head Changed,تغيير رأس المصاريف,
+because expense is booked against this account in Purchase Receipt {},لأنه تم حجز المصروفات مقابل هذا الحساب في إيصال الشراء {},
+as no Purchase Receipt is created against Item {}. ,حيث لم يتم إنشاء إيصال شراء مقابل العنصر {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,يتم إجراء ذلك للتعامل مع محاسبة الحالات التي يتم فيها إنشاء إيصال الشراء بعد فاتورة الشراء,
+Purchase Order Required for item {},طلب الشراء مطلوب للعنصر {},
+To submit the invoice without purchase order please set {} ,لإرسال الفاتورة بدون أمر شراء ، يرجى تعيين {},
+as {} in {},كـ {} في {},
+Mandatory Purchase Order,أمر شراء إلزامي,
+Purchase Receipt Required for item {},إيصال الشراء مطلوب للعنصر {},
+To submit the invoice without purchase receipt please set {} ,لإرسال الفاتورة بدون إيصال شراء ، يرجى تعيين {},
+Mandatory Purchase Receipt,إيصال الشراء الإلزامي,
+POS Profile {} does not belongs to company {},الملف الشخصي لنقاط البيع {} لا ينتمي إلى الشركة {},
+User {} is disabled. Please select valid user/cashier,المستخدم {} معطل. الرجاء تحديد مستخدم / أمين صندوق صالح,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,الصف رقم {}: الفاتورة الأصلية {} فاتورة الإرجاع {} هي {}.,
+Original invoice should be consolidated before or along with the return invoice.,يجب دمج الفاتورة الأصلية قبل أو مع فاتورة الإرجاع.,
+You can add original invoice {} manually to proceed.,يمكنك إضافة الفاتورة الأصلية {} يدويًا للمتابعة.,
+Please ensure {} account is a Balance Sheet account. ,يرجى التأكد من أن حساب {} هو حساب الميزانية العمومية.,
+You can change the parent account to a Balance Sheet account or select a different account.,يمكنك تغيير الحساب الرئيسي إلى حساب الميزانية العمومية أو تحديد حساب مختلف.,
+Please ensure {} account is a Receivable account. ,يرجى التأكد من أن حساب {} هو حساب مدينة.,
+Change the account type to Receivable or select a different account.,قم بتغيير نوع الحساب إلى &quot;ذمم مدينة&quot; أو حدد حسابًا مختلفًا.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},لا يمكن إلغاء {} نظرًا لاسترداد نقاط الولاء المكتسبة. قم أولاً بإلغاء {} لا {},
+already exists,موجود أصلا,
+POS Closing Entry {} against {} between selected period,دخول إغلاق نقطة البيع {} مقابل {} بين الفترة المحددة,
+POS Invoice is {},فاتورة نقاط البيع {},
+POS Profile doesn't matches {},الملف الشخصي لنقطة البيع لا يتطابق مع {},
+POS Invoice is not {},فاتورة نقاط البيع ليست {},
+POS Invoice isn't created by user {},لم ينشئ المستخدم فاتورة نقاط البيع {},
+Row #{}: {},رقم الصف {}: {},
+Invalid POS Invoices,فواتير نقاط البيع غير صالحة,
+Please add the account to root level Company - {},الرجاء إضافة الحساب إلى شركة على مستوى الجذر - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",أثناء إنشاء حساب Child Company {0} ، لم يتم العثور على الحساب الرئيسي {1}. الرجاء إنشاء الحساب الرئيسي في شهادة توثيق البرامج المقابلة,
+Account Not Found,الحساب غير موجود,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",أثناء إنشاء حساب الشركة الفرعية {0} ، تم العثور على الحساب الرئيسي {1} كحساب دفتر أستاذ.,
+Please convert the parent account in corresponding child company to a group account.,الرجاء تحويل الحساب الرئيسي في الشركة الفرعية المقابلة إلى حساب مجموعة.,
+Invalid Parent Account,حساب الوالد غير صالح,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",يُسمح بإعادة تسميته فقط عبر الشركة الأم {0} ، لتجنب عدم التطابق.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",إذا قمت {0} {1} بكميات العنصر {2} ، فسيتم تطبيق المخطط {3} على العنصر.,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",إذا كنت {0} {1} تستحق العنصر {2} ، فسيتم تطبيق النظام {3} على العنصر.,
+"As the field {0} is enabled, the field {1} is mandatory.",نظرًا لتمكين الحقل {0} ، يكون الحقل {1} إلزاميًا.,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",أثناء تمكين الحقل {0} ، يجب أن تكون قيمة الحقل {1} أكثر من 1.,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},لا يمكن تسليم الرقم التسلسلي {0} للصنف {1} لأنه محجوز لملء طلب المبيعات {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",طلب المبيعات {0} لديه حجز للعنصر {1} ، يمكنك فقط تسليم {1} محجوز مقابل {0}.,
+{0} Serial No {1} cannot be delivered,لا يمكن تسليم {0} الرقم التسلسلي {1},
+Row {0}: Subcontracted Item is mandatory for the raw material {1},الصف {0}: العنصر المتعاقد عليه من الباطن إلزامي للمادة الخام {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",نظرًا لوجود مواد خام كافية ، فإن طلب المواد ليس مطلوبًا للمستودع {0}.,
+" If you still want to proceed, please enable {0}.",إذا كنت لا تزال تريد المتابعة ، فيرجى تمكين {0}.,
+The item referenced by {0} - {1} is already invoiced,العنصر المشار إليه بواسطة {0} - {1} تم تحرير فاتورة به بالفعل,
+Therapy Session overlaps with {0},تتداخل جلسة العلاج مع {0},
+Therapy Sessions Overlapping,جلسات العلاج متداخلة,
+Therapy Plans,خطط العلاج,
+"Item Code, warehouse, quantity are required on row {0}",مطلوب رمز الصنف والمستودع والكمية في الصف {0},
+Get Items from Material Requests against this Supplier,الحصول على عناصر من طلبات المواد ضد هذا المورد,
+Enable European Access,تمكين الوصول الأوروبي,
+Creating Purchase Order ...,إنشاء أمر شراء ...,
+"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.",حدد موردًا من الموردين الافتراضيين للعناصر أدناه. عند التحديد ، سيتم إجراء طلب الشراء مقابل العناصر التي تنتمي إلى المورد المحدد فقط.,
+Row #{}: You must select {} serial numbers for item {}.,الصف # {}: يجب تحديد {} الأرقام التسلسلية للعنصر {}.,
diff --git a/erpnext/translations/bg.csv b/erpnext/translations/bg.csv
index 5af3b09..15278a6 100644
--- a/erpnext/translations/bg.csv
+++ b/erpnext/translations/bg.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Не може да се приспадне при категория е за &quot;оценка&quot; или &quot;Vaulation и Total&quot;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Не може да се изтрие Пореден № {0}, тъй като се използва в транзакции с материали",
 Cannot enroll more than {0} students for this student group.,Не може да се запишат повече от {0} студенти за този студентска група.,
-Cannot find Item with this barcode,Не може да се намери елемент с този баркод,
 Cannot find active Leave Period,Не може да се намери активен период на отпуск,
 Cannot produce more Item {0} than Sales Order quantity {1},Не може да се произвежда повече позиция {0} от количеството в поръчка за продажба {1},
 Cannot promote Employee with status Left,Не мога да популяризирам служител със състояние вляво,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Създаване и управление на дневни, седмични и месечни имейл бюлетини.",
 Create customer quotes,Създаване на оферти на клиенти,
 Create rules to restrict transactions based on values.,"Създаване на правила за ограничаване на транзакции, основани на стойност.",
-Created By,Създаден от,
 Created {0} scorecards for {1} between: ,Създадохте {0} scorecards за {1} между:,
 Creating Company and Importing Chart of Accounts,Създаване на компания и импортиране на сметкоплан,
 Creating Fees,Създаване на такси,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,За ред {0}: Въведете планираните количества,
 "For {0}, only credit accounts can be linked against another debit entry","За {0}, само кредитни сметки могат да бъдат свързани с друг запис дебитна",
 "For {0}, only debit accounts can be linked against another credit entry","За {0}, само дебитни сметки могат да бъдат свързани с друга кредитна влизане",
-Form View,Изглед на формата,
 Forum Activity,Форумна активност,
 Free item code is not selected,Безплатният код на артикула не е избран,
 Freight and Forwarding Charges,Товарни и спедиция Такси,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Изпратете маса SMS към вашите контакти,
 Sensitivity,чувствителност,
 Sent,Изпратено,
-Serial #,Serial #,
 Serial No and Batch,Сериен № и Партида,
 Serial No is mandatory for Item {0},Сериен № е задължително за позиция {0},
 Serial No {0} does not belong to Batch {1},Сериен номер {0} не принадлежи на партида {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,За какво ти е необходима помощ?,
 What does it do?,Какво прави?,
 Where manufacturing operations are carried.,Когато се извършват производствени операции.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Докато създавате акаунт за дъщерна компания {0}, родителски акаунт {1} не е намерен. Моля, създайте родителския акаунт в съответния COA",
 White,бял,
 Wire Transfer,Банков превод,
 WooCommerce Products,Продукти на WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Обединяване със съществуващото,
 Office,Офис,
 Orientation,ориентация,
+Parent,Родител,
 Passive,Пасивен,
 Payment Failed,Неуспешно плащане,
 Percent,Процент,
@@ -3543,6 +3539,7 @@
 Show {0},Показване на {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Специални символи, с изключение на &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; И &quot;}&quot; не са позволени в именуването на серии",
 Target Details,Детайли за целта,
+{0} already has a Parent Procedure {1}.,{0} вече има родителска процедура {1}.,
 API,API,
 Annual,Годишен,
 Approved,Одобрен,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Крайна дата не може да бъде по-малка от началната дата,
 For Default Supplier (Optional),За доставчик по подразбиране (по избор),
 From date cannot be greater than To date,От дата не може да бъде по-голямо от до дата,
-Get items from,Вземете елементи от,
 Group by,Групирай по,
 In stock,В наличност,
 Item name,Име на артикул,
@@ -7558,10 +7554,6 @@
 Quality Goal,Цел за качество,
 Monitoring Frequency,Мониторинг на честотата,
 Weekday,делничен,
-January-April-July-October,За периода януари-април до юли до октомври,
-Revision and Revised On,Ревизия и ревизия на,
-Revision,ревизия,
-Revised On,Ревизиран на,
 Objectives,Цели,
 Quality Goal Objective,Цел за качество,
 Objective,Обективен,
@@ -7574,7 +7566,6 @@
 Processes,процеси,
 Quality Procedure Process,Процес на качествена процедура,
 Process Description,Описание на процеса,
-Child Procedure,Детска процедура,
 Link existing Quality Procedure.,Свържете съществуващата процедура за качество.,
 Additional Information,Допълнителна информация,
 Quality Review Objective,Цел за преглед на качеството,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Покупка Квитанция Trends,
 Purchase Register,Покупка Регистрация,
 Quotation Trends,Оферта Тенденции,
-Quoted Item Comparison,Сравнение на редове от оферти,
 Received Items To Be Billed,"Приети артикули, които да се фактирират",
 Qty to Order,Количество към поръчка,
 Requested Items To Be Transferred,Желани артикули да бъдат прехвърлени,
@@ -9091,7 +9081,6 @@
 Absent Days,Отсъстващи дни,
 Conditions and Formula variable and example,Условия и формула променлива и пример,
 Feedback By,Обратна връзка от,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Производствена секция,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",По подразбиране Името на клиента се задава според въведеното Пълно име. Ако искате клиентите да бъдат именувани от,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,"Конфигурирайте ценовата листа по подразбиране, когато създавате нова транзакция за продажби. Цените на артикулите ще бъдат извлечени от тази ценова листа.",
@@ -9692,7 +9681,6 @@
 Reserved Balance,Запазен баланс,
 Uncleared Balance,Неизчистен баланс,
 Payment related to {0} is not completed,"Плащането, свързано с {0}, не е завършено",
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,"Ред № {}: Сериен номер {}. {} вече е транзактиран в друга POS фактура. Моля, изберете валиден сериен номер.",
 Row #{}: Item Code: {} is not available under warehouse {}.,Ред № {}: Код на артикула: {} не е наличен в склада {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Ред № {}: Количеството на склад не е достатъчно за Код на артикула: {} под склад {}. Налично количество {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Ред № {}: Моля, изберете сериен номер и партида срещу елемент: {} или го премахнете, за да завършите транзакцията.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Моля, активирайте Разрешаване на отрицателни запаси в настройките на запасите или създайте запис на запаси, за да продължите.",
 No Inpatient Record found against patient {0},Не е открит стационарен запис срещу пациент {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Вече съществува заповед за стационарно лечение {0} срещу среща с пациент {1}.,
+Allow In Returns,Разрешаване на връщания,
+Hide Unavailable Items,Скриване на недостъпните елементи,
+Apply Discount on Discounted Rate,Приложете отстъпка при отстъпка,
+Therapy Plan Template,Шаблон за план за терапия,
+Fetching Template Details,Извличане на подробности за шаблона,
+Linked Item Details,Свързани подробности за артикула,
+Therapy Types,Видове терапия,
+Therapy Plan Template Detail,Подробности за шаблона на терапевтичния план,
+Non Conformance,Несъответствие,
+Process Owner,Собственик на процеса,
+Corrective Action,Коригиращи действия,
+Preventive Action,Превантивно действие,
+Problem,Проблем,
+Responsible,Отговорен,
+Completion By,Завършване от,
+Process Owner Full Name,Пълно име на собственика на процеса,
+Right Index,Индекс вдясно,
+Left Index,Ляв указател,
+Sub Procedure,Подпроцедура,
+Passed,Преминали,
+Print Receipt,Разписка за печат,
+Edit Receipt,Редактиране на разписка,
+Focus on search input,Фокусирайте се върху въвеждането при търсене,
+Focus on Item Group filter,Съсредоточете се върху филтъра за група артикули,
+Checkout Order / Submit Order / New Order,Поръчка за плащане / Изпращане на поръчка / Нова поръчка,
+Add Order Discount,Добавете отстъпка за поръчка,
+Item Code: {0} is not available under warehouse {1}.,Код на артикула: {0} не е наличен в склада {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,"Серийни номера не са налични за артикул {0} под склад {1}. Моля, опитайте да смените склада.",
+Fetched only {0} available serial numbers.,Извлечени са само {0} налични серийни номера.,
+Switch Between Payment Modes,Превключване между режимите на плащане,
+Enter {0} amount.,Въведете {0} сума.,
+You don't have enough points to redeem.,"Нямате достатъчно точки, за да осребрите.",
+You can redeem upto {0}.,Можете да осребрите до {0}.,
+Enter amount to be redeemed.,Въведете сума за осребряване.,
+You cannot redeem more than {0}.,Не можете да осребрите повече от {0}.,
+Open Form View,Отворете изгледа на формуляра,
+POS invoice {0} created succesfully,POS фактура {0} е създадена успешно,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Количеството на склад не е достатъчно за Код на артикула: {0} под склад {1}. Налично количество {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Сериен номер: {0} вече е транзактиран в друга POS фактура.,
+Balance Serial No,Сериен номер на баланса,
+Warehouse: {0} does not belong to {1},Склад: {0} не принадлежи на {1},
+Please select batches for batched item {0},"Моля, изберете партиди за групиран елемент {0}",
+Please select quantity on row {0},"Моля, изберете количество на ред {0}",
+Please enter serial numbers for serialized item {0},"Моля, въведете серийни номера за сериализиран елемент {0}",
+Batch {0} already selected.,Партида {0} вече е избрана.,
+Please select a warehouse to get available quantities,"Моля, изберете склад, за да получите налични количества",
+"For transfer from source, selected quantity cannot be greater than available quantity",За прехвърляне от източник избраното количество не може да бъде по-голямо от наличното количество,
+Cannot find Item with this Barcode,Не може да се намери елемент с този баркод,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} е задължително. Може би записът за обмяна на валута не е създаден за {1} до {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} изпрати активи, свързани с него. Трябва да анулирате активите, за да създадете възвръщаемост на покупката.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Не може да се анулира този документ, тъй като е свързан с изпратен актив {0}. Моля, отменете го, за да продължите.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,"Ред № {}: Сериен номер {} вече е транзактиран в друга POS фактура. Моля, изберете валиден сериен номер.",
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,"Ред № {}: Серийни номера. {} Вече е транзактиран в друга POS фактура. Моля, изберете валиден сериен номер.",
+Item Unavailable,Артикулът не е наличен,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Ред № {}: Пореден номер {} не може да бъде върнат, тъй като не е бил транзактиран в оригинална фактура {}",
+Please set default Cash or Bank account in Mode of Payment {},"Моля, задайте по подразбиране Парична или банкова сметка в режим на плащане {}",
+Please set default Cash or Bank account in Mode of Payments {},"Моля, задайте по подразбиране Парична или банкова сметка в режим на плащане {}",
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Моля, уверете се, че {} акаунтът е акаунт в баланса. Можете да промените родителския акаунт на акаунт в баланс или да изберете друг акаунт.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Моля, уверете се, че {} акаунтът е платежна сметка. Променете типа акаунт на Платимо или изберете друг акаунт.",
+Row {}: Expense Head changed to {} ,Ред {}: Разходната глава е променена на {},
+because account {} is not linked to warehouse {} ,защото акаунтът {} не е свързан със склад {},
+or it is not the default inventory account,или това не е основната сметка за инвентара,
+Expense Head Changed,Главата на разходите е променена,
+because expense is booked against this account in Purchase Receipt {},защото разходите се записват срещу този акаунт в разписка за покупка {},
+as no Purchase Receipt is created against Item {}. ,тъй като не се създава разписка за покупка срещу артикул {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Това се прави, за да се обработи счетоводното отчитане на случаи, когато разписка за покупка се създава след фактура за покупка",
+Purchase Order Required for item {},Поръчка за покупка се изисква за артикул {},
+To submit the invoice without purchase order please set {} ,"За да подадете фактура без поръчка за покупка, моля, задайте {}",
+as {} in {},като {} в {},
+Mandatory Purchase Order,Задължителна поръчка за покупка,
+Purchase Receipt Required for item {},Изисква се разписка за покупка за артикул {},
+To submit the invoice without purchase receipt please set {} ,"За да подадете фактурата без разписка за покупка, моля, задайте {}",
+Mandatory Purchase Receipt,Задължителна разписка за покупка,
+POS Profile {} does not belongs to company {},POS профил {} не принадлежи на компания {},
+User {} is disabled. Please select valid user/cashier,"Потребителят {} е деактивиран. Моля, изберете валиден потребител / касиер",
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Ред № {}: Оригинална фактура {} на фактура за връщане {} е {}.,
+Original invoice should be consolidated before or along with the return invoice.,Оригиналната фактура трябва да бъде консолидирана преди или заедно с фактурата за връщане.,
+You can add original invoice {} manually to proceed.,"Можете да добавите оригинална фактура {} ръчно, за да продължите.",
+Please ensure {} account is a Balance Sheet account. ,"Моля, уверете се, че {} акаунтът е акаунт в баланса.",
+You can change the parent account to a Balance Sheet account or select a different account.,Можете да промените родителския акаунт на акаунт в баланс или да изберете друг акаунт.,
+Please ensure {} account is a Receivable account. ,"Моля, уверете се, че {} акаунтът е сметка за вземания.",
+Change the account type to Receivable or select a different account.,Променете типа акаунт на Вземане или изберете друг акаунт.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} не може да бъде отменено, тъй като спечелените точки за лоялност са осребрени. Първо анулирайте {} Не {}",
+already exists,вече съществува,
+POS Closing Entry {} against {} between selected period,Затваряне на POS влизане {} срещу {} между избрания период,
+POS Invoice is {},POS фактурата е {},
+POS Profile doesn't matches {},POS профилът не съвпада с {},
+POS Invoice is not {},POS фактура не е {},
+POS Invoice isn't created by user {},POS фактура не е създадена от потребител {},
+Row #{}: {},Ред № {}: {},
+Invalid POS Invoices,Невалидни POS фактури,
+Please add the account to root level Company - {},"Моля, добавете акаунта към основна компания - {}",
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Докато създавате акаунт за Child Company {0}, родителският акаунт {1} не е намерен. Моля, създайте родителския акаунт в съответното COA",
+Account Not Found,Акаунтът не е намерен,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Докато създавахте акаунт за Child Company {0}, родителският акаунт {1} беше намерен като акаунт в дневник.",
+Please convert the parent account in corresponding child company to a group account.,"Моля, конвертирайте родителския акаунт в съответната дъщерна компания в групов акаунт.",
+Invalid Parent Account,Невалиден родителски акаунт,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Преименуването му е разрешено само чрез компанията майка {0}, за да се избегне несъответствие.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ако {0} {1} количество от артикула {2}, схемата {3} ще бъде приложена върху артикула.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ако {0} {1} си заслужавате елемент {2}, схемата {3} ще бъде приложена върху елемента.",
+"As the field {0} is enabled, the field {1} is mandatory.","Тъй като полето {0} е активирано, полето {1} е задължително.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Тъй като полето {0} е активирано, стойността на полето {1} трябва да бъде повече от 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Не може да се достави сериен номер {0} на артикул {1}, тъй като е резервиран за пълна поръчка за продажба {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Поръчката за продажба {0} има резервация за артикула {1}, можете да доставите само резервирана {1} срещу {0}.",
+{0} Serial No {1} cannot be delivered,{0} Сериен номер {1} не може да бъде доставен,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Ред {0}: Подизпълнителят е задължителен за суровината {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Тъй като има достатъчно суровини, не е необходима заявка за материал за Склад {0}.",
+" If you still want to proceed, please enable {0}.","Ако все пак искате да продължите, моля, активирайте {0}.",
+The item referenced by {0} - {1} is already invoiced,"Позицията, посочена от {0} - {1}, вече е фактурирана",
+Therapy Session overlaps with {0},Терапевтичната сесия се припокрива с {0},
+Therapy Sessions Overlapping,Терапевтични сесии Припокриване,
+Therapy Plans,Планове за терапия,
+"Item Code, warehouse, quantity are required on row {0}","Код на артикул, склад, количество се изискват на ред {0}",
+Get Items from Material Requests against this Supplier,Вземете артикули от заявки за материали срещу този доставчик,
+Enable European Access,Активирайте европейския достъп,
+Creating Purchase Order ...,Създаване на поръчка ...,
+"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.","Изберете доставчик от доставчиците по подразбиране на елементите по-долу. При избора ще бъде направена Поръчка за покупка срещу артикули, принадлежащи само на избрания Доставчик.",
+Row #{}: You must select {} serial numbers for item {}.,Ред № {}: Трябва да изберете {} серийни номера за артикул {}.,
diff --git a/erpnext/translations/bn.csv b/erpnext/translations/bn.csv
index 3c5cb54..cf09716 100644
--- a/erpnext/translations/bn.csv
+++ b/erpnext/translations/bn.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',কেটে যাবে না যখন আরো মূল্যনির্ধারণ &#39;বা&#39; Vaulation এবং মোট &#39;জন্য নয়,
 "Cannot delete Serial No {0}, as it is used in stock transactions","মুছে ফেলা যায় না সিরিয়াল কোন {0}, এটা শেয়ার লেনদেনের ক্ষেত্রে ব্যবহার করা হয় যেমন",
 Cannot enroll more than {0} students for this student group.,{0} এই ছাত্র দলের জন্য ছাত্রদের তুলনায় আরো নথিভুক্ত করা যায় না.,
-Cannot find Item with this barcode,এই বারকোড সহ আইটেমটি খুঁজে পাওয়া যায় না,
 Cannot find active Leave Period,সক্রিয় ছাড়ের সময়কাল খুঁজে পাওয়া যাবে না,
 Cannot produce more Item {0} than Sales Order quantity {1},সেলস আদেশ পরিমাণ বেশী আইটেম {0} সৃষ্টি করতে পারে না {1},
 Cannot promote Employee with status Left,কর্মচারী উন্নয়নে স্থিরতা বজায় রাখতে পারে না,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","তৈরি করুন এবং দৈনিক, সাপ্তাহিক এবং মাসিক ইমেল digests পরিচালনা.",
 Create customer quotes,গ্রাহকের কোট তৈরি করুন,
 Create rules to restrict transactions based on values.,মান উপর ভিত্তি করে লেনদেনের সীমিত করার নিয়ম তৈরি করুন.,
-Created By,দ্বারা নির্মিত,
 Created {0} scorecards for {1} between: ,{1} এর জন্য {1} স্কোরকার্ড তৈরি করেছেন:,
 Creating Company and Importing Chart of Accounts,সংস্থা তৈরি করা এবং অ্যাকাউন্টগুলির আমদানি চার্ট,
 Creating Fees,ফি তৈরি করা,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,সারি {0} জন্য: পরিকল্পিত পরিমাণ লিখুন,
 "For {0}, only credit accounts can be linked against another debit entry","{0}, শুধুমাত্র ক্রেডিট অ্যাকাউন্ট অন্য ডেবিট এন্ট্রি বিরুদ্ধে সংযুক্ত করা যাবে জন্য",
 "For {0}, only debit accounts can be linked against another credit entry","{0}, শুধুমাত্র ডেবিট অ্যাকাউন্ট অন্য ক্রেডিট এন্ট্রি বিরুদ্ধে সংযুক্ত করা যাবে জন্য",
-Form View,ফর্ম দেখুন,
 Forum Activity,ফোরাম কার্যক্রম,
 Free item code is not selected,ফ্রি আইটেম কোড নির্বাচন করা হয়নি,
 Freight and Forwarding Charges,মাল ও ফরোয়ার্ডিং চার্জ,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,ভর এসএমএস আপনার পরিচিতি পাঠান,
 Sensitivity,সংবেদনশীলতা,
 Sent,প্রেরিত,
-Serial #,সিরিয়াল #,
 Serial No and Batch,ক্রমিক নং এবং ব্যাচ,
 Serial No is mandatory for Item {0},সিরিয়াল কোন আইটেম জন্য বাধ্যতামূলক {0},
 Serial No {0} does not belong to Batch {1},সিরিয়াল না {0} ব্যাচের অন্তর্গত নয় {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,আপনি সাহায্য প্রয়োজন কি?,
 What does it do?,এটার কাজ কি?,
 Where manufacturing operations are carried.,উত্পাদন অপারেশন কোথায় সম্পন্ন হয়.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","চাইল্ড কোম্পানির জন্য অ্যাকাউন্ট তৈরি করার সময় {0}, প্যারেন্ট অ্যাকাউন্ট {1} পাওয়া যায় নি। অনুগ্রহ করে সংশ্লিষ্ট সিওএতে প্যারেন্ট অ্যাকাউন্টটি তৈরি করুন",
 White,সাদা,
 Wire Transfer,ওয়্যার ট্রান্সফার,
 WooCommerce Products,WooCommerce পণ্য,
@@ -3493,6 +3488,7 @@
 Merge with existing,বিদ্যমান সাথে একত্রীকরণ,
 Office,অফিস,
 Orientation,ঝোঁক,
+Parent,মাতা,
 Passive,নিষ্ক্রিয়,
 Payment Failed,পেমেন্ট ব্যর্থ হয়েছে,
 Percent,শতাংশ,
@@ -3543,6 +3539,7 @@
 Show {0},{0} দেখান,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","নামকরণ সিরিজে &quot;-&quot;, &quot;#&quot;, &quot;।&quot;, &quot;/&quot;, &quot;{&quot; এবং &quot;}&quot; ব্যতীত বিশেষ অক্ষর অনুমোদিত নয়",
 Target Details,টার্গেটের বিশদ,
+{0} already has a Parent Procedure {1}.,{0} ইতিমধ্যে একটি মূল পদ্ধতি আছে {1}।,
 API,এপিআই,
 Annual,বার্ষিক,
 Approved,অনুমোদিত,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,শেষ তারিখ শুরু তারিখ থেকে কম হতে পারে না,
 For Default Supplier (Optional),ডিফল্ট সরবরাহকারীর জন্য (ঐচ্ছিক),
 From date cannot be greater than To date,তারিখ থেকে তারিখের চেয়ে বেশি হতে পারে না,
-Get items from,থেকে আইটেম পান,
 Group by,গ্রুপ দ্বারা,
 In stock,স্টক ইন,
 Item name,আইটেম নাম,
@@ -7558,10 +7554,6 @@
 Quality Goal,মান লক্ষ্য,
 Monitoring Frequency,নিরীক্ষণ ফ্রিকোয়েন্সি,
 Weekday,রবিবার বাদে সপ্তাহের যে-কোন দিন,
-January-April-July-October,জানুয়ারি-এপ্রিল-জুলাই-অক্টোবর,
-Revision and Revised On,রিভিশন এবং সংশোধিত চালু,
-Revision,সংস্করণ,
-Revised On,সংশোধিত অন,
 Objectives,উদ্দেশ্য,
 Quality Goal Objective,গুণগত লক্ষ্য লক্ষ্য,
 Objective,উদ্দেশ্য,
@@ -7574,7 +7566,6 @@
 Processes,প্রসেস,
 Quality Procedure Process,গুণমান প্রক্রিয়া প্রক্রিয়া,
 Process Description,প্রক্রিয়া বর্ণনা,
-Child Procedure,শিশু প্রক্রিয়া,
 Link existing Quality Procedure.,বিদ্যমান গুণমানের পদ্ধতিটি লিঙ্ক করুন।,
 Additional Information,অতিরিক্ত তথ্য,
 Quality Review Objective,গুণ পর্যালোচনা উদ্দেশ্য,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,কেনার রসিদ প্রবণতা,
 Purchase Register,ক্রয় নিবন্ধন,
 Quotation Trends,উদ্ধৃতি প্রবণতা,
-Quoted Item Comparison,উদ্ধৃত আইটেম তুলনা,
 Received Items To Be Billed,গৃহীত চলছে বিল তৈরি করা,
 Qty to Order,অর্ডার Qty,
 Requested Items To Be Transferred,অনুরোধ করা চলছে স্থানান্তর করা,
@@ -9091,7 +9081,6 @@
 Absent Days,অনুপস্থিত দিন,
 Conditions and Formula variable and example,শর্ত এবং সূত্র পরিবর্তনশীল এবং উদাহরণ,
 Feedback By,প্রতিক্রিয়া দ্বারা,
-MTNG-.YYYY.-.MM.-.DD.-,এমটিএনজি -হায়িওয়াই .- এমএম .-। ডিডি.-,
 Manufacturing Section,উত্পাদন বিভাগ,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","ডিফল্টরূপে, গ্রাহকের নাম প্রবেশ সম্পূর্ণ নাম অনুসারে সেট করা হয়। আপনি যদি চান গ্রাহকদের একটি দ্বারা নামকরণ করা",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,নতুন বিক্রয় লেনদেন তৈরি করার সময় ডিফল্ট মূল্য তালিকাকে কনফিগার করুন। এই মূল্য তালিকা থেকে আইটেমের দামগুলি আনা হবে।,
@@ -9692,7 +9681,6 @@
 Reserved Balance,সংরক্ষিত ভারসাম্য,
 Uncleared Balance,অপরিচ্ছন্ন ব্যালেন্স,
 Payment related to {0} is not completed,{0} সম্পর্কিত অর্থ প্রদান সম্পূর্ণ হয়নি,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,সারি # {}: ক্রমিক নং {}} {already ইতিমধ্যে অন্য একটি পস ইনভয়েসে লেনদেন হয়েছে। দয়া করে বৈধ সিরিয়াল নম্বর নির্বাচন করুন।,
 Row #{}: Item Code: {} is not available under warehouse {}.,সারি # {}: আইটেম কোড: {w গুদাম under} এর অধীন উপলব্ধ},
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,সারি # {}: স্টক পরিমাণ আইটেম কোডের জন্য পর্যাপ্ত নয়: are w গুদাম}} এর অধীনে} উপলব্ধ পরিমাণ {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,সারি # {}: দয়া করে একটি সিরিয়াল নং এবং আইটেমের বিরুদ্ধে ব্যাচ নির্বাচন করুন::} বা লেনদেন সম্পূর্ণ করতে এটি সরান।,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,স্টক সেটিংসে নেতিবাচক স্টককে মঞ্জুরি দিন বা এগিয়ে যাওয়ার জন্য স্টক এন্ট্রি তৈরি করুন।,
 No Inpatient Record found against patient {0},রোগীর বিরুদ্ধে কোনও ইনপিশেন্ট রেকর্ড পাওয়া যায় নি {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,রোগী এনকাউন্টার} 1} এর বিপরীতে একটি ইনপিশেন্ট icationষধ আদেশ {0} ইতিমধ্যে বিদ্যমান।,
+Allow In Returns,রিটার্নগুলিতে অনুমতি দিন,
+Hide Unavailable Items,উপলভ্য আইটেমগুলি লুকান,
+Apply Discount on Discounted Rate,ছাড়ের হারে ছাড় প্রয়োগ করুন,
+Therapy Plan Template,থেরাপি পরিকল্পনা টেম্পলেট,
+Fetching Template Details,টেমপ্লেটের বিশদ সংগ্রহ করা হচ্ছে,
+Linked Item Details,লিঙ্কযুক্ত আইটেমের বিশদ,
+Therapy Types,থেরাপির প্রকারগুলি,
+Therapy Plan Template Detail,থেরাপি পরিকল্পনা টেম্পলেট বিস্তারিত,
+Non Conformance,নন কনফারেন্স,
+Process Owner,প্রক্রিয়া মালিক,
+Corrective Action,সংশোধনমূলক কাজ,
+Preventive Action,প্রতিরোধী ব্যবস্থা,
+Problem,সমস্যা,
+Responsible,দায়বদ্ধ,
+Completion By,সমাপ্তি দ্বারা,
+Process Owner Full Name,প্রক্রিয়া মালিকের পুরো নাম,
+Right Index,রাইট ইনডেক্স,
+Left Index,বাম সূচক,
+Sub Procedure,উপ পদ্ধতি,
+Passed,পাস করেছেন,
+Print Receipt,রশিদ প্রিন্ট করুন,
+Edit Receipt,প্রাপ্তি সম্পাদনা করুন,
+Focus on search input,অনুসন্ধান ইনপুট উপর ফোকাস,
+Focus on Item Group filter,আইটেম গ্রুপ ফিল্টার উপর ফোকাস,
+Checkout Order / Submit Order / New Order,চেকআউট অর্ডার / অর্ডার জমা / নতুন আদেশ,
+Add Order Discount,অর্ডার ছাড় ছাড়ুন,
+Item Code: {0} is not available under warehouse {1}.,আইটেম কোড: {0 w গুদাম {1} এর অধীন উপলব্ধ নয়},
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,গুদাম {1} এর অধীনে আইটেম {0} এর জন্য ক্রমিক সংখ্যা অনুপলব্ধ} গুদাম পরিবর্তন করার চেষ্টা করুন।,
+Fetched only {0} available serial numbers.,কেবল পাওয়া যায় serial 0 serial ক্রমিক সংখ্যা।,
+Switch Between Payment Modes,পেমেন্ট মোডগুলির মধ্যে স্যুইচ করুন,
+Enter {0} amount.,{0} পরিমাণ লিখুন।,
+You don't have enough points to redeem.,খালাস দেওয়ার মতো পর্যাপ্ত পয়েন্ট আপনার কাছে নেই।,
+You can redeem upto {0}.,আপনি {0 to অবধি রিডিম করতে পারেন},
+Enter amount to be redeemed.,খালাস পাওয়ার পরিমাণ প্রবেশ করান।,
+You cannot redeem more than {0}.,আপনি {0 than এর বেশি খালাস করতে পারবেন না},
+Open Form View,ফর্ম ভিউ খুলুন,
+POS invoice {0} created succesfully,পস চালান {0 suc সফলভাবে তৈরি করা হয়েছে,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,আইটেম কোডের জন্য স্টকের পরিমাণ পর্যাপ্ত নয়: {0 w গুদাম {1} এর অধীনে} উপলব্ধ পরিমাণ {2}।,
+Serial No: {0} has already been transacted into another POS Invoice.,ক্রমিক নং: {0 already ইতিমধ্যে অন্য একটি পস ইনভয়েসে লেনদেন হয়েছে।,
+Balance Serial No,ব্যালেন্স সিরিয়াল নং,
+Warehouse: {0} does not belong to {1},গুদাম: {0} {1} এর সাথে সম্পর্কিত নয়,
+Please select batches for batched item {0},ব্যাচযুক্ত আইটেমের জন্য ব্যাচগুলি নির্বাচন করুন {0},
+Please select quantity on row {0},দয়া করে সারিতে পরিমাণ নির্বাচন করুন quantity 0},
+Please enter serial numbers for serialized item {0},ক্রমিক আইটেম for 0 for জন্য ক্রমিক নম্বর লিখুন,
+Batch {0} already selected.,ব্যাচ {0} ইতিমধ্যে নির্বাচিত।,
+Please select a warehouse to get available quantities,উপলব্ধ পরিমাণে পেতে একটি গুদাম নির্বাচন করুন,
+"For transfer from source, selected quantity cannot be greater than available quantity","উত্স থেকে স্থানান্তর করার জন্য, নির্বাচিত পরিমাণ উপলব্ধ পরিমাণের চেয়ে বড় হতে পারে না",
+Cannot find Item with this Barcode,এই বারকোড সহ আইটেমটি খুঁজে পাওয়া যায় না,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} বাধ্যতামূলক। হতে পারে মুদ্রা বিনিময় রেকর্ডটি {1} থেকে {2} এর জন্য তৈরি করা হয়নি,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{it এর সাথে সংযুক্ত সম্পদ জমা দিয়েছে। ক্রয় রিটার্ন তৈরি করতে আপনার সম্পত্তিগুলি বাতিল করতে হবে।,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,জমা দেওয়া সম্পদ {0} এর সাথে সংযুক্ত থাকায় এই দস্তাবেজটি বাতিল করতে পারবেন না} চালিয়ে যেতে দয়া করে এটি বাতিল করুন।,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,সারি # {}: সিরিয়াল নং {already ইতিমধ্যে অন্য একটি পস ইনভয়েসে লেনদেন হয়েছে। দয়া করে বৈধ সিরিয়াল নম্বর নির্বাচন করুন।,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,সারি # {}: সিরিয়াল নম্বর {already ইতিমধ্যে অন্য একটি পস ইনভয়েসে লেনদেন হয়েছে। দয়া করে বৈধ সিরিয়াল নম্বর নির্বাচন করুন।,
+Item Unavailable,আইটেম অনুপলব্ধ,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},সারি # {}: সিরিয়াল নং {returned আসল চালানে লেনদেন না হওয়ায় এটি ফেরানো যাবে না {},
+Please set default Cash or Bank account in Mode of Payment {},দয়া করে প্রদানের পদ্ধতিতে ডিফল্ট নগদ বা ব্যাংক অ্যাকাউন্ট সেট করুন {,
+Please set default Cash or Bank account in Mode of Payments {},অর্থপ্রদানের মোডে দয়া করে ডিফল্ট নগদ বা ব্যাংক অ্যাকাউন্ট সেট করুন {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,দয়া করে নিশ্চিত করুন যে}} অ্যাকাউন্টটি ব্যালেন্স শীট অ্যাকাউন্ট। আপনি প্যারেন্ট অ্যাকাউন্টটি ব্যালেন্স শীট অ্যাকাউন্টে পরিবর্তন করতে পারেন বা একটি আলাদা অ্যাকাউন্ট নির্বাচন করতে পারেন।,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,দয়া করে নিশ্চিত করুন যে {} অ্যাকাউন্টটি একটি প্রদেয় অ্যাকাউন্ট। অ্যাকাউন্টের ধরণটি প্রদানযোগ্য হিসাবে পরিবর্তন করুন বা একটি আলাদা অ্যাকাউন্ট নির্বাচন করুন।,
+Row {}: Expense Head changed to {} ,সারি {}: ব্যয় হেড পরিবর্তন করে {to,
+because account {} is not linked to warehouse {} ,কারণ অ্যাকাউন্ট {} গুদামের সাথে যুক্ত নয় {linked,
+or it is not the default inventory account,বা এটি ডিফল্ট ইনভেন্টরি অ্যাকাউন্ট নয়,
+Expense Head Changed,ব্যয় মাথা পরিবর্তন হয়েছে,
+because expense is booked against this account in Purchase Receipt {},কেননা ব্যয় ক্রয় রশিদে এই অ্যাকাউন্টের বিরুদ্ধে বুকিং করা হয়েছে is},
+as no Purchase Receipt is created against Item {}. ,আইটেম against against এর বিপরীতে কোনও ক্রয়ের রশিদ তৈরি হয় না},
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,ক্রয়ের চালানের পরে যখন ক্রয় রশিদ তৈরি হয় তখন অ্যাকাউন্টগুলির জন্য অ্যাকাউন্টিং পরিচালনা করতে এটি করা হয়,
+Purchase Order Required for item {},আইটেমের জন্য ক্রয়ের অর্ডার প্রয়োজনীয় {},
+To submit the invoice without purchase order please set {} ,ক্রয়ের আদেশ ছাড়াই চালান জমা দিতে দয়া করে set set সেট করুন,
+as {} in {},{} হিসাবে {,
+Mandatory Purchase Order,বাধ্যতামূলক ক্রয়ের আদেশ,
+Purchase Receipt Required for item {},আইটেমের জন্য প্রয়োজনীয় ক্রয়ের রশিদ}},
+To submit the invoice without purchase receipt please set {} ,ক্রয় প্রাপ্তি ছাড়াই চালান জমা দিতে দয়া করে {set সেট করুন,
+Mandatory Purchase Receipt,বাধ্যতামূলক ক্রয়ের রশিদ,
+POS Profile {} does not belongs to company {},পস প্রোফাইল {} সংস্থার নয় {company,
+User {} is disabled. Please select valid user/cashier,ব্যবহারকারী {disabled অক্ষম। বৈধ ব্যবহারকারী / ক্যাশিয়ার নির্বাচন করুন,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,সারি # {}: রিটার্ন চালানের মূল চালান {} {}}}},
+Original invoice should be consolidated before or along with the return invoice.,আসল চালানটি রিটার্ন চালানের আগে বা তার সাথে একীভূত করা উচিত।,
+You can add original invoice {} manually to proceed.,আপনি এগিয়ে চলার জন্য ম্যানুয়ালি মূল চালান can {যুক্ত করতে পারেন।,
+Please ensure {} account is a Balance Sheet account. ,দয়া করে নিশ্চিত করুন যে}} অ্যাকাউন্টটি ব্যালেন্স শীট অ্যাকাউন্ট।,
+You can change the parent account to a Balance Sheet account or select a different account.,আপনি প্যারেন্ট অ্যাকাউন্টটি ব্যালেন্স শীট অ্যাকাউন্টে পরিবর্তন করতে পারেন বা একটি আলাদা অ্যাকাউন্ট নির্বাচন করতে পারেন।,
+Please ensure {} account is a Receivable account. ,দয়া করে নিশ্চিত করুন যে {} অ্যাকাউন্টটি একটি গ্রহণযোগ্য অ্যাকাউন্ট।,
+Change the account type to Receivable or select a different account.,প্রাপ্তির জন্য অ্যাকাউন্টের ধরণটি পরিবর্তন করুন বা একটি আলাদা অ্যাকাউন্ট নির্বাচন করুন।,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},অর্জিত আনুগত্য পয়েন্টগুলি খালাস করার পরে L canceled বাতিল করা যাবে না। প্রথমে {} না {cancel বাতিল করুন,
+already exists,আগে থেকেই আছে,
+POS Closing Entry {} against {} between selected period,নির্বাচিত সময়ের মধ্যে POS সমাপ্তি এন্ট্রি}} এর বিপরীতে।।,
+POS Invoice is {},পস চালান {},
+POS Profile doesn't matches {},পোস প্রোফাইল {matches এর সাথে মেলে না,
+POS Invoice is not {},পস চালান {is নয়,
+POS Invoice isn't created by user {},পস চালান ব্যবহারকারী user by দ্বারা তৈরি করা হয়নি,
+Row #{}: {},সারি # {}: {},
+Invalid POS Invoices,অবৈধ পস চালানগুলি,
+Please add the account to root level Company - {},অ্যাকাউন্টটি মূল স্তরের সংস্থায় যুক্ত করুন - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","চাইল্ড কোম্পানির জন্য অ্যাকাউন্ট তৈরি করার সময় {0।, প্যারেন্ট অ্যাকাউন্ট {1} পাওয়া যায় নি। অনুগ্রহ করে সংশ্লিষ্ট সিওএতে প্যারেন্ট অ্যাকাউন্টটি তৈরি করুন",
+Account Not Found,অ্যাকাউন্ট পাওয়া যায় না,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","চাইল্ড কোম্পানির জন্য অ্যাকাউন্ট তৈরি করার সময় {0}, পিতৃ অ্যাকাউন্ট {1 a একটি খাত্তরের অ্যাকাউন্ট হিসাবে পাওয়া গেছে।",
+Please convert the parent account in corresponding child company to a group account.,অনুগ্রহ করে সংশ্লিষ্ট শিশু সংস্থায় পিতৃ অ্যাকাউন্টটি একটি গোষ্ঠী অ্যাকাউন্টে রূপান্তর করুন।,
+Invalid Parent Account,অবৈধ প্যারেন্ট অ্যাকাউন্ট,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",অমিলটি এড়ানোর জন্য এটির পুনঃনামকরণ কেবলমাত্র মূল সংস্থা {0} এর মাধ্যমে অনুমোদিত।,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",আপনি যদি আইটেমের পরিমাণ {0} {1} {2} করেন তবে স্কিম {3 the আইটেমটিতে প্রয়োগ করা হবে।,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",আপনি যদি {0} {1} মূল্যবান আইটেম {2} করেন তবে স্কিমে {3 the আইটেমটিতে প্রয়োগ করা হবে।,
+"As the field {0} is enabled, the field {1} is mandatory.",ক্ষেত্রটি {0} সক্ষম করা হওয়ায় ক্ষেত্র {1} বাধ্যতামূলক।,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",ক্ষেত্রের {0} সক্ষম করা হওয়ায় ক্ষেত্রের মান {1} 1 এর বেশি হওয়া উচিত।,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},আইটেম Ser 1} এর ক্রমিক নং {0 deliver সরবরাহ করতে পারে না কেননা এটি বিক্রয় পূর্ণ অর্ডার অর্ডার {2 to,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","বিক্রয় অর্ডার {0} এর আইটেমটির জন্য সংরক্ষণ রয়েছে {1}, আপনি কেবল reserved 0} এর বিপরীতে সংরক্ষিত {1 deliver সরবরাহ করতে পারেন}",
+{0} Serial No {1} cannot be delivered,{0} ক্রমিক নং {1} সরবরাহ করা যায় না,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},সারি {0}: সাবকন্ট্রাক্ট আইটেমটি কাঁচামালের জন্য বাধ্যতামূলক for 1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","যেহেতু পর্যাপ্ত কাঁচামাল রয়েছে, গুদাম {0} এর জন্য সামগ্রীর অনুরোধের প্রয়োজন নেই}",
+" If you still want to proceed, please enable {0}.",আপনি যদি এখনও এগিয়ে যেতে চান তবে দয়া করে {0 enable সক্ষম করুন},
+The item referenced by {0} - {1} is already invoiced,{0} - {1} দ্বারা রেফারেন্স করা আইটেমটি ইতিমধ্যে চালিত,
+Therapy Session overlaps with {0},থেরাপি সেশন {0 with দিয়ে ওভারল্যাপ করে,
+Therapy Sessions Overlapping,থেরাপি সেশনস ওভারল্যাপিং,
+Therapy Plans,থেরাপি পরিকল্পনা,
+"Item Code, warehouse, quantity are required on row {0}","আইটেম কোড, গুদাম, পরিমাণ সারিতে প্রয়োজন {0}",
+Get Items from Material Requests against this Supplier,এই সরবরাহকারীর বিরুদ্ধে উপাদান অনুরোধগুলি থেকে আইটেমগুলি পান,
+Enable European Access,ইউরোপীয় অ্যাক্সেস সক্ষম করুন,
+Creating Purchase Order ...,ক্রয় ক্রম তৈরি করা হচ্ছে ...,
+"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.","নীচের আইটেমগুলির ডিফল্ট সরবরাহকারী থেকে কোনও সরবরাহকারী নির্বাচন করুন। নির্বাচনের সময়, কেবলমাত্র নির্বাচিত সরবরাহকারীর অন্তর্ভুক্ত আইটেমগুলির বিরুদ্ধে ক্রয় আদেশ দেওয়া হবে।",
+Row #{}: You must select {} serial numbers for item {}.,সারি # {}: আইটেমের জন্য আপনাকে অবশ্যই}} ক্রমিক সংখ্যা নির্বাচন করতে হবে {}।,
diff --git a/erpnext/translations/bs.csv b/erpnext/translations/bs.csv
index e5b19da..6ef445a 100644
--- a/erpnext/translations/bs.csv
+++ b/erpnext/translations/bs.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Ne mogu odbiti kada kategorija je za &#39;Vrednovanje&#39; ili &#39;Vaulation i Total&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Ne možete izbrisati serijski broj {0}, koji se koristi u prodaji transakcije",
 Cannot enroll more than {0} students for this student group.,Ne može upisati više od {0} studenata za ovu grupa studenata.,
-Cannot find Item with this barcode,Stavka sa ovim barkodom nije pronađena,
 Cannot find active Leave Period,Ne mogu pronaći aktivni period otpusta,
 Cannot produce more Item {0} than Sales Order quantity {1},Ne može proizvesti više predmeta {0} od prodajnog naloga količina {1},
 Cannot promote Employee with status Left,Ne može promovirati zaposlenika sa statusom levo,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Stvaranje i upravljanje dnevne , tjedne i mjesečne e razgradnju .",
 Create customer quotes,Napravi citati kupac,
 Create rules to restrict transactions based on values.,Stvaranje pravila za ograničavanje prometa na temelju vrijednosti .,
-Created By,Kreirao,
 Created {0} scorecards for {1} between: ,Napravljene {0} pokazivačke karte za {1} između:,
 Creating Company and Importing Chart of Accounts,Stvaranje preduzeća i uvoz računa,
 Creating Fees,Kreiranje naknada,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Za red {0}: Unesite planirani broj,
 "For {0}, only credit accounts can be linked against another debit entry","Za {0}, samo kredit računa može biti povezan protiv drugog ulaska debit",
 "For {0}, only debit accounts can be linked against another credit entry","Za {0}, samo debitne račune mogu povezati protiv druge kreditne unos",
-Form View,Form View,
 Forum Activity,Aktivnost foruma,
 Free item code is not selected,Besplatni kod artikla nije odabran,
 Freight and Forwarding Charges,Teretni i Forwarding Optužbe,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Pošalji masovne SMS poruke svojim kontaktima,
 Sensitivity,Osjetljivost,
 Sent,Poslano,
-Serial #,Serial #,
 Serial No and Batch,Serijski broj i Batch,
 Serial No is mandatory for Item {0},Serijski Nema je obvezna za točke {0},
 Serial No {0} does not belong to Batch {1},Serijski broj {0} ne pripada Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Šta ti je potrebna pomoć?,
 What does it do?,Što učiniti ?,
 Where manufacturing operations are carried.,Gdje se obavljaju proizvodne operacije.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Dok ste kreirali račun za nadređeno preduzeće {0}, roditeljski račun {1} nije pronađen. Napravite roditeljski račun u odgovarajućem COA",
 White,Bijel,
 Wire Transfer,Wire Transfer,
 WooCommerce Products,WooCommerce Proizvodi,
@@ -3493,6 +3488,7 @@
 Merge with existing,Merge sa postojećim,
 Office,Ured,
 Orientation,orijentacija,
+Parent,Roditelj,
 Passive,Pasiva,
 Payment Failed,plaćanje nije uspjelo,
 Percent,Postotak,
@@ -3543,6 +3539,7 @@
 Show {0},Prikaži {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Posebni znakovi osim &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; I &quot;}&quot; nisu dozvoljeni u imenovanju serija",
 Target Details,Detalji cilja,
+{0} already has a Parent Procedure {1}.,{0} već ima roditeljsku proceduru {1}.,
 API,API,
 Annual,godišnji,
 Approved,Odobreno,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Datum završetka ne može biti manja od početnog datuma,
 For Default Supplier (Optional),Za podrazumevani dobavljač,
 From date cannot be greater than To date,Od datuma ne može biti veća od To Date,
-Get items from,Get stavke iz,
 Group by,Group By,
 In stock,Na zalihama,
 Item name,Naziv artikla,
@@ -7558,10 +7554,6 @@
 Quality Goal,Cilj kvaliteta,
 Monitoring Frequency,Frekvencija praćenja,
 Weekday,Radnim danom,
-January-April-July-October,Januar-april-juli-oktobar,
-Revision and Revised On,Revizija i revizija dalje,
-Revision,Revizija,
-Revised On,Izmijenjeno,
 Objectives,Ciljevi,
 Quality Goal Objective,Cilj kvaliteta kvaliteta,
 Objective,Cilj,
@@ -7574,7 +7566,6 @@
 Processes,Procesi,
 Quality Procedure Process,Proces postupka kvaliteta,
 Process Description,Opis procesa,
-Child Procedure,Dječiji postupak,
 Link existing Quality Procedure.,Povežite postojeći postupak kvaliteta.,
 Additional Information,Dodatne informacije,
 Quality Review Objective,Cilj pregleda kvaliteta,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Račun kupnje trendovi,
 Purchase Register,Kupnja Registracija,
 Quotation Trends,Trendovi ponude,
-Quoted Item Comparison,Citirano Stavka Poređenje,
 Received Items To Be Billed,Primljeni Proizvodi se naplaćuje,
 Qty to Order,Količina za narudžbu,
 Requested Items To Be Transferred,Traženi stavki za prijenos,
@@ -9091,7 +9081,6 @@
 Absent Days,Dani odsutnosti,
 Conditions and Formula variable and example,Uvjeti i varijabla formule i primjer,
 Feedback By,Povratne informacije od,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.GGGG .-. MM .-. DD.-,
 Manufacturing Section,Odjel za proizvodnju,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Po defaultu, Korisničko ime je postavljeno prema punom imenu. Ako želite da kupce imenuje a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurirajte zadani cjenik prilikom kreiranja nove prodajne transakcije. Cijene stavki će se preuzeti iz ovog cjenika.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Rezervisano stanje,
 Uncleared Balance,Nerazjašnjeni bilans,
 Payment related to {0} is not completed,Isplata vezana za {0} nije završena,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Red # {}: serijski broj {}. {} je već prebačen na drugu POS fakturu. Odaberite važeći serijski broj.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Red # {}: Kod artikla: {} nije dostupan u skladištu {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Red # {}: Količina zaliha nije dovoljna za šifru artikla: {} ispod skladišta {}. Dostupna količina {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Red # {}: Odaberite serijski broj i seriju stavke: {} ili ga uklonite da biste dovršili transakciju.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Omogućite Dozvoli negativne zalihe u postavkama zaliha ili kreirajte unos zaliha da biste nastavili.,
 No Inpatient Record found against patient {0},Nije pronađen nijedan stacionarni zapis protiv pacijenta {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Nalog stacionarnih lijekova {0} protiv susreta s pacijentima {1} već postoji.,
+Allow In Returns,Omogući povratak,
+Hide Unavailable Items,Sakrij nedostupne stavke,
+Apply Discount on Discounted Rate,Primijenite popust na sniženu stopu,
+Therapy Plan Template,Predložak plana terapije,
+Fetching Template Details,Preuzimanje podataka o predlošku,
+Linked Item Details,Povezani detalji predmeta,
+Therapy Types,Vrste terapije,
+Therapy Plan Template Detail,Pojedinosti predloška plana terapije,
+Non Conformance,Neusklađenost,
+Process Owner,Vlasnik procesa,
+Corrective Action,Korektivna akcija,
+Preventive Action,Preventivna akcija,
+Problem,Problem,
+Responsible,Odgovorno,
+Completion By,Završetak,
+Process Owner Full Name,Puno ime vlasnika procesa,
+Right Index,Desni indeks,
+Left Index,Lijevi indeks,
+Sub Procedure,Potprocedura,
+Passed,Prošao,
+Print Receipt,Potvrda o ispisu,
+Edit Receipt,Uredi potvrdu,
+Focus on search input,Usredotočite se na unos pretraživanja,
+Focus on Item Group filter,Usredotočite se na filter grupe predmeta,
+Checkout Order / Submit Order / New Order,Narudžba za plaćanje / Predaja naloga / Nova narudžba,
+Add Order Discount,Dodajte popust za narudžbinu,
+Item Code: {0} is not available under warehouse {1}.,Šifra artikla: {0} nije dostupno u skladištu {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serijski brojevi nisu dostupni za artikl {0} u skladištu {1}. Pokušajte promijeniti skladište.,
+Fetched only {0} available serial numbers.,Preuzeto je samo {0} dostupnih serijskih brojeva.,
+Switch Between Payment Modes,Prebacivanje između načina plaćanja,
+Enter {0} amount.,Unesite iznos od {0}.,
+You don't have enough points to redeem.,Nemate dovoljno bodova za iskorištavanje.,
+You can redeem upto {0}.,Možete iskoristiti do {0}.,
+Enter amount to be redeemed.,Unesite iznos koji treba iskoristiti.,
+You cannot redeem more than {0}.,Ne možete iskoristiti više od {0}.,
+Open Form View,Otvorite prikaz obrasca,
+POS invoice {0} created succesfully,POS račun {0} je uspješno kreiran,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Količina zaliha nije dovoljna za šifru artikla: {0} ispod skladišta {1}. Dostupna količina {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serijski broj: {0} je već prebačen na drugu POS fakturu.,
+Balance Serial No,Serijski br. Stanja,
+Warehouse: {0} does not belong to {1},Skladište: {0} ne pripada {1},
+Please select batches for batched item {0},Odaberite serije za serijsku stavku {0},
+Please select quantity on row {0},Odaberite količinu u retku {0},
+Please enter serial numbers for serialized item {0},Unesite serijske brojeve za serijsku stavku {0},
+Batch {0} already selected.,Paket {0} je već odabran.,
+Please select a warehouse to get available quantities,Odaberite skladište da biste dobili dostupne količine,
+"For transfer from source, selected quantity cannot be greater than available quantity","Za prijenos iz izvora, odabrana količina ne može biti veća od dostupne količine",
+Cannot find Item with this Barcode,Ne mogu pronaći predmet sa ovim crtičnim kodom,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} je obavezno. Možda zapis mjenjačnice nije kreiran za {1} do {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} je poslao sredstva povezana s tim. Morate otkazati imovinu da biste stvorili povrat kupovine.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Ovaj dokument nije moguće otkazati jer je povezan sa dostavljenim materijalom {0}. Otkažite ga da biste nastavili.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Red # {}: Serijski broj {} je već prebačen na drugu POS fakturu. Odaberite važeći serijski broj.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Red # {}: Serijski brojevi. {} Je već prebačen na drugu POS fakturu. Odaberite važeći serijski broj.,
+Item Unavailable,Predmet nije dostupan,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Red # {}: Serijski broj {} se ne može vratiti jer nije izvršen u originalnoj fakturi {},
+Please set default Cash or Bank account in Mode of Payment {},Postavite zadani gotovinski ili bankovni račun u načinu plaćanja {},
+Please set default Cash or Bank account in Mode of Payments {},Postavite zadani gotovinski ili bankovni račun u načinu plaćanja {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Molimo provjerite je li račun {} račun bilance stanja. Možete promijeniti roditeljski račun u račun bilansa stanja ili odabrati drugi račun.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Molimo provjerite je li račun {} račun koji se plaća. Promijenite vrstu računa u Plativo ili odaberite drugi račun.,
+Row {}: Expense Head changed to {} ,Red {}: Glava rashoda promijenjena u {},
+because account {} is not linked to warehouse {} ,jer račun {} nije povezan sa skladištem {},
+or it is not the default inventory account,ili to nije zadani račun zaliha,
+Expense Head Changed,Promijenjena glava rashoda,
+because expense is booked against this account in Purchase Receipt {},jer je račun evidentiran na ovom računu u potvrdi o kupovini {},
+as no Purchase Receipt is created against Item {}. ,jer se prema stavci {} ne kreira potvrda o kupovini.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,To se radi radi obračunavanja slučajeva kada se potvrda o kupovini kreira nakon fakture za kupovinu,
+Purchase Order Required for item {},Narudžbenica potrebna za stavku {},
+To submit the invoice without purchase order please set {} ,"Da biste predali račun bez narudžbenice, postavite {}",
+as {} in {},kao u {},
+Mandatory Purchase Order,Obavezna narudžbenica,
+Purchase Receipt Required for item {},Potvrda o kupovini za stavku {},
+To submit the invoice without purchase receipt please set {} ,"Da biste predali račun bez potvrde o kupovini, postavite {}",
+Mandatory Purchase Receipt,Obavezna potvrda o kupovini,
+POS Profile {} does not belongs to company {},POS profil {} ne pripada kompaniji {},
+User {} is disabled. Please select valid user/cashier,Korisnik {} je onemogućen. Odaberite valjanog korisnika / blagajnika,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Redak {{}: Originalna faktura {} fakture za povrat {} je {}.,
+Original invoice should be consolidated before or along with the return invoice.,Originalnu fakturu treba konsolidirati prije ili zajedno s povratnom fakturom.,
+You can add original invoice {} manually to proceed.,Možete nastaviti originalnu fakturu {} ručno da biste nastavili.,
+Please ensure {} account is a Balance Sheet account. ,Molimo provjerite je li račun {} račun bilance stanja.,
+You can change the parent account to a Balance Sheet account or select a different account.,Možete promijeniti roditeljski račun u račun bilansa stanja ili odabrati drugi račun.,
+Please ensure {} account is a Receivable account. ,Molimo provjerite je li račun} račun potraživanja.,
+Change the account type to Receivable or select a different account.,Promijenite vrstu računa u Potraživanje ili odaberite drugi račun.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} se ne može otkazati jer su iskorišteni bodovi za lojalnost iskorišteni. Prvo otkažite {} Ne {},
+already exists,već postoji,
+POS Closing Entry {} against {} between selected period,Zatvaranje unosa POS-a {} protiv {} između izabranog perioda,
+POS Invoice is {},POS račun je {},
+POS Profile doesn't matches {},POS profil se ne podudara sa {},
+POS Invoice is not {},POS račun nije {},
+POS Invoice isn't created by user {},POS račun ne kreira korisnik {},
+Row #{}: {},Red # {}: {},
+Invalid POS Invoices,Nevažeći POS računi,
+Please add the account to root level Company - {},Molimo dodajte račun korijenskom nivou kompanije - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Tokom kreiranja računa za kompaniju Child Child {0}, nadređeni račun {1} nije pronađen. Molimo kreirajte roditeljski račun u odgovarajućem COA",
+Account Not Found,Račun nije pronađen,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Prilikom kreiranja računa za Child Company {0}, roditeljski račun {1} je pronađen kao račun glavne knjige.",
+Please convert the parent account in corresponding child company to a group account.,Molimo konvertujte roditeljski račun u odgovarajućem podređenom preduzeću u grupni račun.,
+Invalid Parent Account,Nevažeći račun roditelja,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Preimenovanje je dozvoljeno samo preko matične kompanije {0}, kako bi se izbjegla neusklađenost.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ako {0} {1} količinu predmeta {2}, shema {3} primijenit će se na stavku.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ako {0} {1} vrijedite stavku {2}, shema {3} primijenit će se na stavku.",
+"As the field {0} is enabled, the field {1} is mandatory.","Kako je polje {0} omogućeno, polje {1} je obavezno.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Kako je polje {0} omogućeno, vrijednost polja {1} trebala bi biti veća od 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Nije moguće isporučiti serijski broj {0} stavke {1} jer je rezervisan za puni popunjeni prodajni nalog {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Prodajni nalog {0} ima rezervaciju za artikal {1}, rezervisani {1} možete dostaviti samo protiv {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serijski broj {1} nije moguće isporučiti,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Red {0}: Predmet podugovaranja je obavezan za sirovinu {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Budući da postoji dovoljno sirovina, zahtjev za materijal nije potreban za Skladište {0}.",
+" If you still want to proceed, please enable {0}.","Ako i dalje želite nastaviti, omogućite {0}.",
+The item referenced by {0} - {1} is already invoiced,Stavka na koju se poziva {0} - {1} već je fakturirana,
+Therapy Session overlaps with {0},Sjednica terapije preklapa se sa {0},
+Therapy Sessions Overlapping,Preklapanje terapijskih sesija,
+Therapy Plans,Planovi terapije,
+"Item Code, warehouse, quantity are required on row {0}","Šifra artikla, skladište, količina su obavezni na retku {0}",
+Get Items from Material Requests against this Supplier,Nabavite predmete od materijalnih zahtjeva protiv ovog dobavljača,
+Enable European Access,Omogućiti evropski pristup,
+Creating Purchase Order ...,Kreiranje narudžbenice ...,
+"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.","Odaberite dobavljača od zadanih dobavljača dolje navedenih stavki. Nakon odabira, narudžbenica će se izvršiti samo za proizvode koji pripadaju odabranom dobavljaču.",
+Row #{}: You must select {} serial numbers for item {}.,Red # {}: Morate odabrati {} serijske brojeve za stavku {}.,
diff --git a/erpnext/translations/ca.csv b/erpnext/translations/ca.csv
index 638b47a..18fa52a 100644
--- a/erpnext/translations/ca.csv
+++ b/erpnext/translations/ca.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',No es pot deduir que és la categoria de &#39;de Valoració &quot;o&quot; Vaulation i Total&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","No es pot eliminar de sèrie n {0}, ja que s&#39;utilitza en les transaccions de valors",
 Cannot enroll more than {0} students for this student group.,No es pot inscriure més de {0} estudiants d&#39;aquest grup d&#39;estudiants.,
-Cannot find Item with this barcode,No es pot trobar cap element amb aquest codi de barres,
 Cannot find active Leave Period,No es pot trobar el període d&#39;abandonament actiu,
 Cannot produce more Item {0} than Sales Order quantity {1},No es pot produir més Article {0} que en la quantitat de comandes de client {1},
 Cannot promote Employee with status Left,No es pot promocionar l&#39;empleat amb estatus d&#39;esquerra,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Creació i gestió de resums de correu electrònic diàries, setmanals i mensuals.",
 Create customer quotes,Crear cites de clients,
 Create rules to restrict transactions based on values.,Crear regles per restringir les transaccions basades en valors.,
-Created By,Creat per,
 Created {0} scorecards for {1} between: ,S&#39;ha creat {0} quadres de paràgraf per {1} entre:,
 Creating Company and Importing Chart of Accounts,Creació de l&#39;empresa i importació de gràfics de comptes,
 Creating Fees,Creació de tarifes,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Per a la fila {0}: introduïu el qty planificat,
 "For {0}, only credit accounts can be linked against another debit entry","Per {0}, només els comptes de crèdit es poden vincular amb un altre seient de dèbit",
 "For {0}, only debit accounts can be linked against another credit entry","Per {0}, només els comptes de dèbit poden ser enllaçats amb una altra entrada de crèdit",
-Form View,Vista de formularis,
 Forum Activity,Activitat del fòrum,
 Free item code is not selected,El codi de l’element gratuït no està seleccionat,
 Freight and Forwarding Charges,Freight and Forwarding Charges,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Enviar SMS massiu als seus contactes,
 Sensitivity,Sensibilitat,
 Sent,Enviat,
-Serial #,Serial #,
 Serial No and Batch,Número de sèrie i de lot,
 Serial No is mandatory for Item {0},Nombre de sèrie és obligatòria per Punt {0},
 Serial No {0} does not belong to Batch {1},El número de sèrie {0} no pertany a Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,En què necessites ajuda?,
 What does it do?,Què fa?,
 Where manufacturing operations are carried.,On es realitzen les operacions de fabricació.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Durant la creació d&#39;un compte per a la companyia infantil {0}, no s&#39;ha trobat el compte pare {1}. Creeu el compte pare al COA corresponent",
 White,Blanc,
 Wire Transfer,Transferència bancària,
 WooCommerce Products,Productes WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Combinar amb existent,
 Office,Oficina,
 Orientation,Orientació,
+Parent,Pare,
 Passive,Passiu,
 Payment Failed,Error en el pagament,
 Percent,Per cent,
@@ -3543,6 +3539,7 @@
 Show {0},Mostra {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Caràcters especials, excepte &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; I &quot;}&quot; no estan permesos en nomenar sèries",
 Target Details,Detalls de l&#39;objectiu,
+{0} already has a Parent Procedure {1}.,{0} ja té un procediment progenitor {1}.,
 API,API,
 Annual,Anual,
 Approved,Aprovat,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Data de finalització no pot ser inferior a data d'inici,
 For Default Supplier (Optional),Per proveïdor predeterminat (opcional),
 From date cannot be greater than To date,Des de la data no pot ser superior a la data,
-Get items from,Obtenir articles de,
 Group by,Agrupar per,
 In stock,En estoc,
 Item name,Nom de l'article,
@@ -7558,10 +7554,6 @@
 Quality Goal,Objectiu de qualitat,
 Monitoring Frequency,Freqüència de seguiment,
 Weekday,Dia de la setmana,
-January-April-July-October,Gener-abril-juliol-octubre,
-Revision and Revised On,Revisat i revisat,
-Revision,Revisió,
-Revised On,Revisat el dia,
 Objectives,Objectius,
 Quality Goal Objective,Objectiu de Qualitat,
 Objective,Objectiu,
@@ -7574,7 +7566,6 @@
 Processes,Processos,
 Quality Procedure Process,Procés de procediment de qualitat,
 Process Description,Descripció del procés,
-Child Procedure,Procediment infantil,
 Link existing Quality Procedure.,Enllaça el procediment de qualitat existent.,
 Additional Information,Informació adicional,
 Quality Review Objective,Objectiu de revisió de qualitat,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Purchase Receipt Trends,
 Purchase Register,Compra de Registre,
 Quotation Trends,Quotation Trends,
-Quoted Item Comparison,Citat article Comparació,
 Received Items To Be Billed,Articles rebuts per a facturar,
 Qty to Order,Quantitat de comanda,
 Requested Items To Be Transferred,Articles sol·licitats per a ser transferits,
@@ -9091,7 +9081,6 @@
 Absent Days,Dies absents,
 Conditions and Formula variable and example,Condició i variable de fórmula i exemple,
 Feedback By,Opinió de,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.AAAA .-. MM .-. DD.-,
 Manufacturing Section,Secció de fabricació,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Per defecte, el nom del client s&#39;estableix segons el nom complet introduït. Si voleu que els clients siguin nomenats per un",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configureu la llista de preus predeterminada quan creeu una nova transacció de vendes. Els preus dels articles s’obtindran d’aquesta llista de preus.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Saldo reservat,
 Uncleared Balance,Saldo no esborrat,
 Payment related to {0} is not completed,El pagament relacionat amb {0} no s&#39;ha completat,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Fila núm. {}: Número de sèrie {}. {} ja s&#39;ha transaccionat a una altra factura TPV. Seleccioneu el número de sèrie vàlid.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Fila núm. {}: Codi d&#39;article: {} no està disponible al magatzem {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Fila núm. {}: Quantitat d&#39;estoc insuficient per al codi de l&#39;article: {} sota magatzem {}. Quantitat disponible {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Fila núm. {}: Seleccioneu un número de sèrie i feu un lot contra l&#39;element: {} o traieu-lo per completar la transacció.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Habiliteu Permet l&#39;acció negativa a la configuració d&#39;estoc o creeu l&#39;entrada d&#39;estoc per continuar.,
 No Inpatient Record found against patient {0},No s&#39;ha trobat cap registre d&#39;hospitalització del pacient {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Ja existeix una ordre de medicació hospitalària {0} contra la trobada de pacients {1}.,
+Allow In Returns,Permetre devolucions,
+Hide Unavailable Items,Amaga els elements no disponibles,
+Apply Discount on Discounted Rate,Apliqueu un descompte en la tarifa amb descompte,
+Therapy Plan Template,Plantilla de pla de teràpia,
+Fetching Template Details,S&#39;estan obtenint els detalls de la plantilla,
+Linked Item Details,Detalls de l’enllaç enllaçat,
+Therapy Types,Tipus de teràpia,
+Therapy Plan Template Detail,Detall de plantilla de pla de teràpia,
+Non Conformance,No conformitat,
+Process Owner,Propietari del procés,
+Corrective Action,Acció correctiva,
+Preventive Action,Acció preventiva,
+Problem,Problema,
+Responsible,Responsable,
+Completion By,Finalització per,
+Process Owner Full Name,Nom complet del propietari del procés,
+Right Index,Índex correcte,
+Left Index,Índex esquerre,
+Sub Procedure,Subprocediment,
+Passed,Aprovat,
+Print Receipt,Imprimir el resguard,
+Edit Receipt,Edita el rebut,
+Focus on search input,Centreu-vos en l’entrada de cerca,
+Focus on Item Group filter,Centreu-vos en el filtre del grup d’elements,
+Checkout Order / Submit Order / New Order,Comanda de compra / Enviar comanda / Comanda nova,
+Add Order Discount,Afegiu un descompte de comanda,
+Item Code: {0} is not available under warehouse {1}.,Codi de l&#39;article: {0} no està disponible al magatzem {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Els números de sèrie no estan disponibles per a l&#39;article {0} al magatzem {1}. Proveu de canviar de magatzem.,
+Fetched only {0} available serial numbers.,S&#39;han obtingut només {0} números de sèrie disponibles.,
+Switch Between Payment Modes,Canvia entre els modes de pagament,
+Enter {0} amount.,Introduïu l&#39;import de {0}.,
+You don't have enough points to redeem.,No teniu prou punts per bescanviar.,
+You can redeem upto {0}.,Podeu bescanviar fins a {0}.,
+Enter amount to be redeemed.,Introduïu l&#39;import a canviar.,
+You cannot redeem more than {0}.,No podeu bescanviar més de {0}.,
+Open Form View,Obre la vista de formulari,
+POS invoice {0} created succesfully,La factura TPV {0} s&#39;ha creat correctament,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Quantitat d’estoc insuficient per al codi de l’article: {0} al magatzem {1}. Quantitat disponible {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,No de sèrie: {0} ja s&#39;ha transaccionat a una altra factura TPV.,
+Balance Serial No,Núm. De sèrie de saldo,
+Warehouse: {0} does not belong to {1},Magatzem: {0} no pertany a {1},
+Please select batches for batched item {0},Seleccioneu lots per a l&#39;element per lots {0},
+Please select quantity on row {0},Seleccioneu la quantitat a la fila {0},
+Please enter serial numbers for serialized item {0},Introduïu els números de sèrie de l&#39;element serialitzat {0},
+Batch {0} already selected.,El lot {0} ja està seleccionat.,
+Please select a warehouse to get available quantities,Seleccioneu un magatzem per obtenir les quantitats disponibles,
+"For transfer from source, selected quantity cannot be greater than available quantity","Per a la transferència des de la font, la quantitat seleccionada no pot ser superior a la quantitat disponible",
+Cannot find Item with this Barcode,No es pot trobar un element amb aquest codi de barres,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} és obligatori. Potser el registre de canvi de moneda no es crea de {1} a {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ha enviat recursos que hi estan vinculats. Heu de cancel·lar els actius per crear la devolució de la compra.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"No es pot cancel·lar aquest document, ja que està enllaçat amb el recurs enviat {0}. Cancel·leu-lo per continuar.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Fila núm. {}: El número de sèrie {} ja s&#39;ha transaccionat a una altra factura TPV. Seleccioneu el número de sèrie vàlid.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Fila núm. {}: Els números de sèrie {} ja s&#39;han transaccionat a una altra factura TPV. Seleccioneu el número de sèrie vàlid.,
+Item Unavailable,Article no disponible,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Fila núm. {}: No es pot retornar el número de sèrie {}, ja que no es va transmetre a la factura original {}",
+Please set default Cash or Bank account in Mode of Payment {},Establiu el compte bancari o efectiu per defecte al mode de pagament {},
+Please set default Cash or Bank account in Mode of Payments {},Establiu el compte bancari o efectiu per defecte al mode de pagaments {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Assegureu-vos que el compte {} és un compte de balanç. Podeu canviar el compte principal per un compte de balanç o seleccionar un altre compte.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Assegureu-vos que el compte {} és un compte de pagament. Canvieu el tipus de compte a Pagable o seleccioneu un altre compte.,
+Row {}: Expense Head changed to {} ,Fila {}: el cap de despesa ha canviat a {},
+because account {} is not linked to warehouse {} ,perquè el compte {} no està enllaçat amb el magatzem {},
+or it is not the default inventory account,o no és el compte d&#39;inventari predeterminat,
+Expense Head Changed,Cap de despesa canviat,
+because expense is booked against this account in Purchase Receipt {},perquè la despesa es reserva en aquest compte al rebut de compra {},
+as no Purchase Receipt is created against Item {}. ,ja que no es crea cap rebut de compra contra l&#39;article {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Això es fa per gestionar la comptabilitat dels casos en què es crea el rebut de compra després de la factura de compra,
+Purchase Order Required for item {},Cal fer una comanda de compra per a l&#39;article {},
+To submit the invoice without purchase order please set {} ,"Per enviar la factura sense comanda de compra, configureu {}",
+as {} in {},com a {},
+Mandatory Purchase Order,Ordre de compra obligatòria,
+Purchase Receipt Required for item {},Cal comprovar el comprovant de l&#39;article {},
+To submit the invoice without purchase receipt please set {} ,"Per enviar la factura sense comprovant de compra, configureu {}",
+Mandatory Purchase Receipt,Rebut de compra obligatori,
+POS Profile {} does not belongs to company {},El perfil de TPV {} no pertany a l&#39;empresa {},
+User {} is disabled. Please select valid user/cashier,L&#39;usuari {} està desactivat. Seleccioneu un usuari / caixer vàlid,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Fila núm. {}: La factura original {} de la factura de devolució {} és {}.,
+Original invoice should be consolidated before or along with the return invoice.,La factura original s’ha de consolidar abans o junt amb la factura de devolució.,
+You can add original invoice {} manually to proceed.,Podeu afegir la factura original {} manualment per continuar.,
+Please ensure {} account is a Balance Sheet account. ,Assegureu-vos que el compte {} és un compte de balanç.,
+You can change the parent account to a Balance Sheet account or select a different account.,Podeu canviar el compte principal per un compte de balanç o seleccionar un altre compte.,
+Please ensure {} account is a Receivable account. ,Assegureu-vos que el compte {} és un compte per cobrar.,
+Change the account type to Receivable or select a different account.,Canvieu el tipus de compte a Cobrar o seleccioneu un altre compte.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} no es pot cancel·lar ja que s&#39;han bescanviat els Punts de fidelitat guanyats. Primer cancel·leu el {} No {},
+already exists,ja existeix,
+POS Closing Entry {} against {} between selected period,Entrada de tancament de TPV {} contra {} entre el període seleccionat,
+POS Invoice is {},La factura TPV és {},
+POS Profile doesn't matches {},El perfil de TPV no coincideix amb {},
+POS Invoice is not {},La factura TPV no és {},
+POS Invoice isn't created by user {},L&#39;usuari {} no crea la factura TPV,
+Row #{}: {},Fila núm. {}: {},
+Invalid POS Invoices,Factures de TPV no vàlides,
+Please add the account to root level Company - {},Afegiu el compte a l&#39;empresa de nivell root - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","En crear un compte per a Child Company {0}, no s&#39;ha trobat el compte principal {1}. Creeu el compte principal al COA corresponent",
+Account Not Found,Compte no trobat,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","En crear un compte per a Child Company {0}, el compte principal {1} es va trobar com a compte de llibres majors.",
+Please convert the parent account in corresponding child company to a group account.,Convertiu el compte principal de l&#39;empresa secundària corresponent en un compte de grup.,
+Invalid Parent Account,Compte principal no vàlid,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Només es permet canviar el nom a través de l&#39;empresa matriu {0} per evitar desajustos.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Si {0} {1} quantitats de l&#39;article {2}, l&#39;aplicació {3} s&#39;aplicarà a l&#39;article.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Si {0} {1} valeu l&#39;article {2}, l&#39;aplicació {3} s&#39;aplicarà a l&#39;element.",
+"As the field {0} is enabled, the field {1} is mandatory.","Com que el camp {0} està habilitat, el camp {1} és obligatori.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Com que el camp {0} està habilitat, el valor del camp {1} ha de ser superior a 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"No es pot lliurar el número de sèrie {0} de l&#39;article {1}, ja que està reservat per omplir la comanda de venda {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",La comanda de vendes {0} té reserva per a l&#39;article {1}; només podeu enviar reservades {1} contra {0}.,
+{0} Serial No {1} cannot be delivered,{0} No de sèrie {1} no es pot lliurar,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Fila {0}: l&#39;element subcontractat és obligatori per a la matèria primera {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Com que hi ha prou matèries primeres, la sol·licitud de material no és necessària per a Magatzem {0}.",
+" If you still want to proceed, please enable {0}.","Si encara voleu continuar, activeu {0}.",
+The item referenced by {0} - {1} is already invoiced,L&#39;element a què fa referència {0} - {1} ja està facturat,
+Therapy Session overlaps with {0},La sessió de teràpia es coincideix amb {0},
+Therapy Sessions Overlapping,Sessions de teràpia superposades,
+Therapy Plans,Plans de teràpia,
+"Item Code, warehouse, quantity are required on row {0}","El codi de l&#39;article, el magatzem, la quantitat són obligatoris a la fila {0}",
+Get Items from Material Requests against this Supplier,Obteniu articles de sol·licituds de material contra aquest proveïdor,
+Enable European Access,Activa l&#39;accés europeu,
+Creating Purchase Order ...,S&#39;està creant una comanda de compra ...,
+"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.","Seleccioneu un proveïdor dels proveïdors predeterminats dels articles següents. En seleccionar-lo, es farà una Comanda de compra únicament contra articles pertanyents al Proveïdor seleccionat.",
+Row #{}: You must select {} serial numbers for item {}.,Fila núm. {}: Heu de seleccionar {} números de sèrie de l&#39;element {}.,
diff --git a/erpnext/translations/cs.csv b/erpnext/translations/cs.csv
index 03760a1..705e471 100644
--- a/erpnext/translations/cs.csv
+++ b/erpnext/translations/cs.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Nemůže odečíst, pokud kategorie je pro &quot;ocenění&quot; nebo &quot;Vaulation a Total&quot;",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Nelze odstranit Pořadové číslo {0}, který se používá na skladě transakcích",
 Cannot enroll more than {0} students for this student group.,Nemůže přihlásit více než {0} studentů na této studentské skupiny.,
-Cannot find Item with this barcode,Nelze najít položku s tímto čárovým kódem,
 Cannot find active Leave Period,Nelze najít aktivní období dovolené,
 Cannot produce more Item {0} than Sales Order quantity {1},Nelze produkují více položku {0} než prodejní objednávky množství {1},
 Cannot promote Employee with status Left,Zaměstnanec se stavem vlevo nelze podpořit,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Vytvářet a spravovat denní, týdenní a měsíční e-mailové digest.",
 Create customer quotes,Vytvořit citace zákazníků,
 Create rules to restrict transactions based on values.,Vytvoření pravidla pro omezení transakce na základě hodnot.,
-Created By,Vytvořeno (kým),
 Created {0} scorecards for {1} between: ,Vytvořili {0} skóre pro {1} mezi:,
 Creating Company and Importing Chart of Accounts,Vytváření firemních a importních účtů,
 Creating Fees,Vytváření poplatků,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Pro řádek {0}: Zadejte plánované množství,
 "For {0}, only credit accounts can be linked against another debit entry","Pro {0}, tak úvěrové účty mohou být propojeny na jinou položku debetní",
 "For {0}, only debit accounts can be linked against another credit entry","Pro {0}, tak debetní účty mohou být spojeny proti jinému připsání",
-Form View,Zobrazení formuláře,
 Forum Activity,Aktivita fóra,
 Free item code is not selected,Volný kód položky není vybrán,
 Freight and Forwarding Charges,Nákladní a Spediční Poplatky,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Posílat hromadné SMS vašim kontaktům,
 Sensitivity,Citlivost,
 Sent,Odesláno,
-Serial #,Serial #,
 Serial No and Batch,Pořadové číslo a Batch,
 Serial No is mandatory for Item {0},Pořadové číslo je povinná k bodu {0},
 Serial No {0} does not belong to Batch {1},Sériové číslo {0} nepatří do skupiny Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,S čím potřebuješ pomoci?,
 What does it do?,Co to dělá?,
 Where manufacturing operations are carried.,"Tam, kde jsou výrobní operace prováděny.",
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Při vytváření účtu pro podřízenou společnost {0} nebyl nadřazený účet {1} nalezen. Vytvořte prosím nadřazený účet v odpovídající COA,
 White,Bílá,
 Wire Transfer,Bankovní převod,
 WooCommerce Products,Produkty WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Sloučit s existujícím,
 Office,Kancelář,
 Orientation,Orientace,
+Parent,Nadřazeno,
 Passive,Pasivní,
 Payment Failed,Platba selhala,
 Percent,Procento,
@@ -3543,6 +3539,7 @@
 Show {0},Zobrazit {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Zvláštní znaky kromě &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; A &quot;}&quot; nejsou v názvových řadách povoleny",
 Target Details,Podrobnosti o cíli,
+{0} already has a Parent Procedure {1}.,{0} již má rodičovský postup {1}.,
 API,API,
 Annual,Roční,
 Approved,Schválený,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Datum ukončení nesmí být menší než datum zahájení,
 For Default Supplier (Optional),Výchozí dodavatel (volitelné),
 From date cannot be greater than To date,Od Datum nemůže být větší než Datum,
-Get items from,Položka získaná z,
 Group by,Seskupit podle,
 In stock,Na skladě,
 Item name,Název položky,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kvalitní cíl,
 Monitoring Frequency,Frekvence monitorování,
 Weekday,Všední den,
-January-April-July-October,Leden-duben-červenec-říjen,
-Revision and Revised On,Revize a revize dne,
-Revision,Revize,
-Revised On,Revidováno dne,
 Objectives,Cíle,
 Quality Goal Objective,Cíl kvality,
 Objective,Objektivní,
@@ -7574,7 +7566,6 @@
 Processes,Procesy,
 Quality Procedure Process,Proces řízení kvality,
 Process Description,Popis procesu,
-Child Procedure,Postup dítěte,
 Link existing Quality Procedure.,Propojte stávající postup kvality.,
 Additional Information,dodatečné informace,
 Quality Review Objective,Cíl kontroly kvality,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Doklad o koupi Trendy,
 Purchase Register,Nákup Register,
 Quotation Trends,Uvozovky Trendy,
-Quoted Item Comparison,Citoval Položka Porovnání,
 Received Items To Be Billed,"Přijaté položek, které mají být účtovány",
 Qty to Order,Množství k objednávce,
 Requested Items To Be Transferred,Požadované položky mají být převedeny,
@@ -9091,7 +9081,6 @@
 Absent Days,Chybějící dny,
 Conditions and Formula variable and example,Podmínky a proměnná vzorce a příklad,
 Feedback By,Zpětná vazba od,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.RRRR .-. MM .-. DD.-,
 Manufacturing Section,Sekce výroby,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Ve výchozím nastavení je jméno zákazníka nastaveno podle zadaného celého jména. Pokud chcete, aby zákazníci byli pojmenováni a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Při vytváření nové prodejní transakce nakonfigurujte výchozí ceník. Ceny položek budou načteny z tohoto ceníku.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Rezervovaný zůstatek,
 Uncleared Balance,Nejasný zůstatek,
 Payment related to {0} is not completed,Platba související s {0} není dokončena,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Řádek č. {}: Sériové číslo {}. {} již byl převeden do jiné POS faktury. Vyberte prosím platné sériové číslo.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Řádek č. {}: Kód položky: {} není k dispozici ve skladu {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Řádek {{}: Množství skladu nestačí pro kód položky: {} ve skladu {}. Dostupné množství {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Řádek # {}: Vyberte sériové číslo a proveďte dávku proti položce: {} nebo ji odstraňte a transakce se dokončí.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Chcete-li pokračovat, povolte možnost Povolit negativní akcie v nastavení akcií nebo vytvořte položku Stock.",
 No Inpatient Record found against patient {0},Proti pacientovi {0} nebyl nalezen záznam o hospitalizaci,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Příkaz k hospitalizaci {0} proti setkání pacientů {1} již existuje.,
+Allow In Returns,Povolit vrácení,
+Hide Unavailable Items,Skrýt nedostupné položky,
+Apply Discount on Discounted Rate,Uplatnit slevu na zlevněnou sazbu,
+Therapy Plan Template,Šablona plánu terapie,
+Fetching Template Details,Načítání podrobností šablony,
+Linked Item Details,Podrobnosti propojené položky,
+Therapy Types,Typy terapie,
+Therapy Plan Template Detail,Detail šablony plánu léčby,
+Non Conformance,Neshoda,
+Process Owner,Vlastník procesu,
+Corrective Action,Nápravné opatření,
+Preventive Action,Preventivní akce,
+Problem,Problém,
+Responsible,Odpovědný,
+Completion By,Dokončení do,
+Process Owner Full Name,Celé jméno vlastníka procesu,
+Right Index,Správný index,
+Left Index,Levý rejstřík,
+Sub Procedure,Dílčí postup,
+Passed,Prošel,
+Print Receipt,Tisk účtenky,
+Edit Receipt,Upravit potvrzení,
+Focus on search input,Zaměřte se na vstup vyhledávání,
+Focus on Item Group filter,Zaměřte se na filtr Skupiny položek,
+Checkout Order / Submit Order / New Order,Pokladna Objednávka / Odeslat objednávku / Nová objednávka,
+Add Order Discount,Přidejte slevu na objednávku,
+Item Code: {0} is not available under warehouse {1}.,Kód položky: {0} není k dispozici ve skladu {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Sériová čísla nejsou u položky {0} ve skladu {1} k dispozici. Zkuste změnit sklad.,
+Fetched only {0} available serial numbers.,Načteno pouze {0} dostupných sériových čísel.,
+Switch Between Payment Modes,Přepínání mezi režimy platby,
+Enter {0} amount.,Zadejte částku {0}.,
+You don't have enough points to redeem.,Nemáte dostatek bodů k uplatnění.,
+You can redeem upto {0}.,Můžete uplatnit až {0}.,
+Enter amount to be redeemed.,Zadejte částku k uplatnění.,
+You cannot redeem more than {0}.,Nelze uplatnit více než {0}.,
+Open Form View,Otevřete formulářové zobrazení,
+POS invoice {0} created succesfully,POS faktura {0} vytvořena úspěšně,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Skladové množství nestačí pro kód položky: {0} ve skladu {1}. Dostupné množství {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Sériové číslo: {0} již bylo převedeno do jiné faktury POS.,
+Balance Serial No,Sériové číslo zůstatku,
+Warehouse: {0} does not belong to {1},Sklad: {0} nepatří do {1},
+Please select batches for batched item {0},Vyberte dávky pro dávkovou položku {0},
+Please select quantity on row {0},Vyberte prosím množství na řádku {0},
+Please enter serial numbers for serialized item {0},Zadejte sériová čísla pro serializovanou položku {0},
+Batch {0} already selected.,Dávka {0} je již vybrána.,
+Please select a warehouse to get available quantities,"Chcete-li získat dostupná množství, vyberte sklad",
+"For transfer from source, selected quantity cannot be greater than available quantity",U přenosu ze zdroje nemůže být vybrané množství větší než dostupné množství,
+Cannot find Item with this Barcode,Nelze najít položku s tímto čárovým kódem,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} je povinné. Možná není vytvořen záznam směnárny pro {1} až {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} odeslal aktiva s ním spojená. Chcete-li vytvořit návratnost nákupu, musíte aktiva zrušit.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Tento dokument nelze zrušit, protože je propojen s odeslaným dílem {0}. Chcete-li pokračovat, zrušte jej.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Řádek {}: Sériové číslo {} již byl převeden do jiné faktury POS. Vyberte prosím platné sériové číslo.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Řádek # {}: Sériová čísla {} již byla převedena do jiné faktury POS. Vyberte prosím platné sériové číslo.,
+Item Unavailable,Zboží není k dispozici,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Řádek č. {}: Sériové číslo {} nelze vrátit, protože nebylo provedeno v původní faktuře {}",
+Please set default Cash or Bank account in Mode of Payment {},V platebním režimu nastavte výchozí hotovost nebo bankovní účet {},
+Please set default Cash or Bank account in Mode of Payments {},V platebním režimu prosím nastavte výchozí hotovostní nebo bankovní účet {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Ujistěte se, že účet {} je účet v rozvaze. Mateřský účet můžete změnit na účet v rozvaze nebo vybrat jiný účet.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Ujistěte se, že účet {} je splatným účtem. Změňte typ účtu na Splatný nebo vyberte jiný účet.",
+Row {}: Expense Head changed to {} ,Řádek {}: Hlava výdajů změněna na {},
+because account {} is not linked to warehouse {} ,protože účet {} není propojen se skladem {},
+or it is not the default inventory account,nebo to není výchozí účet inventáře,
+Expense Head Changed,Výdajová hlava změněna,
+because expense is booked against this account in Purchase Receipt {},protože výdaj je zaúčtován proti tomuto účtu v dokladu o nákupu {},
+as no Purchase Receipt is created against Item {}. ,protože u položky {} není vytvořen žádný doklad o nákupu.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"To se provádí za účelem účtování v případech, kdy je po nákupní faktuře vytvořen nákupní doklad",
+Purchase Order Required for item {},U položky {} je požadována nákupní objednávka,
+To submit the invoice without purchase order please set {} ,"Chcete-li odeslat fakturu bez objednávky, nastavte {}",
+as {} in {},jako v {},
+Mandatory Purchase Order,Povinná nákupní objednávka,
+Purchase Receipt Required for item {},U položky {} je vyžadováno potvrzení o nákupu,
+To submit the invoice without purchase receipt please set {} ,"Chcete-li odeslat fakturu bez dokladu o nákupu, nastavte {}",
+Mandatory Purchase Receipt,Povinné potvrzení o nákupu,
+POS Profile {} does not belongs to company {},POS profil {} nepatří společnosti {},
+User {} is disabled. Please select valid user/cashier,Uživatel {} je deaktivován. Vyberte prosím platného uživatele / pokladníka,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Řádek {}: Původní faktura {} ze zpáteční faktury {} je {}.,
+Original invoice should be consolidated before or along with the return invoice.,Původní faktura by měla být sloučena před nebo spolu se zpětnou fakturou.,
+You can add original invoice {} manually to proceed.,"Chcete-li pokračovat, můžete přidat původní fakturu {} ručně.",
+Please ensure {} account is a Balance Sheet account. ,"Ujistěte se, že účet {} je účet v rozvaze.",
+You can change the parent account to a Balance Sheet account or select a different account.,Mateřský účet můžete změnit na účet v rozvaze nebo vybrat jiný účet.,
+Please ensure {} account is a Receivable account. ,"Ujistěte se, že účet {} je pohledávkovým účtem.",
+Change the account type to Receivable or select a different account.,Změňte typ účtu na Přijatelné nebo vyberte jiný účet.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"Službu {} nelze zrušit, protože byly uplatněny získané věrnostní body. Nejprve zrušte {} Ne {}",
+already exists,již existuje,
+POS Closing Entry {} against {} between selected period,Uzavírací vstup POS {} proti {} mezi vybraným obdobím,
+POS Invoice is {},POS faktura je {},
+POS Profile doesn't matches {},POS profil neodpovídá {},
+POS Invoice is not {},POS faktura není {},
+POS Invoice isn't created by user {},Faktura POS není vytvořena uživatelem {},
+Row #{}: {},Řádek #{}: {},
+Invalid POS Invoices,Neplatné faktury POS,
+Please add the account to root level Company - {},Přidejte účet do společnosti na kořenové úrovni - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Při vytváření účtu pro podřízenou společnost {0} nebyl nadřazený účet {1} nalezen. Vytvořte prosím nadřazený účet v odpovídajícím certifikátu pravosti,
+Account Not Found,Účet nenalezen,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Při vytváření účtu pro podřízenou společnost {0} byl nadřazený účet {1} nalezen jako účet hlavní knihy.,
+Please convert the parent account in corresponding child company to a group account.,Převeďte prosím nadřazený účet v odpovídající podřízené společnosti na skupinový účet.,
+Invalid Parent Account,Neplatný nadřazený účet,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Přejmenování je povoleno pouze prostřednictvím mateřské společnosti {0}, aby nedošlo k nesouladu.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Pokud {0} {1} množství položky {2}, bude na položku použito schéma {3}.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Pokud {0} {1} máte hodnotu položky {2}, použije se na položku schéma {3}.",
+"As the field {0} is enabled, the field {1} is mandatory.","Protože je pole {0} povoleno, je pole {1} povinné.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Protože je pole {0} povoleno, měla by být hodnota pole {1} větší než 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Nelze doručit sériové číslo {0} položky {1}, protože je vyhrazeno k vyplnění prodejní objednávky {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Zakázka odběratele {0} má rezervaci pro položku {1}, můžete doručit pouze rezervovanou {1} proti {0}.",
+{0} Serial No {1} cannot be delivered,{0} Sériové číslo {1} nelze doručit,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Řádek {0}: Subdodavatelská položka je u suroviny povinná {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Jelikož je k dispozici dostatek surovin, není požadavek na materiál pro sklad {0} vyžadován.",
+" If you still want to proceed, please enable {0}.","Pokud přesto chcete pokračovat, povolte {0}.",
+The item referenced by {0} - {1} is already invoiced,"Položka, na kterou odkazuje {0} - {1}, je již fakturována",
+Therapy Session overlaps with {0},Terapie se překrývá s {0},
+Therapy Sessions Overlapping,Terapeutické relace se překrývají,
+Therapy Plans,Terapeutické plány,
+"Item Code, warehouse, quantity are required on row {0}","Na řádku {0} je vyžadován kód položky, sklad, množství",
+Get Items from Material Requests against this Supplier,Získejte položky z materiálových požadavků vůči tomuto dodavateli,
+Enable European Access,Povolit evropský přístup,
+Creating Purchase Order ...,Vytváření nákupní objednávky ...,
+"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.",Vyberte dodavatele z výchozích dodavatelů níže uvedených položek. Při výběru bude provedena objednávka pouze na položky patřící vybranému dodavateli.,
+Row #{}: You must select {} serial numbers for item {}.,Řádek # {}: Musíte vybrat {} sériová čísla pro položku {}.,
diff --git a/erpnext/translations/da.csv b/erpnext/translations/da.csv
index 635ca00..c0d0146 100644
--- a/erpnext/translations/da.csv
+++ b/erpnext/translations/da.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kan ikke fratrække når kategori er for &quot;Værdiansættelse&quot; eller &quot;Vaulation og Total &#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Kan ikke slette serienummer {0}, eftersom det bruges på lagertransaktioner",
 Cannot enroll more than {0} students for this student group.,Kan ikke tilmelde mere end {0} studerende til denne elevgruppe.,
-Cannot find Item with this barcode,Kan ikke finde varen med denne stregkode,
 Cannot find active Leave Period,Kan ikke finde aktiv afgangsperiode,
 Cannot produce more Item {0} than Sales Order quantity {1},Kan ikke producere mere Item {0} end Sales Order mængde {1},
 Cannot promote Employee with status Left,Kan ikke fremme medarbejder med status til venstre,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Opret og administrér de daglige, ugentlige og månedlige e-mail-nyhedsbreve.",
 Create customer quotes,Opret tilbud til kunder,
 Create rules to restrict transactions based on values.,Oprette regler til at begrænse transaktioner baseret på værdier.,
-Created By,Oprettet af,
 Created {0} scorecards for {1} between: ,Oprettet {0} scorecards for {1} mellem:,
 Creating Company and Importing Chart of Accounts,Oprettelse af firma og import af kontoplan,
 Creating Fees,Oprettelse af gebyrer,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,For række {0}: Indtast Planlagt antal,
 "For {0}, only credit accounts can be linked against another debit entry",For {0} kan kun kredit konti knyttes mod en anden debet post,
 "For {0}, only debit accounts can be linked against another credit entry",For {0} kan kun betalingskort konti knyttes mod en anden kredit post,
-Form View,Formularvisning,
 Forum Activity,Forumaktivitet,
 Free item code is not selected,Gratis varekode er ikke valgt,
 Freight and Forwarding Charges,Fragt og Forwarding Afgifter,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Send masse-SMS til dine kontakter,
 Sensitivity,Følsomhed,
 Sent,Sent,
-Serial #,Serienummer,
 Serial No and Batch,Serienummer og parti,
 Serial No is mandatory for Item {0},Serienummer er obligatorisk for vare {0},
 Serial No {0} does not belong to Batch {1},Serienummer {0} tilhører ikke Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Hvad har du brug for hjælp til?,
 What does it do?,Hvad gør det?,
 Where manufacturing operations are carried.,Hvor fremstillingsprocesser gennemføres.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Mens du opretter konto for børneselskab {0}, blev moderkonto {1} ikke fundet. Opret venligst den overordnede konto i den tilsvarende COA",
 White,hvid,
 Wire Transfer,Bankoverførsel,
 WooCommerce Products,WooCommerce-produkter,
@@ -3493,6 +3488,7 @@
 Merge with existing,Sammenlæg med eksisterende,
 Office,Kontor,
 Orientation,Orientering,
+Parent,Parent,
 Passive,Inaktiv,
 Payment Failed,Betaling mislykkedes,
 Percent,procent,
@@ -3543,6 +3539,7 @@
 Show {0},Vis {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Specialtegn undtagen &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Og &quot;}&quot; er ikke tilladt i navngivningsserier",
 Target Details,Måldetaljer,
+{0} already has a Parent Procedure {1}.,{0} har allerede en overordnet procedure {1}.,
 API,API,
 Annual,Årligt,
 Approved,godkendt,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Slutdato kan ikke være mindre end startdato,
 For Default Supplier (Optional),For standardleverandør (valgfrit),
 From date cannot be greater than To date,Fra dato ikke kan være større end til dato,
-Get items from,Hent varer fra,
 Group by,Sortér efter,
 In stock,På lager,
 Item name,Varenavn,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kvalitetsmål,
 Monitoring Frequency,Overvågningsfrekvens,
 Weekday,Ugedag,
-January-April-July-October,Januar til april juli til oktober,
-Revision and Revised On,Revision og revideret på,
-Revision,Revision,
-Revised On,Revideret den,
 Objectives,mål,
 Quality Goal Objective,Kvalitetsmål Mål,
 Objective,Objektiv,
@@ -7574,7 +7566,6 @@
 Processes,Processer,
 Quality Procedure Process,Kvalitetsprocedure,
 Process Description,Procesbeskrivelse,
-Child Procedure,Børneprocedure,
 Link existing Quality Procedure.,Kobl den eksisterende kvalitetsprocedure.,
 Additional Information,Yderligere Information,
 Quality Review Objective,Mål for kvalitetsgennemgang,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Købskvittering Tendenser,
 Purchase Register,Indkøb Register,
 Quotation Trends,Tilbud trends,
-Quoted Item Comparison,Sammenligning Citeret Vare,
 Received Items To Be Billed,Modtagne varer skal faktureres,
 Qty to Order,Antal til ordre,
 Requested Items To Be Transferred,"Anmodet Varer, der skal overføres",
@@ -9091,7 +9081,6 @@
 Absent Days,Fraværende dage,
 Conditions and Formula variable and example,Betingelser og formelvariabel og eksempel,
 Feedback By,Feedback af,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Produktionssektion,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Som standard er kundenavnet indstillet i henhold til det indtastede fulde navn. Hvis du ønsker, at kunder skal navngives af en",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,"Konfigurer standardprislisten, når du opretter en ny salgstransaktion. Varepriser hentes fra denne prisliste.",
@@ -9692,7 +9681,6 @@
 Reserved Balance,Reserveret saldo,
 Uncleared Balance,Uklart balance,
 Payment related to {0} is not completed,Betaling relateret til {0} er ikke afsluttet,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Række nr. {}: Serienr. {}. {} er allerede blevet overført til en anden POS-faktura. Vælg gyldigt serienummer.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Række nr. {}: Varekode: {} er ikke tilgængelig under lager {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Række nr. {}: Mængde på lager ikke til varekode: {} under lager {}. Tilgængelig mængde {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Række nr. {}: Vælg et serienummer og et parti mod varen: {} eller fjern det for at gennemføre transaktionen.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Aktivér Tillad negativ beholdning i lagerindstillinger, eller opret lagerindgang for at fortsætte.",
 No Inpatient Record found against patient {0},Der blev ikke fundet nogen indlæggelsesjournal over patienten {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Der findes allerede en ordre om indlæggelse af medicin {0} mod patientmøde {1}.,
+Allow In Returns,Tillad returnerer,
+Hide Unavailable Items,Skjul ikke-tilgængelige poster,
+Apply Discount on Discounted Rate,Anvend rabat på nedsat sats,
+Therapy Plan Template,Terapiplan skabelon,
+Fetching Template Details,Henter skabelondetaljer,
+Linked Item Details,Sammenkædede varedetaljer,
+Therapy Types,Terapi Typer,
+Therapy Plan Template Detail,Terapi plan skabelon detaljer,
+Non Conformance,Manglende overensstemmelse,
+Process Owner,Proces ejer,
+Corrective Action,Korrigerende handling,
+Preventive Action,Forebyggende handling,
+Problem,Problem,
+Responsible,Ansvarlig,
+Completion By,Afslutning af,
+Process Owner Full Name,Processejerens fulde navn,
+Right Index,Højre indeks,
+Left Index,Venstre indeks,
+Sub Procedure,Underprocedure,
+Passed,Bestået,
+Print Receipt,Udskriv kvittering,
+Edit Receipt,Rediger kvittering,
+Focus on search input,Fokuser på søgeinput,
+Focus on Item Group filter,Fokuser på varegruppefilter,
+Checkout Order / Submit Order / New Order,Kasseordre / Afgiv ordre / Ny ordre,
+Add Order Discount,Tilføj ordrerabat,
+Item Code: {0} is not available under warehouse {1}.,Varekode: {0} er ikke tilgængelig under lageret {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serienumre er ikke tilgængelige for vare {0} under lager {1}. Prøv at skifte lager.,
+Fetched only {0} available serial numbers.,Hentede kun {0} tilgængelige serienumre.,
+Switch Between Payment Modes,Skift mellem betalingsformer,
+Enter {0} amount.,Indtast {0} beløb.,
+You don't have enough points to redeem.,Du har ikke nok point til at indløse.,
+You can redeem upto {0}.,Du kan indløse op til {0}.,
+Enter amount to be redeemed.,"Indtast det beløb, der skal indløses.",
+You cannot redeem more than {0}.,Du kan ikke indløse mere end {0}.,
+Open Form View,Åbn formularvisning,
+POS invoice {0} created succesfully,POS-faktura {0} oprettet med succes,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Lagermængde ikke nok til varekode: {0} under lager {1}. Tilgængelig mængde {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serienr.: {0} er allerede blevet overført til en anden POS-faktura.,
+Balance Serial No,Balance Serienr,
+Warehouse: {0} does not belong to {1},Lager: {0} tilhører ikke {1},
+Please select batches for batched item {0},Vælg batcher til batchvaren {0},
+Please select quantity on row {0},Vælg antal på række {0},
+Please enter serial numbers for serialized item {0},Indtast serienumre for serienummeret {0},
+Batch {0} already selected.,Batch {0} er allerede valgt.,
+Please select a warehouse to get available quantities,Vælg et lager for at få tilgængelige mængder,
+"For transfer from source, selected quantity cannot be greater than available quantity",For overførsel fra kilde kan den valgte mængde ikke være større end den tilgængelige mængde,
+Cannot find Item with this Barcode,Kan ikke finde element med denne stregkode,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} er obligatorisk. Måske oprettes der ikke valutaudveksling for {1} til {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} har indsendt aktiver tilknyttet det. Du skal annullere aktiverne for at oprette køberetur.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Dette dokument kan ikke annulleres, da det er knyttet til det indsendte aktiv {0}. Annuller det for at fortsætte.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Række nr. {}: Serienr. {} Er allerede overført til en anden POS-faktura. Vælg gyldigt serienummer.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Række nr. {}: Serienumre. {} Er allerede blevet overført til en anden POS-faktura. Vælg gyldigt serienummer.,
+Item Unavailable,Varen er ikke tilgængelig,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Række nr. {}: Serienr. {} Kan ikke returneres, da den ikke blev behandlet i original faktura {}",
+Please set default Cash or Bank account in Mode of Payment {},Indstil standard kontanter eller bankkonto i betalingsmetode {},
+Please set default Cash or Bank account in Mode of Payments {},Angiv standard kontanter eller bankkonto i betalingsmetode {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Sørg for, at {} kontoen er en balancekonto. Du kan ændre moderkontoen til en balancekonto eller vælge en anden konto.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Sørg for, at {} kontoen er en konto, der skal betales. Skift kontotype til Betales, eller vælg en anden konto.",
+Row {}: Expense Head changed to {} ,Række {}: Omkostningshoved ændret til {},
+because account {} is not linked to warehouse {} ,fordi konto {} ikke er knyttet til lager {},
+or it is not the default inventory account,eller det er ikke standardlagerkontoen,
+Expense Head Changed,Omkostningshoved ændret,
+because expense is booked against this account in Purchase Receipt {},fordi udgift bogføres på denne konto i købskvittering {},
+as no Purchase Receipt is created against Item {}. ,da der ikke oprettes nogen købskvittering mod varen {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Dette gøres for at håndtere bogføring af tilfælde, hvor købsmodtagelse oprettes efter købsfaktura",
+Purchase Order Required for item {},Indkøbsordre påkrævet for vare {},
+To submit the invoice without purchase order please set {} ,For at indsende fakturaen uden indkøbsordre skal du angive {},
+as {} in {},som i {},
+Mandatory Purchase Order,Obligatorisk indkøbsordre,
+Purchase Receipt Required for item {},Købskvittering påkrævet for vare {},
+To submit the invoice without purchase receipt please set {} ,For at indsende fakturaen uden købskvittering skal du angive {},
+Mandatory Purchase Receipt,Obligatorisk købskvittering,
+POS Profile {} does not belongs to company {},POS-profil {} tilhører ikke firma {},
+User {} is disabled. Please select valid user/cashier,Bruger {} er deaktiveret. Vælg gyldig bruger / kasserer,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Række nr. {}: Originalfaktura {} af returfaktura {} er {}.,
+Original invoice should be consolidated before or along with the return invoice.,Originalfaktura skal konsolideres før eller sammen med returfakturaen.,
+You can add original invoice {} manually to proceed.,Du kan tilføje originalfaktura {} manuelt for at fortsætte.,
+Please ensure {} account is a Balance Sheet account. ,"Sørg for, at {} kontoen er en balancekonto.",
+You can change the parent account to a Balance Sheet account or select a different account.,Du kan ændre moderkontoen til en balancekonto eller vælge en anden konto.,
+Please ensure {} account is a Receivable account. ,"Sørg for, at {} kontoen er en konto, der kan modtages.",
+Change the account type to Receivable or select a different account.,"Skift kontotype til Modtagelig, eller vælg en anden konto.",
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} kan ikke annulleres, da de optjente loyalitetspoint er blevet indløst. Annuller først {} Nej {}",
+already exists,eksisterer allerede,
+POS Closing Entry {} against {} between selected period,POS-afslutningspost {} mod {} mellem den valgte periode,
+POS Invoice is {},POS-faktura er {},
+POS Profile doesn't matches {},POS-profil matcher ikke {},
+POS Invoice is not {},POS-faktura er ikke {},
+POS Invoice isn't created by user {},POS-faktura oprettes ikke af brugeren {},
+Row #{}: {},Række nr. {}: {},
+Invalid POS Invoices,Ugyldige POS-fakturaer,
+Please add the account to root level Company - {},Føj kontoen til rodniveau Virksomhed - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Under oprettelsen af en konto til Child Company {0} blev forældrekontoen {1} ikke fundet. Opret forældrekontoen i den tilsvarende COA,
+Account Not Found,Konto ikke fundet,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Under oprettelsen af en konto til Child Company {0} blev forældrekontoen {1} fundet som en hovedkontokonto.,
+Please convert the parent account in corresponding child company to a group account.,Konverter moderkontoen i det tilsvarende underordnede selskab til en gruppekonto.,
+Invalid Parent Account,Ugyldig moderkonto,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Omdøbning er kun tilladt via moderselskabet {0} for at undgå uoverensstemmelse.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Hvis du {0} {1} mængder af varen {2}, anvendes ordningen {3} på varen.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Hvis du {0} {1} har værdi {2}, anvendes ordningen {3} på varen.",
+"As the field {0} is enabled, the field {1} is mandatory.","Da feltet {0} er aktiveret, er feltet {1} obligatorisk.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Da feltet {0} er aktiveret, skal værdien af feltet {1} være mere end 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Kan ikke levere serienummer {0} af varen {1}, da den er forbeholdt fuldt udfyldt salgsordre {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Salgsordre {0} har reservation for varen {1}, du kan kun levere reserveret {1} mod {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serienummer {1} kan ikke leveres,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Række {0}: Vare i underentreprise er obligatorisk for råmaterialet {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Da der er tilstrækkelige råmaterialer, kræves der ikke materialeanmodning til lager {0}.",
+" If you still want to proceed, please enable {0}.","Hvis du stadig vil fortsætte, skal du aktivere {0}.",
+The item referenced by {0} - {1} is already invoiced,"Den vare, der henvises til af {0} - {1}, faktureres allerede",
+Therapy Session overlaps with {0},Terapisession overlapper med {0},
+Therapy Sessions Overlapping,Terapisessioner overlapper hinanden,
+Therapy Plans,Terapiplaner,
+"Item Code, warehouse, quantity are required on row {0}","Varekode, lager, antal kræves i række {0}",
+Get Items from Material Requests against this Supplier,Få varer fra materialeanmodninger mod denne leverandør,
+Enable European Access,Aktiver europæisk adgang,
+Creating Purchase Order ...,Opretter indkøbsordre ...,
+"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.","Vælg en leverandør fra standardleverandørerne af nedenstående varer. Ved valg foretages en indkøbsordre kun mod varer, der tilhører den valgte leverandør.",
+Row #{}: You must select {} serial numbers for item {}.,Række nr. {}: Du skal vælge {} serienumre for varen {}.,
diff --git a/erpnext/translations/de.csv b/erpnext/translations/de.csv
index 5263b46..ca03a78 100644
--- a/erpnext/translations/de.csv
+++ b/erpnext/translations/de.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Kann nicht abschreiben, wenn die Kategorie ""Bewertung"" oder ""Bewertung und Total 'ist",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Die Seriennummer {0} kann nicht gelöscht werden, da sie in Lagertransaktionen verwendet wird",
 Cannot enroll more than {0} students for this student group.,Kann nicht mehr als {0} Studenten für diese Studentengruppe einschreiben.,
-Cannot find Item with this barcode,Artikel mit diesem Barcode kann nicht gefunden werden,
 Cannot find active Leave Period,Aktive Abwesenheitszeit kann nicht gefunden werden,
 Cannot produce more Item {0} than Sales Order quantity {1},"Es können nicht mehr Artikel {0} produziert werden, als die über Kundenaufträge bestellte Stückzahl {1}",
 Cannot promote Employee with status Left,Mitarbeiter mit Status &quot;Links&quot; kann nicht gefördert werden,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Tägliche, wöchentliche und monatliche E-Mail-Berichte erstellen und verwalten",
 Create customer quotes,Kunden Angebote erstellen,
 Create rules to restrict transactions based on values.,Regeln erstellen um Transaktionen auf Basis von Werten zu beschränken,
-Created By,Erstellt von,
 Created {0} scorecards for {1} between: ,Erstellte {0} Scorecards für {1} zwischen:,
 Creating Company and Importing Chart of Accounts,Firma anlegen und Kontenplan importieren,
 Creating Fees,Gebühren anlegen,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Für Zeile {0}: Geben Sie die geplante Menge ein,
 "For {0}, only credit accounts can be linked against another debit entry",Für {0} können nur Habenkonten mit einer weiteren Sollbuchung verknüpft werden,
 "For {0}, only debit accounts can be linked against another credit entry",Für {0} können nur Sollkonten mit einer weiteren Habenbuchung verknüpft werden,
-Form View,Formularansicht,
 Forum Activity,Forum Aktivität,
 Free item code is not selected,Freier Artikelcode ist nicht ausgewählt,
 Freight and Forwarding Charges,Fracht- und Versandkosten,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Massen-SMS an Kontakte versenden,
 Sensitivity,Empfindlichkeit,
 Sent,Gesendet,
-Serial #,Serien #,
 Serial No and Batch,Seriennummer und Chargen,
 Serial No is mandatory for Item {0},Seriennummer ist für Artikel {0} zwingend erforderlich,
 Serial No {0} does not belong to Batch {1},Seriennr. {0} gehört nicht zu Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Wofür benötigen Sie Hilfe?,
 What does it do?,Unternehmenszweck,
 Where manufacturing operations are carried.,"Ort, an dem Arbeitsgänge der Fertigung ablaufen.",
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Beim Erstellen des Kontos für die untergeordnete Firma {0} wurde das übergeordnete Konto {1} nicht gefunden. Bitte erstellen Sie das übergeordnete Konto in der entsprechenden COA,
 White,Weiß,
 Wire Transfer,Überweisung,
 WooCommerce Products,WooCommerce-Produkte,
@@ -3493,6 +3488,7 @@
 Merge with existing,Mit Existierenden zusammenführen,
 Office,Büro,
 Orientation,Orientierung,
+Parent,Übergeordnetes Element,
 Passive,Passiv,
 Payment Failed,Bezahlung fehlgeschlagen,
 Percent,Prozent,
@@ -3543,6 +3539,7 @@
 Show {0},{0} anzeigen,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Sonderzeichen außer &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Und &quot;}&quot; sind bei der Benennung von Serien nicht zulässig",
 Target Details,Zieldetails,
+{0} already has a Parent Procedure {1}.,{0} hat bereits eine übergeordnete Prozedur {1}.,
 API,API,
 Annual,Jährlich,
 Approved,Genehmigt,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Das Enddatum darf nicht kleiner als das Startdatum sein,
 For Default Supplier (Optional),Für Standardlieferanten (optional),
 From date cannot be greater than To date,Das Ab-Datum kann nicht größer als das Bis-Datum sein,
-Get items from,Holen Sie Elemente aus,
 Group by,Gruppieren nach,
 In stock,Auf Lager,
 Item name,Artikelname,
@@ -7558,10 +7554,6 @@
 Quality Goal,Qualitätsziel,
 Monitoring Frequency,Überwachungsfrequenz,
 Weekday,Wochentag,
-January-April-July-October,Januar-April-Juli-Oktober,
-Revision and Revised On,Revision und Überarbeitet am,
-Revision,Revision,
-Revised On,Überarbeitet am,
 Objectives,Ziele,
 Quality Goal Objective,Qualitätsziel Ziel,
 Objective,Zielsetzung,
@@ -7574,7 +7566,6 @@
 Processes,Prozesse,
 Quality Procedure Process,Qualitätsprozess,
 Process Description,Prozessbeschreibung,
-Child Procedure,Untergeordnete Prozedur,
 Link existing Quality Procedure.,Bestehendes Qualitätsverfahren verknüpfen.,
 Additional Information,zusätzliche Information,
 Quality Review Objective,Qualitätsüberprüfungsziel,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Trendanalyse Kaufbelege,
 Purchase Register,Übersicht über Einkäufe,
 Quotation Trends,Trendanalyse Angebote,
-Quoted Item Comparison,Vergleich angebotener Artikel,
 Received Items To Be Billed,"Von Lieferanten gelieferte Artikel, die noch abgerechnet werden müssen",
 Qty to Order,Zu bestellende Menge,
 Requested Items To Be Transferred,"Angeforderte Artikel, die übertragen werden sollen",
@@ -9091,7 +9081,6 @@
 Absent Days,Abwesende Tage,
 Conditions and Formula variable and example,Bedingungen und Formelvariable und Beispiel,
 Feedback By,Feedback von,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Fertigungsabteilung,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Standardmäßig wird der Kundenname gemäß dem eingegebenen vollständigen Namen festgelegt. Wenn Sie möchten, dass Kunden von a benannt werden",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurieren Sie die Standardpreisliste beim Erstellen einer neuen Verkaufstransaktion. Artikelpreise werden aus dieser Preisliste abgerufen.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Reservierter Saldo,
 Uncleared Balance,Ungeklärtes Gleichgewicht,
 Payment related to {0} is not completed,Die Zahlung für {0} ist nicht abgeschlossen,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Zeile # {}: Seriennummer {}. {} wurde bereits in eine andere POS-Rechnung umgesetzt. Bitte wählen Sie eine gültige Seriennummer.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Zeile # {}: Artikelcode: {} ist unter Lager {} nicht verfügbar.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Zeile # {}: Lagermenge reicht nicht für Artikelcode: {} unter Lager {}. Verfügbare Anzahl {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Zeile # {}: Bitte wählen Sie eine Seriennummer und stapeln Sie sie gegen Artikel: {} oder entfernen Sie sie, um die Transaktion abzuschließen.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Bitte aktivieren Sie Negative Bestände in Bestandseinstellungen zulassen oder erstellen Sie eine Bestandserfassung, um fortzufahren.",
 No Inpatient Record found against patient {0},Keine stationäre Akte gegen Patient {0} gefunden,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Es besteht bereits eine stationäre Medikamentenanweisung {0} gegen die Patientenbegegnung {1}.,
+Allow In Returns,Rückgabe zulassen,
+Hide Unavailable Items,Nicht verfügbare Elemente ausblenden,
+Apply Discount on Discounted Rate,Wenden Sie einen Rabatt auf den ermäßigten Preis an,
+Therapy Plan Template,Therapieplanvorlage,
+Fetching Template Details,Vorlagendetails abrufen,
+Linked Item Details,Verknüpfte Artikeldetails,
+Therapy Types,Therapietypen,
+Therapy Plan Template Detail,Detail der Therapieplanvorlage,
+Non Conformance,Nichtkonformität,
+Process Owner,Prozessverantwortlicher,
+Corrective Action,Korrekturmaßnahme,
+Preventive Action,Präventivmaßnahmen,
+Problem,Problem,
+Responsible,Verantwortlich,
+Completion By,Fertigstellung durch,
+Process Owner Full Name,Vollständiger Name des Prozessinhabers,
+Right Index,Richtiger Index,
+Left Index,Linker Index,
+Sub Procedure,Unterprozedur,
+Passed,Bestanden,
+Print Receipt,Druckeingang,
+Edit Receipt,Beleg bearbeiten,
+Focus on search input,Konzentrieren Sie sich auf die Sucheingabe,
+Focus on Item Group filter,Fokus auf Artikelgruppenfilter,
+Checkout Order / Submit Order / New Order,Kaufabwicklung / Bestellung abschicken / Neue Bestellung,
+Add Order Discount,Bestellrabatt hinzufügen,
+Item Code: {0} is not available under warehouse {1}.,Artikelcode: {0} ist unter Lager {1} nicht verfügbar.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Seriennummern für Artikel {0} unter Lager {1} nicht verfügbar. Bitte versuchen Sie das Lager zu wechseln.,
+Fetched only {0} available serial numbers.,Es wurden nur {0} verfügbare Seriennummern abgerufen.,
+Switch Between Payment Modes,Zwischen Zahlungsmodi wechseln,
+Enter {0} amount.,Geben Sie den Betrag {0} ein.,
+You don't have enough points to redeem.,Sie haben nicht genug Punkte zum Einlösen.,
+You can redeem upto {0}.,Sie können bis zu {0} einlösen.,
+Enter amount to be redeemed.,Geben Sie den einzulösenden Betrag ein.,
+You cannot redeem more than {0}.,Sie können nicht mehr als {0} einlösen.,
+Open Form View,Öffnen Sie die Formularansicht,
+POS invoice {0} created succesfully,POS-Rechnung {0} erfolgreich erstellt,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Lagermenge nicht ausreichend für Artikelcode: {0} unter Lager {1}. Verfügbare Menge {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Seriennummer: {0} wurde bereits in eine andere POS-Rechnung übertragen.,
+Balance Serial No,Balance Seriennr,
+Warehouse: {0} does not belong to {1},Lager: {0} gehört nicht zu {1},
+Please select batches for batched item {0},Bitte wählen Sie Chargen für Chargenartikel {0} aus,
+Please select quantity on row {0},Bitte wählen Sie die Menge in Zeile {0},
+Please enter serial numbers for serialized item {0},Bitte geben Sie die Seriennummern für den serialisierten Artikel {0} ein.,
+Batch {0} already selected.,Stapel {0} bereits ausgewählt.,
+Please select a warehouse to get available quantities,"Bitte wählen Sie ein Lager aus, um verfügbare Mengen zu erhalten",
+"For transfer from source, selected quantity cannot be greater than available quantity",Bei der Übertragung von der Quelle darf die ausgewählte Menge nicht größer als die verfügbare Menge sein,
+Cannot find Item with this Barcode,Artikel mit diesem Barcode kann nicht gefunden werden,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} ist obligatorisch. Möglicherweise wird kein Währungsumtauschdatensatz für {1} bis {2} erstellt.,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} hat damit verknüpfte Assets eingereicht. Sie müssen die Assets stornieren, um eine Kaufrendite zu erstellen.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Dieses Dokument kann nicht storniert werden, da es mit dem übermittelten Asset {0} verknüpft ist. Bitte stornieren Sie es, um fortzufahren.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Zeile # {}: Seriennummer {} wurde bereits in eine andere POS-Rechnung übertragen. Bitte wählen Sie eine gültige Seriennummer.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Zeile # {}: Seriennummern. {} Wurde bereits in eine andere POS-Rechnung übertragen. Bitte wählen Sie eine gültige Seriennummer.,
+Item Unavailable,Artikel nicht verfügbar,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Zeile # {}: Seriennummer {} kann nicht zurückgegeben werden, da sie nicht in der Originalrechnung {} abgewickelt wurde",
+Please set default Cash or Bank account in Mode of Payment {},Bitte setzen Sie das Standard-Bargeld- oder Bankkonto im Zahlungsmodus {},
+Please set default Cash or Bank account in Mode of Payments {},Bitte setzen Sie das Standard-Bargeld- oder Bankkonto im Zahlungsmodus {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Bitte stellen Sie sicher, dass das Konto {} ein Bilanzkonto ist. Sie können das übergeordnete Konto in ein Bilanzkonto ändern oder ein anderes Konto auswählen.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Bitte stellen Sie sicher, dass das Konto {} ein zahlbares Konto ist. Ändern Sie den Kontotyp in &quot;Verbindlichkeiten&quot; oder wählen Sie ein anderes Konto aus.",
+Row {}: Expense Head changed to {} ,Zeile {}: Ausgabenkopf geändert in {},
+because account {} is not linked to warehouse {} ,weil das Konto {} nicht mit dem Lager {} verknüpft ist,
+or it is not the default inventory account,oder es ist nicht das Standard-Inventarkonto,
+Expense Head Changed,Ausgabenkopf geändert,
+because expense is booked against this account in Purchase Receipt {},weil die Kosten für dieses Konto im Kaufbeleg {} gebucht werden,
+as no Purchase Receipt is created against Item {}. ,da für Artikel {} kein Kaufbeleg erstellt wird.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Dies erfolgt zur Abrechnung von Fällen, in denen der Kaufbeleg nach der Kaufrechnung erstellt wird",
+Purchase Order Required for item {},Bestellung erforderlich für Artikel {},
+To submit the invoice without purchase order please set {} ,"Um die Rechnung ohne Bestellung einzureichen, setzen Sie bitte {}",
+as {} in {},wie in {},
+Mandatory Purchase Order,Obligatorische Bestellung,
+Purchase Receipt Required for item {},Kaufbeleg für Artikel {} erforderlich,
+To submit the invoice without purchase receipt please set {} ,"Um die Rechnung ohne Kaufbeleg einzureichen, setzen Sie bitte {}",
+Mandatory Purchase Receipt,Obligatorischer Kaufbeleg,
+POS Profile {} does not belongs to company {},Das POS-Profil {} gehört nicht zur Firma {},
+User {} is disabled. Please select valid user/cashier,Benutzer {} ist deaktiviert. Bitte wählen Sie einen gültigen Benutzer / Kassierer aus,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Zeile # {}: Die Originalrechnung {} der Rücksenderechnung {} ist {}.,
+Original invoice should be consolidated before or along with the return invoice.,Die Originalrechnung sollte vor oder zusammen mit der Rückrechnung konsolidiert werden.,
+You can add original invoice {} manually to proceed.,"Sie können die Originalrechnung {} manuell hinzufügen, um fortzufahren.",
+Please ensure {} account is a Balance Sheet account. ,"Bitte stellen Sie sicher, dass das Konto {} ein Bilanzkonto ist.",
+You can change the parent account to a Balance Sheet account or select a different account.,Sie können das übergeordnete Konto in ein Bilanzkonto ändern oder ein anderes Konto auswählen.,
+Please ensure {} account is a Receivable account. ,"Bitte stellen Sie sicher, dass das Konto {} ein Forderungskonto ist.",
+Change the account type to Receivable or select a different account.,Ändern Sie den Kontotyp in &quot;Forderung&quot; oder wählen Sie ein anderes Konto aus.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} kann nicht storniert werden, da die gesammelten Treuepunkte eingelöst wurden. Brechen Sie zuerst das {} Nein {} ab",
+already exists,ist bereits vorhanden,
+POS Closing Entry {} against {} between selected period,POS Closing Entry {} gegen {} zwischen dem ausgewählten Zeitraum,
+POS Invoice is {},POS-Rechnung ist {},
+POS Profile doesn't matches {},POS-Profil stimmt nicht mit {} überein,
+POS Invoice is not {},POS-Rechnung ist nicht {},
+POS Invoice isn't created by user {},Die POS-Rechnung wird nicht vom Benutzer {} erstellt,
+Row #{}: {},Reihe #{}: {},
+Invalid POS Invoices,Ungültige POS-Rechnungen,
+Please add the account to root level Company - {},Bitte fügen Sie das Konto der Root-Ebene Company - {} hinzu,
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Beim Erstellen eines Kontos für die untergeordnete Firma {0} wurde das übergeordnete Konto {1} nicht gefunden. Bitte erstellen Sie das übergeordnete Konto in der entsprechenden COA,
+Account Not Found,Konto nicht gefunden,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Beim Erstellen eines Kontos für die untergeordnete Firma {0} wurde das übergeordnete Konto {1} als Sachkonto gefunden.,
+Please convert the parent account in corresponding child company to a group account.,Bitte konvertieren Sie das Elternkonto in der entsprechenden Kinderfirma in ein Gruppenkonto.,
+Invalid Parent Account,Ungültiges übergeordnetes Konto,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Das Umbenennen ist nur über die Muttergesellschaft {0} zulässig, um Fehlanpassungen zu vermeiden.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Wenn Sie {0} {1} Mengen des Artikels {2} haben, wird das Schema {3} auf den Artikel angewendet.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Wenn Sie {0} {1} Gegenstand {2} wert sind, wird das Schema {3} auf den Gegenstand angewendet.",
+"As the field {0} is enabled, the field {1} is mandatory.","Da das Feld {0} aktiviert ist, ist das Feld {1} obligatorisch.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Wenn das Feld {0} aktiviert ist, sollte der Wert des Feldes {1} größer als 1 sein.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Die Seriennummer {0} von Artikel {1} kann nicht geliefert werden, da sie für die Erfüllung des Kundenauftrags {2} reserviert ist.",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Kundenauftrag {0} hat eine Reservierung für den Artikel {1}, Sie können reservierte {1} nur gegen {0} liefern.",
+{0} Serial No {1} cannot be delivered,{0} Seriennummer {1} kann nicht zugestellt werden,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Zeile {0}: Unterauftragsartikel sind für den Rohstoff {1} obligatorisch.,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Da genügend Rohstoffe vorhanden sind, ist für Warehouse {0} keine Materialanforderung erforderlich.",
+" If you still want to proceed, please enable {0}.","Wenn Sie dennoch fortfahren möchten, aktivieren Sie bitte {0}.",
+The item referenced by {0} - {1} is already invoiced,"Der Artikel, auf den {0} - {1} verweist, wird bereits in Rechnung gestellt",
+Therapy Session overlaps with {0},Die Therapiesitzung überschneidet sich mit {0},
+Therapy Sessions Overlapping,Überlappende Therapiesitzungen,
+Therapy Plans,Therapiepläne,
+"Item Code, warehouse, quantity are required on row {0}","Artikelcode, Lager, Menge sind in Zeile {0} erforderlich.",
+Get Items from Material Requests against this Supplier,Erhalten Sie Artikel aus Materialanfragen gegen diesen Lieferanten,
+Enable European Access,Ermöglichen Sie den europäischen Zugang,
+Creating Purchase Order ...,Bestellung anlegen ...,
+"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.","Wählen Sie einen Lieferanten aus den Standardlieferanten der folgenden Artikel aus. Bei der Auswahl erfolgt eine Bestellung nur für Artikel, die dem ausgewählten Lieferanten gehören.",
+Row #{}: You must select {} serial numbers for item {}.,Zeile # {}: Sie müssen {} Seriennummern für Artikel {} auswählen.,
diff --git a/erpnext/translations/el.csv b/erpnext/translations/el.csv
index 5d45f0a..acf5db5 100644
--- a/erpnext/translations/el.csv
+++ b/erpnext/translations/el.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',δεν μπορεί να εκπέσει όταν η κατηγορία είναι για την «Αποτίμηση» ή «Vaulation και Total»,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Δεν μπορείτε να διαγράψετε Αύξων αριθμός {0}, όπως χρησιμοποιείται στις συναλλαγές μετοχών",
 Cannot enroll more than {0} students for this student group.,Δεν μπορούν να εγγραφούν περισσότερες από {0} μαθητές για αυτή την ομάδα των σπουδαστών.,
-Cannot find Item with this barcode,Δεν είναι δυνατή η εύρεση αντικειμένου με αυτόν τον γραμμωτό κώδικα,
 Cannot find active Leave Period,Δεν είναι δυνατή η εύρεση ενεργής περιόδου άδειας,
 Cannot produce more Item {0} than Sales Order quantity {1},Δεν γίνεται να παραχθούν είδη {0} περισσότερα από την ποσότητα παραγγελίας πώλησης {1},
 Cannot promote Employee with status Left,Δεν είναι δυνατή η προώθηση του υπαλλήλου με κατάσταση αριστερά,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Δημιουργία και διαχείριση ημερησίων, εβδομαδιαίων και μηνιαίων ενημερώσεν email.",
 Create customer quotes,Δημιουργία εισαγωγικά πελατών,
 Create rules to restrict transactions based on values.,Δημιουργία κανόνων για τον περιορισμό των συναλλαγών που βασίζονται σε αξίες.,
-Created By,Δημιουργήθηκε από,
 Created {0} scorecards for {1} between: ,Δημιουργήθηκαν {0} scorecards για {1} μεταξύ:,
 Creating Company and Importing Chart of Accounts,Δημιουργία Εταιρείας και Εισαγωγή Λογαριασμού,
 Creating Fees,Δημιουργία τελών,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Για τη σειρά {0}: Εισάγετε προγραμματισμένη ποσότητα,
 "For {0}, only credit accounts can be linked against another debit entry","Για {0}, μόνο πιστωτικοί λογαριασμοί μπορούν να συνδέονται με άλλες καταχωρήσεις χρέωσης",
 "For {0}, only debit accounts can be linked against another credit entry","Για {0}, μόνο χρεωστικοί λογαριασμοί μπορούν να συνδέονται με άλλες καταχωρήσεις πίστωσης",
-Form View,Προβολή μορφής,
 Forum Activity,Δραστηριότητα Forum,
 Free item code is not selected,Ο ελεύθερος κωδικός είδους δεν έχει επιλεγεί,
 Freight and Forwarding Charges,Χρεώσεις μεταφοράς και προώθησης,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Αποστολή μαζικών SMS στις επαφές σας,
 Sensitivity,Ευαισθησία,
 Sent,Εστάλη,
-Serial #,Σειριακός αριθμός #,
 Serial No and Batch,Αύξων αριθμός παρτίδας και,
 Serial No is mandatory for Item {0},Ο σειριακός αριθμός είναι απαραίτητος για το είδος {0},
 Serial No {0} does not belong to Batch {1},Ο αριθμός σειράς {0} δεν ανήκει στην Παρτίδα {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Σε τι χρειάζεσαι βοήθεια?,
 What does it do?,Τι κάνει;,
 Where manufacturing operations are carried.,Που γίνονται οι μεταποιητικές εργασίες,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Κατά τη δημιουργία λογαριασμού για την εταιρεία {0} παιδιού, ο γονικός λογαριασμός {1} δεν βρέθηκε. Δημιουργήστε το γονικό λογαριασμό σε αντίστοιχο COA",
 White,λευκό,
 Wire Transfer,Μεταφορά καλωδίων,
 WooCommerce Products,Προϊόντα WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Συγχώνευση με τις υπάρχουσες,
 Office,Γραφείο,
 Orientation,Προσανατολισμός,
+Parent,Γονέας,
 Passive,Αδρανής,
 Payment Failed,Η πληρωμή απέτυχε,
 Percent,Τοις εκατό,
@@ -3543,6 +3539,7 @@
 Show {0},Εμφάνιση {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Ειδικοί χαρακτήρες εκτός από &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;&quot; Και &quot;}&quot; δεν επιτρέπονται στη σειρά ονομασίας",
 Target Details,Στοιχεία στόχου,
+{0} already has a Parent Procedure {1}.,{0} έχει ήδη μια διαδικασία γονέα {1}.,
 API,API,
 Annual,Ετήσιος,
 Approved,Εγκρίθηκε,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Η ημερομηνία λήξης δεν μπορεί να είναι προγενέστερη της ημερομηνίας έναρξης,
 For Default Supplier (Optional),Για προεπιλεγμένο προμηθευτή (προαιρετικό),
 From date cannot be greater than To date,Από την ημερομηνία αυτή δεν μπορεί να είναι μεταγενέστερη από την έως ημερομηνία,
-Get items from,Πάρτε τα στοιχεία από,
 Group by,Ομαδοποίηση κατά,
 In stock,Σε απόθεμα,
 Item name,Όνομα είδους,
@@ -7558,10 +7554,6 @@
 Quality Goal,Στόχος ποιότητας,
 Monitoring Frequency,Συχνότητα παρακολούθησης,
 Weekday,Καθημερινή,
-January-April-July-October,Ιανουάριος-Απρίλιος-Ιούλιος-Οκτώβριος,
-Revision and Revised On,Αναθεώρηση και αναθεωρήθηκε στις,
-Revision,Αναθεώρηση,
-Revised On,Αναθεωρημένη On,
 Objectives,Στόχοι,
 Quality Goal Objective,Στόχος στόχου ποιότητας,
 Objective,Σκοπός,
@@ -7574,7 +7566,6 @@
 Processes,Διαδικασίες,
 Quality Procedure Process,Διαδικασία ποιοτικής διαδικασίας,
 Process Description,Περιγραφή διαδικασίας,
-Child Procedure,Διαδικασία παιδιού,
 Link existing Quality Procedure.,Συνδέστε την υφιστάμενη διαδικασία ποιότητας.,
 Additional Information,Επιπλέον πληροφορίες,
 Quality Review Objective,Στόχος αναθεώρησης της ποιότητας,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Τάσεις αποδεικτικού παραλαβής αγοράς,
 Purchase Register,Ταμείο αγορών,
 Quotation Trends,Τάσεις προσφορών,
-Quoted Item Comparison,Εισηγμένες Στοιχείο Σύγκριση,
 Received Items To Be Billed,Είδη που παραλήφθηκαν και πρέπει να τιμολογηθούν,
 Qty to Order,Ποσότητα για παραγγελία,
 Requested Items To Be Transferred,Είδη που ζητήθηκε να μεταφερθούν,
@@ -9091,7 +9081,6 @@
 Absent Days,Απόντες ημέρες,
 Conditions and Formula variable and example,Συνθήκες και μεταβλητή τύπου και παράδειγμα,
 Feedback By,Σχόλια από,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Τμήμα κατασκευής,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Από προεπιλογή, το όνομα πελάτη ορίζεται σύμφωνα με το πλήρες όνομα που έχει εισαχθεί. Εάν θέλετε οι πελάτες να ονομάζονται από ένα",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Διαμορφώστε την προεπιλεγμένη λίστα τιμών κατά τη δημιουργία μιας νέας συναλλαγής πωλήσεων. Οι τιμές των αντικειμένων θα ληφθούν από αυτόν τον τιμοκατάλογο.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Διατηρημένο Υπόλοιπο,
 Uncleared Balance,Ακαθάριστο Υπόλοιπο,
 Payment related to {0} is not completed,Η πληρωμή που σχετίζεται με το {0} δεν έχει ολοκληρωθεί,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Σειρά # {}: Σειριακός αριθμός {}. Το {} έχει ήδη πραγματοποιηθεί συναλλαγή σε άλλο τιμολόγιο POS. Επιλέξτε έγκυρο αύξοντα αριθμό.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Σειρά # {}: Κωδικός είδους: {} δεν είναι διαθέσιμος στην αποθήκη {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Σειρά # {}: Η ποσότητα του αποθέματος δεν επαρκεί για τον κωδικό είδους: {} κάτω από την αποθήκη {}. Διαθέσιμη ποσότητα {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Σειρά # {}: Επιλέξτε ένα σειριακό αριθμό και παρτίδα έναντι αντικειμένου: {} ή αφαιρέστε το για να ολοκληρώσετε τη συναλλαγή.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Ενεργοποιήστε το Allow Negative Stock σε Stock Settings ή δημιουργήστε Stock Entry για να συνεχίσετε.,
 No Inpatient Record found against patient {0},Δεν βρέθηκε αρχείο εσωτερικών ασθενών κατά του ασθενούς {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Υπάρχει ήδη μια Εντολή Φαρμάκων Ενδονοσοκομειακών Θεμάτων {0} εναντίον Ασθενών {1}.,
+Allow In Returns,Να επιτρέπεται η επιστροφή,
+Hide Unavailable Items,Απόκρυψη μη διαθέσιμων στοιχείων,
+Apply Discount on Discounted Rate,Εφαρμόστε έκπτωση σε μειωμένη τιμή,
+Therapy Plan Template,Πρότυπο σχεδίου θεραπείας,
+Fetching Template Details,Λήψη λεπτομερειών προτύπου,
+Linked Item Details,Λεπτομέρειες συνδεδεμένου στοιχείου,
+Therapy Types,Τύποι θεραπείας,
+Therapy Plan Template Detail,Λεπτομέρεια προτύπου σχεδίου θεραπείας,
+Non Conformance,Μη συμμόρφωση,
+Process Owner,Κάτοχος διαδικασίας,
+Corrective Action,Διορθωτικά μέτρα,
+Preventive Action,Προληπτική δράση,
+Problem,Πρόβλημα,
+Responsible,Υπεύθυνος,
+Completion By,Ολοκλήρωση από,
+Process Owner Full Name,Πλήρες όνομα κατόχου διαδικασίας,
+Right Index,Δεξί ευρετήριο,
+Left Index,Αριστερός δείκτης,
+Sub Procedure,Υπο διαδικασία,
+Passed,Πέρασε,
+Print Receipt,Εκτύπωση απόδειξης,
+Edit Receipt,Επεξεργασία απόδειξης,
+Focus on search input,Εστίαση στην είσοδο αναζήτησης,
+Focus on Item Group filter,Εστίαση στο φίλτρο ομάδας στοιχείων,
+Checkout Order / Submit Order / New Order,Παραγγελία Παραγγελίας / Υποβολή Παραγγελίας / Νέα Παραγγελία,
+Add Order Discount,Προσθήκη έκπτωσης παραγγελίας,
+Item Code: {0} is not available under warehouse {1}.,Κωδικός είδους: {0} δεν είναι διαθέσιμο στην αποθήκη {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Οι σειριακοί αριθμοί δεν είναι διαθέσιμοι για το στοιχείο {0} υπό αποθήκη {1}. Δοκιμάστε να αλλάξετε την αποθήκη.,
+Fetched only {0} available serial numbers.,Λήψη μόνο {0} διαθέσιμων σειριακών αριθμών.,
+Switch Between Payment Modes,Εναλλαγή μεταξύ τρόπων πληρωμής,
+Enter {0} amount.,Εισαγάγετε το ποσό {0}.,
+You don't have enough points to redeem.,Δεν έχετε αρκετούς πόντους για εξαργύρωση.,
+You can redeem upto {0}.,Μπορείτε να εξαργυρώσετε έως και {0}.,
+Enter amount to be redeemed.,Εισαγάγετε το ποσό που θα εξαργυρωθεί.,
+You cannot redeem more than {0}.,Δεν μπορείτε να εξαργυρώσετε περισσότερα από {0}.,
+Open Form View,Άνοιγμα προβολής φόρμας,
+POS invoice {0} created succesfully,Το τιμολόγιο POS {0} δημιουργήθηκε με επιτυχία,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Η ποσότητα αποθεμάτων δεν επαρκεί για τον κωδικό είδους: {0} υπό αποθήκη {1}. Διαθέσιμη ποσότητα {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Σειριακός αριθμός: Το {0} έχει ήδη πραγματοποιηθεί συναλλαγή σε άλλο τιμολόγιο POS.,
+Balance Serial No,Υπόλοιπος αριθμός σειράς,
+Warehouse: {0} does not belong to {1},Αποθήκη: {0} δεν ανήκει στο {1},
+Please select batches for batched item {0},Επιλέξτε παρτίδες για παρτίδες {0},
+Please select quantity on row {0},Επιλέξτε ποσότητα στη σειρά {0},
+Please enter serial numbers for serialized item {0},Εισαγάγετε σειριακούς αριθμούς για σειριακό στοιχείο {0},
+Batch {0} already selected.,Η παρτίδα {0} έχει ήδη επιλεγεί.,
+Please select a warehouse to get available quantities,Επιλέξτε αποθήκη για να λάβετε διαθέσιμες ποσότητες,
+"For transfer from source, selected quantity cannot be greater than available quantity","Για μεταφορά από την πηγή, η επιλεγμένη ποσότητα δεν μπορεί να είναι μεγαλύτερη από τη διαθέσιμη ποσότητα",
+Cannot find Item with this Barcode,Δεν είναι δυνατή η εύρεση αντικειμένου με αυτόν τον γραμμικό κώδικα,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},Το {0} είναι υποχρεωτικό. Ίσως η εγγραφή συναλλάγματος δεν έχει δημιουργηθεί για {1} έως {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,Ο χρήστης {} έχει υποβάλει στοιχεία που συνδέονται με αυτό. Πρέπει να ακυρώσετε τα στοιχεία για να δημιουργήσετε επιστροφή αγοράς.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Δεν είναι δυνατή η ακύρωση αυτού του εγγράφου καθώς συνδέεται με το υποβληθέν στοιχείο {0}. Ακυρώστε το για να συνεχίσετε.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Σειρά # {}: Ο αριθμός σειράς {} έχει ήδη πραγματοποιηθεί συναλλαγή σε άλλο τιμολόγιο POS. Επιλέξτε έγκυρο αύξοντα αριθμό.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Σειρά # {}: Οι σειριακοί αριθμοί. {} Έχουν ήδη πραγματοποιηθεί συναλλαγές σε άλλο τιμολόγιο POS. Επιλέξτε έγκυρο αύξοντα αριθμό.,
+Item Unavailable,Το στοιχείο δεν είναι διαθέσιμο,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Σειρά # {}: Ο αριθμός σειράς {} δεν μπορεί να επιστραφεί επειδή δεν πραγματοποιήθηκε συναλλαγή στο αρχικό τιμολόγιο {},
+Please set default Cash or Bank account in Mode of Payment {},Ορίστε τον προεπιλεγμένο μετρητά ή τραπεζικό λογαριασμό στον τρόπο πληρωμής {},
+Please set default Cash or Bank account in Mode of Payments {},Ορίστε τον προεπιλεγμένο μετρητά ή τον τραπεζικό λογαριασμό στη λειτουργία πληρωμής {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Βεβαιωθείτε ότι ο λογαριασμός {} είναι λογαριασμός ισολογισμού. Μπορείτε να αλλάξετε τον γονικό λογαριασμό σε λογαριασμό Ισολογισμού ή να επιλέξετε διαφορετικό λογαριασμό.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Βεβαιωθείτε ότι ο λογαριασμός {} είναι λογαριασμός πληρωτέος. Αλλάξτε τον τύπο λογαριασμού σε Πληρωτέο ή επιλέξτε διαφορετικό λογαριασμό.,
+Row {}: Expense Head changed to {} ,Σειρά {}: Η κεφαλή εξόδων άλλαξε σε {},
+because account {} is not linked to warehouse {} ,επειδή ο λογαριασμός {} δεν είναι συνδεδεμένος με αποθήκη {},
+or it is not the default inventory account,ή δεν είναι ο προεπιλεγμένος λογαριασμός αποθέματος,
+Expense Head Changed,Η κεφαλή εξόδων άλλαξε,
+because expense is booked against this account in Purchase Receipt {},επειδή τα έξοδα καταγράφονται σε αυτόν τον λογαριασμό στην απόδειξη αγοράς {},
+as no Purchase Receipt is created against Item {}. ,καθώς δεν δημιουργείται απόδειξη αγοράς έναντι αντικειμένου {},
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Αυτό γίνεται για τον χειρισμό της λογιστικής για περιπτώσεις στις οποίες δημιουργείται απόδειξη αγοράς μετά το τιμολόγιο αγοράς,
+Purchase Order Required for item {},Απαιτείται παραγγελία αγοράς για το στοιχείο {},
+To submit the invoice without purchase order please set {} ,"Για να υποβάλετε το τιμολόγιο χωρίς εντολή αγοράς, ορίστε {}",
+as {} in {},όπως λέμε {},
+Mandatory Purchase Order,Υποχρεωτική εντολή αγοράς,
+Purchase Receipt Required for item {},Απαιτείται απόδειξη αγοράς για το στοιχείο {},
+To submit the invoice without purchase receipt please set {} ,"Για να υποβάλετε το τιμολόγιο χωρίς απόδειξη αγοράς, ορίστε {}",
+Mandatory Purchase Receipt,Υποχρεωτική απόδειξη αγοράς,
+POS Profile {} does not belongs to company {},Το προφίλ POS {} δεν ανήκει στην εταιρεία {},
+User {} is disabled. Please select valid user/cashier,Ο χρήστης {} είναι απενεργοποιημένος. Επιλέξτε έγκυρο χρήστη / ταμία,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Σειρά # {}: Το αρχικό τιμολόγιο {} του τιμολογίου επιστροφής {} είναι {}.,
+Original invoice should be consolidated before or along with the return invoice.,Το αρχικό τιμολόγιο πρέπει να ενοποιείται πριν ή μαζί με το τιμολόγιο επιστροφής.,
+You can add original invoice {} manually to proceed.,Μπορείτε να προσθέσετε το αρχικό τιμολόγιο {} μη αυτόματα για να συνεχίσετε.,
+Please ensure {} account is a Balance Sheet account. ,Βεβαιωθείτε ότι ο λογαριασμός {} είναι λογαριασμός ισολογισμού.,
+You can change the parent account to a Balance Sheet account or select a different account.,Μπορείτε να αλλάξετε τον γονικό λογαριασμό σε λογαριασμό Ισολογισμού ή να επιλέξετε διαφορετικό λογαριασμό.,
+Please ensure {} account is a Receivable account. ,Βεβαιωθείτε ότι ο λογαριασμός {} είναι λογαριασμός εισπρακτέος.,
+Change the account type to Receivable or select a different account.,Αλλάξτε τον τύπο λογαριασμού σε Εισπρακτέο ή επιλέξτε διαφορετικό λογαριασμό.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},Το {} δεν μπορεί να ακυρωθεί αφού εξαργυρωθούν οι πόντοι επιβράβευσης που αποκτήθηκαν. Πρώτα ακυρώστε το {} Όχι {},
+already exists,υπάρχει ήδη,
+POS Closing Entry {} against {} between selected period,POS Κλείσιμο καταχώρισης {} εναντίον {} μεταξύ της επιλεγμένης περιόδου,
+POS Invoice is {},Το τιμολόγιο POS είναι {},
+POS Profile doesn't matches {},Το προφίλ POS δεν ταιριάζει {},
+POS Invoice is not {},Το τιμολόγιο POS δεν είναι {},
+POS Invoice isn't created by user {},Το τιμολόγιο POS δεν έχει δημιουργηθεί από τον χρήστη {},
+Row #{}: {},Σειρά # {}: {},
+Invalid POS Invoices,Μη έγκυρα τιμολόγια POS,
+Please add the account to root level Company - {},Προσθέστε τον λογαριασμό στο ριζικό επίπεδο Εταιρεία - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Κατά τη δημιουργία λογαριασμού για την θυγατρική εταιρεία {0}, ο γονικός λογαριασμός {1} δεν βρέθηκε. Δημιουργήστε τον γονικό λογαριασμό στο αντίστοιχο COA",
+Account Not Found,Ο λογαριασμός δεν βρέθηκε,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Κατά τη δημιουργία λογαριασμού για την θυγατρική εταιρεία {0}, ο γονικός λογαριασμός {1} βρέθηκε ως λογαριασμός καθολικού.",
+Please convert the parent account in corresponding child company to a group account.,Μετατρέψτε τον γονικό λογαριασμό στην αντίστοιχη θυγατρική εταιρεία σε λογαριασμό ομάδας.,
+Invalid Parent Account,Μη έγκυρος γονικός λογαριασμός,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Η μετονομασία επιτρέπεται μόνο μέσω της μητρικής εταιρείας {0}, για την αποφυγή αναντιστοιχίας.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Εάν {0} {1} ποσότητες του αντικειμένου {2}, το σχήμα {3} θα εφαρμοστεί στο στοιχείο.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Εάν {0} {1} αξίζετε το στοιχείο {2}, το σχήμα {3} θα εφαρμοστεί στο στοιχείο.",
+"As the field {0} is enabled, the field {1} is mandatory.","Καθώς το πεδίο {0} είναι ενεργοποιημένο, το πεδίο {1} είναι υποχρεωτικό.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Καθώς το πεδίο {0} είναι ενεργοποιημένο, η τιμή του πεδίου {1} θα πρέπει να είναι μεγαλύτερη από 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Δεν είναι δυνατή η παράδοση του σειριακού αριθμού {0} του στοιχείου {1}, καθώς προορίζεται για την πλήρωση της παραγγελίας πωλήσεων {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Η παραγγελία πωλήσεων {0} έχει κράτηση για το αντικείμενο {1}, μπορείτε να παραδώσετε μόνο την κράτηση {1} έναντι {0}.",
+{0} Serial No {1} cannot be delivered,Δεν είναι δυνατή η παράδοση του {0} σειριακού αριθμού {1},
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Σειρά {0}: Το αντικείμενο υπεργολαβίας είναι υποχρεωτικό για την πρώτη ύλη {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Δεδομένου ότι υπάρχουν επαρκείς πρώτες ύλες, δεν απαιτείται αίτημα υλικού για αποθήκη {0}.",
+" If you still want to proceed, please enable {0}.","Εάν εξακολουθείτε να θέλετε να συνεχίσετε, ενεργοποιήστε το {0}.",
+The item referenced by {0} - {1} is already invoiced,Το στοιχείο που αναφέρεται από {0} - {1} έχει ήδη τιμολογηθεί,
+Therapy Session overlaps with {0},Η συνεδρία θεραπείας αλληλεπικαλύπτεται με {0},
+Therapy Sessions Overlapping,Συνεδρίες συνεδρίας,
+Therapy Plans,Σχέδια θεραπείας,
+"Item Code, warehouse, quantity are required on row {0}","Κωδικός είδους, αποθήκη, ποσότητα απαιτείται στη σειρά {0}",
+Get Items from Material Requests against this Supplier,Λάβετε στοιχεία από αιτήματα υλικών έναντι αυτού του προμηθευτή,
+Enable European Access,Ενεργοποίηση ευρωπαϊκής πρόσβασης,
+Creating Purchase Order ...,Δημιουργία παραγγελίας αγοράς ...,
+"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.","Επιλέξτε έναν προμηθευτή από τους προεπιλεγμένους προμηθευτές των παρακάτω στοιχείων. Κατά την επιλογή, μια εντολή αγοράς θα πραγματοποιείται έναντι αντικειμένων που ανήκουν στον επιλεγμένο Προμηθευτή μόνο.",
+Row #{}: You must select {} serial numbers for item {}.,Σειρά # {}: Πρέπει να επιλέξετε {} σειριακούς αριθμούς για το στοιχείο {}.,
diff --git a/erpnext/translations/es.csv b/erpnext/translations/es.csv
index a76643a..0f2259d 100644
--- a/erpnext/translations/es.csv
+++ b/erpnext/translations/es.csv
@@ -117,7 +117,7 @@
 Add Items,Añadir los artículos,
 Add Leads,Añadir Prospectos,
 Add Multiple Tasks,Agregar Tareas Múltiples,
-Add Row,Añadir fila,
+Add Row,Añadir Fila,
 Add Sales Partners,Añadir socios de ventas,
 Add Serial No,Agregar No. de serie,
 Add Students,Añadir estudiantes,
@@ -421,7 +421,7 @@
 Bundle items at time of sale.,Agrupe elementos al momento de la venta.,
 Business Development Manager,Gerente de Desarrollo de Negocios,
 Buy,Comprar,
-Buying,Comprando,
+Buying,Compras,
 Buying Amount,Importe de compra,
 Buying Price List,Lista de precios de compra,
 Buying Rate,Tipo de Cambio de Compra,
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"No se puede deducir cuando la categoría es 'de Valoración ""o"" Vaulation y Total'",
 "Cannot delete Serial No {0}, as it is used in stock transactions","No se puede eliminar el No. de serie {0}, ya que esta siendo utilizado en transacciones de stock",
 Cannot enroll more than {0} students for this student group.,No se puede inscribir más de {0} estudiantes para este grupo de estudiantes.,
-Cannot find Item with this barcode,No se puede encontrar el artículo con este código de barras,
 Cannot find active Leave Period,No se puede encontrar el Período de permiso activo,
 Cannot produce more Item {0} than Sales Order quantity {1},No se puede producir una cantidad mayor del producto {0} que lo requerido en el pedido de venta {1},
 Cannot promote Employee with status Left,No se puede promocionar Empleado con estado dejado,
@@ -536,7 +535,7 @@
 Claimed Amount,Cantidad reclamada,
 Clay,Arcilla,
 Clear filters,Filtros claros,
-Clear values,Valores claros,
+Clear values,Quitar valores,
 Clearance Date,Fecha de liquidación,
 Clearance Date not mentioned,Fecha de liquidación no definida,
 Clearance Date updated,Fecha de liquidación actualizada,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Crear y gestionar resúmenes de correos; diarios, semanales y mensuales.",
 Create customer quotes,Crear cotizaciones de clientes,
 Create rules to restrict transactions based on values.,Crear reglas para restringir las transacciones basadas en valores.,
-Created By,Creado por,
 Created {0} scorecards for {1} between: ,Creó {0} tarjetas de puntuación para {1} entre:,
 Creating Company and Importing Chart of Accounts,Creación de empresa e importación de plan de cuentas,
 Creating Fees,Creación de Tarifas,
@@ -730,7 +728,7 @@
 Current Qty,Cant. Actual,
 Current invoice {0} is missing,La factura actual {0} falta,
 Custom HTML,HTML Personalizado,
-Custom?,Personalizado?,
+Custom?,¿Personalizado?,
 Customer,Cliente,
 Customer Addresses And Contacts,Direcciones de clientes y contactos,
 Customer Contact,Contacto del Cliente,
@@ -785,7 +783,7 @@
 Default BOM ({0}) must be active for this item or its template,La lista de materiales (LdM) por defecto ({0}) debe estar activa para este producto o plantilla,
 Default BOM for {0} not found,BOM por defecto para {0} no encontrado,
 Default BOM not found for Item {0} and Project {1},La lista de materiales predeterminada no se encontró para el Elemento {0} y el Proyecto {1},
-Default Letter Head,Encabezado predeterminado,
+Default Letter Head,Encabezado Predeterminado,
 Default Tax Template,Plantilla de impuesto predeterminado,
 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.,Unidad de medida predeterminada para el artículo {0} no se puede cambiar directamente porque ya ha realizado alguna transacción (s) con otra UOM. Usted tendrá que crear un nuevo elemento a utilizar un UOM predeterminado diferente.,
 Default Unit of Measure for Variant '{0}' must be same as in Template '{1}',Unidad de medida predeterminada para variante '{0}' debe ser la mismo que en la plantilla '{1}',
@@ -968,7 +966,7 @@
 Error Log,Registro de Errores,
 Error evaluating the criteria formula,Error al evaluar la fórmula de criterios,
 Error in formula or condition: {0},Error Fórmula o Condición: {0},
-Error: Not a valid id?,Error: No es un ID válido?,
+Error: Not a valid id?,Error: ¿No es un ID válido?,
 Estimated Cost,Costo estimado,
 Evaluation,Evaluación,
 "Even if there are multiple Pricing Rules with highest priority, then following internal priorities are applied:","Incluso si hay varias reglas de precios con mayor prioridad, se aplican entonces siguientes prioridades internas:",
@@ -1020,7 +1018,7 @@
 Fee Creation Failed,Error en la Creación de Cuotas,
 Fee Creation Pending,Creación de Cuotas Pendientes,
 Fee Records Created - {0},Registros de cuotas creados - {0},
-Feedback,Comentarios.,
+Feedback,Retroalimentación,
 Fees,Matrícula,
 Female,Femenino,
 Fetch Data,Obtener datos,
@@ -1045,7 +1043,7 @@
 Finished Goods,Productos terminados,
 Finished Item {0} must be entered for Manufacture type entry,El producto terminado {0} debe ser introducido para el tipo de producción,
 Finished product quantity <b>{0}</b> and For Quantity <b>{1}</b> cannot be different,La cantidad de productos terminados <b>{0}</b> y Por cantidad <b>{1}</b> no puede ser diferente,
-First Name,Nombre,
+First Name,Primer Nombre,
 "Fiscal Regime is mandatory, kindly set the fiscal regime in the company {0}","El régimen fiscal es obligatorio, establezca amablemente el régimen fiscal en la empresa {0}",
 Fiscal Year,Año fiscal,
 Fiscal Year End Date should be one year after Fiscal Year Start Date,La fecha de finalización del año fiscal debe ser un año después de la fecha de inicio del año fiscal,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Para la fila {0}: ingrese cantidad planificada,
 "For {0}, only credit accounts can be linked against another debit entry","Para {0}, sólo las cuentas de crédito se pueden vincular con un asiento de débito",
 "For {0}, only debit accounts can be linked against another credit entry","Para {0}, sólo las cuentas de débito pueden vincular con un asiento de crédito",
-Form View,Vista de formulario,
 Forum Activity,Actividad del foro,
 Free item code is not selected,El código de artículo gratuito no está seleccionado,
 Freight and Forwarding Charges,CARGOS DE TRANSITO Y TRANSPORTE,
@@ -1341,7 +1338,7 @@
 Issued,Emitido,
 Issues,Incidencias,
 It is needed to fetch Item Details.,Se necesita a buscar Detalles del artículo.,
-Item,Productos,
+Item,Producto,
 Item 1,Elemento 1,
 Item 2,Elemento 2,
 Item 3,Elemento 3,
@@ -1429,7 +1426,7 @@
 Last Purchase Rate,Tasa de cambio de última compra,
 Latest,Más reciente,
 Latest price updated in all BOMs,Último precio actualizado en todas las Listas de Materiales,
-Lead,Dirigir,
+Lead,Iniciativa,
 Lead Count,Cuenta de Iniciativa,
 Lead Owner,Propietario de la iniciativa,
 Lead Owner cannot be same as the Lead,Propietario de Iniciativa no puede ser igual que el de la Iniciativa,
@@ -1538,7 +1535,7 @@
 Mark Half Day,Marcar medio día,
 Mark Present,Marcar Presente,
 Marketing,Márketing,
-Marketing Expenses,GASTOS DE PUBLICIDAD,
+Marketing Expenses,Gastos de Publicidad,
 Marketplace,Mercado,
 Marketplace Error,Error de Marketplace,
 Masters,Maestros,
@@ -1595,7 +1592,7 @@
 Message Sent,Mensaje enviado,
 Method,Método,
 Middle Income,Ingreso medio,
-Middle Name,Segundo nombre,
+Middle Name,Segundo Nombre,
 Middle Name (Optional),Segundo nombre (Opcional),
 Min Amt can not be greater than Max Amt,La cantidad mínima no puede ser mayor que la cantidad máxima,
 Min Qty can not be greater than Max Qty,La cantidad mínima no puede ser mayor que la cantidad maxima,
@@ -1870,7 +1867,7 @@
 Part-time,Tiempo parcial,
 Partially Depreciated,Despreciables Parcialmente,
 Partially Received,Parcialmente recibido,
-Party,Partido,
+Party,Tercero,
 Party Name,Nombre de Parte,
 Party Type,Tipo de entidad,
 Party Type and Party is mandatory for {0} account,Tipo de Tercero y Tercero es obligatorio para la Cuenta {0},
@@ -2030,7 +2027,7 @@
 Please select Completion Date for Completed Asset Maintenance Log,Seleccione Fecha de Finalización para el Registro de Mantenimiento de Activos Completado,
 Please select Completion Date for Completed Repair,Seleccione Fecha de Finalización para la Reparación Completa,
 Please select Course,Por favor seleccione Curso,
-Please select Drug,Seleccione Droga,
+Please select Drug,Por favor seleccione fármaco,
 Please select Employee,Por favor selecciona Empleado,
 Please select Existing Company for creating Chart of Accounts,"Por favor, seleccione empresa ya existente para la creación del plan de cuentas",
 Please select Healthcare Service,Por favor seleccione Servicio de Salud,
@@ -2121,7 +2118,7 @@
 Please supply the specified items at the best possible rates,Por favor suministrar los elementos especificados en las mejores tasas posibles,
 Please update your status for this training event,Actualice su estado para este evento de capacitación.,
 Please wait 3 days before resending the reminder.,Espere 3 días antes de volver a enviar el recordatorio.,
-Point of Sale,Punto de venta,
+Point of Sale,Punto de Venta,
 Point-of-Sale,Punto de Venta (POS),
 Point-of-Sale Profile,Perfiles de punto de venta (POS),
 Portal,Portal,
@@ -2556,8 +2553,8 @@
 Sanctioned Amount,Monto sancionado,
 Sanctioned Amount cannot be greater than Claim Amount in Row {0}.,Importe sancionado no puede ser mayor que el importe del reclamo en la línea {0}.,
 Sand,Arena,
-Saturday,Sábado.,
-Saved,Guardado.,
+Saturday,Sábado,
+Saved,Guardado,
 Saving {0},Guardando {0},
 Scan Barcode,Escanear Código de Barras,
 Schedule,Programa,
@@ -2630,7 +2627,7 @@
 Selling,Ventas,
 Selling Amount,Cantidad de venta,
 Selling Price List,Lista de precios de venta,
-Selling Rate,Tasa de ventas,
+Selling Rate,Precio de venta,
 "Selling must be checked, if Applicable For is selected as {0}","'Ventas' debe ser seleccionada, si la opción: 'Aplicable para' esta seleccionado como {0}",
 Send Grant Review Email,Enviar correo electrónico de revisión de subvención,
 Send Now,Enviar ahora,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Enviar mensajes SMS masivos a sus contactos,
 Sensitivity,Sensibilidad,
 Sent,Enviado,
-Serial #,Serial #.,
 Serial No and Batch,Número de serie y de lote,
 Serial No is mandatory for Item {0},No. de serie es obligatoria para el producto {0},
 Serial No {0} does not belong to Batch {1},El número de serie {0} no pertenece al lote {1},
@@ -2704,9 +2700,9 @@
 Setup default values for POS Invoices,Configurar los valores predeterminados para facturas de POS,
 Setup mode of POS (Online / Offline),Modo de configuración de POS (Online / Offline),
 Setup your Institute in ERPNext,Configura tu instituto en ERPNext,
-Share Balance,Compartir Saldo,
+Share Balance,Balance de Acciones,
 Share Ledger,Share Ledger,
-Share Management,Gestión de Compartir,
+Share Management,Administración de Acciones,
 Share Transfer,Transferir Acciones,
 Share Type,Tipo de acción,
 Shareholder,Accionista,
@@ -2871,7 +2867,7 @@
 Summary,Resumen,
 Summary for this month and pending activities,Resumen para este mes y actividades pendientes,
 Summary for this week and pending activities,Resumen para esta semana y actividades pendientes,
-Sunday,Domingo.,
+Sunday,Domingo,
 Suplier,Proveedor,
 Supplier,Proveedor,
 Supplier Group,Grupo de proveedores,
@@ -3303,11 +3299,10 @@
 What do you need help with?,Con qué necesitas ayuda?,
 What does it do?,¿A qué se dedica?,
 Where manufacturing operations are carried.,Dónde se realizan las operaciones de producción,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Al crear una cuenta para la empresa secundaria {0}, no se encontró la cuenta principal {1}. Cree la cuenta principal en el COA correspondiente",
 White,Blanco,
 Wire Transfer,Transferencia bancaria,
 WooCommerce Products,Productos WooCommerce,
-Work In Progress,Trabajo en progreso,
+Work In Progress,Trabajo en Proceso,
 Work Order,Orden de trabajo,
 Work Order already created for all items with BOM,Órden de Trabajo ya creada para todos los artículos con lista de materiales,
 Work Order cannot be raised against a Item Template,La Órden de Trabajo no puede levantarse contra una Plantilla de Artículo,
@@ -3493,6 +3488,7 @@
 Merge with existing,Combinar con existente,
 Office,Oficina,
 Orientation,Orientación,
+Parent,Principal,
 Passive,Pasivo,
 Payment Failed,Pago Fallido,
 Percent,Por ciento,
@@ -3543,6 +3539,7 @@
 Show {0},Mostrar {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Caracteres especiales excepto &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Y &quot;}&quot; no están permitidos en las series de nombres",
 Target Details,Detalles del objetivo,
+{0} already has a Parent Procedure {1}.,{0} ya tiene un Procedimiento principal {1}.,
 API,API,
 Annual,Anual,
 Approved,Aprobado,
@@ -3585,7 +3582,7 @@
 Accounting Period overlaps with {0},El período contable se superpone con {0},
 Activity,Actividad,
 Add / Manage Email Accounts.,Añadir / Administrar cuentas de correo electrónico.,
-Add Child,Agregar niño,
+Add Child,Agregar hijo,
 Add Loan Security,Agregar seguridad de préstamo,
 Add Multiple,Añadir Multiple,
 Add Participants,Agregar Participantes,
@@ -3709,14 +3706,14 @@
 Designation,Puesto,
 Difference Value,Valor de diferencia,
 Dimension Filter,Filtro de dimensiones,
-Disabled,Discapacitado,
+Disabled,Deshabilitado,
 Disbursement and Repayment,Desembolso y reembolso,
 Distance cannot be greater than 4000 kms,La distancia no puede ser mayor a 4000 kms,
 Do you want to submit the material request,¿Quieres enviar la solicitud de material?,
 Doctype,Doctype,
 Document {0} successfully uncleared,El documento {0} no se ha borrado correctamente,
 Download Template,Descargar plantilla,
-Dr,Dr,
+Dr,Dr.,
 Due Date,Fecha de vencimiento,
 Duplicate,Duplicar,
 Duplicate Project with Tasks,Proyecto duplicado con tareas,
@@ -4196,7 +4193,7 @@
 Barcode,Código de barras,
 Bold,Negrita,
 Center,Centro,
-Clear,Claro,
+Clear,Quitar,
 Comment,Comentario,
 Comments,Comentarios,
 DocType,DocType,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,la fecha final no puede ser inferior a fecha de Inicio,
 For Default Supplier (Optional),Para el proveedor predeterminado (opcional),
 From date cannot be greater than To date,La fecha 'Desde' no puede ser mayor que la fecha 'Hasta',
-Get items from,Obtener artículos de,
 Group by,Agrupar por,
 In stock,En stock,
 Item name,Nombre del producto,
@@ -4308,7 +4304,7 @@
 Invalid Account,Cuenta no válida,
 Purchase Order Required,Orden de compra requerida,
 Purchase Receipt Required,Recibo de compra requerido,
-Account Missing,Falta la cuenta,
+Account Missing,Cuenta Faltante,
 Requested,Solicitado,
 Partially Paid,Parcialmente pagado,
 Invalid Account Currency,Moneda de la cuenta no válida,
@@ -5603,7 +5599,7 @@
 Received By,Recibido por,
 Caller Information,Información de la llamada,
 Contact Name,Nombre de contacto,
-Lead ,Dirigir,
+Lead ,Iniciativa,
 Lead Name,Nombre de la iniciativa,
 Ringing,Zumbido,
 Missed,Perdido,
@@ -6293,7 +6289,7 @@
 Normal Test Template,Plantilla de Prueba Normal,
 Patient Demographics,Datos Demográficos del Paciente,
 HLC-PAT-.YYYY.-,HLC-PAT-.YYYY.-,
-Middle Name (optional),Segundo nombre (opcional),
+Middle Name (optional),Segundo Nombre (Opcional),
 Inpatient Status,Estado de paciente hospitalizado,
 "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.","Si &quot;Vincular cliente a paciente&quot; está marcado en Configuración de atención médica y no se selecciona un Cliente existente, se creará un Cliente para este Paciente para registrar transacciones en el módulo Cuentas.",
 Personal and Social History,Historia Personal y Social,
@@ -6622,7 +6618,7 @@
 Total Experience,Experiencia total,
 Default Leave Policy,Política de Licencia Predeterminada,
 Default Salary Structure,Estructura de Salario Predeterminada,
-Employee Group Table,Mesa de grupo de empleados,
+Employee Group Table,Tabla de grupo de empleados,
 ERPNext User ID,ERP ID de usuario siguiente,
 Employee Health Insurance,Seguro de Salud para Empleados,
 Health Insurance Name,Nombre del Seguro de Salud,
@@ -6841,10 +6837,10 @@
 Number Of Employees,Número de Empleados,
 Employee Details,Detalles del Empleado,
 Validate Attendance,Validar la Asistencia,
-Salary Slip Based on Timesheet,Nomina basada en el Parte de Horas,
+Salary Slip Based on Timesheet,Nomina basada horas,
 Select Payroll Period,Seleccione el Período de Nómina,
 Deduct Tax For Unclaimed Employee Benefits,Deducir Impuestos para beneficios de Empleados no Reclamados,
-Deduct Tax For Unsubmitted Tax Exemption Proof,Deducir impuestos por prueba de exención de impuestos sin enviar,
+Deduct Tax For Unsubmitted Tax Exemption Proof,Deducir impuestos por soporte de exención de impuestos sin enviar,
 Select Payment Account to make Bank Entry,Seleccionar la cuenta de pago para hacer la entrada del Banco,
 Salary Slips Created,Salario Slips creado,
 Salary Slips Submitted,Nómina Salarial Validada,
@@ -7096,7 +7092,7 @@
 Loan Manager,Gerente de préstamos,
 Loan Info,Información del Préstamo,
 Rate of Interest,Tasa de interés,
-Proposed Pledges,Promesas Propuestas,
+Proposed Pledges,Prendas Propuestas,
 Maximum Loan Amount,Cantidad máxima del préstamo,
 Repayment Info,Información de la Devolución,
 Total Payable Interest,Interés Total a Pagar,
@@ -7343,7 +7339,7 @@
 Available Qty at WIP Warehouse,Cantidad Disponible en Almacén WIP,
 Work Order Operation,Operación de Órden de Trabajo,
 Operation Description,Descripción de la operación,
-Operation completed for how many finished goods?,Se completo la operación para la cantidad de productos terminados?,
+Operation completed for how many finished goods?,¿Operación completada para cuántos productos terminados?,
 Work in Progress,Trabajo en proceso,
 Estimated Time and Cost,Tiempo estimado y costo,
 Planned Start Time,Hora prevista de inicio,
@@ -7558,10 +7554,6 @@
 Quality Goal,Objetivo de calidad,
 Monitoring Frequency,Frecuencia de monitoreo,
 Weekday,Día laborable,
-January-April-July-October,Enero-abril-julio-octubre,
-Revision and Revised On,Revisión y revisado en,
-Revision,Revisión,
-Revised On,Revisado en,
 Objectives,Objetivos,
 Quality Goal Objective,Objetivo de calidad Objetivo,
 Objective,Objetivo,
@@ -7574,7 +7566,6 @@
 Processes,Procesos,
 Quality Procedure Process,Proceso de procedimiento de calidad,
 Process Description,Descripción del proceso,
-Child Procedure,Procedimiento infantil,
 Link existing Quality Procedure.,Enlace Procedimiento de calidad existente.,
 Additional Information,Información Adicional,
 Quality Review Objective,Objetivo de revisión de calidad,
@@ -8460,7 +8451,7 @@
 Asset Depreciations and Balances,Depreciaciones de Activos y Saldos,
 Available Stock for Packing Items,Inventario Disponible de Artículos de Embalaje,
 Bank Clearance Summary,Resumen de Cambios Bancarios,
-Bank Remittance,Remesa bancaria,
+Bank Remittance,Giro Bancario,
 Batch Item Expiry Status,Estado de Caducidad de Lote de Productos,
 Batch-Wise Balance History,Historial de Saldo por Lotes,
 BOM Explorer,BOM Explorer,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Tendencias de recibos de compra,
 Purchase Register,Registro de compras,
 Quotation Trends,Tendencias de Presupuestos,
-Quoted Item Comparison,Comparación de artículos de Cotización,
 Received Items To Be Billed,Recepciones por facturar,
 Qty to Order,Cantidad a Solicitar,
 Requested Items To Be Transferred,Artículos solicitados para ser transferidos,
@@ -9091,7 +9081,6 @@
 Absent Days,Días ausentes,
 Conditions and Formula variable and example,Condiciones y variable de fórmula y ejemplo,
 Feedback By,Comentarios de,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Sección de fabricación,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","De forma predeterminada, el nombre del cliente se establece según el nombre completo introducido. Si desea que los Clientes sean nombrados por un",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configure la lista de precios predeterminada al crear una nueva transacción de ventas. Los precios de los artículos se obtendrán de esta lista de precios.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Saldo reservado,
 Uncleared Balance,Saldo no liquidado,
 Payment related to {0} is not completed,El pago relacionado con {0} no se completó,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Fila # {}: número de serie {}. {} ya se ha transferido a otra factura de punto de venta. Seleccione un número de serie válido.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Fila # {}: Código de artículo: {} no está disponible en el almacén {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Fila # {}: la cantidad de existencias no es suficiente para el código de artículo: {} debajo del almacén {}. Cantidad disponible {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Fila # {}: seleccione un número de serie y un lote contra el artículo: {} o elimínelo para completar la transacción.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Habilite Permitir stock negativo en la configuración de stock o cree Entrada de stock para continuar.,
 No Inpatient Record found against patient {0},No se encontraron registros de pacientes hospitalizados del paciente {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Ya existe una orden de medicación para pacientes hospitalizados {0} contra el encuentro con el paciente {1}.,
+Allow In Returns,Permitir devoluciones,
+Hide Unavailable Items,Ocultar elementos no disponibles,
+Apply Discount on Discounted Rate,Aplicar descuento sobre tarifa con descuento,
+Therapy Plan Template,Plantilla de plan de terapia,
+Fetching Template Details,Obteniendo detalles de la plantilla,
+Linked Item Details,Detalles del artículo vinculado,
+Therapy Types,Tipos de terapia,
+Therapy Plan Template Detail,Detalle de la plantilla del plan de terapia,
+Non Conformance,No conformidad,
+Process Owner,Dueño del proceso,
+Corrective Action,Acción correctiva,
+Preventive Action,Acción preventiva,
+Problem,Problema,
+Responsible,Responsable,
+Completion By,Finalización por,
+Process Owner Full Name,Nombre completo del propietario del proceso,
+Right Index,Índice derecho,
+Left Index,Índice izquierdo,
+Sub Procedure,Subprocedimiento,
+Passed,Aprobado,
+Print Receipt,Imprimir el recibo,
+Edit Receipt,Editar recibo,
+Focus on search input,Centrarse en la entrada de búsqueda,
+Focus on Item Group filter,Centrarse en el filtro de grupo de artículos,
+Checkout Order / Submit Order / New Order,Realizar pedido / Enviar pedido / Nuevo pedido,
+Add Order Discount,Agregar descuento de pedido,
+Item Code: {0} is not available under warehouse {1}.,Código de artículo: {0} no está disponible en el almacén {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Los números de serie no están disponibles para el artículo {0} en almacén {1}. Intente cambiar de almacén.,
+Fetched only {0} available serial numbers.,Solo se obtuvieron {0} números de serie disponibles.,
+Switch Between Payment Modes,Cambiar entre modos de pago,
+Enter {0} amount.,Ingrese {0} monto.,
+You don't have enough points to redeem.,No tienes suficientes puntos para canjear.,
+You can redeem upto {0}.,Puede canjear hasta {0}.,
+Enter amount to be redeemed.,Ingrese el monto a canjear.,
+You cannot redeem more than {0}.,No puede canjear más de {0}.,
+Open Form View,Abrir vista de formulario,
+POS invoice {0} created succesfully,Factura de punto de venta {0} creada correctamente,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,La cantidad de existencias no es suficiente para el código de artículo: {0} en el almacén {1}. Cantidad disponible {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Número de serie: {0} ya se ha transferido a otra factura de punto de venta.,
+Balance Serial No,No de serie de la balanza,
+Warehouse: {0} does not belong to {1},Almacén: {0} no pertenece a {1},
+Please select batches for batched item {0},Seleccione lotes para el artículo por lotes {0},
+Please select quantity on row {0},Seleccione la cantidad en la fila {0},
+Please enter serial numbers for serialized item {0},Ingrese los números de serie del artículo serializado {0},
+Batch {0} already selected.,Lote {0} ya seleccionado.,
+Please select a warehouse to get available quantities,Seleccione un almacén para obtener las cantidades disponibles,
+"For transfer from source, selected quantity cannot be greater than available quantity","Para la transferencia desde la fuente, la cantidad seleccionada no puede ser mayor que la cantidad disponible",
+Cannot find Item with this Barcode,No se puede encontrar el artículo con este código de barras,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} es obligatorio. Quizás no se crea el registro de cambio de moneda para {1} a {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ha enviado elementos vinculados a él. Debe cancelar los activos para crear una devolución de compra.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,No se puede cancelar este documento porque está vinculado con el activo enviado {0}. Cancele para continuar.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Fila # {}: el número de serie {} ya se ha transferido a otra factura de punto de venta. Seleccione un número de serie válido.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Fila # {}: Los números de serie {} ya se han transferido a otra factura de punto de venta. Seleccione un número de serie válido.,
+Item Unavailable,Artículo no disponible,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Fila # {}: No de serie {} no se puede devolver porque no se tramitó en la factura original {},
+Please set default Cash or Bank account in Mode of Payment {},Establezca una cuenta bancaria o en efectivo predeterminada en el modo de pago {},
+Please set default Cash or Bank account in Mode of Payments {},Establezca la cuenta bancaria o en efectivo predeterminada en el modo de pago {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Asegúrese de que la cuenta {} sea una cuenta de balance. Puede cambiar la cuenta principal a una cuenta de balance o seleccionar una cuenta diferente.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Asegúrese de que la {} cuenta sea una cuenta a pagar. Cambie el tipo de cuenta a Pagable o seleccione una cuenta diferente.,
+Row {}: Expense Head changed to {} ,Fila {}: la cabeza de gastos cambió a {},
+because account {} is not linked to warehouse {} ,porque la cuenta {} no está vinculada al almacén {},
+or it is not the default inventory account,o no es la cuenta de inventario predeterminada,
+Expense Head Changed,Cabeza de gastos cambiada,
+because expense is booked against this account in Purchase Receipt {},porque el gasto se registra en esta cuenta en el recibo de compra {},
+as no Purchase Receipt is created against Item {}. ,ya que no se crea ningún recibo de compra para el artículo {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Esto se hace para manejar la contabilidad de los casos en los que el recibo de compra se crea después de la factura de compra.,
+Purchase Order Required for item {},Se requiere orden de compra para el artículo {},
+To submit the invoice without purchase order please set {} ,"Para enviar la factura sin orden de compra, configure {}",
+as {} in {},como en {},
+Mandatory Purchase Order,Orden de compra obligatoria,
+Purchase Receipt Required for item {},Se requiere recibo de compra para el artículo {},
+To submit the invoice without purchase receipt please set {} ,"Para enviar la factura sin el recibo de compra, configure {}",
+Mandatory Purchase Receipt,Recibo de compra obligatorio,
+POS Profile {} does not belongs to company {},El perfil de POS {} no pertenece a la empresa {},
+User {} is disabled. Please select valid user/cashier,El usuario {} está inhabilitado. Seleccione un usuario / cajero válido,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Fila # {}: la factura original {} de la factura de devolución {} es {}.,
+Original invoice should be consolidated before or along with the return invoice.,La factura original debe consolidarse antes o junto con la factura de devolución.,
+You can add original invoice {} manually to proceed.,Puede agregar la factura original {} manualmente para continuar.,
+Please ensure {} account is a Balance Sheet account. ,Asegúrese de que la cuenta {} sea una cuenta de balance.,
+You can change the parent account to a Balance Sheet account or select a different account.,Puede cambiar la cuenta principal a una cuenta de balance o seleccionar una cuenta diferente.,
+Please ensure {} account is a Receivable account. ,Asegúrese de que la {} cuenta sea una cuenta por cobrar.,
+Change the account type to Receivable or select a different account.,Cambie el tipo de cuenta a Cobrar o seleccione una cuenta diferente.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} no se puede cancelar ya que se canjearon los puntos de fidelidad ganados. Primero cancele el {} No {},
+already exists,ya existe,
+POS Closing Entry {} against {} between selected period,Entrada de cierre de POS {} contra {} entre el período seleccionado,
+POS Invoice is {},La factura de POS es {},
+POS Profile doesn't matches {},El perfil de POS no coincide {},
+POS Invoice is not {},La factura de POS no es {},
+POS Invoice isn't created by user {},La factura de punto de venta no la crea el usuario {},
+Row #{}: {},Fila #{}: {},
+Invalid POS Invoices,Facturas POS no válidas,
+Please add the account to root level Company - {},Agregue la cuenta a la empresa de nivel raíz - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Al crear la cuenta para la empresa secundaria {0}, no se encontró la cuenta principal {1}. Cree la cuenta principal en el COA correspondiente",
+Account Not Found,Cuenta no encontrada,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Al crear una cuenta para la empresa secundaria {0}, la cuenta principal {1} se encontró como una cuenta contable.",
+Please convert the parent account in corresponding child company to a group account.,Convierta la cuenta principal de la empresa secundaria correspondiente en una cuenta de grupo.,
+Invalid Parent Account,Cuenta principal no válida,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Solo se permite cambiar el nombre a través de la empresa matriz {0}, para evitar discrepancias.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Si {0} {1} cantidades del artículo {2}, el esquema {3} se aplicará al artículo.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Si {0} {1} vale el artículo {2}, el esquema {3} se aplicará al artículo.",
+"As the field {0} is enabled, the field {1} is mandatory.","Como el campo {0} está habilitado, el campo {1} es obligatorio.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Como el campo {0} está habilitado, el valor del campo {1} debe ser superior a 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},No se puede entregar el número de serie {0} del artículo {1} ya que está reservado para cumplir con el pedido de cliente {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Pedido de venta {0} tiene reserva para el artículo {1}, solo puede entregar reservado {1} contra {0}.",
+{0} Serial No {1} cannot be delivered,No se puede entregar el {0} número de serie {1},
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Fila {0}: el artículo subcontratado es obligatorio para la materia prima {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Como hay suficientes materias primas, la Solicitud de material no es necesaria para Almacén {0}.",
+" If you still want to proceed, please enable {0}.","Si aún desea continuar, habilite {0}.",
+The item referenced by {0} - {1} is already invoiced,El artículo al que hace referencia {0} - {1} ya está facturado,
+Therapy Session overlaps with {0},La sesión de terapia se superpone con {0},
+Therapy Sessions Overlapping,Superposición de sesiones de terapia,
+Therapy Plans,Planes de terapia,
+"Item Code, warehouse, quantity are required on row {0}","El código de artículo, el almacén y la cantidad son obligatorios en la fila {0}",
+Get Items from Material Requests against this Supplier,Obtener artículos de solicitudes de material contra este proveedor,
+Enable European Access,Habilitar el acceso europeo,
+Creating Purchase Order ...,Creando orden de compra ...,
+"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.","Seleccione un proveedor de los proveedores predeterminados de los artículos a continuación. En la selección, se realizará una orden de compra contra los artículos que pertenecen al proveedor seleccionado únicamente.",
+Row #{}: You must select {} serial numbers for item {}.,Fila # {}: debe seleccionar {} números de serie para el artículo {}.,
diff --git a/erpnext/translations/es_ar.csv b/erpnext/translations/es_ar.csv
index 9bdcba1..1fd8723 100644
--- a/erpnext/translations/es_ar.csv
+++ b/erpnext/translations/es_ar.csv
@@ -1,5 +1,4 @@
 Employee {0} on Half day on {1},"Empleado {0}, media jornada el día {1}",
-Item,Producto,
 Communication,Comunicacion,
 Components,Componentes,
 Cheque Size,Tamaño de Cheque,
diff --git a/erpnext/translations/es_gt.csv b/erpnext/translations/es_gt.csv
index efd2daa..29ce2b8 100644
--- a/erpnext/translations/es_gt.csv
+++ b/erpnext/translations/es_gt.csv
@@ -1,4 +1,3 @@
-Item,Producto,
 Lead Time Days,Tiempo de ejecución en días,
 Outstanding,Pendiente,
 Outstanding Amount,Saldo Pendiente,
diff --git a/erpnext/translations/es_pe.csv b/erpnext/translations/es_pe.csv
index fdeadce..108782c 100644
--- a/erpnext/translations/es_pe.csv
+++ b/erpnext/translations/es_pe.csv
@@ -332,8 +332,6 @@
 Salutation,Saludo,
 Sample,Muestra,
 Sanctioned Amount,importe sancionado,
-Saturday,Sábado,
-Saved,Guardado,
 Schedule,Horario,
 Schedule Date,Horario Fecha,
 Scheduled,Programado,
@@ -346,7 +344,6 @@
 Select DocType,Seleccione tipo de documento,
 Select Fiscal Year...,Seleccione el año fiscal ...,
 "Selling must be checked, if Applicable For is selected as {0}","Ventas debe ser seleccionado, si se selecciona Aplicable Para como {0}",
-Serial #,Serial #,
 Serial No is mandatory for Item {0},No de serie es obligatoria para el elemento {0},
 Serial No {0} does not belong to Delivery Note {1},Número de orden {0} no pertenece a la nota de entrega {1},
 Serial No {0} does not belong to Item {1},Número de orden {0} no pertenece al elemento {1},
@@ -412,7 +409,6 @@
 Successfully Reconciled,Reconciliado con éxito,
 Successfully deleted all transactions related to this company!,Eliminado correctamente todas las transacciones relacionadas con esta empresa!,
 Sum of points for all goals should be 100. It is {0},Suma de puntos para todas las metas debe ser 100. Es {0},
-Sunday,Domingo,
 Supplier,Proveedores,
 Supplier Id,Proveedor Id,
 Supplier Invoice No,Factura del Proveedor No,
@@ -513,6 +509,7 @@
 {0}: {1} not found in Invoice Details table,{0}: {1} no se encuentra en el detalle de la factura,
 Email Settings,Configuración del correo electrónico,
 Import,Importación,
+Parent,Padre,
 Shop,Tienda,
 Subsidiary,Filial,
 There were errors while sending email. Please try again.,"Hubo errores al enviar el correo electrónico. Por favor, inténtelo de nuevo.",
diff --git a/erpnext/translations/et.csv b/erpnext/translations/et.csv
index fd4d67b..ba32187 100644
--- a/erpnext/translations/et.csv
+++ b/erpnext/translations/et.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Ei saa maha arvata, kui kategooria on &quot;Hindamine&quot; või &quot;Vaulation ja kokku&quot;",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Ei saa kustutada Serial No {0}, sest seda kasutatakse laos tehingute",
 Cannot enroll more than {0} students for this student group.,Ei saa registreeruda rohkem kui {0} õpilasi tudeng rühm.,
-Cannot find Item with this barcode,Selle vöötkoodiga üksust ei leitud,
 Cannot find active Leave Period,Ei leia aktiivset puhkuseperioodi,
 Cannot produce more Item {0} than Sales Order quantity {1},Ei suuda toota rohkem Punkt {0} kui Sales Order koguse {1},
 Cannot promote Employee with status Left,Ei saa edendada Töötajat staatusega Vasak,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Luua ja hallata päeva, nädala ja kuu email digests.",
 Create customer quotes,Loo klientide hinnapakkumisi,
 Create rules to restrict transactions based on values.,"Loo reeglite piirata tehingud, mis põhinevad väärtustel.",
-Created By,Loodud,
 Created {0} scorecards for {1} between: ,Loodud {0} tulemuskaardid {1} vahel:,
 Creating Company and Importing Chart of Accounts,Ettevõtte loomine ja kontoplaani importimine,
 Creating Fees,Tasude loomine,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Rida {0}: sisestage kavandatud kogus,
 "For {0}, only credit accounts can be linked against another debit entry","Sest {0}, ainult krediitkaardi kontod võivad olla seotud teise vastu deebetkanne",
 "For {0}, only debit accounts can be linked against another credit entry","Sest {0}, ainult deebetkontode võib olla seotud teise vastu kreeditlausend",
-Form View,Vormi vaade,
 Forum Activity,Foorumi tegevus,
 Free item code is not selected,Vaba üksuse koodi ei valitud,
 Freight and Forwarding Charges,Kaubavedu ja Edasitoimetuskulude,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Saada mass SMS oma kontaktid,
 Sensitivity,Tundlikkus,
 Sent,Saadetud,
-Serial #,Serial #,
 Serial No and Batch,Järjekorra number ja partii,
 Serial No is mandatory for Item {0},Järjekorranumber on kohustuslik Punkt {0},
 Serial No {0} does not belong to Batch {1},Seerianumber {0} ei kuulu partii {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Millega sa abi vajad?,
 What does it do?,Mida ta teeb?,
 Where manufacturing operations are carried.,Kus tootmistegevus viiakse.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Lapseettevõtte {0} konto loomisel emakontot {1} ei leitud. Looge vanemkonto vastavas autentsussertis,
 White,Valge,
 Wire Transfer,Raha telegraafiülekanne,
 WooCommerce Products,WooCommerce tooted,
@@ -3493,6 +3488,7 @@
 Merge with existing,Ühendamine olemasoleva,
 Office,Kontor,
 Orientation,orientatsioon,
+Parent,Lapsevanem,
 Passive,Passiivne,
 Payment Failed,makse ebaõnnestus,
 Percent,Protsenti,
@@ -3543,6 +3539,7 @@
 Show {0},Kuva {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Erimärgid, välja arvatud &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Ja &quot;}&quot; pole sarjade nimetamisel lubatud",
 Target Details,Sihtkoha üksikasjad,
+{0} already has a Parent Procedure {1}.,{0} juba on vanemamenetlus {1}.,
 API,API,
 Annual,Aastane,
 Approved,Kinnitatud,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,End Date saa olla väiksem kui alguskuupäev,
 For Default Supplier (Optional),Vaikimisi tarnija (valikuline),
 From date cannot be greater than To date,Siit kuupäev ei saa olla suurem kui kuupäev,
-Get items from,Võta esemed,
 Group by,Group By,
 In stock,Laos,
 Item name,Toote nimi,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kvaliteetne eesmärk,
 Monitoring Frequency,Sageduse jälgimine,
 Weekday,Nädalapäev,
-January-April-July-October,Jaanuar-aprill-juuli-oktoober,
-Revision and Revised On,Redaktsioon ja parandatud sisse,
-Revision,Redaktsioon,
-Revised On,Muudetud Sisse,
 Objectives,Eesmärgid,
 Quality Goal Objective,Kvaliteedieesmärk,
 Objective,Objektiivne,
@@ -7574,7 +7566,6 @@
 Processes,Protsessid,
 Quality Procedure Process,Kvaliteediprotseduuri protsess,
 Process Description,Protsessi kirjeldus,
-Child Procedure,Lapse protseduur,
 Link existing Quality Procedure.,Siduge olemasolev kvaliteediprotseduur.,
 Additional Information,Lisainformatsioon,
 Quality Review Objective,Kvaliteedianalüüsi eesmärk,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Ostutšekk Trends,
 Purchase Register,Ostu Registreeri,
 Quotation Trends,Tsitaat Trends,
-Quoted Item Comparison,Tsiteeritud Punkt võrdlus,
 Received Items To Be Billed,Saadud objekte arve,
 Qty to Order,Kogus tellida,
 Requested Items To Be Transferred,Taotletud üleantavate,
@@ -9091,7 +9081,6 @@
 Absent Days,Puuduvad päevad,
 Conditions and Formula variable and example,Tingimused ja valemi muutuja ning näide,
 Feedback By,Tagasiside autor,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Tootmise sektsioon,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Vaikimisi määratakse kliendinimi sisestatud täisnime järgi. Kui soovite, et klientidele annaks nime a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Uue müügitehingu loomisel konfigureerige vaikehinnakiri. Kauba hinnad saadakse sellest hinnakirjast.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Reserveeritud saldo,
 Uncleared Balance,Tühjendamata saldo,
 Payment related to {0} is not completed,Kontoga {0} seotud makse pole lõpule viidud,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rida nr {}: seerianumber {}. {} on juba üle kantud teise POS-arvega. Valige kehtiv seerianumber.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Rida nr {}: üksuse kood: {} pole laos saadaval {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rida nr {}: laokogusest ei piisa tootekoodi jaoks: {} lao all {}. Saadaval kogus {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rida nr {}: tehingu lõpuleviimiseks valige seerianumber ja partii üksuse vastu: {} või eemaldage see.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Jätkamiseks lubage aktsiaseadetes Luba negatiivne varu või looge varude sisestus.,
 No Inpatient Record found against patient {0},Patsiendi {0} kohta ei leitud statsionaarset dokumenti,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Statsionaarsete ravimite tellimus {0} patsiendi kohtumise vastu {1} on juba olemas.,
+Allow In Returns,Luba vastutasuks,
+Hide Unavailable Items,Peida kättesaamatud üksused,
+Apply Discount on Discounted Rate,Rakenda soodushinnale allahindlust,
+Therapy Plan Template,Teraapiakava mall,
+Fetching Template Details,Malli üksikasjade toomine,
+Linked Item Details,Lingitud üksuse üksikasjad,
+Therapy Types,Ravi tüübid,
+Therapy Plan Template Detail,Teraapiakava malli üksikasjad,
+Non Conformance,Mittevastavus,
+Process Owner,Protsessi omanik,
+Corrective Action,Parandusmeetmeid,
+Preventive Action,Ennetav tegevus,
+Problem,Probleem,
+Responsible,Vastutav,
+Completion By,Valmimine poolt,
+Process Owner Full Name,Protsessi omaniku täielik nimi,
+Right Index,Parem indeks,
+Left Index,Vasak indeks,
+Sub Procedure,Alammenetlus,
+Passed,Läbitud,
+Print Receipt,Prindi kviitung,
+Edit Receipt,Redigeeri kviitungit,
+Focus on search input,Keskenduge otsingusisendile,
+Focus on Item Group filter,Keskenduge üksuserühma filtrile,
+Checkout Order / Submit Order / New Order,Kassa tellimus / esitage tellimus / uus tellimus,
+Add Order Discount,Lisa tellimuse allahindlus,
+Item Code: {0} is not available under warehouse {1}.,Tootekood: {0} pole laos {1} saadaval.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Seerianumbrid pole saadaval kauba {0} laos {1} all. Proovige ladu vahetada.,
+Fetched only {0} available serial numbers.,Tõmmati ainult {0} saadaolevat seerianumbrit.,
+Switch Between Payment Modes,Makseviiside vahel vahetamine,
+Enter {0} amount.,Sisestage summa {0}.,
+You don't have enough points to redeem.,Teil pole lunastamiseks piisavalt punkte.,
+You can redeem upto {0}.,Saate lunastada kuni {0}.,
+Enter amount to be redeemed.,Sisestage lunastatav summa.,
+You cannot redeem more than {0}.,Te ei saa lunastada rohkem kui {0}.,
+Open Form View,Avage vormivaade,
+POS invoice {0} created succesfully,POS-arve {0} loodi edukalt,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Laokogusest ei piisa tootekoodi jaoks: {0} lao all {1}. Saadaval kogus {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Seerianumber: {0} on juba üle kantud teise POS-arvega.,
+Balance Serial No,Tasakaalu seerianumber,
+Warehouse: {0} does not belong to {1},Ladu: {0} ei kuulu domeenile {1},
+Please select batches for batched item {0},Valige partii pakendatud üksuse jaoks {0},
+Please select quantity on row {0},Valige real {0} kogus,
+Please enter serial numbers for serialized item {0},Sisestage jadatud üksuse {0} seerianumbrid,
+Batch {0} already selected.,Pakett {0} on juba valitud.,
+Please select a warehouse to get available quantities,Saadavate koguste saamiseks valige ladu,
+"For transfer from source, selected quantity cannot be greater than available quantity",Allikast ülekandmiseks ei tohi valitud kogus olla suurem kui saadaolev kogus,
+Cannot find Item with this Barcode,Selle vöötkoodiga üksust ei leia,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} on kohustuslik. Võib-olla pole valuutavahetuse kirjet loodud {1} - {2} jaoks,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} on esitanud sellega seotud varad. Ostu tagastamise loomiseks peate vara tühistama.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Seda dokumenti ei saa tühistada, kuna see on seotud esitatud varaga {0}. Jätkamiseks tühistage see.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rida nr {}: seerianumber {} on juba üle kantud teise POS-arvega. Valige kehtiv seerianumber.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rida nr {}: seerianumbrid {} on juba üle kantud teise POS-arvega. Valige kehtiv seerianumber.,
+Item Unavailable,Üksus pole saadaval,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Rida nr {}: seerianumbrit {} ei saa tagastada, kuna seda ei tehtud algses arves {}",
+Please set default Cash or Bank account in Mode of Payment {},Valige makseviisiks vaikesularaha või pangakonto {},
+Please set default Cash or Bank account in Mode of Payments {},Valige makserežiimis vaikesularaha või pangakonto {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Veenduge, et konto {} oleks bilansikonto. Saate muuta vanemkonto bilansikontoks või valida teise konto.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Veenduge, et konto {} oleks tasuline. Muutke konto tüüp tasutavaks või valige mõni muu konto.",
+Row {}: Expense Head changed to {} ,Rida {}: kulu pealkirjaks muudeti {,
+because account {} is not linked to warehouse {} ,kuna konto {} pole lingiga seotud {},
+or it is not the default inventory account,või see pole vaikekonto konto,
+Expense Head Changed,Kulu pea vahetatud,
+because expense is booked against this account in Purchase Receipt {},kuna kulu broneeritakse selle konto arvel ostutšekis {},
+as no Purchase Receipt is created against Item {}. ,kuna üksuse {} vastu ei looda ostutšekki.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Seda tehakse raamatupidamise juhtumite jaoks, kui ostuarve järel luuakse ostutšekk",
+Purchase Order Required for item {},Üksuse {} jaoks on vajalik ostutellimus,
+To submit the invoice without purchase order please set {} ,Arve esitamiseks ilma ostutellimuseta määrake {},
+as {} in {},nagu {},
+Mandatory Purchase Order,Kohustuslik ostutellimus,
+Purchase Receipt Required for item {},Üksuse {} jaoks on nõutav ostutšekk,
+To submit the invoice without purchase receipt please set {} ,Arve esitamiseks ilma ostutšekita määrake {},
+Mandatory Purchase Receipt,Kohustuslik ostutšekk,
+POS Profile {} does not belongs to company {},POS-profiil {} ei kuulu ettevõttele {},
+User {} is disabled. Please select valid user/cashier,Kasutaja {} on keelatud. Valige kehtiv kasutaja / kassapidaja,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Rida nr {}: tagastatava arve {} originaalarve {} on {}.,
+Original invoice should be consolidated before or along with the return invoice.,Algne arve tuleks koondada enne tagastusarvet või koos sellega.,
+You can add original invoice {} manually to proceed.,Jätkamiseks saate algse arve {} käsitsi lisada.,
+Please ensure {} account is a Balance Sheet account. ,"Veenduge, et konto {} oleks bilansikonto.",
+You can change the parent account to a Balance Sheet account or select a different account.,Saate muuta vanemkonto bilansikontoks või valida teise konto.,
+Please ensure {} account is a Receivable account. ,"Veenduge, et konto {} oleks saadaolev konto.",
+Change the account type to Receivable or select a different account.,Muutke konto tüüp olekuks Saada või valige mõni teine konto.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} ei saa tühistada, kuna teenitud lojaalsuspunktid on lunastatud. Kõigepealt tühistage {} Ei {}",
+already exists,juba eksisteerib,
+POS Closing Entry {} against {} between selected period,POSi sulgemiskanne {} vastu {} valitud perioodi vahel,
+POS Invoice is {},POS-arve on {},
+POS Profile doesn't matches {},POS-profiil ei ühti {},
+POS Invoice is not {},POS-arve pole {},
+POS Invoice isn't created by user {},POS-arvet ei loonud kasutaja {},
+Row #{}: {},Rida nr {}: {},
+Invalid POS Invoices,Vale POS-arve,
+Please add the account to root level Company - {},Lisage konto juurtaseme ettevõttele - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Lapseettevõttele {0} konto loomisel ei leitud vanemkontot {1}. Looge vanemakonto vastavas COA-s,
+Account Not Found,Kontot ei leitud,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Lapseettevõttele {0} konto loomisel leiti vanemkonto {1} pearaamatu kontona.,
+Please convert the parent account in corresponding child company to a group account.,Teisendage vastava alaettevõtte vanemkonto grupikontoks.,
+Invalid Parent Account,Vale vanemakonto,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Selle erinevuse vältimiseks on selle ümbernimetamine lubatud ainult emaettevõtte {0} kaudu.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",{0} {1} üksuse koguste {2} kasutamisel rakendatakse üksusele skeemi {3}.,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Kui {0} {1} väärt üksust {2}, rakendatakse üksusele skeemi {3}.",
+"As the field {0} is enabled, the field {1} is mandatory.","Kuna väli {0} on lubatud, on väli {1} kohustuslik.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Kuna väli {0} on lubatud, peaks välja {1} väärtus olema suurem kui 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Üksuse {0} seerianumbrit {1} ei saa edastada, kuna see on reserveeritud müügitellimuse täitmiseks {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Müügitellimusel {0} on üksuse {1} reservatsioon, saate reserveeritud {1} kohale toimetada ainult vastu {0}.",
+{0} Serial No {1} cannot be delivered,{0} Seerianumbrit {1} ei saa edastada,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Rida {0}: allhankeüksus on tooraine jaoks kohustuslik {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Kuna toorainet on piisavalt, pole Ladu {0} vaja materjalitaotlust.",
+" If you still want to proceed, please enable {0}.","Kui soovite siiski jätkata, lubage {0}.",
+The item referenced by {0} - {1} is already invoiced,"Üksus, millele viitab {0} - {1}, on juba arvega",
+Therapy Session overlaps with {0},Teraapiaseanss kattub rakendusega {0},
+Therapy Sessions Overlapping,Teraapiaseansid kattuvad,
+Therapy Plans,Teraapiakavad,
+"Item Code, warehouse, quantity are required on row {0}","Real {0} on nõutav kaubakood, ladu ja kogus",
+Get Items from Material Requests against this Supplier,Hankige esemeid selle tarnija vastu esitatud materjalitaotlustest,
+Enable European Access,Luba Euroopa juurdepääs,
+Creating Purchase Order ...,Ostutellimuse loomine ...,
+"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.",Valige allpool olevate üksuste vaiketarnijatest tarnija. Valiku alusel tehakse ostutellimus ainult valitud tarnijale kuuluvate kaupade kohta.,
+Row #{}: You must select {} serial numbers for item {}.,Rida nr {}: peate valima {} üksuse seerianumbrid {}.,
diff --git a/erpnext/translations/fa.csv b/erpnext/translations/fa.csv
index 7973894..4a7c979 100644
--- a/erpnext/translations/fa.csv
+++ b/erpnext/translations/fa.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',نمی توانید کسر وقتی دسته است برای ارزش گذاری &quot;یا&quot; Vaulation و مجموع:,
 "Cannot delete Serial No {0}, as it is used in stock transactions",نمی توانید حذف سریال نه {0}، آن را به عنوان در معاملات سهام مورد استفاده,
 Cannot enroll more than {0} students for this student group.,نمی توانید بیش از {0} دانش آموزان برای این گروه از دانشجویان ثبت نام.,
-Cannot find Item with this barcode,با این بارکد نمی توان مورد را یافت,
 Cannot find active Leave Period,می توانید دوره فعال خروج را پیدا نکنید,
 Cannot produce more Item {0} than Sales Order quantity {1},می تواند مورد دیگر {0} از مقدار سفارش فروش تولید نمی {1},
 Cannot promote Employee with status Left,کارمند با وضعیت چپ را نمیتوان ارتقا داد,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",ایجاد و مدیریت روزانه، هفتگی و ماهانه هضم ایمیل.,
 Create customer quotes,درست به نقل از مشتری,
 Create rules to restrict transactions based on values.,ایجاد قوانین برای محدود کردن معاملات بر اساس ارزش.,
-Created By,خلق شده توسط,
 Created {0} scorecards for {1} between: ,{0} کارت امتیازی برای {1} ایجاد شده بین:,
 Creating Company and Importing Chart of Accounts,ایجاد شرکت و وارد کردن نمودار حساب,
 Creating Fees,ایجاد هزینه ها,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,برای ردیف {0}: تعداد برنامه ریزی شده را وارد کنید,
 "For {0}, only credit accounts can be linked against another debit entry",برای {0}، تنها حساب های اعتباری می تواند در مقابل ورود بدهی دیگر مرتبط,
 "For {0}, only debit accounts can be linked against another credit entry",برای {0}، تنها حساب های بانکی را می توان در برابر ورود اعتباری دیگر مرتبط,
-Form View,فرم مشاهده,
 Forum Activity,فعالیت انجمن,
 Free item code is not selected,کد مورد رایگان انتخاب نشده است,
 Freight and Forwarding Charges,حمل و نقل و حمل و نقل اتهامات,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,ارسال اس ام اس انبوه به مخاطبین خود,
 Sensitivity,حساسیت,
 Sent,فرستاده,
-Serial #,سریال #,
 Serial No and Batch,سریال نه و دسته ای,
 Serial No is mandatory for Item {0},سریال بدون برای مورد الزامی است {0},
 Serial No {0} does not belong to Batch {1},شماره سریال {0} به دسته {1} تعلق ندارد,
@@ -3303,7 +3299,6 @@
 What do you need help with?,به چه نیاز دارید کمک کنیم؟,
 What does it do?,چه کاری انجام میدهد؟,
 Where manufacturing operations are carried.,که در آن عملیات ساخت در حال انجام شده است.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",هنگام ایجاد حساب کاربری برای شرکت کودک {0} ، حساب والدین {1} یافت نشد. لطفاً حساب والدین را در COA مربوطه ایجاد کنید,
 White,سفید,
 Wire Transfer,انتقال سیم,
 WooCommerce Products,محصولات WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,ادغام با موجود,
 Office,دفتر,
 Orientation,گرایش,
+Parent,والدین,
 Passive,غیر فعال,
 Payment Failed,پرداخت ناموفق,
 Percent,در صد,
@@ -3543,6 +3539,7 @@
 Show {0},نمایش {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series",کاراکترهای خاص به جز &quot;-&quot; ، &quot;#&quot; ، &quot;.&quot; ، &quot;/&quot; ، &quot;{&quot; و &quot;}&quot; در سریال نامگذاری مجاز نیستند,
 Target Details,جزئیات هدف,
+{0} already has a Parent Procedure {1}.,{0} در حال حاضر یک روش والدین {1} دارد.,
 API,API,
 Annual,سالیانه,
 Approved,تایید,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,تاریخ پایان نمی تواند کمتر از تاریخ شروع,
 For Default Supplier (Optional),برای تامین کننده پیش فرض (اختیاری),
 From date cannot be greater than To date,از تاریخ نمی تواند بیشتر از تاریخ باشد,
-Get items from,گرفتن اقلام از,
 Group by,گروه توسط,
 In stock,در انبار,
 Item name,نام آیتم,
@@ -7558,10 +7554,6 @@
 Quality Goal,هدف کیفیت,
 Monitoring Frequency,فرکانس نظارت,
 Weekday,روز هفته,
-January-April-July-October,ژانویه-آوریل-جولای-اکتبر,
-Revision and Revised On,بازبینی و اصلاح شده در,
-Revision,تجدید نظر,
-Revised On,اصلاح شده در,
 Objectives,اهداف,
 Quality Goal Objective,هدف کیفیت هدف,
 Objective,هدف، واقعگرایانه,
@@ -7574,7 +7566,6 @@
 Processes,مراحل,
 Quality Procedure Process,فرایند روش کیفیت,
 Process Description,شرح فرایند,
-Child Procedure,رویه کودک,
 Link existing Quality Procedure.,رویه کیفیت موجود را پیوند دهید.,
 Additional Information,اطلاعات اضافی,
 Quality Review Objective,هدف مرور کیفیت,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,روند رسید خرید,
 Purchase Register,خرید ثبت نام,
 Quotation Trends,روند نقل قول,
-Quoted Item Comparison,مورد نقل مقایسه,
 Received Items To Be Billed,دریافت گزینه هایی که صورتحساب,
 Qty to Order,تعداد سفارش,
 Requested Items To Be Transferred,آیتم ها درخواست می شود منتقل,
@@ -9091,7 +9081,6 @@
 Absent Days,روزهای غایب,
 Conditions and Formula variable and example,شرایط و متغیر فرمول و مثال,
 Feedback By,بازخورد توسط,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG -. آره. -. MM. -. DD - -,
 Manufacturing Section,بخش ساخت,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",به طور پیش فرض ، نام مشتری بر اساس نام کامل وارد شده تنظیم می شود. اگر می خواهید مشتریان توسط الف نامگذاری شوند,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,هنگام ایجاد یک معامله جدید فروش ، لیست قیمت پیش فرض را پیکربندی کنید. قیمت اقلام از این لیست قیمت دریافت می شود.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,موجودی رزرو شده,
 Uncleared Balance,تراز نامشخص,
 Payment related to {0} is not completed,پرداخت مربوط به {0} تکمیل نشده است,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,ردیف # {}: شماره سریال {}. {} قبلاً به فاکتور POS دیگری معامله شده است. لطفا شماره سریال معتبر را انتخاب کنید.,
 Row #{}: Item Code: {} is not available under warehouse {}.,ردیف # {}: کد مورد: {} در انبار موجود نیست {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,ردیف # {}: مقدار سهام برای کد مورد کافی نیست: {} زیر انبار {}. مقدار موجود {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,ردیف شماره {}: لطفاً شماره سریال و دسته ای از موارد را انتخاب کنید: {} یا آن را حذف کنید تا معامله کامل شود.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,لطفاً اجازه دهید سهام منفی را در تنظیمات سهام فعال کنید یا ورود سهام را برای ادامه ایجاد کنید.,
 No Inpatient Record found against patient {0},هیچ سابقه بستری در مورد بیمار یافت نشد {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,یک دستور دارویی در بیماران بستری {0} علیه ملاقات با بیمار {1} از قبل موجود است.,
+Allow In Returns,در بازگشت مجاز است,
+Hide Unavailable Items,موارد موجود را پنهان کنید,
+Apply Discount on Discounted Rate,تخفیف را با نرخ تخفیف اعمال کنید,
+Therapy Plan Template,الگوی طرح درمانی,
+Fetching Template Details,واکشی جزئیات الگو,
+Linked Item Details,جزئیات مورد پیوند داده شده,
+Therapy Types,انواع درمان,
+Therapy Plan Template Detail,جزئیات الگوی طرح درمانی,
+Non Conformance,عدم انطباق,
+Process Owner,صاحب فرآیند,
+Corrective Action,اقدام اصلاحی,
+Preventive Action,اقدام پیشگیرانه,
+Problem,مسئله,
+Responsible,مسئول,
+Completion By,تکمیل توسط,
+Process Owner Full Name,نام کامل مالک فرآیند,
+Right Index,نمایه درست,
+Left Index,شاخص چپ,
+Sub Procedure,روش فرعی,
+Passed,گذشت,
+Print Receipt,رسید چاپ,
+Edit Receipt,رسید را ویرایش کنید,
+Focus on search input,بر ورودی جستجو تمرکز کنید,
+Focus on Item Group filter,روی فیلتر گروه مورد تمرکز کنید,
+Checkout Order / Submit Order / New Order,سفارش پرداخت / ارسال سفارش / سفارش جدید,
+Add Order Discount,تخفیف سفارش را اضافه کنید,
+Item Code: {0} is not available under warehouse {1}.,کد مورد: {0} در انبار موجود نیست {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,شماره های سریال برای مورد {0} زیر انبار {1} در دسترس نیست. لطفاً انبار را تغییر دهید.,
+Fetched only {0} available serial numbers.,فقط {0} شماره سریال موجود دریافت شد.,
+Switch Between Payment Modes,جابجایی بین حالت های پرداخت,
+Enter {0} amount.,{0} مقدار را وارد کنید.,
+You don't have enough points to redeem.,شما امتیاز کافی برای استفاده ندارید.,
+You can redeem upto {0}.,می توانید تا {0} استفاده کنید.,
+Enter amount to be redeemed.,مبلغی را که باید استفاده شود وارد کنید.,
+You cannot redeem more than {0}.,نمی توانید بیش از {0} استفاده کنید.,
+Open Form View,نمای فرم را باز کنید,
+POS invoice {0} created succesfully,فاکتور POS {0} با موفقیت ایجاد شد,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,مقدار سهام برای کد مورد کافی نیست: {0} زیر انبار {1}. مقدار موجود {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,شماره سریال: {0} قبلاً به فاکتور POS دیگری معامله شده است.,
+Balance Serial No,شماره سریال موجودی,
+Warehouse: {0} does not belong to {1},انبار: {0} متعلق به {1} نیست,
+Please select batches for batched item {0},لطفاً دسته ها را برای مورد دسته ای انتخاب کنید {0},
+Please select quantity on row {0},لطفاً مقدار را در ردیف {0} انتخاب کنید,
+Please enter serial numbers for serialized item {0},لطفا شماره سریال را برای مورد سریال وارد کنید {0},
+Batch {0} already selected.,دسته ای {0} از قبل انتخاب شده است.,
+Please select a warehouse to get available quantities,لطفاً یک انبار را برای دریافت مقادیر موجود انتخاب کنید,
+"For transfer from source, selected quantity cannot be greater than available quantity",برای انتقال از منبع ، مقدار انتخاب شده نمی تواند بیشتر از مقدار موجود باشد,
+Cannot find Item with this Barcode,با این بارکد نمی توانید مورد را پیدا کنید,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} اجباری است. شاید سابقه تبدیل ارز برای {1} تا {2} ایجاد نشده باشد,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} دارایی های مرتبط با آن را ارسال کرده است. برای ایجاد بازده خرید ، باید دارایی ها را لغو کنید.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,نمی توان این سند را لغو کرد زیرا با دارایی ارسالی {0} مرتبط است. لطفاً برای ادامه آن را لغو کنید.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,ردیف شماره {}: شماره سریال {} قبلاً به فاکتور POS دیگری انتقال داده شده است. لطفا شماره سریال معتبر را انتخاب کنید.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,ردیف # {}: شماره سریال. {} قبلاً به یک فاکتور POS دیگر تبدیل شده است. لطفا شماره سریال معتبر را انتخاب کنید.,
+Item Unavailable,مورد موجود نیست,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},ردیف # {}: شماره سریال {} قابل بازگشت نیست زیرا در فاکتور اصلی معامله نشده است {},
+Please set default Cash or Bank account in Mode of Payment {},لطفاً پول نقد یا حساب بانکی پیش فرض را در روش پرداخت تنظیم کنید {},
+Please set default Cash or Bank account in Mode of Payments {},لطفاً پول نقد یا حساب بانکی پیش فرض را در حالت پرداخت تنظیم کنید {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,لطفاً اطمینان حاصل کنید که {} حساب یک حساب ترازنامه است. می توانید حساب والد را به یک حساب ترازنامه تغییر دهید یا یک حساب دیگر انتخاب کنید.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,لطفاً اطمینان حاصل کنید که حساب {} یک حساب قابل پرداخت است. نوع حساب را به Payable تغییر دهید یا حساب دیگری را انتخاب کنید.,
+Row {}: Expense Head changed to {} ,ردیف {}: سر هزینه به {} تغییر یافت,
+because account {} is not linked to warehouse {} ,زیرا حساب {} به انبار پیوند ندارد {},
+or it is not the default inventory account,یا حساب موجودی پیش فرض نیست,
+Expense Head Changed,سر هزینه تغییر کرد,
+because expense is booked against this account in Purchase Receipt {},زیرا هزینه در قبض خرید در مقابل این حساب رزرو شده است {},
+as no Purchase Receipt is created against Item {}. ,چون هیچ رسید خریدی در برابر مورد {} ایجاد نمی شود.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,این کار برای رسیدگی به حسابداری در مواردی است که پس از فاکتور خرید ، رسید خرید ایجاد می شود,
+Purchase Order Required for item {},سفارش خرید برای مورد مورد نیاز است {},
+To submit the invoice without purchase order please set {} ,برای ارسال فاکتور بدون سفارش خرید لطفاً {},
+as {} in {},به عنوان {} در {},
+Mandatory Purchase Order,سفارش خرید اجباری,
+Purchase Receipt Required for item {},رسید خرید برای مورد نیاز است {},
+To submit the invoice without purchase receipt please set {} ,برای ارسال فاکتور بدون رسید خرید لطفاً تنظیم کنید {},
+Mandatory Purchase Receipt,رسید خرید اجباری,
+POS Profile {} does not belongs to company {},نمایه POS {} متعلق به شرکت نیست {},
+User {} is disabled. Please select valid user/cashier,کاربر {} غیرفعال است. لطفاً کاربر / صندوقدار معتبر را انتخاب کنید,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,ردیف # {}: فاکتور اصلی {} فاکتور برگشت {} {} است.,
+Original invoice should be consolidated before or along with the return invoice.,فاکتور اصلی باید قبل یا همراه با فاکتور برگشت ادغام شود.,
+You can add original invoice {} manually to proceed.,برای ادامه کار می توانید فاکتور اصلی را {} به صورت دستی اضافه کنید.,
+Please ensure {} account is a Balance Sheet account. ,لطفاً اطمینان حاصل کنید که {} حساب یک حساب ترازنامه است.,
+You can change the parent account to a Balance Sheet account or select a different account.,می توانید حساب والد را به یک حساب ترازنامه تغییر دهید یا یک حساب دیگر انتخاب کنید.,
+Please ensure {} account is a Receivable account. ,لطفاً مطمئن شوید که {} حساب یک حساب قابل دریافت است.,
+Change the account type to Receivable or select a different account.,نوع حساب را به قابل دریافت تغییر دهید یا حساب دیگری را انتخاب کنید.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},از زمان استفاده از امتیازات وفاداری کسب شده ، {} قابل لغو نیست. ابتدا {} نه {} را لغو کنید,
+already exists,درحال حاضر وجود دارد,
+POS Closing Entry {} against {} between selected period,ورودی بسته شدن POS بین دوره انتخاب شده {} در برابر {},
+POS Invoice is {},فاکتور POS {} است,
+POS Profile doesn't matches {},نمایه POS مطابقت ندارد {},
+POS Invoice is not {},فاکتور POS {} نیست,
+POS Invoice isn't created by user {},فاکتور POS توسط کاربر ایجاد نشده است {},
+Row #{}: {},ردیف شماره {}: {},
+Invalid POS Invoices,فاکتورهای POS نامعتبر است,
+Please add the account to root level Company - {},لطفاً حساب را به سطح root شرکت اضافه کنید - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",هنگام ایجاد حساب برای شرکت کودک {0} ، حساب والد {1} پیدا نشد. لطفاً حساب والدین را در COA مربوطه ایجاد کنید,
+Account Not Found,حساب یافت نشد,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",هنگام ایجاد حساب برای شرکت کودک {0} ، حساب والد {1} به عنوان یک حساب دفتر پیدا شد.,
+Please convert the parent account in corresponding child company to a group account.,لطفاً حساب والدین را در شرکت مربوط به فرزند به یک حساب گروهی تبدیل کنید.,
+Invalid Parent Account,حساب والد نامعتبر است,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",تغییر نام آن فقط از طریق شرکت مادر {0} مجاز است تا از عدم تطابق جلوگیری شود.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",اگر {0} {1} مقادیر مورد {2} داشته باشید ، طرح {3} روی مورد اعمال می شود.,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",اگر {0} {1} مورد موردی را داشته باشید {2} ، طرح {3} روی مورد اعمال می شود.,
+"As the field {0} is enabled, the field {1} is mandatory.",همانطور که قسمت {0} فعال است ، قسمت {1} اجباری است.,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",همانطور که قسمت {0} فعال است ، مقدار فیلد {1} باید بیش از 1 باشد.,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},نمی توان شماره سریال {0} مورد {1} را تحویل داد زیرا برای تکمیل سفارش فروش {2} محفوظ است,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",سفارش فروش {0} برای مورد رزرو دارد {1} ، شما فقط می توانید رزرو شده {1} را در مقابل {0} تحویل دهید.,
+{0} Serial No {1} cannot be delivered,{0} شماره سریال {1} تحویل داده نمی شود,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},ردیف {0}: مورد پیمانکاری فرعی برای ماده اولیه اجباری است {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",از آنجا که مواد اولیه کافی وجود دارد ، درخواست مواد برای انبار {0} لازم نیست.,
+" If you still want to proceed, please enable {0}.",اگر هنوز می خواهید ادامه دهید ، لطفاً {0} را فعال کنید.,
+The item referenced by {0} - {1} is already invoiced,مورد ارجاع شده توسط {0} - {1} قبلاً فاکتور شده است,
+Therapy Session overlaps with {0},جلسه درمانی با {0} همپوشانی دارد,
+Therapy Sessions Overlapping,جلسات درمانی با هم تداخل دارند,
+Therapy Plans,برنامه های درمانی,
+"Item Code, warehouse, quantity are required on row {0}",کد مورد ، انبار ، مقدار در ردیف {0} لازم است,
+Get Items from Material Requests against this Supplier,مواردی را از درخواستهای ماده در برابر این تأمین کننده دریافت کنید,
+Enable European Access,دسترسی اروپا را فعال کنید,
+Creating Purchase Order ...,در حال ایجاد سفارش خرید ...,
+"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.",از تامین کنندگان پیش فرض موارد زیر یک تأمین کننده انتخاب کنید. هنگام انتخاب ، سفارش خرید فقط در مورد کالاهای متعلق به تنها تامین کننده انتخاب شده انجام می شود.,
+Row #{}: You must select {} serial numbers for item {}.,ردیف شماره {}: شما باید {} شماره سریال را برای مورد {} انتخاب کنید.,
diff --git a/erpnext/translations/fi.csv b/erpnext/translations/fi.csv
index c04885b..29eb567 100644
--- a/erpnext/translations/fi.csv
+++ b/erpnext/translations/fi.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Ei voi vähentää, kun kategoria on &quot;arvostus&quot; tai &quot;Vaulation ja Total&quot;",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Sarjanumeroa {0} ei voida poistaa, koska sitä on käytetty varastotapahtumissa",
 Cannot enroll more than {0} students for this student group.,Ei voi ilmoittautua enintään {0} opiskelijat tälle opiskelijaryhmälle.,
-Cannot find Item with this barcode,Tuotetta ei löydy tällä viivakoodilla,
 Cannot find active Leave Period,Ei ole aktiivista lomaaikaa,
 Cannot produce more Item {0} than Sales Order quantity {1},ei voi valmistaa suurempaa määrää tuotteita {0} kuin myyntitilauksen määrä {1},
 Cannot promote Employee with status Left,Et voi edistää Työntekijän asemaa vasemmalla,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","tee ja hallitse (päivä-, viikko- ja kuukausi) sähköpostitiedotteita",
 Create customer quotes,Luoda asiakkaalle lainausmerkit,
 Create rules to restrict transactions based on values.,tee tapahtumien arvoon perustuvia rajoitussääntöjä,
-Created By,tekijä,
 Created {0} scorecards for {1} between: ,Luotu {0} tuloskartan {1} välillä:,
 Creating Company and Importing Chart of Accounts,Yrityksen luominen ja tilikartan tuominen,
 Creating Fees,Maksujen luominen,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Rivi {0}: Syötä suunniteltu määrä,
 "For {0}, only credit accounts can be linked against another debit entry","{0}, vain kredit tili voidaan kohdistaa debet kirjaukseen",
 "For {0}, only debit accounts can be linked against another credit entry","{0}, vain debet tili voidaan kohdistaa kredit kirjaukseen",
-Form View,Lomakenäkymä,
 Forum Activity,Foorumin toiminta,
 Free item code is not selected,Ilmaista tuotekoodia ei ole valittu,
 Freight and Forwarding Charges,rahdin ja huolinnan maksut,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Lähetä massatekstiviesti yhteystiedoillesi,
 Sensitivity,Herkkyys,
 Sent,Lähetetty,
-Serial #,Sarja #,
 Serial No and Batch,Sarjanumero ja erä,
 Serial No is mandatory for Item {0},Sarjanumero vaaditaan tuotteelle {0},
 Serial No {0} does not belong to Batch {1},Sarjanumero {0} ei kuulu erään {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Minkä kanssa tarvitset apua?,
 What does it do?,Mitä tämä tekee?,
 Where manufacturing operations are carried.,Missä valmistus tapahtuu,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Luodessaan tiliä lastenyritykselle {0}, emotiltiä {1} ei löytynyt. Luo vanhemman tili vastaavaan todistukseen",
 White,Valkoinen,
 Wire Transfer,Sähköinen tilisiirto,
 WooCommerce Products,WooCommerce-tuotteet,
@@ -3493,6 +3488,7 @@
 Merge with existing,Yhdistä nykyiseen,
 Office,Toimisto,
 Orientation,Suuntautuminen,
+Parent,Vanhempi,
 Passive,Passiivinen,
 Payment Failed,Maksu epäonnistui,
 Percent,prosentti,
@@ -3543,6 +3539,7 @@
 Show {0},Näytä {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Erikoismerkit paitsi &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Ja &quot;}&quot; eivät ole sallittuja nimeämissarjoissa",
 Target Details,Kohteen yksityiskohdat,
+{0} already has a Parent Procedure {1}.,{0}: llä on jo vanhempainmenettely {1}.,
 API,API,
 Annual,Vuotuinen,
 Approved,hyväksytty,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,päättymispäivä ei voi olla ennen aloituspäivää,
 For Default Supplier (Optional),Oletuksena toimittaja (valinnainen),
 From date cannot be greater than To date,Alkaen päivä ei voi olla suurempi kuin päättymispäivä,
-Get items from,Hae nimikkeet,
 Group by,ryhmän,
 In stock,Varastossa,
 Item name,Nimikkeen nimi,
@@ -7558,10 +7554,6 @@
 Quality Goal,Laadullinen tavoite,
 Monitoring Frequency,Monitorointitaajuus,
 Weekday,arkipäivä,
-January-April-July-October,Tammi-huhtikuu-heinäkuun ja lokakuun,
-Revision and Revised On,Tarkistettu ja muutettu päälle,
-Revision,tarkistus,
-Revised On,Tarkistettu päälle,
 Objectives,tavoitteet,
 Quality Goal Objective,Laadukas tavoite,
 Objective,Tavoite,
@@ -7574,7 +7566,6 @@
 Processes,Prosessit,
 Quality Procedure Process,Laatumenettelyprosessi,
 Process Description,Prosessin kuvaus,
-Child Procedure,Lapsen menettely,
 Link existing Quality Procedure.,Yhdistä olemassa oleva laatumenettely.,
 Additional Information,lisäinformaatio,
 Quality Review Objective,Laadun arvioinnin tavoite,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Saapumisten kehitys,
 Purchase Register,Osto Rekisteröidy,
 Quotation Trends,Tarjousten kehitys,
-Quoted Item Comparison,Noteeratut Kohta Vertailu,
 Received Items To Be Billed,Saivat kohteet laskuttamat,
 Qty to Order,Tilattava yksikkömäärä,
 Requested Items To Be Transferred,siirrettävät pyydetyt tuotteet,
@@ -9091,7 +9081,6 @@
 Absent Days,Poissa olevat päivät,
 Conditions and Formula variable and example,Ehdot ja kaavan muuttuja ja esimerkki,
 Feedback By,Palaute,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Valmistusosa,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Asiakkaan nimi asetetaan oletusarvoisesti syötetyn koko nimen mukaan. Jos haluat asiakkaiden nimeävän a,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,"Määritä oletushinta, kun luot uutta myyntitapahtumaa. Tuotteiden hinnat haetaan tästä hinnastosta.",
@@ -9692,7 +9681,6 @@
 Reserved Balance,Varattu saldo,
 Uncleared Balance,Tyhjentämätön saldo,
 Payment related to {0} is not completed,Kohteeseen {0} liittyvä maksu ei ole suoritettu,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rivi # {}: Sarjanumero {}. {} on jo suoritettu toiseen POS-laskuun. Valitse kelvollinen sarjanumero.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Rivi # {}: Tuotekoodi: {} ei ole käytettävissä varastossa {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rivi # {}: varastomäärä ei riitä tuotekoodille: {} varaston alla {}. Saatavilla oleva määrä {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rivi # {}: Valitse sarjanumero ja erä kohteelle: {} tai poista se suorittaaksesi tapahtuman.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Ota Salli negatiivinen varastossa -osake käyttöön tai luo varastotiedot jatkaaksesi.,
 No Inpatient Record found against patient {0},Potilasta {0} vastaan ei löytynyt sairaalatietoja,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Sairaalan lääkemääräys {0} potilastapaamista vastaan {1} on jo olemassa.,
+Allow In Returns,Salli vastineeksi,
+Hide Unavailable Items,Piilota käytettävissä olevat kohteet,
+Apply Discount on Discounted Rate,Käytä alennusta alennettuun hintaan,
+Therapy Plan Template,Hoitosuunnitelman malli,
+Fetching Template Details,Haetaan mallin yksityiskohtia,
+Linked Item Details,Linkitetyn tuotteen tiedot,
+Therapy Types,Hoitotyypit,
+Therapy Plan Template Detail,Hoitosuunnitelman malli,
+Non Conformance,Vaatimustenvastaisuus,
+Process Owner,Prosessin omistaja,
+Corrective Action,Korjaava toimenpide,
+Preventive Action,Ennaltaehkäisevä toiminta,
+Problem,Ongelma,
+Responsible,Vastuullinen,
+Completion By,Valmistuminen,
+Process Owner Full Name,Prosessin omistajan koko nimi,
+Right Index,Oikea hakemisto,
+Left Index,Vasen hakemisto,
+Sub Procedure,Alimenettely,
+Passed,Hyväksytty,
+Print Receipt,Tulosta kuitti,
+Edit Receipt,Muokkaa kuittiä,
+Focus on search input,Keskity hakusyöttöön,
+Focus on Item Group filter,Keskity tuoteryhmän suodattimeen,
+Checkout Order / Submit Order / New Order,Kassatilaus / Lähetä tilaus / Uusi tilaus,
+Add Order Discount,Lisää tilausalennus,
+Item Code: {0} is not available under warehouse {1}.,Tuotekoodi: {0} ei ole käytettävissä varastossa {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Sarjanumerot eivät ole käytettävissä tuotteelle {0} varaston alla {1}. Yritä vaihtaa varastoa.,
+Fetched only {0} available serial numbers.,Haettu vain {0} käytettävissä olevaa sarjanumeroa.,
+Switch Between Payment Modes,Vaihda maksutapojen välillä,
+Enter {0} amount.,Anna summa {0}.,
+You don't have enough points to redeem.,Sinulla ei ole tarpeeksi pisteitä lunastettavaksi.,
+You can redeem upto {0}.,Voit lunastaa jopa {0}.,
+Enter amount to be redeemed.,Syötä lunastettava summa.,
+You cannot redeem more than {0}.,Et voi lunastaa enempää kuin {0}.,
+Open Form View,Avaa lomakkeenäkymä,
+POS invoice {0} created succesfully,POS-lasku {0} luotu onnistuneesti,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Varastomäärä ei riitä tuotekoodiin: {0} varaston alla {1}. Saatavilla oleva määrä {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Sarjanumero: {0} on jo tehty toiseen POS-laskuun.,
+Balance Serial No,Saldo Sarjanumero,
+Warehouse: {0} does not belong to {1},Varasto: {0} ei kuulu {1},
+Please select batches for batched item {0},Valitse erät eräkohtaiselle tuotteelle {0},
+Please select quantity on row {0},Valitse määrä riviltä {0},
+Please enter serial numbers for serialized item {0},Anna sarjanumero sarjanumerolle {0},
+Batch {0} already selected.,Erä {0} on jo valittu.,
+Please select a warehouse to get available quantities,Valitse varasto saadaksesi käytettävissä olevat määrät,
+"For transfer from source, selected quantity cannot be greater than available quantity",Lähteestä siirtoa varten valittu määrä ei voi olla suurempi kuin käytettävissä oleva määrä,
+Cannot find Item with this Barcode,Tuotetta ei löydy tällä viivakoodilla,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} on pakollinen. Ehkä valuutanvaihtotietuetta ei ole luotu käyttäjille {1} - {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} on lähettänyt siihen linkitetyn sisällön. Sinun on peruttava varat, jotta voit luoda ostotuoton.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Tätä asiakirjaa ei voi peruuttaa, koska se on linkitetty lähetettyyn sisältöön {0}. Peruuta se jatkaaksesi.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rivi # {}: Sarjanumero {} on jo tehty toiseen POS-laskuun. Valitse voimassa oleva sarjanumero.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rivi # {}: Sarjanumerot {} on jo tehty toiseen POS-laskuun. Valitse voimassa oleva sarjanumero.,
+Item Unavailable,Kohde ei ole käytettävissä,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Rivi # {}: Sarjanumeroa {} ei voi palauttaa, koska sitä ei käsitelty alkuperäisessä laskussa {}",
+Please set default Cash or Bank account in Mode of Payment {},Määritä oletusarvoinen käteis- tai pankkitili Maksutilassa {},
+Please set default Cash or Bank account in Mode of Payments {},Aseta oletusarvoinen käteis- tai pankkitili Maksutilassa {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Varmista, että {} -tili on tase-tili. Voit vaihtaa päätilin tase-tiliksi tai valita toisen tilin.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Varmista, että {} -tili on maksettava tili. Muuta tilityypiksi Maksettava tai valitse toinen tili.",
+Row {}: Expense Head changed to {} ,Rivi {}: Kulupää vaihdettu arvoksi {},
+because account {} is not linked to warehouse {} ,koska tiliä {} ei ole linkitetty varastoon {},
+or it is not the default inventory account,tai se ei ole oletusvarastotili,
+Expense Head Changed,Kulupää vaihdettu,
+because expense is booked against this account in Purchase Receipt {},koska kulu kirjataan tätä tiliä vastaan ostokuittiin {},
+as no Purchase Receipt is created against Item {}. ,koska tuotteelle {} ei luoda ostokuittiä.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Tämä tehdään kirjanpidon hoitamiseksi tapauksissa, joissa ostokuitti luodaan ostolaskun jälkeen",
+Purchase Order Required for item {},Tuotteen {} ostotilaus vaaditaan,
+To submit the invoice without purchase order please set {} ,"Jos haluat lähettää laskun ilman ostotilausta, aseta {}",
+as {} in {},kuten {} kohteessa {},
+Mandatory Purchase Order,Pakollinen ostotilaus,
+Purchase Receipt Required for item {},Tuotteelle vaaditaan ostokuitti,
+To submit the invoice without purchase receipt please set {} ,"Jos haluat lähettää laskun ilman ostokuittiä, aseta {}",
+Mandatory Purchase Receipt,Pakollinen ostokuitti,
+POS Profile {} does not belongs to company {},POS-profiili {} ei kuulu yritykseen {},
+User {} is disabled. Please select valid user/cashier,Käyttäjä {} on poistettu käytöstä. Valitse kelvollinen käyttäjä / kassanhaltija,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Rivi # {}: palautuslaskun {} alkuperäinen lasku {} on {}.,
+Original invoice should be consolidated before or along with the return invoice.,Alkuperäinen lasku tulee yhdistää ennen palautuslaskua tai sen mukana.,
+You can add original invoice {} manually to proceed.,Voit lisätä alkuperäisen laskun {} manuaalisesti jatkaaksesi.,
+Please ensure {} account is a Balance Sheet account. ,"Varmista, että {} -tili on tase-tili.",
+You can change the parent account to a Balance Sheet account or select a different account.,Voit vaihtaa päätilin tase-tiliksi tai valita toisen tilin.,
+Please ensure {} account is a Receivable account. ,"Varmista, että {} -tili on Saamisetili.",
+Change the account type to Receivable or select a different account.,Muuta tilityypiksi Saamiset tai valitse toinen tili.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} ei voi peruuttaa, koska ansaitut kanta-asiakaspisteet on lunastettu. Peruuta ensin {} Ei {}",
+already exists,on jo olemassa,
+POS Closing Entry {} against {} between selected period,POS-loppumerkintä {} vastaan {} valitun jakson välillä,
+POS Invoice is {},POS-lasku on {},
+POS Profile doesn't matches {},POS-profiili ei vastaa {},
+POS Invoice is not {},POS-lasku ei ole {},
+POS Invoice isn't created by user {},POS-laskua ei ole luonut käyttäjä {},
+Row #{}: {},Rivi # {}: {},
+Invalid POS Invoices,Virheelliset POS-laskut,
+Please add the account to root level Company - {},Lisää tili juuritason yritykselle - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Kun luot yritystiliä lapsiyritykselle {0}, emotiliä {1} ei löydy. Luo vanhemman tili vastaavassa aitoustodistuksessa",
+Account Not Found,Tiliä ei löydy,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Kun luot yritystiliä {0}, emotili {1} löydettiin kirjanpitotiliksi.",
+Please convert the parent account in corresponding child company to a group account.,Muunna vastaavan alayrityksen emotili ryhmätiliksi.,
+Invalid Parent Account,Virheellinen vanhempien tili,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Sen uudelleennimeäminen on sallittua vain emoyrityksen {0} kautta, jotta vältetään ristiriidat.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Jos {0} {1} tuotemääriä {2} käytetään, malliin {3} sovelletaan tuotetta.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Jos {0} {1} arvoinen kohde {2}, malliin {3} sovelletaan tuotetta.",
+"As the field {0} is enabled, the field {1} is mandatory.","Koska kenttä {0} on käytössä, kenttä {1} on pakollinen.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Koska kenttä {0} on käytössä, kentän {1} arvon tulisi olla suurempi kuin 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Tuotteen {0} sarjanumeroa {1} ei voida toimittaa, koska se on varattu täyden myyntitilauksen {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Myyntitilauksessa {0} on varaus tuotteelle {1}, voit toimittaa varattuja {1} vain vastaan {0}.",
+{0} Serial No {1} cannot be delivered,{0} Sarjanumeroa {1} ei voida toimittaa,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Rivi {0}: Alihankintatuote on pakollinen raaka-aineelle {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Koska raaka-aineita on riittävästi, Materiaalipyyntöä ei vaadita Varasto {0} -palvelussa.",
+" If you still want to proceed, please enable {0}.","Jos haluat edelleen jatkaa, ota {0} käyttöön.",
+The item referenced by {0} - {1} is already invoiced,"Kohde, johon {0} - {1} viittaa, on jo laskutettu",
+Therapy Session overlaps with {0},Hoitoistunto on päällekkäinen kohteen {0} kanssa,
+Therapy Sessions Overlapping,Hoitoistunnot ovat päällekkäisiä,
+Therapy Plans,Hoitosuunnitelmat,
+"Item Code, warehouse, quantity are required on row {0}","Tuotekoodi, varasto, määrä vaaditaan rivillä {0}",
+Get Items from Material Requests against this Supplier,Hanki tuotteita tältä toimittajalta saaduista materiaalipyynnöistä,
+Enable European Access,Ota käyttöön eurooppalainen käyttöoikeus,
+Creating Purchase Order ...,Luodaan ostotilausta ...,
+"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.",Valitse toimittaja alla olevien tuotteiden oletustoimittajista. Valinnan yhteydessä ostotilaus tehdään vain valitulle toimittajalle kuuluvista tuotteista.,
+Row #{}: You must select {} serial numbers for item {}.,Rivi # {}: Sinun on valittava {} tuotteen sarjanumerot {}.,
diff --git a/erpnext/translations/fr.csv b/erpnext/translations/fr.csv
index 0d53ce7..3cdae45 100644
--- a/erpnext/translations/fr.csv
+++ b/erpnext/translations/fr.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Vous ne pouvez pas déduire lorsqu'une catégorie est pour 'Évaluation' ou 'Évaluation et Total',
 "Cannot delete Serial No {0}, as it is used in stock transactions","Impossible de supprimer les N° de série {0}, s'ils sont dans les mouvements de stock",
 Cannot enroll more than {0} students for this student group.,Inscription de plus de {0} étudiants impossible pour ce groupe d'étudiants.,
-Cannot find Item with this barcode,Impossible de trouver l'article avec ce code à barres,
 Cannot find active Leave Period,Impossible de trouver une période de congés active,
 Cannot produce more Item {0} than Sales Order quantity {1},Impossible de produire plus d'Article {0} que la quantité {1} du Bon de Commande,
 Cannot promote Employee with status Left,"Impossible de promouvoir  un employé avec le statut ""Parti""",
@@ -584,7 +583,7 @@
 Configure,Configurer,
 Configure {0},Configurer {0},
 Confirmed orders from Customers.,Commandes confirmées des clients.,
-Connect Amazon with ERPNext,Connectez Amazon avec ERPNext,
+Connect Amazon with ERPNext,Connecter Amazon avec ERPNext,
 Connect Shopify with ERPNext,Connectez Shopify avec ERPNext,
 Connect to Quickbooks,Se connecter à Quickbooks,
 Connected to QuickBooks,Connecté à QuickBooks,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Créer et gérer des résumés  d'E-mail quotidiens, hebdomadaires et mensuels .",
 Create customer quotes,Créer les devis client,
 Create rules to restrict transactions based on values.,Créer des règles pour restreindre les transactions basées sur les valeurs .,
-Created By,Établi par,
 Created {0} scorecards for {1} between: ,{0} fiches d'évaluations créées pour {1} entre:,
 Creating Company and Importing Chart of Accounts,Création d'une société et importation d'un plan comptable,
 Creating Fees,Création d'Honoraires,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Pour la ligne {0}: entrez la quantité planifiée,
 "For {0}, only credit accounts can be linked against another debit entry","Pour {0}, seuls les comptes de crédit peuvent être liés avec une autre écriture de débit",
 "For {0}, only debit accounts can be linked against another credit entry","Pour {0}, seuls les comptes de débit peuvent être liés avec une autre écriture de crédit",
-Form View,Vue de Formulaire,
 Forum Activity,Activité du forum,
 Free item code is not selected,Le code d'article gratuit n'est pas sélectionné,
 Freight and Forwarding Charges,Frais de Fret et d'Expédition,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Envoyer un SMS en masse à vos contacts,
 Sensitivity,Sensibilité,
 Sent,Envoyé,
-Serial #,Série #,
 Serial No and Batch,N° de Série et lot,
 Serial No is mandatory for Item {0},N° de Série est obligatoire pour l'Article {0},
 Serial No {0} does not belong to Batch {1},Le numéro de série {0} n&#39;appartient pas au lot {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Avec quoi avez vous besoin d'aide ?,
 What does it do?,Qu'est-ce que ça fait ?,
 Where manufacturing operations are carried.,Là où les opérations de production sont réalisées.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Lors de la création du compte pour la société enfant {0}, le compte parent {1} est introuvable. Veuillez créer le compte parent dans le COA correspondant.",
 White,blanc,
 Wire Transfer,Virement,
 WooCommerce Products,Produits WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Fusionner avec existant,
 Office,Bureau,
 Orientation,Orientation,
+Parent,Parent,
 Passive,Passif,
 Payment Failed,Le Paiement a Échoué,
 Percent,Pourcent,
@@ -3543,6 +3539,7 @@
 Show {0},Montrer {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Caractères spéciaux sauf &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Et &quot;}&quot; non autorisés dans les séries de nommage",
 Target Details,Détails de la cible,
+{0} already has a Parent Procedure {1}.,{0} a déjà une procédure parent {1}.,
 API,API,
 Annual,Annuel,
 Approved,Approuvé,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,La date de Fin ne peut pas être antérieure à la Date de Début,
 For Default Supplier (Optional),Pour le fournisseur par défaut (facultatif),
 From date cannot be greater than To date,La Date Initiale ne peut pas être postérieure à la Date Finale,
-Get items from,Obtenir les articles de,
 Group by,Grouper Par,
 In stock,En stock,
 Item name,Nom de l'article,
@@ -7558,10 +7554,6 @@
 Quality Goal,Objectif de qualité,
 Monitoring Frequency,Fréquence de surveillance,
 Weekday,Jour de la semaine,
-January-April-July-October,Janvier-avril-juillet-octobre,
-Revision and Revised On,Révision et révisé le,
-Revision,Révision,
-Revised On,Révisé le,
 Objectives,Objectifs,
 Quality Goal Objective,Objectif de qualité Objectif,
 Objective,Objectif,
@@ -7574,7 +7566,6 @@
 Processes,Les processus,
 Quality Procedure Process,Processus de procédure de qualité,
 Process Description,Description du processus,
-Child Procedure,Procédure enfant,
 Link existing Quality Procedure.,Lier la procédure qualité existante.,
 Additional Information,Information additionnelle,
 Quality Review Objective,Objectif de revue de qualité,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Tendances des Reçus d'Achats,
 Purchase Register,Registre des Achats,
 Quotation Trends,Tendances des Devis,
-Quoted Item Comparison,Comparaison d'Article Soumis,
 Received Items To Be Billed,Articles Reçus à Facturer,
 Qty to Order,Quantité à Commander,
 Requested Items To Be Transferred,Articles Demandés à Transférer,
@@ -9091,7 +9081,6 @@
 Absent Days,Jours d&#39;absence,
 Conditions and Formula variable and example,Conditions et variable de formule et exemple,
 Feedback By,Commentaires de,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. JJ.-,
 Manufacturing Section,Section de fabrication,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Par défaut, le nom du client est défini selon le nom complet entré. Si vous souhaitez que les clients soient nommés par un",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configurez la liste de prix par défaut lors de la création d&#39;une nouvelle transaction de vente. Les prix des articles seront extraits de cette liste de prix.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Solde réservé,
 Uncleared Balance,Solde non compensé,
 Payment related to {0} is not completed,Le paiement lié à {0} n&#39;est pas terminé,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ligne n ° {}: numéro de série {}. {} a déjà fait l&#39;objet d&#39;une autre facture PDV. Veuillez sélectionner un numéro de série valide.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Ligne n ° {}: code article: {} n&#39;est pas disponible dans l&#39;entrepôt {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Ligne n ° {}: quantité en stock insuffisante pour le code article: {} sous l&#39;entrepôt {}. Quantité disponible {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Ligne n ° {}: veuillez sélectionner un numéro de série et un lot pour l&#39;article: {} ou supprimez-le pour terminer la transaction.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Veuillez activer Autoriser le stock négatif dans les paramètres de stock ou créer une entrée de stock pour continuer.,
 No Inpatient Record found against patient {0},Aucun dossier d&#39;hospitalisation trouvé pour le patient {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Une ordonnance de médicament pour patients hospitalisés {0} contre rencontre avec un patient {1} existe déjà.,
+Allow In Returns,Autoriser les retours,
+Hide Unavailable Items,Masquer les éléments non disponibles,
+Apply Discount on Discounted Rate,Appliquer une remise sur un tarif réduit,
+Therapy Plan Template,Modèle de plan de thérapie,
+Fetching Template Details,Récupération des détails du modèle,
+Linked Item Details,Détails de l&#39;élément lié,
+Therapy Types,Types de thérapie,
+Therapy Plan Template Detail,Détail du modèle de plan de thérapie,
+Non Conformance,Non-conformité,
+Process Owner,Propriétaire du processus,
+Corrective Action,Action corrective,
+Preventive Action,Action préventive,
+Problem,Problème,
+Responsible,Responsable,
+Completion By,Achèvement par,
+Process Owner Full Name,Nom complet du propriétaire du processus,
+Right Index,Index droit,
+Left Index,Index gauche,
+Sub Procedure,Sous-procédure,
+Passed,Passé,
+Print Receipt,Imprimer le reçu,
+Edit Receipt,Modifier le reçu,
+Focus on search input,Focus sur l&#39;entrée de recherche,
+Focus on Item Group filter,Focus sur le filtre de groupe d&#39;articles,
+Checkout Order / Submit Order / New Order,Commander la commande / Soumettre la commande / Nouvelle commande,
+Add Order Discount,Ajouter une remise de commande,
+Item Code: {0} is not available under warehouse {1}.,Code d&#39;article: {0} n&#39;est pas disponible dans l&#39;entrepôt {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numéros de série non disponibles pour l&#39;article {0} sous l&#39;entrepôt {1}. Veuillez essayer de changer d’entrepôt.,
+Fetched only {0} available serial numbers.,Récupéré uniquement {0} numéros de série disponibles.,
+Switch Between Payment Modes,Basculer entre les modes de paiement,
+Enter {0} amount.,Saisissez le montant de {0}.,
+You don't have enough points to redeem.,Vous n&#39;avez pas assez de points à échanger.,
+You can redeem upto {0}.,Vous pouvez utiliser jusqu&#39;à {0}.,
+Enter amount to be redeemed.,Entrez le montant à utiliser.,
+You cannot redeem more than {0}.,Vous ne pouvez pas utiliser plus de {0}.,
+Open Form View,Ouvrir la vue formulaire,
+POS invoice {0} created succesfully,Facture PDV {0} créée avec succès,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Quantité en stock insuffisante pour le code article: {0} sous l&#39;entrepôt {1}. Quantité disponible {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Numéro de série: {0} a déjà été traité sur une autre facture PDV.,
+Balance Serial No,Numéro de série de la balance,
+Warehouse: {0} does not belong to {1},Entrepôt: {0} n&#39;appartient pas à {1},
+Please select batches for batched item {0},Veuillez sélectionner des lots pour l&#39;article en lots {0},
+Please select quantity on row {0},Veuillez sélectionner la quantité sur la ligne {0},
+Please enter serial numbers for serialized item {0},Veuillez saisir les numéros de série de l&#39;article sérialisé {0},
+Batch {0} already selected.,Lot {0} déjà sélectionné.,
+Please select a warehouse to get available quantities,Veuillez sélectionner un entrepôt pour obtenir les quantités disponibles,
+"For transfer from source, selected quantity cannot be greater than available quantity","Pour le transfert depuis la source, la quantité sélectionnée ne peut pas être supérieure à la quantité disponible",
+Cannot find Item with this Barcode,Impossible de trouver l&#39;article avec ce code-barres,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} est obligatoire. L&#39;enregistrement de change de devises n&#39;est peut-être pas créé pour le {1} au {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} a soumis des éléments qui lui sont associés. Vous devez annuler les actifs pour créer un retour d&#39;achat.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Impossible d&#39;annuler ce document car il est associé à l&#39;élément soumis {0}. Veuillez l&#39;annuler pour continuer.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ligne n ° {}: le numéro de série {} a déjà été transposé sur une autre facture PDV. Veuillez sélectionner un numéro de série valide.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ligne n ° {}: les numéros de série {} ont déjà été traités sur une autre facture PDV. Veuillez sélectionner un numéro de série valide.,
+Item Unavailable,Article non disponible,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Ligne n ° {}: le numéro de série {} ne peut pas être renvoyé car il n&#39;a pas été traité dans la facture d&#39;origine {},
+Please set default Cash or Bank account in Mode of Payment {},Veuillez définir le compte de trésorerie ou bancaire par défaut dans le mode de paiement {},
+Please set default Cash or Bank account in Mode of Payments {},Veuillez définir le compte par défaut en espèces ou en banque dans Mode de paiement {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Veuillez vous assurer que {} compte est un compte de bilan. Vous pouvez changer le compte parent en compte de bilan ou sélectionner un autre compte.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Veuillez vous assurer que {} compte est un compte Payable. Modifiez le type de compte sur Payable ou sélectionnez un autre compte.,
+Row {}: Expense Head changed to {} ,Ligne {}: le paramètre Expense Head a été remplacé par {},
+because account {} is not linked to warehouse {} ,car le compte {} n&#39;est pas associé à l&#39;entrepôt {},
+or it is not the default inventory account,ou ce n&#39;est pas le compte d&#39;inventaire par défaut,
+Expense Head Changed,Tête de dépense modifiée,
+because expense is booked against this account in Purchase Receipt {},car les dépenses sont imputées à ce compte dans le reçu d&#39;achat {},
+as no Purchase Receipt is created against Item {}. ,car aucun reçu d&#39;achat n&#39;est créé pour l&#39;article {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ceci est fait pour gérer la comptabilité des cas où le reçu d&#39;achat est créé après la facture d&#39;achat,
+Purchase Order Required for item {},Bon de commande requis pour l&#39;article {},
+To submit the invoice without purchase order please set {} ,"Pour soumettre la facture sans bon de commande, veuillez définir {}",
+as {} in {},un péché {},
+Mandatory Purchase Order,Bon de commande obligatoire,
+Purchase Receipt Required for item {},Reçu d&#39;achat requis pour l&#39;article {},
+To submit the invoice without purchase receipt please set {} ,"Pour soumettre la facture sans reçu d&#39;achat, veuillez définir {}",
+Mandatory Purchase Receipt,Reçu d&#39;achat obligatoire,
+POS Profile {} does not belongs to company {},Le profil PDV {} n&#39;appartient pas à l&#39;entreprise {},
+User {} is disabled. Please select valid user/cashier,L&#39;utilisateur {} est désactivé. Veuillez sélectionner un utilisateur / caissier valide,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Ligne n ° {}: la facture originale {} de la facture de retour {} est {}.,
+Original invoice should be consolidated before or along with the return invoice.,La facture originale doit être consolidée avant ou avec la facture de retour.,
+You can add original invoice {} manually to proceed.,Vous pouvez ajouter la facture originale {} manuellement pour continuer.,
+Please ensure {} account is a Balance Sheet account. ,Veuillez vous assurer que {} compte est un compte de bilan.,
+You can change the parent account to a Balance Sheet account or select a different account.,Vous pouvez changer le compte parent en compte de bilan ou sélectionner un autre compte.,
+Please ensure {} account is a Receivable account. ,Veuillez vous assurer que {} compte est un compte recevable.,
+Change the account type to Receivable or select a different account.,Changez le type de compte en recevable ou sélectionnez un autre compte.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} ne peut pas être annulé car les points de fidélité gagnés ont été utilisés. Annulez d&#39;abord le {} Non {},
+already exists,existe déjà,
+POS Closing Entry {} against {} between selected period,Entrée de clôture du PDV {} contre {} entre la période sélectionnée,
+POS Invoice is {},La facture PDV est {},
+POS Profile doesn't matches {},Le profil de point de vente ne correspond pas à {},
+POS Invoice is not {},La facture PDV n&#39;est pas {},
+POS Invoice isn't created by user {},La facture PDV n&#39;est pas créée par l&#39;utilisateur {},
+Row #{}: {},Rangée #{}: {},
+Invalid POS Invoices,Factures PDV non valides,
+Please add the account to root level Company - {},Veuillez ajouter le compte à la société au niveau racine - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Lors de la création du compte pour l&#39;entreprise enfant {0}, le compte parent {1} est introuvable. Veuillez créer le compte parent dans le COA correspondant",
+Account Not Found,Compte non trouvé,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Lors de la création du compte pour l&#39;entreprise enfant {0}, le compte parent {1} a été trouvé en tant que compte du grand livre.",
+Please convert the parent account in corresponding child company to a group account.,Veuillez convertir le compte parent de l&#39;entreprise enfant correspondante en compte de groupe.,
+Invalid Parent Account,Compte parent non valide,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Le renommer n&#39;est autorisé que via la société mère {0}, pour éviter les incompatibilités.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Si vous {0} {1} quantités de l&#39;article {2}, le schéma {3} sera appliqué à l&#39;article.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Si vous {0} {1} valez un article {2}, le schéma {3} sera appliqué à l&#39;article.",
+"As the field {0} is enabled, the field {1} is mandatory.","Comme le champ {0} est activé, le champ {1} est obligatoire.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Lorsque le champ {0} est activé, la valeur du champ {1} doit être supérieure à 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Impossible de livrer le numéro de série {0} de l&#39;article {1} car il est réservé pour remplir la commande client {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","La commande client {0} a une réservation pour l&#39;article {1}, vous ne pouvez livrer que réservée {1} contre {0}.",
+{0} Serial No {1} cannot be delivered,Le {0} numéro de série {1} ne peut pas être livré,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Ligne {0}: l&#39;article sous-traité est obligatoire pour la matière première {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Comme il y a suffisamment de matières premières, la demande de matériel n&#39;est pas requise pour l&#39;entrepôt {0}.",
+" If you still want to proceed, please enable {0}.","Si vous souhaitez continuer, veuillez activer {0}.",
+The item referenced by {0} - {1} is already invoiced,L&#39;article référencé par {0} - {1} est déjà facturé,
+Therapy Session overlaps with {0},La session de thérapie chevauche {0},
+Therapy Sessions Overlapping,Chevauchement des séances de thérapie,
+Therapy Plans,Plans de thérapie,
+"Item Code, warehouse, quantity are required on row {0}","Le code article, l&#39;entrepôt et la quantité sont obligatoires sur la ligne {0}",
+Get Items from Material Requests against this Supplier,Obtenir des articles à partir de demandes d&#39;articles auprès de ce fournisseur,
+Enable European Access,Activer l&#39;accès européen,
+Creating Purchase Order ...,Création d&#39;une commande d&#39;achat ...,
+"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.","Sélectionnez un fournisseur parmi les fournisseurs par défaut des articles ci-dessous. Lors de la sélection, un bon de commande sera effectué contre des articles appartenant uniquement au fournisseur sélectionné.",
+Row #{}: You must select {} serial numbers for item {}.,Ligne n ° {}: vous devez sélectionner {} numéros de série pour l&#39;article {}.,
diff --git a/erpnext/translations/gu.csv b/erpnext/translations/gu.csv
index f37dc00..5c2b520 100644
--- a/erpnext/translations/gu.csv
+++ b/erpnext/translations/gu.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',કપાત કરી શકો છો જ્યારે શ્રેણી &#39;વેલ્યુએશન&#39; અથવા &#39;Vaulation અને કુલ&#39; માટે છે,
 "Cannot delete Serial No {0}, as it is used in stock transactions","કાઢી શકતા નથી સીરીયલ કોઈ {0}, તે સ્ટોક વ્યવહારો તરીકે ઉપયોગ થાય છે",
 Cannot enroll more than {0} students for this student group.,{0} આ વિદ્યાર્થી જૂથ માટે વિદ્યાર્થીઓ કરતાં વધુ નોંધણી કરી શકતા નથી.,
-Cannot find Item with this barcode,આ બારકોડથી આઇટમ શોધી શકાતી નથી,
 Cannot find active Leave Period,સક્રિય રજા અવધિ શોધી શકાતો નથી,
 Cannot produce more Item {0} than Sales Order quantity {1},સેલ્સ ક્રમ સાથે જથ્થો કરતાં વધુ આઇટમ {0} પેદા કરી શકતા નથી {1},
 Cannot promote Employee with status Left,કર્મચારીને દરજ્જા સાથે બઢતી ન આપી શકે,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","બનાવો અને દૈનિક, સાપ્તાહિક અને માસિક ઇમેઇલ પચાવી મેનેજ કરો.",
 Create customer quotes,ગ્રાહક અવતરણ બનાવો,
 Create rules to restrict transactions based on values.,મૂલ્યો પર આધારિત વ્યવહારો પ્રતિબંધિત કરવા માટે નિયમો બનાવો.,
-Created By,દ્વારા બનાવવામાં,
 Created {0} scorecards for {1} between: ,{1} માટે {0} સ્કોરકાર્ડ્સ વચ્ચે બનાવ્યાં:,
 Creating Company and Importing Chart of Accounts,કંપની બનાવવી અને એકાઉન્ટ્સનો આયાત કરવો,
 Creating Fees,ફી બનાવવી,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,{0} પંક્તિ માટે: નિયુક્ત કરેલું કક્ષ દાખલ કરો,
 "For {0}, only credit accounts can be linked against another debit entry","{0}, માત્ર ક્રેડિટ ખાતાઓ અન્ય ડેબિટ પ્રવેશ સામે લિંક કરી શકો છો",
 "For {0}, only debit accounts can be linked against another credit entry","{0}, માત્ર ડેબિટ એકાઉન્ટ્સ બીજા ક્રેડિટ પ્રવેશ સામે લિંક કરી શકો છો",
-Form View,ફોર્મ જુઓ,
 Forum Activity,ફોરમ પ્રવૃત્તિ,
 Free item code is not selected,મફત આઇટમ કોડ પસંદ થયેલ નથી,
 Freight and Forwarding Charges,નૂર અને ફોરવર્ડિંગ સમાયોજિત,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,સામૂહિક એસએમએસ તમારા સંપર્કો મોકલો,
 Sensitivity,સંવેદનશીલતા,
 Sent,મોકલ્યું,
-Serial #,સીરીયલ #,
 Serial No and Batch,સીરીયલ કોઈ અને બેચ,
 Serial No is mandatory for Item {0},સીરીયલ કોઈ વસ્તુ માટે ફરજિયાત છે {0},
 Serial No {0} does not belong to Batch {1},સીરિયલ કોઈ {0} બેચની નથી {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,શું તમે સાથે મદદ જરૂર છે?,
 What does it do?,તે શું કરે છે?,
 Where manufacturing operations are carried.,ઉત્પાદન કામગીરી જ્યાં ધરવામાં આવે છે.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","બાળ કંપની {0} માટે એકાઉન્ટ બનાવતી વખતે, પિતૃ એકાઉન્ટ {1} મળ્યું નથી. કૃપા કરીને સંબંધિત COA માં પેરેંટ એકાઉન્ટ બનાવો",
 White,વ્હાઇટ,
 Wire Transfer,વાયર ટ્રાન્સફર,
 WooCommerce Products,WooCommerce ઉત્પાદનો,
@@ -3493,6 +3488,7 @@
 Merge with existing,વર્તમાન સાથે મર્જ,
 Office,ઓફિસ,
 Orientation,ઓરિએન્ટેશન,
+Parent,પિતૃ,
 Passive,નિષ્ક્રીય,
 Payment Failed,ચુકવણી કરવામાં નિષ્ફળ,
 Percent,ટકા,
@@ -3543,6 +3539,7 @@
 Show {0},બતાવો {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; અને &quot;}&quot; સિવાયના વિશેષ અક્ષરો નામકરણ શ્રેણીમાં મંજૂરી નથી",
 Target Details,લક્ષ્યાંક વિગતો,
+{0} already has a Parent Procedure {1}.,{0} પાસે પહેલેથી જ પિતૃ કાર્યવાહી છે {1}.,
 API,API,
 Annual,વાર્ષિક,
 Approved,મંજૂર,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,સમાપ્તિ તારીખ પ્રારંભ તારીખ કરતાં ઓછી હોઈ શકતી નથી,
 For Default Supplier (Optional),ડિફોલ્ટ સપ્લાયર માટે (વૈકલ્પિક),
 From date cannot be greater than To date,તારીખથી તારીખ કરતાં વધુ હોઈ શકતી નથી,
-Get items from,વસ્તુઓ મેળવો,
 Group by,ગ્રુપ દ્વારા,
 In stock,ઉપલબ્ધ છે,
 Item name,વસ્તુ નામ,
@@ -7558,10 +7554,6 @@
 Quality Goal,ગુણવત્તા ધ્યેય,
 Monitoring Frequency,મોનિટરિંગ આવર્તન,
 Weekday,અઠવાડિયાનો દિવસ,
-January-April-July-October,જાન્યુઆરી-એપ્રિલ-જુલાઈ-Octoberક્ટોબર,
-Revision and Revised On,સુધારો અને સુધારેલ,
-Revision,પુનરાવર્તન,
-Revised On,રિવાઇઝ્ડ ઓન,
 Objectives,ઉદ્દેશો,
 Quality Goal Objective,ગુણવત્તા ધ્યેય ઉદ્દેશ,
 Objective,ઉદ્દેશ્ય,
@@ -7574,7 +7566,6 @@
 Processes,પ્રક્રિયાઓ,
 Quality Procedure Process,ગુણવત્તા પ્રક્રિયા પ્રક્રિયા,
 Process Description,પ્રક્રિયા વર્ણન,
-Child Procedure,બાળ પ્રક્રિયા,
 Link existing Quality Procedure.,હાલની ગુણવત્તા પ્રક્રિયાને લિંક કરો.,
 Additional Information,વધારાની માહિતી,
 Quality Review Objective,ગુણવત્તા સમીક્ષા ઉદ્દેશ્ય,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,ખરીદી રસીદ પ્રવાહો,
 Purchase Register,ખરીદી રજીસ્ટર,
 Quotation Trends,અવતરણ પ્રવાહો,
-Quoted Item Comparison,નોંધાયેલા વસ્તુ સરખામણી,
 Received Items To Be Billed,પ્રાપ્ત વસ્તુઓ બિલ કરવા,
 Qty to Order,ઓર્ડર Qty,
 Requested Items To Be Transferred,વિનંતી વસ્તુઓ ટ્રાન્સફર કરી,
@@ -9091,7 +9081,6 @@
 Absent Days,ગેરહાજર દિવસો,
 Conditions and Formula variable and example,શરતો અને ફોર્મ્યુલા ચલ અને ઉદાહરણ,
 Feedback By,પ્રતિસાદ દ્વારા,
-MTNG-.YYYY.-.MM.-.DD.-,એમટીએનજી -હાયવાય .-. એમએમ .-. ડીડી.-,
 Manufacturing Section,ઉત્પાદન વિભાગ,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","ડિફ defaultલ્ટ રૂપે, ગ્રાહકનું નામ દાખલ કરેલા સંપૂર્ણ નામ મુજબ સેટ કરેલું છે. જો તમે ઇચ્છો છો કે ગ્રાહકોના નામ એ",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,નવો વેચાણ વ્યવહાર બનાવતી વખતે ડિફોલ્ટ ભાવ સૂચિને ગોઠવો. આ ભાવ સૂચિમાંથી આઇટમના ભાવ લાવવામાં આવશે.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,અનામત સંતુલન,
 Uncleared Balance,અસ્પષ્ટ સંતુલન,
 Payment related to {0} is not completed,{0 to થી સંબંધિત ચુકવણી પૂર્ણ થઈ નથી,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,પંક્તિ # {}: સીરીયલ નં {}. {already પહેલાથી જ બીજા પીઓએસ ઇન્વoiceઇસમાં ટ્રાંઝેક્શન કરવામાં આવ્યું છે. કૃપા કરી માન્ય સિરીયલ નં.,
 Row #{}: Item Code: {} is not available under warehouse {}.,પંક્તિ # {}: આઇટમ કોડ: {w વેરહાઉસ under under હેઠળ ઉપલબ્ધ નથી.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,પંક્તિ # {}: સ્ટોક જથ્થો આઇટમ કોડ માટે પૂરતો નથી: are w વેરહાઉસ હેઠળ {}. ઉપલબ્ધ જથ્થો {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,પંક્તિ # {}: મહેરબાની કરીને સીરીયલ નંબર અને આઇટમ સામેની બેચ પસંદ કરો: {} અથવા વ્યવહાર પૂર્ણ કરવા માટે તેને દૂર કરો.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,કૃપા કરીને સ્ટોક સેટિંગ્સમાં નેગેટિવ સ્ટોકને મંજૂરી આપો અથવા આગળ વધવા માટે સ્ટોક એન્ટ્રી બનાવો.,
 No Inpatient Record found against patient {0},દર્દી against 0 against સામે કોઈ ઇનપેશન્ટ રેકોર્ડ મળ્યો નથી.,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,પેશન્ટ એન્કાઉન્ટર In 1} સામે ઇનપેશન્ટ મેડિકેશન ઓર્ડર {0} પહેલેથી હાજર છે.,
+Allow In Returns,રીટર્ન માં મંજૂરી આપો,
+Hide Unavailable Items,અનુપલબ્ધ વસ્તુઓ છુપાવો,
+Apply Discount on Discounted Rate,ડિસ્કાઉન્ટ દરે ડિસ્કાઉન્ટ લાગુ કરો,
+Therapy Plan Template,ઉપચાર યોજના Templateાંચો,
+Fetching Template Details,Templateાંચો વિગતો લાવી રહ્યું છે,
+Linked Item Details,જોડાયેલ વસ્તુ વિગતો,
+Therapy Types,ઉપચારના પ્રકાર,
+Therapy Plan Template Detail,થેરપી યોજના Templateાંચો વિગતવાર,
+Non Conformance,અનુરૂપ ન હોવું,
+Process Owner,પ્રક્રિયા માલિક,
+Corrective Action,સુધારાત્મક પગલાં,
+Preventive Action,નિવારક ક્રિયા,
+Problem,સમસ્યા,
+Responsible,જવાબદાર,
+Completion By,દ્વારા પૂર્ણ,
+Process Owner Full Name,પ્રક્રિયા માલિકનું સંપૂર્ણ નામ,
+Right Index,જમણું અનુક્રમણિકા,
+Left Index,ડાબું અનુક્રમણિકા,
+Sub Procedure,પેટા કાર્યવાહી,
+Passed,પાસ થઈ,
+Print Receipt,રસીદ રસીદ,
+Edit Receipt,રસીદ સંપાદિત કરો,
+Focus on search input,શોધ ઇનપુટ પર ધ્યાન કેન્દ્રિત કરો,
+Focus on Item Group filter,આઇટમ જૂથ ફિલ્ટર પર ધ્યાન કેન્દ્રિત કરો,
+Checkout Order / Submit Order / New Order,ચેકઆઉટ ઓર્ડર / સબમિટ ઓર્ડર / નવો ઓર્ડર,
+Add Order Discount,ઓર્ડર ડિસ્કાઉન્ટ ઉમેરો,
+Item Code: {0} is not available under warehouse {1}.,આઇટમ કોડ: are 0 w વેરહાઉસ under 1} હેઠળ ઉપલબ્ધ નથી.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,વેરહાઉસ} 1} હેઠળ આઇટમ {0} માટે સીરીયલ નંબરો અનુપલબ્ધ છે. કૃપા કરીને વેરહાઉસ બદલવાનો પ્રયાસ કરો.,
+Fetched only {0} available serial numbers.,ફક્ત {0} ઉપલબ્ધ સિરીયલ નંબરો મેળવ્યાં.,
+Switch Between Payment Modes,ચુકવણી મોડ્સ વચ્ચે સ્વિચ કરો,
+Enter {0} amount.,{0} રકમ દાખલ કરો.,
+You don't have enough points to redeem.,તમારી પાસે રિડીમ કરવા માટે પૂરતા પોઇન્ટ નથી.,
+You can redeem upto {0}.,તમે {0 up સુધી રિડીમ કરી શકો છો.,
+Enter amount to be redeemed.,છૂટકારો મેળવવા માટે રકમ દાખલ કરો.,
+You cannot redeem more than {0}.,તમે {0 more કરતા વધારે રિડીમ કરી શકતા નથી.,
+Open Form View,ફોર્મ વ્યૂ ખોલો,
+POS invoice {0} created succesfully,પોસ ઇન્વoiceઇસ {0 suc સફળતાપૂર્વક બનાવેલ છે,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,આઇટમ કોડ માટે સ્ટોક જથ્થો પૂરતો નથી: are 0 w વેરહાઉસ} 1} હેઠળ. ઉપલબ્ધ જથ્થો {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,સીરીયલ નંબર: {0 નો પહેલેથી જ બીજા POS ઇન્વoiceઇસમાં ટ્રાન્ઝેક્શન કરવામાં આવ્યું છે.,
+Balance Serial No,બેલેન્સ સીરીયલ નં,
+Warehouse: {0} does not belong to {1},વેરહાઉસ: {0 {{1} સાથે સંબંધિત નથી,
+Please select batches for batched item {0},કૃપા કરી બેચેડ આઇટમ bat 0 for માટે બchesચેસ પસંદ કરો,
+Please select quantity on row {0},કૃપા કરી પંક્તિ પર જથ્થો પસંદ કરો {0},
+Please enter serial numbers for serialized item {0},સીરીયલાઇઝ્ડ આઇટમ serial 0 for માટે કૃપા કરી ક્રમાંક નંબરો દાખલ કરો,
+Batch {0} already selected.,બેચ} 0} પહેલેથી જ પસંદ કરેલ છે.,
+Please select a warehouse to get available quantities,કૃપા કરીને ઉપલબ્ધ માત્રા મેળવવા માટે વેરહાઉસ પસંદ કરો,
+"For transfer from source, selected quantity cannot be greater than available quantity","સ્રોતમાંથી સ્થાનાંતરણ માટે, પસંદ કરેલા જથ્થા ઉપલબ્ધ માત્રા કરતા વધારે ન હોઈ શકે",
+Cannot find Item with this Barcode,આ બારકોડથી આઇટમ શોધી શકાતી નથી,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0 mand ફરજિયાત છે. કદાચ ચલણ વિનિમય રેકોર્ડ {1} થી {2 for માટે બનાવવામાં આવ્યો નથી,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{એ તેની સાથે જોડાયેલ સંપત્તિ સબમિટ કરી છે. ખરીદીનું વળતર બનાવવા માટે તમારે સંપત્તિઓને રદ કરવાની જરૂર છે.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,આ દસ્તાવેજ રદ કરી શકાતો નથી કારણ કે તે સબમિટ કરેલી સંપત્તિ {0} સાથે જોડાયેલ છે. કૃપા કરીને ચાલુ રાખવા માટે તેને રદ કરો.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,પંક્તિ # {}: સીરીયલ નંબર {પહેલાથી જ બીજા પીઓએસ ઇન્વ Invઇસમાં ટ્રાંઝેક્ટ કરવામાં આવી છે. કૃપા કરી માન્ય સિરીયલ નં.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,પંક્તિ # {}: સીરીયલ નંબર. કૃપા કરી માન્ય સિરીયલ નં.,
+Item Unavailable,આઇટમ અનુપલબ્ધ,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},પંક્તિ # {}: સીરીયલ નંબર {be પરત કરી શકાતી નથી કારણ કે તેનો મૂળ ભરતિયુંમાં ટ્રાન્ઝેક્શન કરવામાં આવ્યું નથી {},
+Please set default Cash or Bank account in Mode of Payment {},કૃપા કરીને ચુકવણીના મોડમાં ડિફોલ્ટ કેશ અથવા બેંક એકાઉન્ટ સેટ કરો}},
+Please set default Cash or Bank account in Mode of Payments {},કૃપા કરીને ચુકવણીના મોડમાં ડિફ defaultલ્ટ કેશ અથવા બેંક એકાઉન્ટ સેટ કરો}},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,કૃપા કરીને ખાતરી કરો કે}} એકાઉન્ટ એ બેલેન્સ શીટ એકાઉન્ટ છે. તમે પેરેંટ એકાઉન્ટને બેલેન્સ શીટ એકાઉન્ટમાં બદલી શકો છો અથવા કોઈ અલગ એકાઉન્ટ પસંદ કરી શકો છો.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,કૃપા કરીને ખાતરી કરો કે {} એકાઉન્ટ ચૂકવણીપાત્ર એકાઉન્ટ છે. ચૂકવણીપાત્ર પર એકાઉન્ટ પ્રકાર બદલો અથવા કોઈ અલગ એકાઉન્ટ પસંદ કરો.,
+Row {}: Expense Head changed to {} ,પંક્તિ {}: ખર્ચનો માથા બદલીને changed to,
+because account {} is not linked to warehouse {} ,કારણ કે {account એકાઉન્ટ વેરહાઉસ સાથે જોડાયેલ નથી {},
+or it is not the default inventory account,અથવા તે ડિફ defaultલ્ટ ઇન્વેન્ટરી એકાઉન્ટ નથી,
+Expense Head Changed,ખર્ચના વડા બદલાયા,
+because expense is booked against this account in Purchase Receipt {},કારણ કે ખરીદીની રસીદ in in માં આ ખાતા સામે ખર્ચ બુક કરાયો છે,
+as no Purchase Receipt is created against Item {}. ,આઇટમ {against ની વિરુદ્ધ કોઈ ખરીદી રસીદ બનાવવામાં આવી નથી.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,જ્યારે ખરીદી ઇન્વoiceઇસ પછી ખરીદી રસીદ બનાવવામાં આવે છે ત્યારે કેસના હિસાબનું સંચાલન કરવા માટે આ કરવામાં આવે છે,
+Purchase Order Required for item {},આઇટમ for for માટે ખરીદી ઓર્ડર આવશ્યક છે,
+To submit the invoice without purchase order please set {} ,ખરીદી ઓર્ડર વિના ભરતિયું સબમિટ કરવા માટે કૃપા કરીને {{સેટ કરો,
+as {} in {},તરીકે {},
+Mandatory Purchase Order,ફરજિયાત ખરીદી હુકમ,
+Purchase Receipt Required for item {},આઇટમ for for માટે ખરીદીની રસીદ આવશ્યક છે,
+To submit the invoice without purchase receipt please set {} ,ખરીદીની રસીદ વિના ભરતિયું સબમિટ કરવા માટે કૃપા કરીને {set સેટ કરો,
+Mandatory Purchase Receipt,ફરજિયાત ખરીદીની રસીદ,
+POS Profile {} does not belongs to company {},પીઓએસ પ્રોફાઇલ {company કંપનીની નથી {},
+User {} is disabled. Please select valid user/cashier,વપરાશકર્તા} disabled અક્ષમ છે. કૃપા કરી માન્ય વપરાશકર્તા / કેશિયર પસંદ કરો,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,પંક્તિ # {}: રીટર્ન ઇન્વoiceઇસેસનું મૂળ ઇન્વoiceઇસ {} {} છે.,
+Original invoice should be consolidated before or along with the return invoice.,મૂળ ઇન્વ invઇસ પહેલાં અથવા વળતર ઇન્વોઇસ સાથે એકીકૃત થવું જોઈએ.,
+You can add original invoice {} manually to proceed.,આગળ વધવા માટે તમે મેન્યુઅલી અસલ ઇન્વoiceઇસ ઉમેરી શકો છો.,
+Please ensure {} account is a Balance Sheet account. ,કૃપા કરીને ખાતરી કરો કે}} એકાઉન્ટ એ બેલેન્સ શીટ એકાઉન્ટ છે.,
+You can change the parent account to a Balance Sheet account or select a different account.,તમે પેરેંટ એકાઉન્ટને બેલેન્સ શીટ એકાઉન્ટમાં બદલી શકો છો અથવા કોઈ અલગ એકાઉન્ટ પસંદ કરી શકો છો.,
+Please ensure {} account is a Receivable account. ,કૃપા કરીને ખાતરી કરો કે {} એકાઉન્ટ એક પ્રાપ્ય એકાઉન્ટ છે.,
+Change the account type to Receivable or select a different account.,ખાતાના પ્રકારને પ્રાપ્ત કરવા યોગ્યમાં બદલો અથવા કોઈ અલગ એકાઉન્ટ પસંદ કરો.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},earned canceled રદ કરી શકાતી નથી કારણ કે કમાયેલી લોયલ્ટી પોઇંટ્સ રિડીમ થઈ ગઈ છે. પહેલા {} ના {cancel રદ કરો,
+already exists,પહેલાથી અસ્તિત્વમાં,
+POS Closing Entry {} against {} between selected period,પસંદ કરેલી અવધિ વચ્ચે પોસ કલોઝિંગ એન્ટ્રી}} સામે {.,
+POS Invoice is {},પોસ ઇન્વoiceઇસ {is છે,
+POS Profile doesn't matches {},પોસ પ્રોફાઇલ {matches સાથે મેળ ખાતી નથી,
+POS Invoice is not {},પોસ ઇન્વoiceઇસ {is નથી,
+POS Invoice isn't created by user {},પોઝ ઇન્વoiceઇસ વપરાશકર્તા by by દ્વારા બનાવવામાં આવ્યું નથી,
+Row #{}: {},પંક્તિ # {}: {,
+Invalid POS Invoices,અમાન્ય POS ઇન્વvoઇસેસ,
+Please add the account to root level Company - {},કૃપા કરીને એકાઉન્ટને રૂટ લેવલની કંપનીમાં ઉમેરો - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","ચાઇલ્ડ કંપની account 0 for માટે એકાઉન્ટ બનાવતી વખતે, પેરેંટ એકાઉન્ટ {1} મળ્યું નથી. કૃપા કરીને સંબંધિત સીઓએમાં પેરેંટ એકાઉન્ટ બનાવો",
+Account Not Found,એકાઉન્ટ મળ્યું નથી,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","ચાઇલ્ડ કંપની account 0 for માટે એકાઉન્ટ બનાવતી વખતે, ખાતામાં એકાઉન્ટ તરીકે પેરેંટ એકાઉન્ટ. 1. મળ્યું.",
+Please convert the parent account in corresponding child company to a group account.,કૃપા કરીને સંબંધિત બાળક કંપનીમાં પેરેંટ એકાઉન્ટને જૂથ એકાઉન્ટમાં કન્વર્ટ કરો.,
+Invalid Parent Account,અમાન્ય પેરેંટ એકાઉન્ટ,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","ગેરસમજને ટાળવા માટે, નામ બદલવાનું ફક્ત પેરન્ટ કંપની {0} દ્વારા જ માન્ય છે.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","જો તમે આઇટમની માત્રા {2} {0} {1}, તો યોજના {3 the આઇટમ પર લાગુ કરવામાં આવશે.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","જો તમે item 0} {1} મૂલ્યની આઇટમ {2} છો, તો યોજના {3 the આઇટમ પર લાગુ કરવામાં આવશે.",
+"As the field {0} is enabled, the field {1} is mandatory.","ક્ષેત્ર {0} સક્ષમ કરેલ હોવાથી, ક્ષેત્ર {1} ફરજિયાત છે.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","ક્ષેત્ર {0} સક્ષમ કરેલ હોવાથી, ક્ષેત્ર the 1} નું મૂલ્ય 1 કરતા વધારે હોવું જોઈએ.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"આઇટમ {1} ના સીરીયલ નંબર {0 deliver આપી શકાતી નથી, કારણ કે તે ફુલફિલ સેલ્સ ઓર્ડર {2 to માટે અનામત છે",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","સેલ્સ ઓર્ડર {0} પાસે આઇટમ for 1} માટે આરક્ષણ છે, તમે ફક્ત reserved 0} સામે આરક્ષિત {1 deliver આપી શકો છો.",
+{0} Serial No {1} cannot be delivered,. 0} સીરીયલ નંબર {1} વિતરિત કરી શકાતી નથી,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},પંક્તિ {0}: કાચા માલ Sub 1} માટે સબકontન્ટ્રેક્ટ આઇટમ ફરજિયાત છે,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","જેમ કે ત્યાં પૂરતી કાચી સામગ્રી છે, વેરહાઉસ Material 0} માટે મટીરિયલ વિનંતી આવશ્યક નથી.",
+" If you still want to proceed, please enable {0}.","જો તમે હજી પણ આગળ વધવા માંગતા હો, તો કૃપા કરીને {0 enable સક્ષમ કરો.",
+The item referenced by {0} - {1} is already invoiced,{0} - {1} દ્વારા સંદર્ભિત આઇટમ પહેલેથી જ ભરતિયું છે,
+Therapy Session overlaps with {0},ઉપચાર સત્ર {0 with સાથે ઓવરલેપ થાય છે,
+Therapy Sessions Overlapping,ઉપચાર સત્રો ઓવરલેપિંગ,
+Therapy Plans,ઉપચાર યોજનાઓ,
+"Item Code, warehouse, quantity are required on row {0}","આઇટમ કોડ, વેરહાઉસ, જથ્થો પંક્તિ પર આવશ્યક છે {0}",
+Get Items from Material Requests against this Supplier,આ સપ્લાયર સામે સામગ્રી વિનંતીઓમાંથી આઇટમ્સ મેળવો,
+Enable European Access,યુરોપિયન Enableક્સેસને સક્ષમ કરો,
+Creating Purchase Order ...,ખરીદી Orderર્ડર બનાવી રહ્યાં છે ...,
+"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.","નીચેની આઇટમ્સના ડિફaultલ્ટ સપ્લાયર્સમાંથી સપ્લાયર પસંદ કરો. પસંદગી પર, ફક્ત પસંદ કરેલા સપ્લાયરની વસ્તુઓ સામે ખરીદ ઓર્ડર આપવામાં આવશે.",
+Row #{}: You must select {} serial numbers for item {}.,પંક્તિ # {}: તમારે આઇટમ for for માટે સીરીયલ નંબરો પસંદ કરવા આવશ્યક છે.,
diff --git a/erpnext/translations/he.csv b/erpnext/translations/he.csv
index 1ea4832..29e6f6a 100644
--- a/erpnext/translations/he.csv
+++ b/erpnext/translations/he.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',לא ניתן לנכות כאשר הקטגוריה היא עבור &#39;הערכת שווי&#39; או &#39;תפוצה וסך הכל&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","לא יכול למחוק את מספר סידורי {0}, כפי שהוא משמש בעסקות מניות",
 Cannot enroll more than {0} students for this student group.,לא יכול לרשום יותר מ {0} סטודנטים עבור קבוצת סטודנטים זה.,
-Cannot find Item with this barcode,לא ניתן למצוא פריט עם ברקוד זה,
 Cannot find active Leave Period,לא ניתן למצוא תקופת חופשה פעילה,
 Cannot produce more Item {0} than Sales Order quantity {1},לא יכול לייצר יותר פריט {0} מאשר כמות להזמין מכירות {1},
 Cannot promote Employee with status Left,לא ניתן לקדם עובד עם סטטוס שמאל,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","יצירה וניהול של מעכל דוא""ל יומי, שבועית וחודשית.",
 Create customer quotes,צור הצעות מחיר ללקוחות,
 Create rules to restrict transactions based on values.,יצירת כללים להגבלת עסקות המבוססות על ערכים.,
-Created By,נוצר על-ידי,
 Created {0} scorecards for {1} between: ,יצר {0} כרטיסי ניקוד עבור {1} בין:,
 Creating Company and Importing Chart of Accounts,יצירת חברה וייבוא תרשים חשבונות,
 Creating Fees,יצירת עמלות,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,לשורה {0}: הזן כמות מתוכננת,
 "For {0}, only credit accounts can be linked against another debit entry","עבור {0}, רק חשבונות האשראי יכולים להיות מקושרים נגד כניסת חיוב נוספת",
 "For {0}, only debit accounts can be linked against another credit entry","עבור {0}, רק חשבונות החיוב יכולים להיות מקושרים נגד כניסת אשראי אחרת",
-Form View,תצוגת טופס,
 Forum Activity,פעילות בפורום,
 Free item code is not selected,קוד פריט בחינם לא נבחר,
 Freight and Forwarding Charges,הוצאות הובלה והשילוח,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,שלח SMS המוני לאנשי הקשר שלך,
 Sensitivity,רְגִישׁוּת,
 Sent,נשלח,
-Serial #,סידורי #,
 Serial No and Batch,אין ו אצווה סידורי,
 Serial No is mandatory for Item {0},מספר סידורי הוא חובה עבור פריט {0},
 Serial No {0} does not belong to Batch {1},מספר סידורי {0} אינו שייך לאצווה {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,עם מה אתה צריך עזרה?,
 What does it do?,מה זה עושה?,
 Where manufacturing operations are carried.,איפה פעולות ייצור מתבצעות.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","בעת יצירת חשבון עבור חברת ילדים {0}, חשבון האב {1} לא נמצא. אנא צור חשבון הורים בתאריך COA תואם",
 White,לבן,
 Wire Transfer,העברה בנקאית,
 WooCommerce Products,מוצרי WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,מיזוג עם קיים,
 Office,משרד,
 Orientation,נטייה,
+Parent,הורה,
 Passive,פסיבי,
 Payment Failed,התשלום נכשל,
 Percent,אחוזים,
@@ -3543,6 +3539,7 @@
 Show {0},הצג את {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","תווים מיוחדים למעט &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; ו- &quot;}&quot; אינם מורשים בסדרות שמות",
 Target Details,פרטי יעד,
+{0} already has a Parent Procedure {1}.,{0} כבר יש נוהל הורים {1}.,
 API,ממשק API,
 Annual,שנתי,
 Approved,אושר,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,תאריך סיום לא יכול להיות פחות מתאריך ההתחלה,
 For Default Supplier (Optional),לספק ברירת מחדל (אופציונלי),
 From date cannot be greater than To date,מתאריך לא יכול להיות גדול יותר מאשר תאריך,
-Get items from,קבל פריטים מ,
 Group by,קבוצה על ידי,
 In stock,במלאי,
 Item name,שם פריט,
@@ -7558,10 +7554,6 @@
 Quality Goal,מטרה איכותית,
 Monitoring Frequency,תדר ניטור,
 Weekday,יוֹם חוֹל,
-January-April-July-October,ינואר-אפריל-יולי-אוקטובר,
-Revision and Revised On,עדכון ומתוקן,
-Revision,תיקון,
-Revised On,מתוקן ב,
 Objectives,מטרות,
 Quality Goal Objective,מטרת יעד איכותית,
 Objective,מַטָרָה,
@@ -7574,7 +7566,6 @@
 Processes,תהליכים,
 Quality Procedure Process,תהליך נוהל איכות,
 Process Description,תיאור תהליך,
-Child Procedure,נוהל ילדים,
 Link existing Quality Procedure.,קשר נוהל איכות קיים.,
 Additional Information,מידע נוסף,
 Quality Review Objective,מטרת סקירת איכות,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,מגמות קבלת רכישה,
 Purchase Register,רכישת הרשמה,
 Quotation Trends,מגמות ציטוט,
-Quoted Item Comparison,פריט מצוטט השוואה,
 Received Items To Be Billed,פריטים שהתקבלו לחיוב,
 Qty to Order,כמות להזמנה,
 Requested Items To Be Transferred,פריטים מבוקשים שיועברו,
@@ -9091,7 +9081,6 @@
 Absent Days,ימי נעדרים,
 Conditions and Formula variable and example,משתנה תנאי ונוסחה ודוגמא,
 Feedback By,משוב מאת,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,מדור ייצור,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","כברירת מחדל, שם הלקוח מוגדר לפי השם המלא שהוזן. אם אתה רוצה שלקוחות יקראו על ידי",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,הגדר את מחירון ברירת המחדל בעת יצירת עסקת מכירה חדשה. מחירי הפריטים ייאספו ממחירון זה.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,יתרה שמורה,
 Uncleared Balance,איזון לא ברור,
 Payment related to {0} is not completed,התשלום הקשור ל- {0} לא הושלם,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,שורה מספר {}: לא סידורי {}. {} כבר הועבר לחשבונית קופה אחרת. אנא בחר מס &#39;סדרתי תקף.,
 Row #{}: Item Code: {} is not available under warehouse {}.,שורה מספר {}: קוד פריט: {} אינו זמין במחסן {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,שורה מספר {}: כמות המלאי אינה מספיקה עבור קוד הפריט: {} מתחת למחסן {}. כמות זמינה {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,שורה מספר {}: בחר מספר סדרתי ואצווה כנגד פריט: {} או הסר אותו כדי להשלים את העסקה.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,אנא אפשר הרשאה למניה שלילית בהגדרות המניה או צור הזנת מלאי כדי להמשיך.,
 No Inpatient Record found against patient {0},לא נמצא רישום אשפוז כנגד המטופל {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,כבר קיים צו תרופות לטיפול באשפוז {0} נגד מפגש חולים {1}.,
+Allow In Returns,אפשר החזרות,
+Hide Unavailable Items,הסתר פריטים שאינם זמינים,
+Apply Discount on Discounted Rate,החל הנחה בשיעור מוזל,
+Therapy Plan Template,תבנית תכנית טיפול,
+Fetching Template Details,אחזור פרטי תבנית,
+Linked Item Details,פרטי פריט מקושר,
+Therapy Types,סוגי הטיפול,
+Therapy Plan Template Detail,פרט תבנית תכנית טיפול,
+Non Conformance,אי התאמה,
+Process Owner,בעל תהליך,
+Corrective Action,פעולה מתקנת,
+Preventive Action,פעולה מונעת,
+Problem,בְּעָיָה,
+Responsible,אחראי,
+Completion By,השלמה מאת,
+Process Owner Full Name,שם מלא של בעל התהליך,
+Right Index,אינדקס נכון,
+Left Index,אינדקס שמאל,
+Sub Procedure,נוהל משנה,
+Passed,עבר,
+Print Receipt,הדפס קבלה,
+Edit Receipt,ערוך קבלה,
+Focus on search input,התמקדו בקלט חיפוש,
+Focus on Item Group filter,התמקדו במסנן קבוצת הפריטים,
+Checkout Order / Submit Order / New Order,הזמנת קופה / הגשת הזמנה / הזמנה חדשה,
+Add Order Discount,הוסף הנחת הזמנה,
+Item Code: {0} is not available under warehouse {1}.,קוד פריט: {0} אינו זמין במחסן {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,מספרים סידוריים לא זמינים עבור פריט {0} במחסן {1}. נסה להחליף מחסן.,
+Fetched only {0} available serial numbers.,הביא רק {0} מספרים סידוריים זמינים.,
+Switch Between Payment Modes,החלף בין אמצעי תשלום,
+Enter {0} amount.,הזן סכום {0}.,
+You don't have enough points to redeem.,אין לך מספיק נקודות למימוש.,
+You can redeem upto {0}.,אתה יכול לממש עד {0}.,
+Enter amount to be redeemed.,הזן סכום למימוש.,
+You cannot redeem more than {0}.,אינך יכול לממש יותר מ- {0}.,
+Open Form View,פתח את תצוגת הטופס,
+POS invoice {0} created succesfully,חשבונית קופה {0} נוצרה בהצלחה,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,כמות המלאי לא מספיקה עבור קוד הפריט: {0} מתחת למחסן {1}. כמות זמינה {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,מספר סידורי: {0} כבר הועבר לחשבונית קופה אחרת.,
+Balance Serial No,איזון סידורי מס,
+Warehouse: {0} does not belong to {1},מחסן: {0} אינו שייך ל {1},
+Please select batches for batched item {0},בחר קבוצות עבור פריט אצווה {0},
+Please select quantity on row {0},בחר כמות בשורה {0},
+Please enter serial numbers for serialized item {0},הזן מספרים סידוריים עבור פריט מסדרת {0},
+Batch {0} already selected.,אצווה {0} כבר נבחרה.,
+Please select a warehouse to get available quantities,אנא בחר מחסן לקבלת כמויות זמינות,
+"For transfer from source, selected quantity cannot be greater than available quantity","להעברה ממקור, הכמות שנבחרה לא יכולה להיות גדולה מהכמות הזמינה",
+Cannot find Item with this Barcode,לא ניתן למצוא פריט עם ברקוד זה,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},חובה {0}. אולי רשומת המרת מטבע לא נוצרה עבור {1} עד {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} הגיש נכסים המקושרים אליו. עליך לבטל את הנכסים כדי ליצור החזר רכישה.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,לא ניתן לבטל מסמך זה מכיוון שהוא מקושר לנכס שהוגש {0}. אנא בטל אותו כדי להמשיך.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,שורה מספר {}: מספר סידורי {} כבר הועבר לחשבונית קופה אחרת. אנא בחר מס &#39;סדרתי תקף.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,שורה מספר {}: מספר סידורי. {} כבר הועבר לחשבונית קופה אחרת. אנא בחר מס &#39;סדרתי תקף.,
+Item Unavailable,הפריט לא זמין,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},שורה מספר {}: לא ניתן להחזיר מספר סידורי {} מכיוון שהוא לא בוצע בחשבונית המקורית {},
+Please set default Cash or Bank account in Mode of Payment {},הגדר ברירת מחדל של מזומן או חשבון בנק במצב תשלום {},
+Please set default Cash or Bank account in Mode of Payments {},הגדר ברירת מחדל של מזומן או חשבון בנק במצב תשלומים {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,ודא ש- {} חשבון הוא חשבון מאזן. באפשרותך לשנות את חשבון האב לחשבון מאזן או לבחור חשבון אחר.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,ודא ש- {} החשבון הוא חשבון בתשלום. שנה את סוג החשבון לתשלום או בחר חשבון אחר.,
+Row {}: Expense Head changed to {} ,שורה {}: ראש ההוצאות השתנה ל- {},
+because account {} is not linked to warehouse {} ,מכיוון שהחשבון {} אינו מקושר למחסן {},
+or it is not the default inventory account,או שזה לא חשבון המלאי המוגדר כברירת מחדל,
+Expense Head Changed,ראש ההוצאות הוחלף,
+because expense is booked against this account in Purchase Receipt {},מכיוון שההוצאה נרשמת בחשבון זה בקבלת הרכישה {},
+as no Purchase Receipt is created against Item {}. ,מכיוון שלא נוצר קבלת רכישה כנגד פריט {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,זה נעשה כדי לטפל בחשבונאות במקרים בהם קבלת רכישה נוצרת לאחר חשבונית רכישה,
+Purchase Order Required for item {},הזמנת רכש נדרשת לפריט {},
+To submit the invoice without purchase order please set {} ,"להגשת החשבונית ללא הזמנת רכש, הגדר {}",
+as {} in {},כמו {} ב- {},
+Mandatory Purchase Order,הזמנת רכש חובה,
+Purchase Receipt Required for item {},נדרש קבלת רכישה עבור פריט {},
+To submit the invoice without purchase receipt please set {} ,"להגשת החשבונית ללא קבלת רכישה, הגדר {}",
+Mandatory Purchase Receipt,קבלת קנייה חובה,
+POS Profile {} does not belongs to company {},פרופיל קופה {} אינו שייך לחברה {},
+User {} is disabled. Please select valid user/cashier,המשתמש {} מושבת. אנא בחר משתמש / קופאין תקף,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,שורה מספר {}: חשבונית מקורית {} של חשבונית החזר {} היא {}.,
+Original invoice should be consolidated before or along with the return invoice.,יש לאחד את החשבונית המקורית לפני או יחד עם החשבונית.,
+You can add original invoice {} manually to proceed.,תוכל להוסיף חשבונית מקורית {} באופן ידני כדי להמשיך.,
+Please ensure {} account is a Balance Sheet account. ,ודא ש- {} חשבון הוא חשבון מאזן.,
+You can change the parent account to a Balance Sheet account or select a different account.,באפשרותך לשנות את חשבון האב לחשבון מאזן או לבחור חשבון אחר.,
+Please ensure {} account is a Receivable account. ,אנא וודא ש- {} החשבון הוא חשבון שניתן לקבל.,
+Change the account type to Receivable or select a different account.,שנה את סוג החשבון ל- Receivable או בחר חשבון אחר.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},לא ניתן לבטל את {} מכיוון שנקודות הנאמנות שנצברו מומשו. ראשית בטל את ה- {} לא {},
+already exists,כבר קיים,
+POS Closing Entry {} against {} between selected period,ערך סגירת קופה {} כנגד {} בין התקופה שנבחרה,
+POS Invoice is {},חשבונית קופה היא {},
+POS Profile doesn't matches {},פרופיל קופה אינו תואם {},
+POS Invoice is not {},חשבונית קופה אינה {},
+POS Invoice isn't created by user {},חשבונית קופה לא נוצרה על ידי המשתמש {},
+Row #{}: {},שורה מספר {}: {},
+Invalid POS Invoices,חשבוניות קופה לא חוקיות,
+Please add the account to root level Company - {},אנא הוסף את החשבון לחברה ברמת הבסיס - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","בעת יצירת חשבון עבור חברת Child {0}, חשבון האב {1} לא נמצא. אנא צור חשבון הורים בתאריך COA תואם",
+Account Not Found,החשבון לא נמצא,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","בעת יצירת חשבון עבור חברת Child {0}, חשבון האם {1} נמצא כחשבון ספר חשבונות.",
+Please convert the parent account in corresponding child company to a group account.,המיר את חשבון האם בחברת ילדים מתאימה לחשבון קבוצתי.,
+Invalid Parent Account,חשבון הורה לא חוקי,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","שינוי שם זה מותר רק דרך חברת האם {0}, כדי למנוע אי התאמה.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","אם אתה {0} {1} כמויות של הפריט {2}, התוכנית {3} תחול על הפריט.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","אם אתה {0} {1} שווה פריט {2}, התוכנית {3} תחול על הפריט.",
+"As the field {0} is enabled, the field {1} is mandatory.","מאחר שהשדה {0} מופעל, השדה {1} הוא חובה.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","מאחר שהשדה {0} מופעל, הערך של השדה {1} צריך להיות יותר מ -1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},לא ניתן לספק מספר סידורי {0} של פריט {1} מכיוון שהוא שמור להזמנת מכירה מלאה {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","להזמנת מכר {0} יש הזמנה לפריט {1}, אתה יכול לספק שמורה רק {1} כנגד {0}.",
+{0} Serial No {1} cannot be delivered,לא ניתן לספק {0} מספר סידורי {1},
+Row {0}: Subcontracted Item is mandatory for the raw material {1},שורה {0}: פריט בקבלנות משנה הוא חובה עבור חומר הגלם {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","מכיוון שיש מספיק חומרי גלם, בקשת החומרים אינה נדרשת עבור מחסן {0}.",
+" If you still want to proceed, please enable {0}.","אם אתה עדיין רוצה להמשיך, הפעל את {0}.",
+The item referenced by {0} - {1} is already invoiced,הפריט אליו הוזכר {0} - {1} כבר מחויב,
+Therapy Session overlaps with {0},מושב טיפולי חופף עם {0},
+Therapy Sessions Overlapping,מפגשי טיפול חופפים,
+Therapy Plans,תוכניות טיפול,
+"Item Code, warehouse, quantity are required on row {0}","קוד פריט, מחסן, כמות נדרשים בשורה {0}",
+Get Items from Material Requests against this Supplier,קבל פריטים מבקשות חומר נגד ספק זה,
+Enable European Access,אפשר גישה אירופית,
+Creating Purchase Order ...,יוצר הזמנת רכש ...,
+"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.","בחר ספק מבין ספקי ברירת המחדל של הפריטים למטה. בבחירה, הזמנת רכש תתבצע כנגד פריטים השייכים לספק שנבחר בלבד.",
+Row #{}: You must select {} serial numbers for item {}.,שורה מספר {}: עליך לבחור {} מספרים סידוריים לפריט {}.,
diff --git a/erpnext/translations/hi.csv b/erpnext/translations/hi.csv
index df99356..c385fc6 100644
--- a/erpnext/translations/hi.csv
+++ b/erpnext/translations/hi.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',घटा नहीं सकते जब श्रेणी &#39;मूल्यांकन&#39; या &#39;Vaulation और कुल&#39; के लिए है,
 "Cannot delete Serial No {0}, as it is used in stock transactions","नहीं हटा सकते सीरियल नहीं {0}, यह शेयर लेनदेन में इस्तेमाल किया जाता है के रूप में",
 Cannot enroll more than {0} students for this student group.,{0} इस छात्र समूह के लिए छात्रों की तुलना में अधिक नामांकन नहीं कर सकता।,
-Cannot find Item with this barcode,इस बारकोड के साथ आइटम नहीं मिल सकता है,
 Cannot find active Leave Period,सक्रिय छुट्टी अवधि नहीं मिल सका,
 Cannot produce more Item {0} than Sales Order quantity {1},अधिक आइटम उत्पादन नहीं कर सकते {0} से बिक्री आदेश मात्रा {1},
 Cannot promote Employee with status Left,स्थिति के साथ कर्मचारी को बढ़ावा नहीं दे सकता है,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","बनाएँ और दैनिक, साप्ताहिक और मासिक ईमेल हज़म का प्रबंधन .",
 Create customer quotes,ग्राहक उद्धरण बनाएँ,
 Create rules to restrict transactions based on values.,मूल्यों पर आधारित लेनदेन को प्रतिबंधित करने के नियम बनाएँ .,
-Created By,द्वारा बनाया गया,
 Created {0} scorecards for {1} between: ,{1} के लिए {1} स्कोरकार्ड बनाया:,
 Creating Company and Importing Chart of Accounts,कंपनी बनाना और खातों का चार्ट आयात करना,
 Creating Fees,फीस बनाना,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,पंक्ति {0} के लिए: नियोजित मात्रा दर्ज करें,
 "For {0}, only credit accounts can be linked against another debit entry","{0}, केवल ऋण खातों अन्य डेबिट प्रविष्टि के खिलाफ जोड़ा जा सकता है के लिए",
 "For {0}, only debit accounts can be linked against another credit entry","{0}, केवल डेबिट खातों एक और क्रेडिट प्रविष्टि के खिलाफ जोड़ा जा सकता है के लिए",
-Form View,फॉर्म देखें,
 Forum Activity,फोरम गतिविधि,
 Free item code is not selected,नि: शुल्क आइटम कोड का चयन नहीं किया गया है,
 Freight and Forwarding Charges,फ्रेट और अग्रेषण शुल्क,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,अपने संपर्कों के लिए बड़े पैमाने पर एसएमएस भेजें,
 Sensitivity,संवेदनशीलता,
 Sent,भेजे गए,
-Serial #,सीरियल #,
 Serial No and Batch,सीरियल नहीं और बैच,
 Serial No is mandatory for Item {0},सीरियल मद के लिए अनिवार्य है {0},
 Serial No {0} does not belong to Batch {1},सीरियल नंबर {0} बैच से संबंधित नहीं है {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,तुम्हें किसमें मदद चाहिए?,
 What does it do?,यह क्या करता है?,
 Where manufacturing operations are carried.,निर्माण कार्यों कहां किया जाता है।,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","चाइल्ड कंपनी {0} के लिए खाता बनाते समय, पैरेंट अकाउंट {1} नहीं मिला। कृपया संबंधित COA में मूल खाता बनाएँ",
 White,सफेद,
 Wire Transfer,वायर ट्रांसफर,
 WooCommerce Products,WooCommerce उत्पाद,
@@ -3493,6 +3488,7 @@
 Merge with existing,मौजूदा साथ मर्ज,
 Office,कार्यालय,
 Orientation,अभिविन्यास,
+Parent,माता-पिता,
 Passive,निष्क्रिय,
 Payment Failed,भुगतान असफल हुआ,
 Percent,प्रतिशत,
@@ -3543,6 +3539,7 @@
 Show {0},{0} दिखाएं,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;।&quot;, &quot;/&quot;, &quot;{&quot; और &quot;}&quot; को छोड़कर विशेष वर्ण श्रृंखला में अनुमति नहीं है",
 Target Details,लक्ष्य विवरण,
+{0} already has a Parent Procedure {1}.,{0} पहले से ही एक पेरेंट प्रोसीजर {1} है।,
 API,एपीआई,
 Annual,वार्षिक,
 Approved,अनुमोदित,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,समाप्ति तिथि आरंभ तिथि से कम नहीं हो सकता,
 For Default Supplier (Optional),डिफ़ॉल्ट प्रदायक (वैकल्पिक) के लिए,
 From date cannot be greater than To date,दिनांक से दिनांक से अधिक नहीं हो सकता है,
-Get items from,से आइटम प्राप्त,
 Group by,समूह द्वारा,
 In stock,स्टॉक में,
 Item name,मद का नाम,
@@ -7558,10 +7554,6 @@
 Quality Goal,गुणवत्ता लक्ष्य,
 Monitoring Frequency,निगरानी की आवृत्ति,
 Weekday,काम करने के दिन,
-January-April-July-October,जनवरी से अप्रैल-जुलाई से अक्टूबर,
-Revision and Revised On,संशोधन और संशोधित पर,
-Revision,संशोधन,
-Revised On,पर संशोधित,
 Objectives,उद्देश्य,
 Quality Goal Objective,गुणवत्ता लक्ष्य उद्देश्य,
 Objective,लक्ष्य,
@@ -7574,7 +7566,6 @@
 Processes,प्रक्रियाओं,
 Quality Procedure Process,गुणवत्ता प्रक्रिया प्रक्रिया,
 Process Description,प्रक्रिया वर्णन,
-Child Procedure,बाल प्रक्रिया,
 Link existing Quality Procedure.,लिंक मौजूदा गुणवत्ता प्रक्रिया।,
 Additional Information,अतिरिक्त जानकारी,
 Quality Review Objective,गुणवत्ता की समीक्षा उद्देश्य,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,खरीद रसीद रुझान,
 Purchase Register,इन पंजीकृत खरीद,
 Quotation Trends,कोटेशन रुझान,
-Quoted Item Comparison,उद्धरित मद तुलना,
 Received Items To Be Billed,बिल करने के लिए प्राप्त आइटम,
 Qty to Order,मात्रा आदेश को,
 Requested Items To Be Transferred,हस्तांतरित करने का अनुरोध आइटम,
@@ -9091,7 +9081,6 @@
 Absent Days,अनुपस्थित दिन,
 Conditions and Formula variable and example,शर्तें और सूत्र चर और उदाहरण,
 Feedback By,प्रतिक्रिया द्वारा,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-। एम.एम. .-। DD.-,
 Manufacturing Section,विनिर्माण अनुभाग,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","डिफ़ॉल्ट रूप से, ग्राहक का नाम पूर्ण नाम के अनुसार सेट किया गया है। यदि आप चाहते हैं कि ग्राहक एक के नाम से हों",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,नया विक्रय लेनदेन बनाते समय डिफ़ॉल्ट मूल्य सूची कॉन्फ़िगर करें। इस मूल्य सूची से आइटम मूल्य प्राप्त किए जाएंगे।,
@@ -9692,7 +9681,6 @@
 Reserved Balance,आरक्षित शेष,
 Uncleared Balance,अस्पष्ट शेष,
 Payment related to {0} is not completed,{0} से संबंधित भुगतान पूरा नहीं हुआ है,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,रो # {}: सीरियल नंबर {}। {} को पहले ही किसी अन्य पीओएस चालान में हस्तांतरित कर दिया गया है। कृपया मान्य क्रम संख्या का चयन करें।,
 Row #{}: Item Code: {} is not available under warehouse {}.,पंक्ति # {}: आइटम कोड: {} गोदाम {} के तहत उपलब्ध नहीं है।,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,पंक्ति # {}: आइटम कोड के लिए स्टॉक मात्रा पर्याप्त नहीं है: {} गोदाम {} के तहत। उपलब्ध मात्रा {}।,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,पंक्ति # {}: कृपया आइटम के खिलाफ एक सीरियल नंबर और बैच चुनें: {} या लेनदेन को पूरा करने के लिए इसे हटा दें।,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,कृपया शेयर सेटिंग्स में नकारात्मक स्टॉक को अनुमति दें या आगे बढ़ने के लिए स्टॉक एंट्री बनाएं।,
 No Inpatient Record found against patient {0},रोगी के खिलाफ कोई असंगत रिकॉर्ड नहीं मिला {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,रोगी एनकाउंटर {1} के खिलाफ एक रोगी दवा ऑर्डर {0} पहले से मौजूद है।,
+Allow In Returns,रिटर्न में अनुमति दें,
+Hide Unavailable Items,अनुपलब्ध आइटम छिपाएँ,
+Apply Discount on Discounted Rate,रियायती दर पर छूट लागू करें,
+Therapy Plan Template,थेरेपी प्लान टेम्पलेट,
+Fetching Template Details,टेम्पलेट विवरण प्राप्त करना,
+Linked Item Details,लिंक्ड आइटम विवरण,
+Therapy Types,थेरेपी के प्रकार,
+Therapy Plan Template Detail,थेरेपी योजना टेम्पलेट विस्तार,
+Non Conformance,गैर अनुरूपता,
+Process Owner,कार्यचालक,
+Corrective Action,सुधार कार्य,
+Preventive Action,निवारक कार्रवाई,
+Problem,मुसीबत,
+Responsible,उत्तरदायी,
+Completion By,द्वारा पूर्ण करना,
+Process Owner Full Name,प्रोसेस ओनर पूरा नाम,
+Right Index,सही सूचकांक,
+Left Index,बायाँ सूचकांक,
+Sub Procedure,उप प्रक्रिया,
+Passed,बीतने के,
+Print Receipt,प्रिंट रसीद,
+Edit Receipt,रसीद संपादित करें,
+Focus on search input,खोज इनपुट पर ध्यान दें,
+Focus on Item Group filter,आइटम समूह फ़िल्टर पर ध्यान दें,
+Checkout Order / Submit Order / New Order,चेकआउट आदेश / आदेश भेजें / नया आदेश,
+Add Order Discount,आदेश छूट जोड़ें,
+Item Code: {0} is not available under warehouse {1}.,आइटम कोड: {0} गोदाम {1} के तहत उपलब्ध नहीं है।,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,वेयरहाउस {1} के तहत आइटम {0} के लिए सीरियल नंबर अनुपलब्ध है। कृपया गोदाम बदलने का प्रयास करें।,
+Fetched only {0} available serial numbers.,केवल {0} उपलब्ध सीरियल नंबर।,
+Switch Between Payment Modes,भुगतान मोड के बीच स्विच करें,
+Enter {0} amount.,{0} राशि दर्ज करें।,
+You don't have enough points to redeem.,आपके पास रिडीम करने के लिए पर्याप्त बिंदु नहीं हैं।,
+You can redeem upto {0}.,आप {0} तक रिडीम कर सकते हैं।,
+Enter amount to be redeemed.,भुनाने के लिए राशि दर्ज करें।,
+You cannot redeem more than {0}.,आप {0} से अधिक नहीं भुना सकते।,
+Open Form View,प्रपत्र देखें खोलें,
+POS invoice {0} created succesfully,पीओएस चालान {0} सफलतापूर्वक बनाया गया,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,स्टॉक कोड आइटम कोड के लिए पर्याप्त नहीं है: {0} गोदाम {1} के तहत। उपलब्ध मात्रा {2}।,
+Serial No: {0} has already been transacted into another POS Invoice.,सीरियल नंबर: {0} को पहले ही एक और पीओएस चालान में बदल दिया गया है।,
+Balance Serial No,बैलेंस सीरियल नं,
+Warehouse: {0} does not belong to {1},वेयरहाउस: {0} का संबंध {1} से नहीं है,
+Please select batches for batched item {0},कृपया बैच आइटम {0} के लिए बैच चुनें,
+Please select quantity on row {0},कृपया पंक्ति {0} पर मात्रा का चयन करें,
+Please enter serial numbers for serialized item {0},कृपया क्रमांकित आइटम {0} के लिए सीरियल नंबर दर्ज करें,
+Batch {0} already selected.,बैच {0} पहले से चयनित है।,
+Please select a warehouse to get available quantities,कृपया उपलब्ध मात्रा प्राप्त करने के लिए एक गोदाम का चयन करें,
+"For transfer from source, selected quantity cannot be greater than available quantity","स्रोत से स्थानांतरण के लिए, चयनित मात्रा उपलब्ध मात्रा से अधिक नहीं हो सकती है",
+Cannot find Item with this Barcode,इस बारकोड के साथ आइटम नहीं मिल सकता है,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} अनिवार्य है। शायद मुद्रा विनिमय रिकॉर्ड {1} से {2} के लिए नहीं बनाया गया है,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ने इससे जुड़ी संपत्ति जमा की है। आपको खरीद वापसी बनाने के लिए परिसंपत्तियों को रद्द करने की आवश्यकता है।,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,इस दस्तावेज़ को रद्द नहीं किया जा सकता क्योंकि यह सबमिट की गई संपत्ति {0} से जुड़ा हुआ है। कृपया इसे जारी रखने के लिए रद्द करें।,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,पंक्ति # {}: सीरियल नंबर {} को पहले से ही एक और पीओएस चालान में बदल दिया गया है। कृपया मान्य क्रम संख्या का चयन करें।,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,पंक्ति # {}: सीरियल नं। {} को पहले से ही एक और पीओएस चालान में बदल दिया गया है। कृपया मान्य क्रम संख्या का चयन करें।,
+Item Unavailable,आइटम उपलब्ध नहीं है,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},पंक्ति # {}: सीरियल नंबर {} को वापस नहीं किया जा सकता क्योंकि इसे मूल चालान में नहीं भेजा गया था {},
+Please set default Cash or Bank account in Mode of Payment {},कृपया भुगतान के मोड में डिफ़ॉल्ट कैश या बैंक खाते को सेट करें {},
+Please set default Cash or Bank account in Mode of Payments {},कृपया भुगतान के मोड में डिफ़ॉल्ट कैश या बैंक खाते को सेट करें {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,कृपया सुनिश्चित करें कि {} खाता एक बैलेंस शीट खाता है। आप मूल खाते को एक बैलेंस शीट खाते में बदल सकते हैं या एक अलग खाते का चयन कर सकते हैं।,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,कृपया सुनिश्चित करें कि {} खाता एक देय खाता है। खाता प्रकार को देय में बदलें या एक अलग खाता चुनें।,
+Row {}: Expense Head changed to {} ,पंक्ति {}: व्यय हेड को बदलकर {},
+because account {} is not linked to warehouse {} ,खाता {} गोदाम से जुड़ा नहीं है {},
+or it is not the default inventory account,या यह डिफ़ॉल्ट इन्वेंट्री खाता नहीं है,
+Expense Head Changed,व्यय सिर बदल गया,
+because expense is booked against this account in Purchase Receipt {},क्योंकि इस खाते के खिलाफ खरीद रसीद {} में खर्च की गई है,
+as no Purchase Receipt is created against Item {}. ,जैसा कि कोई खरीद रसीद आइटम {} के विरुद्ध नहीं बनाई गई है।,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,यह उन मामलों के लिए लेखांकन को संभालने के लिए किया जाता है जब खरीद चालान के बाद खरीद रसीद बनाई जाती है,
+Purchase Order Required for item {},आइटम के लिए आवश्यक खरीद आदेश {},
+To submit the invoice without purchase order please set {} ,खरीद आदेश के बिना चालान जमा करने के लिए कृपया {} सेट करें,
+as {} in {},जैसे की {},
+Mandatory Purchase Order,अनिवार्य खरीद आदेश,
+Purchase Receipt Required for item {},आइटम {} के लिए खरीद रसीद आवश्यक,
+To submit the invoice without purchase receipt please set {} ,खरीद रसीद के बिना चालान जमा करने के लिए कृपया {} सेट करें,
+Mandatory Purchase Receipt,अनिवार्य खरीद रसीद,
+POS Profile {} does not belongs to company {},POS प्रोफ़ाइल {} कंपनी {} से संबंधित नहीं है,
+User {} is disabled. Please select valid user/cashier,उपयोगकर्ता {} अक्षम है। कृपया मान्य उपयोगकर्ता / कैशियर का चयन करें,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,पंक्ति # {}: मूल चालान {} का रिटर्न चालान {} {} है।,
+Original invoice should be consolidated before or along with the return invoice.,मूल चालान को वापसी चालान से पहले या साथ में समेकित किया जाना चाहिए।,
+You can add original invoice {} manually to proceed.,आगे बढ़ने के लिए आप मैन्युअल रूप से मूल इनवॉइस {} जोड़ सकते हैं।,
+Please ensure {} account is a Balance Sheet account. ,कृपया सुनिश्चित करें कि {} खाता एक बैलेंस शीट खाता है।,
+You can change the parent account to a Balance Sheet account or select a different account.,आप मूल खाते को एक बैलेंस शीट खाते में बदल सकते हैं या एक अलग खाते का चयन कर सकते हैं।,
+Please ensure {} account is a Receivable account. ,कृपया सुनिश्चित करें कि {} खाता एक प्राप्य खाता है।,
+Change the account type to Receivable or select a different account.,खाता प्रकार को प्राप्य में बदलें या किसी अन्य खाते का चयन करें।,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{- अर्जित किए गए वफादारी अंक को भुनाया नहीं जा सकता है। पहले {} नहीं {} रद्द करें,
+already exists,पहले से ही मौजूद है,
+POS Closing Entry {} against {} between selected period,पीओएस क्लोजिंग एंट्री {} चयनित अवधि के बीच {} के खिलाफ,
+POS Invoice is {},पीओएस चालान {} है,
+POS Profile doesn't matches {},POS प्रोफ़ाइल {} से मेल नहीं खाती,
+POS Invoice is not {},पीओएस चालान {} नहीं है,
+POS Invoice isn't created by user {},POS चालान उपयोगकर्ता द्वारा नहीं बनाया गया है {},
+Row #{}: {},रो # {}: {},
+Invalid POS Invoices,अमान्य POS चालान,
+Please add the account to root level Company - {},कृपया खाते को रूट लेवल कंपनी में जोड़ें - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","चाइल्ड कंपनी {0} के लिए खाता बनाते समय, मूल खाता {1} नहीं मिला। कृपया संबंधित COA में मूल खाता बनाएँ",
+Account Not Found,खता नहीं मिला,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","चाइल्ड कंपनी {0} के लिए खाता बनाते समय, माता-पिता खाता {1} खाता बही के रूप में पाया गया।",
+Please convert the parent account in corresponding child company to a group account.,कृपया संबंधित चाइल्ड कंपनी में पैरेंट अकाउंट को ग्रुप अकाउंट में बदलें।,
+Invalid Parent Account,अमान्य जनक खाता,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",नाम बदलने से बचने के लिए केवल मूल कंपनी {0} के माध्यम से इसका नाम बदलने की अनुमति है।,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","यदि आप {0} {1} आइटम {2} की मात्रा, स्कीम {3} को आइटम पर लागू करेंगे।",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","यदि आप {0} {1} मूल्य की वस्तु {2}, योजना {3} को आइटम पर लागू किया जाएगा।",
+"As the field {0} is enabled, the field {1} is mandatory.","जैसा कि फ़ील्ड {0} सक्षम है, फ़ील्ड {1} अनिवार्य है।",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","जैसा कि फ़ील्ड {0} सक्षम है, फ़ील्ड {1} का मान 1 से अधिक होना चाहिए।",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},यह आइटम {1} के सीरियल नंबर {0} को वितरित नहीं कर सकता क्योंकि यह पूर्ण बिक्री आदेश {2} के लिए आरक्षित है।,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","विक्रय आदेश {0} में आइटम {1} के लिए आरक्षण है, आप केवल {0} के खिलाफ आरक्षित {1} वितरित कर सकते हैं।",
+{0} Serial No {1} cannot be delivered,{0} सीरियल नंबर {1} वितरित नहीं किया जा सकता है,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},पंक्ति {0}: कच्चे माल के लिए उप-खंडित वस्तु अनिवार्य है {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","चूंकि पर्याप्त कच्चे माल हैं, वेयरहाउस {0} के लिए सामग्री अनुरोध की आवश्यकता नहीं है।",
+" If you still want to proceed, please enable {0}.","यदि आप अभी भी आगे बढ़ना चाहते हैं, तो कृपया {0} को सक्षम करें।",
+The item referenced by {0} - {1} is already invoiced,{0} - {1} द्वारा संदर्भित आइटम का पहले से ही चालान है,
+Therapy Session overlaps with {0},थेरेपी सत्र {0} से ओवरलैप होता है,
+Therapy Sessions Overlapping,थेरेपी सेशन ओवरलैपिंग,
+Therapy Plans,थेरेपी योजनाएं,
+"Item Code, warehouse, quantity are required on row {0}","पंक्ति {0} पर आइटम कोड, गोदाम, मात्रा आवश्यक है",
+Get Items from Material Requests against this Supplier,इस आपूर्तिकर्ता के विरुद्ध सामग्री अनुरोध से आइटम प्राप्त करें,
+Enable European Access,यूरोपीय पहुँच सक्षम करें,
+Creating Purchase Order ...,क्रय आदेश बनाना ...,
+"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.","नीचे दी गई वस्तुओं के डिफ़ॉल्ट आपूर्तिकर्ता से एक आपूर्तिकर्ता का चयन करें। चयन पर, केवल चयनित आपूर्तिकर्ता से संबंधित वस्तुओं के खिलाफ एक खरीद ऑर्डर किया जाएगा।",
+Row #{}: You must select {} serial numbers for item {}.,पंक्ति # {}: आपको आइटम {} के लिए {} सीरियल नंबर का चयन करना होगा।,
diff --git a/erpnext/translations/hr.csv b/erpnext/translations/hr.csv
index 073f8ef..a544e98 100644
--- a/erpnext/translations/hr.csv
+++ b/erpnext/translations/hr.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Ne mogu odbiti kada je kategorija za &quot;vrednovanje&quot; ili &quot;Vaulation i ukupni &#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Ne možete izbrisati Serijski broj {0}, kao što se koristi na lageru transakcija",
 Cannot enroll more than {0} students for this student group.,Ne može se prijaviti više od {0} studenata za ovaj grupe studenata.,
-Cannot find Item with this barcode,Stavka nije moguće pronaći s ovim barkodom,
 Cannot find active Leave Period,Nije moguće pronaći aktivno razdoblje odmora,
 Cannot produce more Item {0} than Sales Order quantity {1},Ne može proizvesti više predmeta {0} od prodajnog naloga količina {1},
 Cannot promote Employee with status Left,Ne mogu promovirati zaposlenika sa statusom lijevo,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Stvaranje i upravljanje automatskih mailova na dnevnoj, tjednoj i mjesečnoj bazi.",
 Create customer quotes,Stvaranje kupaca citati,
 Create rules to restrict transactions based on values.,Napravi pravila za ograničavanje prometa na temelju vrijednosti.,
-Created By,Stvorio,
 Created {0} scorecards for {1} between: ,Izrađeno {0} bodovne kartice za {1} između:,
 Creating Company and Importing Chart of Accounts,Stvaranje tvrtke i uvoz računa,
 Creating Fees,Stvaranje naknada,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Za redak {0}: unesite planirani iznos,
 "For {0}, only credit accounts can be linked against another debit entry","Za {0}, samo kreditne računi se mogu povezati protiv drugog ulaska debitnom",
 "For {0}, only debit accounts can be linked against another credit entry","Za {0}, samo debitne računi se mogu povezati protiv druge kreditne stupanja",
-Form View,Prikaz obrasca,
 Forum Activity,Aktivnost na forumu,
 Free item code is not selected,Besplatni kod predmeta nije odabran,
 Freight and Forwarding Charges,Teretni i Forwarding Optužbe,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Pošalji grupne SMS poruke svojim kontaktima,
 Sensitivity,Osjetljivost,
 Sent,Poslano,
-Serial #,Serijski #,
 Serial No and Batch,Serijski broj i serije,
 Serial No is mandatory for Item {0},Serijski Nema je obvezna za točke {0},
 Serial No {0} does not belong to Batch {1},Serijski broj {0} ne pripada skupini {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Što vam je potrebna pomoć?,
 What does it do?,Što učiniti ?,
 Where manufacturing operations are carried.,Gdje se odvija proizvodni postupci.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Tijekom stvaranja računa za podmlađivanje Company {0}, nadređeni račun {1} nije pronađen. Napravite nadređeni račun u odgovarajućem COA",
 White,bijela,
 Wire Transfer,Wire Transfer,
 WooCommerce Products,WooCommerce proizvodi,
@@ -3493,6 +3488,7 @@
 Merge with existing,Spoji sa postojećim,
 Office,Ured,
 Orientation,Orijentacija,
+Parent,Nadređen,
 Passive,Pasiva,
 Payment Failed,Plaćanje nije uspjelo,
 Percent,Postotak,
@@ -3543,6 +3539,7 @@
 Show {0},Prikaži {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Posebni znakovi osim &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; I &quot;}&quot; nisu dopušteni u imenovanju serija",
 Target Details,Pojedinosti cilja,
+{0} already has a Parent Procedure {1}.,{0} već ima roditeljski postupak {1}.,
 API,API,
 Annual,godišnji,
 Approved,Odobren,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Datum završetka ne može biti manja od početnog datuma,
 For Default Supplier (Optional),Za dobavljača zadano (neobavezno),
 From date cannot be greater than To date,Datum ne može biti veći od datuma,
-Get items from,Nabavite stavke iz,
 Group by,Grupiranje prema,
 In stock,Na lageru,
 Item name,Naziv proizvoda,
@@ -7558,10 +7554,6 @@
 Quality Goal,Cilj kvalitete,
 Monitoring Frequency,Učestalost nadgledanja,
 Weekday,radni dan,
-January-April-July-October,Siječanj-travanj-srpanj-listopad,
-Revision and Revised On,Revizija i revizija dana,
-Revision,Revizija,
-Revised On,Revidirano dana,
 Objectives,Ciljevi,
 Quality Goal Objective,Cilj kvaliteta kvalitete,
 Objective,Cilj,
@@ -7574,7 +7566,6 @@
 Processes,procesi,
 Quality Procedure Process,Postupak postupka kvalitete,
 Process Description,Opis procesa,
-Child Procedure,Postupak za dijete,
 Link existing Quality Procedure.,Povežite postojeći postupak kvalitete.,
 Additional Information,dodatne informacije,
 Quality Review Objective,Cilj pregleda kvalitete,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Trend primki,
 Purchase Register,Popis nabave,
 Quotation Trends,Trend ponuda,
-Quoted Item Comparison,Citirano predmeta za usporedbu,
 Received Items To Be Billed,Primljeni Proizvodi se naplaćuje,
 Qty to Order,Količina za narudžbu,
 Requested Items To Be Transferred,Traženi proizvodi spremni za transfer,
@@ -9091,7 +9081,6 @@
 Absent Days,Dani odsutnosti,
 Conditions and Formula variable and example,Uvjeti i varijabla formule i primjer,
 Feedback By,Povratne informacije od,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.GGGG .-. MM .-. DD.-,
 Manufacturing Section,Odjel za proizvodnju,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Prema zadanim postavkama, ime kupca postavlja se prema unesenom punom imenu. Ako želite da kupce imenuje",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurirajte zadani cjenik prilikom izrade nove prodajne transakcije. Cijene stavki dohvaćaju se iz ovog cjenika.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Rezervirano stanje,
 Uncleared Balance,Nerazjašnjena ravnoteža,
 Payment related to {0} is not completed,Isplata vezana uz {0} nije dovršena,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Redak {{}: serijski broj {}. {} je već prebačen na drugu POS fakturu. Odaberite valjani serijski br.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Redak {{}: Šifra artikla: {} nije dostupan u skladištu {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Redak {{}: Količina zaliha nije dovoljna za šifru artikla: {} ispod skladišta {}. Dostupna količina {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Redak {{}: Odaberite serijski broj i skup prema stavci: {} ili ga uklonite da biste dovršili transakciju.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,U nastavku omogućite Dopusti negativnu zalihu ili stvorite unos dionica.,
 No Inpatient Record found against patient {0},Nije pronađena bolnička evidencija protiv pacijenta {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Nalog za stacionarne lijekove {0} protiv susreta s pacijentima {1} već postoji.,
+Allow In Returns,Dopusti povratak,
+Hide Unavailable Items,Sakrij nedostupne stavke,
+Apply Discount on Discounted Rate,Primijenite popust na sniženu stopu,
+Therapy Plan Template,Predložak plana terapije,
+Fetching Template Details,Dohvaćanje pojedinosti predloška,
+Linked Item Details,Povezani detalji stavke,
+Therapy Types,Vrste terapije,
+Therapy Plan Template Detail,Pojedinosti predloška plana terapije,
+Non Conformance,Neusklađenost,
+Process Owner,Vlasnik procesa,
+Corrective Action,Korektivne mjere,
+Preventive Action,Preventivna akcija,
+Problem,Problem,
+Responsible,Odgovoran,
+Completion By,Završetak,
+Process Owner Full Name,Puno ime vlasnika postupka,
+Right Index,Desni indeks,
+Left Index,Lijevi indeks,
+Sub Procedure,Potprocedura,
+Passed,Prošao,
+Print Receipt,Ispisnica,
+Edit Receipt,Uredi potvrdu,
+Focus on search input,Usredotočite se na unos pretraživanja,
+Focus on Item Group filter,Usredotočite se na filter grupe predmeta,
+Checkout Order / Submit Order / New Order,Narudžba za plaćanje / Predaja naloga / Nova narudžba,
+Add Order Discount,Dodajte popust za narudžbu,
+Item Code: {0} is not available under warehouse {1}.,Šifra artikla: {0} nije dostupno u skladištu {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serijski brojevi nisu dostupni za artikl {0} u skladištu {1}. Pokušajte promijeniti skladište.,
+Fetched only {0} available serial numbers.,Dohvaćeno samo {0} dostupnih serijskih brojeva.,
+Switch Between Payment Modes,Prebacivanje između načina plaćanja,
+Enter {0} amount.,Unesite iznos od {0}.,
+You don't have enough points to redeem.,Nemate dovoljno bodova za iskorištavanje.,
+You can redeem upto {0}.,Možete iskoristiti do {0}.,
+Enter amount to be redeemed.,Unesite iznos koji treba iskoristiti.,
+You cannot redeem more than {0}.,Ne možete iskoristiti više od {0}.,
+Open Form View,Otvorite prikaz obrasca,
+POS invoice {0} created succesfully,POS račun {0} uspješno je stvoren,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Količina zaliha nije dovoljna za šifru artikla: {0} ispod skladišta {1}. Dostupna količina {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serijski broj: {0} već je pretvoren u drugu POS fakturu.,
+Balance Serial No,Serijski br,
+Warehouse: {0} does not belong to {1},Skladište: {0} ne pripada tvrtki {1},
+Please select batches for batched item {0},Odaberite serije za skupljenu stavku {0},
+Please select quantity on row {0},Odaberite količinu u retku {0},
+Please enter serial numbers for serialized item {0},Unesite serijske brojeve za serijsku stavku {0},
+Batch {0} already selected.,Skupina {0} već je odabrana.,
+Please select a warehouse to get available quantities,Odaberite skladište da biste dobili dostupne količine,
+"For transfer from source, selected quantity cannot be greater than available quantity","Za prijenos iz izvora, odabrana količina ne može biti veća od dostupne količine",
+Cannot find Item with this Barcode,Ne mogu pronaći predmet s ovim crtičnim kodom,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} je obavezan. Možda zapis mjenjačnice nije stvoren za {1} do {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} je poslao elemente povezane s tim. Morate otkazati imovinu da biste stvorili povrat kupnje.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Ovaj dokument nije moguće otkazati jer je povezan s poslanim materijalom {0}. Otkažite ga da biste nastavili.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Redak {{}: Serijski broj {} je već prebačen na drugu POS fakturu. Odaberite valjani serijski br.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Redak {{}: Serijski brojevi. {} Već su prebačeni u drugu POS fakturu. Odaberite valjani serijski br.,
+Item Unavailable,Predmet nije dostupan,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Redak {{}: serijski broj {} ne može se vratiti jer nije izvršen u izvornoj fakturi {},
+Please set default Cash or Bank account in Mode of Payment {},Postavite zadani gotovinski ili bankovni račun u načinu plaćanja {},
+Please set default Cash or Bank account in Mode of Payments {},Postavite zadani gotovinski ili bankovni račun u načinu plaćanja {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Molimo provjerite je li račun {} račun bilance. Možete promijeniti roditeljski račun u račun bilance ili odabrati drugi račun.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Molimo provjerite je li račun {} račun koji se plaća. Promijenite vrstu računa u Plativo ili odaberite drugi račun.,
+Row {}: Expense Head changed to {} ,Red {}: Glava rashoda promijenjena je u {},
+because account {} is not linked to warehouse {} ,jer račun {} nije povezan sa skladištem {},
+or it is not the default inventory account,ili nije zadani račun zaliha,
+Expense Head Changed,Promijenjena glava rashoda,
+because expense is booked against this account in Purchase Receipt {},jer je trošak knjižen na ovaj račun u potvrdi o kupnji {},
+as no Purchase Receipt is created against Item {}. ,jer se prema stavci {} ne stvara potvrda o kupnji.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,To se radi radi obračunavanja slučajeva kada se potvrda o kupnji kreira nakon fakture za kupnju,
+Purchase Order Required for item {},Narudžbenica potrebna za stavku {},
+To submit the invoice without purchase order please set {} ,"Da biste predali račun bez narudžbenice, postavite {}",
+as {} in {},kao {} u {},
+Mandatory Purchase Order,Obavezna narudžbenica,
+Purchase Receipt Required for item {},Potvrda o kupnji potrebna za stavku {},
+To submit the invoice without purchase receipt please set {} ,"Da biste predali račun bez potvrde o kupnji, postavite {}",
+Mandatory Purchase Receipt,Potvrda o obaveznoj kupnji,
+POS Profile {} does not belongs to company {},POS profil {} ne pripada tvrtki {},
+User {} is disabled. Please select valid user/cashier,Korisnik {} je onemogućen. Odaberite valjanog korisnika / blagajnika,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Redak {{}: Izvorna faktura {} fakture za povrat {} je {}.,
+Original invoice should be consolidated before or along with the return invoice.,Izvorni račun treba objediniti prije ili zajedno s povratnim računom.,
+You can add original invoice {} manually to proceed.,"Da biste nastavili, možete ručno dodati {} fakturu {}.",
+Please ensure {} account is a Balance Sheet account. ,Molimo provjerite je li račun {} račun bilance.,
+You can change the parent account to a Balance Sheet account or select a different account.,Možete promijeniti roditeljski račun u račun bilance ili odabrati drugi račun.,
+Please ensure {} account is a Receivable account. ,Molimo provjerite je li račun} račun potraživanja.,
+Change the account type to Receivable or select a different account.,Promijenite vrstu računa u Potraživanje ili odaberite drugi račun.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} se ne može otkazati jer su iskorišteni bodovi za lojalnost. Prvo otkažite {} Ne {},
+already exists,već postoji,
+POS Closing Entry {} against {} between selected period,Zatvaranje unosa POS-a {} protiv {} između odabranog razdoblja,
+POS Invoice is {},POS račun je {},
+POS Profile doesn't matches {},POS profil se ne podudara s {},
+POS Invoice is not {},POS faktura nije {},
+POS Invoice isn't created by user {},POS račun ne izrađuje korisnik {},
+Row #{}: {},Red # {}: {},
+Invalid POS Invoices,Nevažeći POS računi,
+Please add the account to root level Company - {},Dodajte račun korijenskoj tvrtki - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Tijekom stvaranja računa za podređenu tvrtku {0}, nadređeni račun {1} nije pronađen. Molimo stvorite roditeljski račun u odgovarajućem COA",
+Account Not Found,Račun nije pronađen,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Tijekom stvaranja računa za podređenu tvrtku {0}, nadređeni račun {1} pronađen je kao račun glavne knjige.",
+Please convert the parent account in corresponding child company to a group account.,Molimo pretvorite roditeljski račun u odgovarajućoj podređenoj tvrtki u grupni račun.,
+Invalid Parent Account,Nevažeći roditeljski račun,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Preimenovanje je dopušteno samo putem matične tvrtke {0}, kako bi se izbjegla neusklađenost.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ako {0} {1} količinu predmeta {2}, na proizvod će primijeniti shema {3}.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ako {0} {1} vrijedite stavku {2}, shema {3} primijenit će se na stavku.",
+"As the field {0} is enabled, the field {1} is mandatory.","Kako je polje {0} omogućeno, polje {1} je obavezno.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Kako je polje {0} omogućeno, vrijednost polja {1} trebala bi biti veća od 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Nije moguće isporučiti serijski broj {0} stavke {1} jer je rezerviran za puni prodajni nalog {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Prodajni nalog {0} ima rezervaciju za artikl {1}, a možete dostaviti samo rezervirani {1} u odnosu na {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serijski broj {1} nije moguće isporučiti,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Redak {0}: Predmet podugovaranja obvezan je za sirovinu {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Budući da ima dovoljno sirovina, zahtjev za materijal nije potreban za Skladište {0}.",
+" If you still want to proceed, please enable {0}.","Ako i dalje želite nastaviti, omogućite {0}.",
+The item referenced by {0} - {1} is already invoiced,Stavka na koju se poziva {0} - {1} već je fakturirana,
+Therapy Session overlaps with {0},Sjednica terapije preklapa se s {0},
+Therapy Sessions Overlapping,Preklapajuće se terapijske sesije,
+Therapy Plans,Planovi terapije,
+"Item Code, warehouse, quantity are required on row {0}","Šifra artikla, skladište, količina potrebni su na retku {0}",
+Get Items from Material Requests against this Supplier,Nabavite stavke iz materijalnih zahtjeva protiv ovog dobavljača,
+Enable European Access,Omogućiti europski pristup,
+Creating Purchase Order ...,Izrada narudžbenice ...,
+"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.","Odaberite dobavljača od zadanih dobavljača dolje navedenih stavki. Nakon odabira, narudžbenica će se izvršiti samo za proizvode koji pripadaju odabranom dobavljaču.",
+Row #{}: You must select {} serial numbers for item {}.,Redak {{}: Morate odabrati {} serijske brojeve za stavku {}.,
diff --git a/erpnext/translations/hu.csv b/erpnext/translations/hu.csv
index cfd0340..29f347e 100644
--- a/erpnext/translations/hu.csv
+++ b/erpnext/translations/hu.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Nem vonható le, ha a kategória a 'Készletérték' vagy 'Készletérték és Teljes érték'",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Nem lehet törölni a sorozatszámot: {0}, mivel ezt használja a részvény tranzakcióknál",
 Cannot enroll more than {0} students for this student group.,"Nem lehet regisztrálni, több mint {0} diákot erre a diákcsoportra.",
-Cannot find Item with this barcode,Nem található az elem ezzel a vonalkóddal,
 Cannot find active Leave Period,Nem található aktív távolléti időszak,
 Cannot produce more Item {0} than Sales Order quantity {1},"Nem lehet több mint ennyit {0} gyártani a tételből, mint amennyi a Vevői rendelési mennyiség {1}",
 Cannot promote Employee with status Left,Nem támogathatja a távolléten lévő Alkalmazottat,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Létrehoz és kezeli a napi, heti és havi e-mail összefoglalókat.",
 Create customer quotes,Árajánlatok létrehozása vevők részére,
 Create rules to restrict transactions based on values.,Készítsen szabályokat az ügyletek korlátozására az értékek alapján.,
-Created By,Létrehozta,
 Created {0} scorecards for {1} between: ,Létrehozta a (z) {0} eredménymutatókat {1} között:,
 Creating Company and Importing Chart of Accounts,Vállalat létrehozása és számlaábra importálása,
 Creating Fees,Díjak létrehozása,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,A(z) {0} sorhoz: Írja be a tervezett mennyiséget,
 "For {0}, only credit accounts can be linked against another debit entry","{0} -hoz, csak jóváírási számlákat lehet kapcsolni a másik ellen terheléshez",
 "For {0}, only debit accounts can be linked against another credit entry","{0} -hoz, csak terhelés számlákat lehet kapcsolni a másik ellen jóváíráshoz",
-Form View,Űrlap nézet,
 Forum Activity,Fórum aktivitás,
 Free item code is not selected,Az ingyenes cikkkód nincs kiválasztva,
 Freight and Forwarding Charges,Árufuvarozási és szállítmányozási költségek,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Küldjön tömeges SMS-t a kapcsolatainak,
 Sensitivity,Érzékenység,
 Sent,Elküldött,
-Serial #,Szériasz #,
 Serial No and Batch,Széria sz. és Köteg,
 Serial No is mandatory for Item {0},Széria sz. kötelező tétel {0},
 Serial No {0} does not belong to Batch {1},A {0} sorozatszám nem tartozik a {1} köteghez,
@@ -3303,7 +3299,6 @@
 What do you need help with?,Mivel kapcsolatban van szükséged segítségre?,
 What does it do?,Mit csinal?,
 Where manufacturing operations are carried.,Ahol a gyártási műveleteket végzik.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","A (z) {0} gyermekvállalat számára fiók létrehozása közben a (z) {1} szülői fiók nem található. Kérjük, hozza létre a szülői fiókot a megfelelő COA-ban",
 White,fehér,
 Wire Transfer,Banki átutalás,
 WooCommerce Products,WooCommerce termékek,
@@ -3493,6 +3488,7 @@
 Merge with existing,Meglévővel összefésülni,
 Office,Iroda,
 Orientation,Irányultság,
+Parent,Fő,
 Passive,Passzív,
 Payment Failed,Fizetés meghiúsult,
 Percent,Százalék,
@@ -3543,6 +3539,7 @@
 Show {0},Mutasd {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Speciális karakterek, kivéve &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; És &quot;}&quot;, a sorozatok elnevezése nem megengedett",
 Target Details,Cél részletei,
+{0} already has a Parent Procedure {1}.,A (z) {0} már rendelkezik szülői eljárással {1}.,
 API,API,
 Annual,Éves,
 Approved,Jóváhagyott,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,"A befejezés dátuma nem lehet kevesebb, mint a kezdő dátum",
 For Default Supplier (Optional),Az alapértelmezett beszállító számára (opcionális),
 From date cannot be greater than To date,"A dátum nem lehet nagyobb, mint a dátum",
-Get items from,Tételeket kér le innen,
 Group by,Csoportosítva,
 In stock,Raktáron,
 Item name,Tétel neve,
@@ -7558,10 +7554,6 @@
 Quality Goal,Minőségi cél,
 Monitoring Frequency,Frekvencia figyelése,
 Weekday,Hétköznap,
-January-April-July-October,Január-április-július-október,
-Revision and Revised On,Felülvizsgálva és felülvizsgálva,
-Revision,Felülvizsgálat,
-Revised On,Felülvizsgálva,
 Objectives,célok,
 Quality Goal Objective,Minőségi cél,
 Objective,Célkitűzés,
@@ -7574,7 +7566,6 @@
 Processes,Eljárások,
 Quality Procedure Process,Minőségi eljárás folyamata,
 Process Description,Folyamatleírás,
-Child Procedure,Gyermek eljárás,
 Link existing Quality Procedure.,Kapcsolja össze a meglévő minőségi eljárást.,
 Additional Information,további információ,
 Quality Review Objective,Minőségértékelési célkitűzés,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Beszerzési nyugták alakulása,
 Purchase Register,Beszerzési Regisztráció,
 Quotation Trends,Árajánlatok alakulása,
-Quoted Item Comparison,Ajánlott tétel összehasonlítás,
 Received Items To Be Billed,Számlázandó Beérkezett tételek,
 Qty to Order,Mennyiség Rendeléshez,
 Requested Items To Be Transferred,Kérte az átvinni kívánt elemeket,
@@ -9091,7 +9081,6 @@
 Absent Days,Hiányzó napok,
 Conditions and Formula variable and example,Feltételek és Formula változó és példa,
 Feedback By,Visszajelzés:,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Gyártási részleg,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Alapértelmezés szerint az Ügyfél neve a megadott Teljes név szerint van beállítva. Ha azt szeretné, hogy az ügyfeleket a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Új értékesítési tranzakció létrehozásakor konfigurálja az alapértelmezett Árlistát. A cikkek árait ebből az Árjegyzékből fogják lekérni.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Fenntartott egyenleg,
 Uncleared Balance,Tisztázatlan egyenleg,
 Payment related to {0} is not completed,A (z) {0} domainhez kapcsolódó fizetés nem fejeződött be,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,"{}. Sor: sorszám {}. A (z) {} felhasználót már egy másik POS-számlán futtatták le. Kérjük, válasszon érvényes sorozatszámot.",
 Row #{}: Item Code: {} is not available under warehouse {}.,{}. Sor: Az elem kódja: {} nem érhető el a raktárban {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,#. Sor: A készletmennyiség nem elegendő a Cikkszámhoz: {} raktár alatt {}. Elérhető mennyiség {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"#. Sor: Kérjük, válasszon sorszámot, és tegye a tételhez: {}, vagy távolítsa el a tranzakció befejezéséhez.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"A folytatáshoz engedélyezze a Negatív részvény engedélyezése lehetőséget a részvénybeállításokban, vagy hozzon létre készletbejegyzést.",
 No Inpatient Record found against patient {0},Nem található fekvőbeteg-nyilvántartás a beteg ellen {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Már létezik fekvőbeteg-kezelési végzés {0} a beteg találkozása ellen {1}.,
+Allow In Returns,Engedélyezz viszonzva,
+Hide Unavailable Items,Nem elérhető elemek elrejtése,
+Apply Discount on Discounted Rate,Alkalmazzon kedvezményt a kedvezményes árfolyamon,
+Therapy Plan Template,Terápiás terv sablon,
+Fetching Template Details,A sablon részleteinek lekérése,
+Linked Item Details,Összekapcsolt elem részletei,
+Therapy Types,Terápiás típusok,
+Therapy Plan Template Detail,Terápiás terv sablon részlete,
+Non Conformance,Nem megfelelőség,
+Process Owner,Folyamat tulajdonos,
+Corrective Action,Korrekciós intézkedéseket,
+Preventive Action,Megelőző akció,
+Problem,Probléma,
+Responsible,Felelős,
+Completion By,Befejezés:,
+Process Owner Full Name,A folyamat tulajdonosának teljes neve,
+Right Index,Jobb index,
+Left Index,Bal oldali index,
+Sub Procedure,Sub eljárás,
+Passed,Elhaladt,
+Print Receipt,Nyugta nyomtatása,
+Edit Receipt,Nyugta szerkesztése,
+Focus on search input,Összpontosítson a keresési bevitelre,
+Focus on Item Group filter,Összpontosítson a Tételcsoport szűrőre,
+Checkout Order / Submit Order / New Order,Pénztári rendelés / Megrendelés benyújtása / Új megrendelés,
+Add Order Discount,Rendelési kedvezmény hozzáadása,
+Item Code: {0} is not available under warehouse {1}.,Cikkszám: {0} nem érhető el a raktárban {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,"A (z) {0} raktár alatti raktárban {1} nem áll rendelkezésre sorszám. Kérjük, próbálja meg megváltoztatni a raktárt.",
+Fetched only {0} available serial numbers.,Csak {0} elérhető sorozatszámot kapott.,
+Switch Between Payment Modes,Váltás a fizetési módok között,
+Enter {0} amount.,Adja meg a (z) {0} összeget.,
+You don't have enough points to redeem.,Nincs elég pontod a beváltáshoz.,
+You can redeem upto {0}.,Legfeljebb {0} beválthatja.,
+Enter amount to be redeemed.,Adja meg a beváltandó összeget.,
+You cannot redeem more than {0}.,{0} -nál többet nem válthat be.,
+Open Form View,Nyissa meg az Űrlap nézetet,
+POS invoice {0} created succesfully,POS számla {0} sikeresen létrehozva,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,A készletmennyiség nem elegendő a Cikkszámhoz: {0} raktár alatt {1}. Rendelkezésre álló mennyiség {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Sorszám: A (z) {0} már tranzakcióba került egy másik POS-számlával.,
+Balance Serial No,Egyenleg Sorszám,
+Warehouse: {0} does not belong to {1},Raktár: {0} nem tartozik a (z) {1} domainhez,
+Please select batches for batched item {0},Válassza ki a kötegelt tételeket a kötegelt tételhez {0},
+Please select quantity on row {0},"Kérjük, válassza ki a mennyiséget a (z) {0} sorban",
+Please enter serial numbers for serialized item {0},"Kérjük, adja meg a (z) {0} sorosított tétel sorozatszámát",
+Batch {0} already selected.,A (z) {0} köteg már kiválasztva.,
+Please select a warehouse to get available quantities,"Kérjük, válasszon egy raktárt a rendelkezésre álló mennyiségek megszerzéséhez",
+"For transfer from source, selected quantity cannot be greater than available quantity","Forrásból történő átvitelhez a kiválasztott mennyiség nem lehet nagyobb, mint a rendelkezésre álló mennyiség",
+Cannot find Item with this Barcode,Nem található elem ezzel a vonalkóddal,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},"A (z) {0} kötelező kitölteni. Lehet, hogy a (z) {1} és a (z) {2} számára nem jön létre pénzváltási rekord",
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,A (z) {} ehhez kapcsolódó eszközöket nyújtott be. A vásárlási hozam létrehozásához le kell mondania az eszközöket.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Nem törölhető ez a dokumentum, mivel a beküldött eszközhöz ({0}) kapcsolódik. Kérjük, törölje a folytatáshoz.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,"{}. Sor: A (z) {} sorszám már be van kapcsolva egy másik POS számlába. Kérjük, válasszon érvényes sorozatszámot.",
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,"{}. Sor: A (z) {} sorszámokat már bevezették egy másik POS-számlába. Kérjük, válasszon érvényes sorozatszámot.",
+Item Unavailable,Elem nem érhető el,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"{}. Sor: {0} sorszám nem adható vissza, mivel az eredeti számlán nem történt meg {0}",
+Please set default Cash or Bank account in Mode of Payment {},"Kérjük, állítsa be az alapértelmezett készpénzt vagy bankszámlát a Fizetési módban {}",
+Please set default Cash or Bank account in Mode of Payments {},"Kérjük, állítsa be az alapértelmezett készpénzt vagy bankszámlát a Fizetési módban {}",
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Győződjön meg arról, hogy a (z) {} fiók egy mérlegfiók. Módosíthatja a szülői fiókot mérlegfiókra, vagy kiválaszthat másik fiókot.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Győződjön meg arról, hogy a (z) {} fiók fizetendő fiók. Módosítsa a számla típusát Kötelezőre, vagy válasszon másik számlát.",
+Row {}: Expense Head changed to {} ,{}. Sor: A költségfej megváltozott erre: {},
+because account {} is not linked to warehouse {} ,mert a {} fiók nincs összekapcsolva a raktárral {},
+or it is not the default inventory account,vagy nem ez az alapértelmezett készletszámla,
+Expense Head Changed,A költségfej megváltozott,
+because expense is booked against this account in Purchase Receipt {},mert a költség a számlán van elszámolva a vásárlási nyugtán {},
+as no Purchase Receipt is created against Item {}. ,mivel a (z) {} tételhez nem jön létre vásárlási nyugta.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Ez az esetek elszámolásának kezelésére szolgál, amikor a vásárlási nyugta a vásárlási számla után jön létre",
+Purchase Order Required for item {},A (z) {} tételhez megrendelés szükséges,
+To submit the invoice without purchase order please set {} ,A számla beküldéséhez megrendelés nélkül adja meg a következőt: {},
+as {} in {},mint a {},
+Mandatory Purchase Order,Kötelező megrendelés,
+Purchase Receipt Required for item {},A (z) {} tételhez vásárlási bizonylat szükséges,
+To submit the invoice without purchase receipt please set {} ,A számla vásárlási nyugta nélküli benyújtásához állítsa be a következőt:,
+Mandatory Purchase Receipt,Kötelező vásárlási nyugta,
+POS Profile {} does not belongs to company {},A POS-profil {} nem tartozik a (z) {} céghez,
+User {} is disabled. Please select valid user/cashier,"A (z) {} felhasználó le van tiltva. Kérjük, válassza ki az érvényes felhasználót / pénztárt",
+Row #{}: Original Invoice {} of return invoice {} is {}. ,{}. Sor: A (z) {} eredeti számla {} a következő:,
+Original invoice should be consolidated before or along with the return invoice.,Az eredeti számlát a beváltó számla előtt vagy azzal együtt kell konszolidálni.,
+You can add original invoice {} manually to proceed.,A folytatáshoz manuálisan hozzáadhatja az eredeti számlát {}.,
+Please ensure {} account is a Balance Sheet account. ,"Győződjön meg arról, hogy a (z) {} fiók egy mérlegfiók.",
+You can change the parent account to a Balance Sheet account or select a different account.,"Módosíthatja a szülői fiókot mérlegfiókra, vagy kiválaszthat másik fiókot.",
+Please ensure {} account is a Receivable account. ,"Győződjön meg arról, hogy a (z) {} fiók vevő-fiók.",
+Change the account type to Receivable or select a different account.,"Változtassa a számlatípust Követelésre, vagy válasszon másik számlát.",
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"A (z) {} nem törölhető, mivel a megszerzett Hűségpontok beváltásra kerültek. Először törölje a {} Nem {} lehetőséget",
+already exists,már létezik,
+POS Closing Entry {} against {} between selected period,POS záró bejegyzés {} ellen {} a kiválasztott időszak között,
+POS Invoice is {},POS számla: {},
+POS Profile doesn't matches {},A POS-profil nem egyezik a következővel:},
+POS Invoice is not {},A POS számla nem {},
+POS Invoice isn't created by user {},A POS számlát nem a (z) {0} felhasználó hozta létre,
+Row #{}: {},#. Sor: {},
+Invalid POS Invoices,Érvénytelen POS-számlák,
+Please add the account to root level Company - {},"Kérjük, adja hozzá a fiókot a root szintű vállalathoz - {}",
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","A (z) {0} gyermekvállalat fiókjának létrehozása közben a (z) {1} szülőfiók nem található. Kérjük, hozza létre a szülői fiókot a megfelelő COA-ban",
+Account Not Found,Fiók nem található,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",A (z) {0} gyermekvállalat fiókjának létrehozása közben a (z) {1} szülőfiók főkönyv-fiókként található.,
+Please convert the parent account in corresponding child company to a group account.,"Kérjük, konvertálja a megfelelő alárendelt vállalat szülői fiókját csoportos fiókra.",
+Invalid Parent Account,Érvénytelen szülői fiók,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Az átnevezés csak az {0} anyavállalaton keresztül engedélyezett, az eltérések elkerülése érdekében.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ha {0} {1} mennyiségű elemet tartalmaz {2}, akkor a sémát {3} alkalmazzák az elemre.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ha {0} {1} érdemes egy elemet {2}, akkor a sémát {3} alkalmazzák az elemre.",
+"As the field {0} is enabled, the field {1} is mandatory.","Mivel a {0} mező engedélyezve van, a {1} mező kötelező.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Mivel a {0} mező engedélyezve van, a {1} mező értékének 1-nél nagyobbnak kell lennie.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Nem lehet kézbesíteni a (z) {1} tétel sorszámát {1}, mivel az teljes értékesítési megrendelésre van fenntartva {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Az értékesítési rendelés {0} foglalást foglal a tételre {1}, csak lefoglalt {1} szállíthat {0} ellen.",
+{0} Serial No {1} cannot be delivered,A {0} sorszám {1} nem szállítható,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},{0} sor: Az alvállalkozói tétel kötelező a nyersanyaghoz {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Mivel elegendő alapanyag van, a raktárhoz {0} nem szükséges anyagkérelem.",
+" If you still want to proceed, please enable {0}.","Ha továbbra is folytatni szeretné, engedélyezze a {0} lehetőséget.",
+The item referenced by {0} - {1} is already invoiced,A (z) {0} - {1} által hivatkozott tételt már számlázzák,
+Therapy Session overlaps with {0},A terápiás munkamenet átfedésben van a következővel: {0},
+Therapy Sessions Overlapping,A terápiás foglalkozások átfedésben vannak,
+Therapy Plans,Terápiás tervek,
+"Item Code, warehouse, quantity are required on row {0}","A (z) {0} sorban tételszám, raktár, mennyiség szükséges",
+Get Items from Material Requests against this Supplier,Tételeket szerezhet a szállítóval szembeni anyagi igényekből,
+Enable European Access,Engedélyezze az európai hozzáférést,
+Creating Purchase Order ...,Megrendelés létrehozása ...,
+"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.",Válasszon szállítót az alábbi elemek alapértelmezett szállítói közül. A kiválasztáskor csak a kiválasztott szállítóhoz tartozó termékekre készül megrendelés.,
+Row #{}: You must select {} serial numbers for item {}.,#. Sor:} {0} sorszámokat kell kiválasztania.,
diff --git a/erpnext/translations/id.csv b/erpnext/translations/id.csv
index 4607d3b..7175ad2 100644
--- a/erpnext/translations/id.csv
+++ b/erpnext/translations/id.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',tidak bisa memotong ketika kategori adalah untuk &#39;Penilaian&#39; atau &#39;Vaulation dan Total&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Tidak dapat menghapus No. Seri {0}, karena digunakan dalam transaksi persediaan",
 Cannot enroll more than {0} students for this student group.,tidak bisa mendaftar lebih dari {0} siswa untuk kelompok siswa ini.,
-Cannot find Item with this barcode,Tidak dapat menemukan Item dengan barcode ini,
 Cannot find active Leave Period,Tidak dapat menemukan Periode Keluar aktif,
 Cannot produce more Item {0} than Sales Order quantity {1},Tidak dapat menghasilkan lebih Stok Barang {0} daripada kuantitas Sales Order {1},
 Cannot promote Employee with status Left,Tidak dapat mempromosikan Karyawan dengan status Kiri,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Buat dan kelola surel ringkasan harian, mingguan dan bulanan.",
 Create customer quotes,Buat kutipan pelanggan,
 Create rules to restrict transactions based on values.,Buat aturan untuk membatasi transaksi berdasarkan nilai-nilai.,
-Created By,Dibuat Oleh,
 Created {0} scorecards for {1} between: ,Menciptakan {0} scorecard untuk {1} antara:,
 Creating Company and Importing Chart of Accounts,Membuat Perusahaan dan Mengimpor Bagan Akun,
 Creating Fees,Menciptakan Biaya,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Untuk baris {0}: Masuki rencana qty,
 "For {0}, only credit accounts can be linked against another debit entry","Untuk {0}, hanya rekening kredit dapat dihubungkan dengan entri debit lain",
 "For {0}, only debit accounts can be linked against another credit entry","Untuk {0}, hanya rekening debit dapat dihubungkan dengan entri kredit lain",
-Form View,Tampilan Formulir,
 Forum Activity,Kegiatan Forum,
 Free item code is not selected,Kode item gratis tidak dipilih,
 Freight and Forwarding Charges,Pengangkutan dan Forwarding Biaya,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Kirim SMS massal ke kontak Anda,
 Sensitivity,Kepekaan,
 Sent,Terkirim,
-Serial #,Serial #,
 Serial No and Batch,Serial dan Batch,
 Serial No is mandatory for Item {0},Serial ada adalah wajib untuk Item {0},
 Serial No {0} does not belong to Batch {1},Serial No {0} bukan milik Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Apa yang Anda perlu bantuan dengan?,
 What does it do?,Apa pekerjaannya?,
 Where manufacturing operations are carried.,Dimana operasi manufaktur dilakukan.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Saat membuat akun untuk Perusahaan anak {0}, akun induk {1} tidak ditemukan. Harap buat akun induk di COA yang sesuai",
 White,putih,
 Wire Transfer,Transfer Kliring,
 WooCommerce Products,Produk WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Merger dengan yang ada,
 Office,Kantor,
 Orientation,Orientasi,
+Parent,Induk,
 Passive,Pasif,
 Payment Failed,Pembayaran gagal,
 Percent,Persen,
@@ -3543,6 +3539,7 @@
 Show {0},Tampilkan {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Karakter Khusus kecuali &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Dan &quot;}&quot; tidak diizinkan dalam rangkaian penamaan",
 Target Details,Detail Target,
+{0} already has a Parent Procedure {1}.,{0} sudah memiliki Prosedur Induk {1}.,
 API,API,
 Annual,Tahunan,
 Approved,Disetujui,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Tanggal Berakhir tidak boleh kurang dari Tanggal Mulai,
 For Default Supplier (Optional),Untuk Pemasok Default (Opsional),
 From date cannot be greater than To date,Dari Tanggal tidak dapat lebih besar dari To Date,
-Get items from,Mendapatkan Stok Barang-Stok Barang dari,
 Group by,Kelompok Dengan,
 In stock,Persediaan,
 Item name,Nama Item,
@@ -7558,10 +7554,6 @@
 Quality Goal,Tujuan Kualitas,
 Monitoring Frequency,Frekuensi Pemantauan,
 Weekday,Hari kerja,
-January-April-July-October,Januari-April-Juli-Oktober,
-Revision and Revised On,Revisi dan Revisi Aktif,
-Revision,Revisi,
-Revised On,Direvisi Aktif,
 Objectives,Tujuan,
 Quality Goal Objective,Tujuan Sasaran Kualitas,
 Objective,Objektif,
@@ -7574,7 +7566,6 @@
 Processes,Proses,
 Quality Procedure Process,Proses Prosedur Mutu,
 Process Description,Deskripsi proses,
-Child Procedure,Prosedur Anak,
 Link existing Quality Procedure.,Tautkan Prosedur Mutu yang ada.,
 Additional Information,informasi tambahan,
 Quality Review Objective,Tujuan Tinjauan Kualitas,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Tren Nota Penerimaan,
 Purchase Register,Register Pembelian,
 Quotation Trends,Trend Penawaran,
-Quoted Item Comparison,Perbandingan Produk/Barang yang ditawarkan,
 Received Items To Be Billed,Produk Diterima Akan Ditagih,
 Qty to Order,Kuantitas untuk diorder,
 Requested Items To Be Transferred,Permintaan Produk Akan Ditransfer,
@@ -9091,7 +9081,6 @@
 Absent Days,Hari Absen,
 Conditions and Formula variable and example,Kondisi dan variabel Rumus dan contoh,
 Feedback By,Umpan Balik Oleh,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Bagian Manufaktur,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Secara default, Nama Pelanggan diatur sesuai Nama Lengkap yang dimasukkan. Jika Anda ingin Pelanggan diberi nama oleh a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga default saat membuat transaksi Penjualan baru. Harga item akan diambil dari Daftar Harga ini.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Saldo Cadangan,
 Uncleared Balance,Saldo Tidak Jelas,
 Payment related to {0} is not completed,Pembayaran yang terkait dengan {0} tidak selesai,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: Nomor Seri {}. {} telah ditransaksikan menjadi Faktur POS lain. Pilih nomor seri yang valid.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Baris # {}: Kode Item: {} tidak tersedia di gudang {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Baris # {}: Jumlah stok tidak cukup untuk Kode Barang: {} di bawah gudang {}. Kuantitas yang tersedia {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Baris # {}: Pilih nomor seri dan kelompokkan terhadap item: {} atau hapus untuk menyelesaikan transaksi.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Silakan aktifkan Izinkan Stok Negatif dalam Pengaturan Stok atau buat Entri Stok untuk melanjutkan.,
 No Inpatient Record found against patient {0},Tidak ada Catatan Rawat Inap yang ditemukan terhadap pasien {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Perintah Pengobatan Rawat Inap {0} terhadap Pertemuan Pasien {1} sudah ada.,
+Allow In Returns,Izinkan Pengembalian,
+Hide Unavailable Items,Sembunyikan Item yang Tidak Tersedia,
+Apply Discount on Discounted Rate,Terapkan Diskon untuk Tarif Diskon,
+Therapy Plan Template,Template Rencana Terapi,
+Fetching Template Details,Mengambil Detail Template,
+Linked Item Details,Detail Item Tertaut,
+Therapy Types,Jenis Terapi,
+Therapy Plan Template Detail,Detail Template Rencana Terapi,
+Non Conformance,Ketidaksesuaian,
+Process Owner,Pemilik Proses,
+Corrective Action,Tindakan perbaikan,
+Preventive Action,Aksi Pencegahan,
+Problem,Masalah,
+Responsible,Bertanggung jawab,
+Completion By,Penyelesaian Oleh,
+Process Owner Full Name,Nama Lengkap Pemilik Proses,
+Right Index,Indeks Kanan,
+Left Index,Indeks Kiri,
+Sub Procedure,Sub Prosedur,
+Passed,Lulus,
+Print Receipt,Cetak Kwitansi,
+Edit Receipt,Edit Tanda Terima,
+Focus on search input,Fokus pada input pencarian,
+Focus on Item Group filter,Fokus pada filter Grup Item,
+Checkout Order / Submit Order / New Order,Pesanan Checkout / Kirim Pesanan / Pesanan Baru,
+Add Order Discount,Tambahkan Diskon Pesanan,
+Item Code: {0} is not available under warehouse {1}.,Kode Barang: {0} tidak tersedia di gudang {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Nomor seri tidak tersedia untuk Item {0} di bawah gudang {1}. Silakan coba ganti gudang.,
+Fetched only {0} available serial numbers.,Mengambil hanya {0} nomor seri yang tersedia.,
+Switch Between Payment Modes,Beralih Antar Mode Pembayaran,
+Enter {0} amount.,Masukkan {0} jumlah.,
+You don't have enough points to redeem.,Anda tidak memiliki cukup poin untuk ditukarkan.,
+You can redeem upto {0}.,Anda dapat menebus hingga {0}.,
+Enter amount to be redeemed.,Masukkan jumlah yang akan ditebus.,
+You cannot redeem more than {0}.,Anda tidak dapat menebus lebih dari {0}.,
+Open Form View,Buka Tampilan Formulir,
+POS invoice {0} created succesfully,Faktur POS {0} berhasil dibuat,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Kuantitas stok tidak cukup untuk Kode Barang: {0} di bawah gudang {1}. Kuantitas yang tersedia {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Nomor Seri: {0} sudah ditransaksikan menjadi Faktur POS lain.,
+Balance Serial No,Balance Serial No,
+Warehouse: {0} does not belong to {1},Gudang: {0} bukan milik {1},
+Please select batches for batched item {0},Pilih kelompok untuk item kelompok {0},
+Please select quantity on row {0},Pilih jumlah di baris {0},
+Please enter serial numbers for serialized item {0},Silakan masukkan nomor seri untuk item serial {0},
+Batch {0} already selected.,Kelompok {0} sudah dipilih.,
+Please select a warehouse to get available quantities,Pilih gudang untuk mendapatkan jumlah yang tersedia,
+"For transfer from source, selected quantity cannot be greater than available quantity","Untuk transfer dari sumber, kuantitas yang dipilih tidak boleh lebih besar dari kuantitas yang tersedia",
+Cannot find Item with this Barcode,Tidak dapat menemukan Item dengan Barcode ini,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} adalah wajib. Mungkin catatan Penukaran Mata Uang tidak dibuat untuk {1} hingga {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} telah mengirimkan aset yang terkait dengannya. Anda perlu membatalkan aset untuk membuat pengembalian pembelian.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Tidak dapat membatalkan dokumen ini karena terkait dengan aset yang dikirim {0}. Harap batalkan untuk melanjutkan.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: No. Seri {} telah ditransaksikan menjadi Faktur POS lain. Pilih nomor seri yang valid.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: Nomor Seri. {} Telah ditransaksikan menjadi Faktur POS lain. Pilih nomor seri yang valid.,
+Item Unavailable,Item Tidak Tersedia,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Baris # {}: Nomor Seri {} tidak dapat dikembalikan karena tidak ditransaksikan dalam faktur asli {},
+Please set default Cash or Bank account in Mode of Payment {},Harap setel Rekening Tunai atau Bank default dalam Cara Pembayaran {},
+Please set default Cash or Bank account in Mode of Payments {},Harap setel rekening Tunai atau Bank default dalam Mode Pembayaran {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Harap pastikan akun {} adalah akun Neraca. Anda dapat mengubah akun induk menjadi akun Neraca atau memilih akun lain.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Harap pastikan akun {} adalah akun Hutang. Ubah jenis akun menjadi Hutang atau pilih akun lain.,
+Row {}: Expense Head changed to {} ,Baris {}: Expense Head diubah menjadi {},
+because account {} is not linked to warehouse {} ,karena akun {} tidak ditautkan ke gudang {},
+or it is not the default inventory account,atau bukan akun inventaris default,
+Expense Head Changed,Expense Head Berubah,
+because expense is booked against this account in Purchase Receipt {},karena biaya dibukukan ke akun ini di Tanda Terima Pembelian {},
+as no Purchase Receipt is created against Item {}. ,karena tidak ada Tanda Terima Pembelian yang dibuat untuk Item {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ini dilakukan untuk menangani akuntansi untuk kasus-kasus ketika Tanda Terima Pembelian dibuat setelah Faktur Pembelian,
+Purchase Order Required for item {},Pesanan Pembelian Diperlukan untuk item {},
+To submit the invoice without purchase order please set {} ,"Untuk mengirimkan faktur tanpa pesanan pembelian, harap setel {}",
+as {} in {},seperti dalam {},
+Mandatory Purchase Order,Pesanan Pembelian Wajib,
+Purchase Receipt Required for item {},Tanda Terima Pembelian Diperlukan untuk item {},
+To submit the invoice without purchase receipt please set {} ,"Untuk mengirimkan faktur tanpa tanda terima pembelian, harap setel {}",
+Mandatory Purchase Receipt,Kwitansi Pembelian Wajib,
+POS Profile {} does not belongs to company {},Profil POS {} bukan milik perusahaan {},
+User {} is disabled. Please select valid user/cashier,Pengguna {} dinonaktifkan. Pilih pengguna / kasir yang valid,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Baris # {}: Faktur Asli {} dari faktur pengembalian {} adalah {}.,
+Original invoice should be consolidated before or along with the return invoice.,Faktur asli harus digabungkan sebelum atau bersama dengan faktur kembali.,
+You can add original invoice {} manually to proceed.,Anda bisa menambahkan faktur asli {} secara manual untuk melanjutkan.,
+Please ensure {} account is a Balance Sheet account. ,Harap pastikan akun {} adalah akun Neraca.,
+You can change the parent account to a Balance Sheet account or select a different account.,Anda dapat mengubah akun induk menjadi akun Neraca atau memilih akun lain.,
+Please ensure {} account is a Receivable account. ,Harap pastikan akun {} adalah akun Piutang.,
+Change the account type to Receivable or select a different account.,Ubah jenis akun menjadi Piutang atau pilih akun lain.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} tidak dapat dibatalkan karena Poin Loyalitas yang diperoleh telah ditukarkan. Pertama batalkan {} Tidak {},
+already exists,sudah ada,
+POS Closing Entry {} against {} between selected period,Entri Penutupan POS {} terhadap {} antara periode yang dipilih,
+POS Invoice is {},Faktur POS adalah {},
+POS Profile doesn't matches {},Profil POS tidak cocok {},
+POS Invoice is not {},Faktur POS bukan {},
+POS Invoice isn't created by user {},Faktur POS tidak dibuat oleh pengguna {},
+Row #{}: {},Baris # {}: {},
+Invalid POS Invoices,Faktur POS tidak valid,
+Please add the account to root level Company - {},Harap tambahkan akun ke Perusahaan tingkat akar - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Saat membuat akun untuk Perusahaan Anak {0}, akun induk {1} tidak ditemukan. Harap buat akun induk dengan COA yang sesuai",
+Account Not Found,Akun tidak ditemukan,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Saat membuat akun untuk Perusahaan Anak {0}, akun induk {1} ditemukan sebagai akun buku besar.",
+Please convert the parent account in corresponding child company to a group account.,Harap ubah akun induk di perusahaan anak yang sesuai menjadi akun grup.,
+Invalid Parent Account,Akun Induk Tidak Valid,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Mengganti nama hanya diperbolehkan melalui perusahaan induk {0}, untuk menghindari ketidakcocokan.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Jika Anda {0} {1} jumlah item {2}, skema {3} akan diterapkan pada item tersebut.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Jika Anda {0} {1} item bernilai {2}, skema {3} akan diterapkan pada item tersebut.",
+"As the field {0} is enabled, the field {1} is mandatory.","Saat bidang {0} diaktifkan, bidang {1} wajib diisi.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Saat bidang {0} diaktifkan, nilai bidang {1} harus lebih dari 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Tidak dapat mengirim Nomor Seri {0} item {1} karena dicadangkan untuk memenuhi Pesanan Penjualan {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Pesanan Penjualan {0} memiliki reservasi untuk item {1}, Anda hanya dapat mengirimkan reservasi {1} terhadap {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serial No {1} tidak dapat dikirim,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Baris {0}: Item Subkontrak wajib untuk bahan mentah {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Karena ada bahan baku yang cukup, Permintaan Material tidak diperlukan untuk Gudang {0}.",
+" If you still want to proceed, please enable {0}.","Jika Anda masih ingin melanjutkan, aktifkan {0}.",
+The item referenced by {0} - {1} is already invoiced,Item yang direferensikan oleh {0} - {1} sudah ditagih,
+Therapy Session overlaps with {0},Sesi Terapi tumpang tindih dengan {0},
+Therapy Sessions Overlapping,Sesi Terapi Tumpang Tindih,
+Therapy Plans,Rencana Terapi,
+"Item Code, warehouse, quantity are required on row {0}","Kode Barang, gudang, kuantitas diperlukan di baris {0}",
+Get Items from Material Requests against this Supplier,Dapatkan Item dari Permintaan Material terhadap Pemasok ini,
+Enable European Access,Aktifkan Akses Eropa,
+Creating Purchase Order ...,Membuat Pesanan Pembelian ...,
+"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.","Pilih Pemasok dari Pemasok Default item di bawah ini. Saat dipilih, Pesanan Pembelian akan dibuat terhadap barang-barang milik Pemasok terpilih saja.",
+Row #{}: You must select {} serial numbers for item {}.,Baris # {}: Anda harus memilih {} nomor seri untuk item {}.,
diff --git a/erpnext/translations/is.csv b/erpnext/translations/is.csv
index 361fa74..5f56aff 100644
--- a/erpnext/translations/is.csv
+++ b/erpnext/translations/is.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Get ekki draga þegar flokkur er fyrir &#39;Verðmat&#39; eða &#39;Vaulation og heildar&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Ekki hægt að eyða Serial Nei {0}, eins og það er notað í lager viðskiptum",
 Cannot enroll more than {0} students for this student group.,Ekki er hægt að innritast meira en {0} nemendum fyrir þessum nemendahópi.,
-Cannot find Item with this barcode,Get ekki fundið hlut með þessum strikamerki,
 Cannot find active Leave Period,Get ekki fundið virka skiladag,
 Cannot produce more Item {0} than Sales Order quantity {1},Geta ekki framleitt meira ítarefni {0} en Sales Order Magn {1},
 Cannot promote Employee with status Left,Get ekki kynnt starfsmanni með stöðu vinstri,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Búa til og stjórna daglega, vikulega og mánaðarlega email meltir.",
 Create customer quotes,Búa viðskiptavina tilvitnanir,
 Create rules to restrict transactions based on values.,Búa til reglur til að takmarka viðskipti sem byggjast á gildum.,
-Created By,Búið til af,
 Created {0} scorecards for {1} between: ,Búið til {0} stigakort fyrir {1} á milli:,
 Creating Company and Importing Chart of Accounts,Að stofna fyrirtæki og flytja inn reikningskort,
 Creating Fees,Búa til gjöld,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Fyrir röð {0}: Sláðu inn skipulagt magn,
 "For {0}, only credit accounts can be linked against another debit entry","Fyrir {0}, aðeins kredit reikninga er hægt að tengja við aðra gjaldfærslu",
 "For {0}, only debit accounts can be linked against another credit entry","Fyrir {0}, aðeins debetkort reikninga er hægt að tengja við aðra tekjufærslu",
-Form View,Eyðublað,
 Forum Activity,Forum Activity,
 Free item code is not selected,Ókeypis hlutakóði er ekki valinn,
 Freight and Forwarding Charges,Frakt og Áframsending Gjöld,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Senda massa SMS til þinn snerting,
 Sensitivity,Viðkvæmni,
 Sent,sendir,
-Serial #,Serial #,
 Serial No and Batch,Serial Nei og Batch,
 Serial No is mandatory for Item {0},Serial Nei er nauðsynlegur fyrir lið {0},
 Serial No {0} does not belong to Batch {1},Raðnúmer {0} tilheyrir ekki batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Hvað þarftu hjálp við?,
 What does it do?,Hvað gerir það?,
 Where manufacturing operations are carried.,Hvar framleiðslu aðgerðir eru gerðar.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Þegar stofnað var reikning fyrir barnafyrirtækið {0} fannst móðurreikningurinn {1} ekki. Vinsamlegast stofnaðu móðurreikninginn í samsvarandi COA,
 White,White,
 Wire Transfer,millifærsla,
 WooCommerce Products,WooCommerce vörur,
@@ -3493,6 +3488,7 @@
 Merge with existing,Sameinast núverandi,
 Office,Office,
 Orientation,stefnumörkun,
+Parent,Parent,
 Passive,Hlutlaus,
 Payment Failed,greiðsla mistókst,
 Percent,prósent,
@@ -3543,6 +3539,7 @@
 Show {0},Sýna {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Sérstafir nema &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Og &quot;}&quot; ekki leyfðar í nafngiftiröð",
 Target Details,Upplýsingar um markmið,
+{0} already has a Parent Procedure {1}.,{0} er þegar með foreldraferli {1}.,
 API,API,
 Annual,Árleg,
 Approved,samþykkt,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Lokadagur getur ekki verið minna en upphafsdagur,
 For Default Supplier (Optional),Fyrir Sjálfgefið Birgir (valfrjálst),
 From date cannot be greater than To date,Frá Dagsetning má ekki vera meiri en Til Dagsetning,
-Get items from,Fá atriði úr,
 Group by,Hópa eftir,
 In stock,Á lager,
 Item name,Item Name,
@@ -7558,10 +7554,6 @@
 Quality Goal,Gæðamarkmið,
 Monitoring Frequency,Vöktunartíðni,
 Weekday,Vikudagur,
-January-April-July-October,Janúar-apríl-júlí-október,
-Revision and Revised On,Endurskoðun og endurskoðuð,
-Revision,Endurskoðun,
-Revised On,Endurskoðað þann,
 Objectives,Markmið,
 Quality Goal Objective,Gæðamarkmið,
 Objective,Hlutlæg,
@@ -7574,7 +7566,6 @@
 Processes,Ferli,
 Quality Procedure Process,Gæðaferli,
 Process Description,Aðferðalýsing,
-Child Procedure,Málsmeðferð barna,
 Link existing Quality Procedure.,Tengdu núverandi gæðaferli.,
 Additional Information,Viðbótarupplýsingar,
 Quality Review Objective,Markmið gæðaúttektar,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Kvittun Trends,
 Purchase Register,kaup Register,
 Quotation Trends,Tilvitnun Trends,
-Quoted Item Comparison,Vitnað Item Samanburður,
 Received Items To Be Billed,Móttekin Items verður innheimt,
 Qty to Order,Magn til að panta,
 Requested Items To Be Transferred,Umbeðin Items til að flytja,
@@ -9091,7 +9081,6 @@
 Absent Days,Fjarverandi dagar,
 Conditions and Formula variable and example,Aðstæður og formúlubreytur og dæmi,
 Feedback By,Endurgjöf frá,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.ÁÁÁ .-. MM .-. DD.-,
 Manufacturing Section,Framleiðsluhluti,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Sjálfgefið er að viðskiptavinanafnið sé stillt samkvæmt fullu nafni sem slegið er inn. Ef þú vilt að viðskiptavinir séu nefndir af a,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Stilla sjálfgefna verðskrá þegar ný sölufærsla er búin til. Verð hlutar verður sótt í þessa verðskrá.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Frátekið jafnvægi,
 Uncleared Balance,Ótæmt jafnvægi,
 Payment related to {0} is not completed,Greiðslu sem tengist {0} er ekki lokið,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Röð nr. {}: Raðnúmer {}. {} hefur þegar verið flutt inn á annan POS reikning. Vinsamlegast veldu gild raðnúmer.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Röð nr. {}: Vörukóði: {} er ekki fáanlegur undir lager {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Röð nr. {}: Magn birgða dugar ekki fyrir vörukóða: {} undir lager {}. Laus magn {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Röð nr. {}: Veldu raðnúmer og lotu á móti hlut: {} eða fjarlægðu það til að ljúka viðskiptum.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Vinsamlegast virkjaðu Leyfa neikvæðan lager í lagerstillingum eða búðu til lagerfærslu til að halda áfram.,
 No Inpatient Record found against patient {0},Engin sjúkraskrá fannst gegn sjúklingi {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Lyfjapöntun á legudeild {0} gegn fundi sjúklinga {1} er þegar til.,
+Allow In Returns,Leyfa inn skil,
+Hide Unavailable Items,Fela hluti sem ekki eru tiltækir,
+Apply Discount on Discounted Rate,Sækja um afslátt á afsláttarverði,
+Therapy Plan Template,Sniðmát fyrir meðferðaráætlun,
+Fetching Template Details,Sækir upplýsingar um sniðmát,
+Linked Item Details,Upplýsingar um tengda hlut,
+Therapy Types,Meðferðartegundir,
+Therapy Plan Template Detail,Sniðmát fyrir meðferðaráætlun,
+Non Conformance,Ósamræmi,
+Process Owner,Ferli eigandi,
+Corrective Action,Úrbætur,
+Preventive Action,Fyrirbyggjandi aðgerð,
+Problem,Vandamál,
+Responsible,Ábyrg,
+Completion By,Lok frá,
+Process Owner Full Name,Fullt nafn eiganda ferils,
+Right Index,Hægri vísitala,
+Left Index,Vinstri vísitala,
+Sub Procedure,Undirferli,
+Passed,Samþykkt,
+Print Receipt,Prentakvittun,
+Edit Receipt,Breyta kvittun,
+Focus on search input,Einbeittu þér að leitarinntakinu,
+Focus on Item Group filter,Einbeittu þér að hlutahópasíu,
+Checkout Order / Submit Order / New Order,Afgreiðslupöntun / leggja fram pöntun / nýja pöntun,
+Add Order Discount,Bæta við pöntunarafslætti,
+Item Code: {0} is not available under warehouse {1}.,Vörukóði: {0} er ekki fáanlegur í vörugeymslu {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Raðnúmer eru ekki tiltæk fyrir vöru {0} undir vöruhúsi {1}. Vinsamlegast reyndu að skipta um lager.,
+Fetched only {0} available serial numbers.,Sótti aðeins {0} tiltækt raðnúmer.,
+Switch Between Payment Modes,Skiptu á milli greiðslumáta,
+Enter {0} amount.,Sláðu inn {0} upphæð.,
+You don't have enough points to redeem.,Þú hefur ekki nógu mörg stig til að innleysa.,
+You can redeem upto {0}.,Þú getur leyst allt að {0}.,
+Enter amount to be redeemed.,Sláðu inn upphæð sem á að innleysa.,
+You cannot redeem more than {0}.,Þú getur ekki innleyst meira en {0}.,
+Open Form View,Opnaðu skjámynd,
+POS invoice {0} created succesfully,POS reikningur {0} búinn til með góðum árangri,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Lagermagn dugar ekki fyrir vörukóða: {0} undir vöruhúsi {1}. Laus magn {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Raðnúmer: {0} hefur þegar verið flutt á annan POS reikning.,
+Balance Serial No,Jafnvægi raðnúmer,
+Warehouse: {0} does not belong to {1},Vöruhús: {0} tilheyrir ekki {1},
+Please select batches for batched item {0},Veldu lotur fyrir lotuhlut {0},
+Please select quantity on row {0},Veldu magn í línu {0},
+Please enter serial numbers for serialized item {0},Vinsamlegast sláðu inn raðnúmer fyrir raðnúmerið {0},
+Batch {0} already selected.,Hópur {0} þegar valinn.,
+Please select a warehouse to get available quantities,Vinsamlegast veldu vöruhús til að fá tiltækt magn,
+"For transfer from source, selected quantity cannot be greater than available quantity",Fyrir flutning frá uppruna getur valið magn ekki verið meira en tiltækt magn,
+Cannot find Item with this Barcode,Finnur ekki hlut með þessum strikamerki,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} er skylda. Kannski er gjaldeyrisskrá ekki búin til fyrir {1} til {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} hefur sent inn eignir sem tengjast henni. Þú þarft að hætta við eignirnar til að búa til kauprétt.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Ekki er hægt að hætta við þetta skjal þar sem það er tengt við innsendar eignir {0}. Vinsamlegast hætta við það til að halda áfram.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Röð nr. {}: Raðnúmer. {} Hefur þegar verið flutt á annan POS reikning. Vinsamlegast veldu gild raðnúmer.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Röð nr. {}: Raðnúmer. {} Hefur þegar verið flutt á annan POS reikning. Vinsamlegast veldu gild raðnúmer.,
+Item Unavailable,Atriði ekki tiltækt,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Röð nr. {}: Ekki er hægt að skila raðnúmeri {} þar sem það var ekki flutt á upphaflegum reikningi {},
+Please set default Cash or Bank account in Mode of Payment {},Vinsamlegast stilltu sjálfgefið reiðufé eða bankareikning í greiðslumáta {},
+Please set default Cash or Bank account in Mode of Payments {},Vinsamlegast stilltu sjálfgefið reiðufé eða bankareikning í greiðslumáta {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Gakktu úr skugga um að {} reikningurinn sé reikningur í efnahagsreikningi. Þú getur breytt móðurreikningi í efnahagsreikning eða valið annan reikning.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Gakktu úr skugga um að {} reikningurinn sé greiðslureikningur. Breyttu reikningsgerðinni í Greiðanleg eða veldu annan reikning.,
+Row {}: Expense Head changed to {} ,Röð {}: Kostnaðarhaus breytt í {},
+because account {} is not linked to warehouse {} ,vegna þess að reikningur {} er ekki tengdur við lager {},
+or it is not the default inventory account,eða það er ekki sjálfgefinn birgðareikningur,
+Expense Head Changed,Kostnaðarhaus breytt,
+because expense is booked against this account in Purchase Receipt {},vegna þess að kostnaður er bókfærður á þennan reikning í kvittun innkaupa {},
+as no Purchase Receipt is created against Item {}. ,þar sem engin innheimtukvittun er búin til gegn hlutnum {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Þetta er gert til að meðhöndla bókhald vegna tilvika þegar innkaupakvittun er búin til eftir innkaupareikning,
+Purchase Order Required for item {},Innkaupapöntun krafist fyrir hlutinn {},
+To submit the invoice without purchase order please set {} ,Til að leggja fram reikninginn án innkaupapöntunar skaltu stilla {},
+as {} in {},eins og í {},
+Mandatory Purchase Order,Lögboðin innkaupapöntun,
+Purchase Receipt Required for item {},Innkaupakvittunar krafist fyrir hlutinn {},
+To submit the invoice without purchase receipt please set {} ,Til að senda reikninginn án kvittunar skaltu stilla {},
+Mandatory Purchase Receipt,Skyldukaupakvittun,
+POS Profile {} does not belongs to company {},POS prófíll {} tilheyrir ekki fyrirtæki {},
+User {} is disabled. Please select valid user/cashier,Notandi {} er óvirkur. Vinsamlegast veldu gildan notanda / gjaldkera,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Röð nr.}}: Upprunalegur reikningur {} skilareiknings {} er {}.,
+Original invoice should be consolidated before or along with the return invoice.,Upprunalegur reikningur ætti að sameina fyrir eða ásamt skilareikningi.,
+You can add original invoice {} manually to proceed.,Þú getur bætt við upphaflegum reikningi {} handvirkt til að halda áfram.,
+Please ensure {} account is a Balance Sheet account. ,Gakktu úr skugga um að {} reikningurinn sé reikningur í efnahagsreikningi.,
+You can change the parent account to a Balance Sheet account or select a different account.,Þú getur breytt móðurreikningi í efnahagsreikning eða valið annan reikning.,
+Please ensure {} account is a Receivable account. ,Gakktu úr skugga um að {} reikningurinn sé viðtakanlegur reikningur.,
+Change the account type to Receivable or select a different account.,Breyttu reikningsgerðinni í Kröfur eða veldu annan reikning.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},Ekki er hægt að hætta við {} þar sem unnin vildarpunktar hafa verið innleystir. Hætta fyrst við {} Nei {},
+already exists,er þegar til,
+POS Closing Entry {} against {} between selected period,POS lokunarfærsla {} gegn {} milli valins tímabils,
+POS Invoice is {},POS reikningur er {},
+POS Profile doesn't matches {},POS prófíll passar ekki við {},
+POS Invoice is not {},POS-reikningur er ekki {},
+POS Invoice isn't created by user {},POS reikningur er ekki búinn til af notanda {},
+Row #{}: {},Röð nr. {}: {},
+Invalid POS Invoices,Ógildir POS-reikningar,
+Please add the account to root level Company - {},Vinsamlegast bættu reikningnum við rótarstig fyrirtækisins - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Við stofnun reiknings fyrir Child Company {0} fannst móðurreikningur {1} ekki. Vinsamlegast stofnaðu móðurreikninginn í samsvarandi COA,
+Account Not Found,Reikningur fannst ekki,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Við stofnun reiknings fyrir Child Company {0} fannst móðurreikningur {1} sem aðalbókareikningur.,
+Please convert the parent account in corresponding child company to a group account.,Vinsamlegast breyttu móðurreikningi í samsvarandi barnafyrirtæki í hópreikning.,
+Invalid Parent Account,Ógildur móðurreikningur,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Að endurnefna það er aðeins leyfilegt í gegnum móðurfélagið {0}, til að koma í veg fyrir misræmi.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",Ef þú {0} {1} magn hlutarins {2} verður kerfinu {3} beitt á hlutinn.,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",Ef þú {0} {1} virðir hlut {2} verður kerfinu {3} beitt á hlutinn.,
+"As the field {0} is enabled, the field {1} is mandatory.",Þar sem reiturinn {0} er virkur er reiturinn {1} skyldugur.,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Þar sem reiturinn {0} er virkur, ætti gildi reitsins {1} að vera meira en 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Get ekki afhent raðnúmer {0} hlutar {1} þar sem það er áskilið til fullrar sölupöntunar {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Sölupöntun {0} hefur fyrirvara fyrir hlutinn {1}, þú getur aðeins afhent frátekinn {1} á móti {0}.",
+{0} Serial No {1} cannot be delivered,Ekki er hægt að afhenda {0} raðnúmer {1},
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Röð {0}: Liður í undirverktöku er skyldur fyrir hráefnið {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",Þar sem nægilegt hráefni er til þarf ekki Efnisbeiðni fyrir Vöruhús {0}.,
+" If you still want to proceed, please enable {0}.",Ef þú vilt samt halda áfram skaltu virkja {0}.,
+The item referenced by {0} - {1} is already invoiced,Atriðið sem {0} - {1} vísar til er þegar reiknað,
+Therapy Session overlaps with {0},Meðferðarlotan skarast við {0},
+Therapy Sessions Overlapping,Meðferðarlotur skarast,
+Therapy Plans,Meðferðaráætlanir,
+"Item Code, warehouse, quantity are required on row {0}","Vörukóði, vöruhús, magn er krafist í línu {0}",
+Get Items from Material Requests against this Supplier,Fáðu hluti frá beiðnum um efni gagnvart þessum birgi,
+Enable European Access,Virkja evrópskan aðgang,
+Creating Purchase Order ...,Býr til innkaupapöntun ...,
+"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.",Veldu birgja frá sjálfgefnum birgjum hlutanna hér að neðan. Við val verður eingöngu gerð innkaupapöntun á hlutum sem tilheyra völdum birgi.,
+Row #{}: You must select {} serial numbers for item {}.,Röð nr. {}: Þú verður að velja {} raðnúmer fyrir hlut {}.,
diff --git a/erpnext/translations/it.csv b/erpnext/translations/it.csv
index 9e21f2b..3a1d73f 100644
--- a/erpnext/translations/it.csv
+++ b/erpnext/translations/it.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Non può dedurre quando categoria è per &#39;valutazione&#39; o &#39;Vaulation e Total&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Impossibile eliminare N. di serie {0}, come si usa in transazioni di borsa",
 Cannot enroll more than {0} students for this student group.,Non possono iscriversi più di {0} studenti per questo gruppo.,
-Cannot find Item with this barcode,Impossibile trovare l&#39;oggetto con questo codice a barre,
 Cannot find active Leave Period,Impossibile trovare il Periodo di congedo attivo,
 Cannot produce more Item {0} than Sales Order quantity {1},Non può produrre più Voce {0} di Sales Order quantità {1},
 Cannot promote Employee with status Left,Impossibile promuovere il Dipendente con stato Sinistro,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Creare e gestire giornalieri , settimanali e mensili digerisce email .",
 Create customer quotes,Creare le citazioni dei clienti,
 Create rules to restrict transactions based on values.,Creare regole per limitare le transazioni in base ai valori .,
-Created By,Creato da,
 Created {0} scorecards for {1} between: ,Creato {0} scorecard per {1} tra:,
 Creating Company and Importing Chart of Accounts,Creazione di società e importazione del piano dei conti,
 Creating Fees,Creazione di tariffe,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Per la riga {0}: inserisci qtà pianificata,
 "For {0}, only credit accounts can be linked against another debit entry","Per {0}, solo i conti di credito possono essere collegati contro un'altra voce di addebito",
 "For {0}, only debit accounts can be linked against another credit entry","Per {0}, solo gli account di debito possono essere collegati contro un'altra voce di credito",
-Form View,Vista forma,
 Forum Activity,Attività del forum,
 Free item code is not selected,Il codice articolo gratuito non è selezionato,
 Freight and Forwarding Charges,Freight Forwarding e spese,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Invia SMS di massa ai tuoi contatti,
 Sensitivity,sensibilità,
 Sent,Inviati,
-Serial #,Serial #,
 Serial No and Batch,N. di serie e batch,
 Serial No is mandatory for Item {0},Numero d'ordine è obbligatorio per la voce {0},
 Serial No {0} does not belong to Batch {1},Il numero di serie {0} non appartiene a Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Con cosa hai bisogno di aiuto?,
 What does it do?,Che cosa fa ?,
 Where manufacturing operations are carried.,Dove si svolgono le operazioni di fabbricazione.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Durante la creazione dell&#39;account per la società figlio {0}, l&#39;account padre {1} non è stato trovato. Crea l&#39;account principale nel COA corrispondente",
 White,Bianco,
 Wire Transfer,Bonifico bancario,
 WooCommerce Products,Prodotti WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Unisci con esistente,
 Office,Ufficio,
 Orientation,Orientamento,
+Parent,Genitore,
 Passive,Passivo,
 Payment Failed,Pagamento fallito,
 Percent,Percentuale,
@@ -3543,6 +3539,7 @@
 Show {0},Mostra {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Caratteri speciali tranne &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; E &quot;}&quot; non consentiti nelle serie di nomi",
 Target Details,Dettagli target,
+{0} already has a Parent Procedure {1}.,{0} ha già una procedura padre {1}.,
 API,API,
 Annual,Annuale,
 Approved,Approvato,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Data di Fine non può essere inferiore a Data di inizio,
 For Default Supplier (Optional),Per fornitore predefinito (facoltativo),
 From date cannot be greater than To date,Dalla data non può essere maggiore di Alla data,
-Get items from,Ottenere elementi dal,
 Group by,Raggruppa per,
 In stock,disponibile,
 Item name,Nome Articolo,
@@ -7558,10 +7554,6 @@
 Quality Goal,Obiettivo di qualità,
 Monitoring Frequency,Frequenza di monitoraggio,
 Weekday,giorno feriale,
-January-April-July-October,Gennaio-Aprile-Luglio-Ottobre,
-Revision and Revised On,Revisione e revisione,
-Revision,Revisione,
-Revised On,Revisionato il,
 Objectives,obiettivi,
 Quality Goal Objective,Obiettivo obiettivo di qualità,
 Objective,Obbiettivo,
@@ -7574,7 +7566,6 @@
 Processes,Processi,
 Quality Procedure Process,Processo di procedura di qualità,
 Process Description,Descrizione del processo,
-Child Procedure,Procedura per bambini,
 Link existing Quality Procedure.,Collegare la procedura di qualità esistente.,
 Additional Information,Informazioni aggiuntive,
 Quality Review Objective,Obiettivo della revisione della qualità,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Acquisto Tendenze Receipt,
 Purchase Register,Registro Acquisti,
 Quotation Trends,Tendenze di preventivo,
-Quoted Item Comparison,Articolo Citato Confronto,
 Received Items To Be Billed,Oggetti ricevuti da fatturare,
 Qty to Order,Qtà da Ordinare,
 Requested Items To Be Transferred,Voci si chiede il trasferimento,
@@ -9091,7 +9081,6 @@
 Absent Days,Giorni assenti,
 Conditions and Formula variable and example,Condizioni e variabile di formula ed esempio,
 Feedback By,Feedback di,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Sezione Produzione,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Per impostazione predefinita, il nome del cliente è impostato in base al nome completo inserito. Se desideri che i clienti siano nominati da un",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configurare il listino prezzi predefinito quando si crea una nuova transazione di vendita. I prezzi degli articoli verranno recuperati da questo listino prezzi.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Saldo riservato,
 Uncleared Balance,Equilibrio non chiarito,
 Payment related to {0} is not completed,Il pagamento relativo a {0} non è stato completato,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riga n. {}: Numero di serie {}. {} è già stato trasferito in un&#39;altra fattura POS. Selezionare un numero di serie valido,
 Row #{}: Item Code: {} is not available under warehouse {}.,Riga n. {}: Codice articolo: {} non è disponibile in magazzino {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Riga n. {}: Quantità di stock non sufficiente per il codice articolo: {} in magazzino {}. Quantità disponibile {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Riga # {}: selezionare un numero di serie e un batch rispetto all&#39;articolo: {} o rimuoverlo per completare la transazione.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Abilita Consenti stock negativo in Impostazioni scorte o crea immissione scorte per procedere.,
 No Inpatient Record found against patient {0},Nessun record di degenza trovato per il paziente {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Esiste già un ordine per farmaci ospedalieri {0} contro l&#39;incontro con il paziente {1}.,
+Allow In Returns,Consenti resi,
+Hide Unavailable Items,Nascondi elementi non disponibili,
+Apply Discount on Discounted Rate,Applica lo sconto sulla tariffa scontata,
+Therapy Plan Template,Modello di piano terapeutico,
+Fetching Template Details,Recupero dei dettagli del modello,
+Linked Item Details,Dettagli articolo collegato,
+Therapy Types,Tipi di terapia,
+Therapy Plan Template Detail,Dettaglio del modello del piano terapeutico,
+Non Conformance,Non conformità,
+Process Owner,Proprietario del processo,
+Corrective Action,Azione correttiva,
+Preventive Action,Azione preventiva,
+Problem,Problema,
+Responsible,Responsabile,
+Completion By,Completamento da,
+Process Owner Full Name,Nome completo del proprietario del processo,
+Right Index,Indice destro,
+Left Index,Indice sinistro,
+Sub Procedure,Procedura secondaria,
+Passed,Passato,
+Print Receipt,Stampa ricevuta,
+Edit Receipt,Modifica ricevuta,
+Focus on search input,Concentrati sull&#39;input di ricerca,
+Focus on Item Group filter,Focus sul filtro Gruppo di articoli,
+Checkout Order / Submit Order / New Order,Ordine di pagamento / Invia ordine / Nuovo ordine,
+Add Order Discount,Aggiungi sconto ordine,
+Item Code: {0} is not available under warehouse {1}.,Codice articolo: {0} non è disponibile in magazzino {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numeri di serie non disponibili per l&#39;articolo {0} in magazzino {1}. Prova a cambiare magazzino.,
+Fetched only {0} available serial numbers.,Sono stati recuperati solo {0} numeri di serie disponibili.,
+Switch Between Payment Modes,Passa da una modalità di pagamento all&#39;altra,
+Enter {0} amount.,Inserisci {0} importo.,
+You don't have enough points to redeem.,Non hai abbastanza punti da riscattare.,
+You can redeem upto {0}.,Puoi riscattare fino a {0}.,
+Enter amount to be redeemed.,Inserisci l&#39;importo da riscattare.,
+You cannot redeem more than {0}.,Non puoi riscattare più di {0}.,
+Open Form View,Apri la visualizzazione modulo,
+POS invoice {0} created succesfully,Fattura POS {0} creata con successo,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Quantità in stock non sufficiente per Codice articolo: {0} in magazzino {1}. Quantità disponibile {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Numero di serie: {0} è già stato trasferito in un&#39;altra fattura POS.,
+Balance Serial No,Numero di serie della bilancia,
+Warehouse: {0} does not belong to {1},Magazzino: {0} non appartiene a {1},
+Please select batches for batched item {0},Seleziona batch per articolo in batch {0},
+Please select quantity on row {0},Seleziona la quantità nella riga {0},
+Please enter serial numbers for serialized item {0},Inserisci i numeri di serie per l&#39;articolo con numero di serie {0},
+Batch {0} already selected.,Batch {0} già selezionato.,
+Please select a warehouse to get available quantities,Seleziona un magazzino per ottenere le quantità disponibili,
+"For transfer from source, selected quantity cannot be greater than available quantity","Per il trasferimento dall&#39;origine, la quantità selezionata non può essere maggiore della quantità disponibile",
+Cannot find Item with this Barcode,Impossibile trovare l&#39;articolo con questo codice a barre,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} è obbligatorio. Forse il record di cambio valuta non è stato creato da {1} a {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ha inviato risorse ad esso collegate. È necessario annullare le risorse per creare un reso di acquisto.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Impossibile annullare questo documento poiché è collegato alla risorsa inviata {0}. Annullalo per continuare.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riga # {}: il numero di serie {} è già stato trasferito in un&#39;altra fattura POS. Selezionare un numero di serie valido,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riga n. {}: I numeri di serie {} sono già stati trasferiti in un&#39;altra fattura POS. Selezionare un numero di serie valido,
+Item Unavailable,Articolo non disponibile,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Riga n. {}: Il numero di serie {} non può essere restituito poiché non è stato oggetto di transazione nella fattura originale {},
+Please set default Cash or Bank account in Mode of Payment {},Imposta il conto corrente o il conto bancario predefinito in Modalità di pagamento {},
+Please set default Cash or Bank account in Mode of Payments {},Imposta il conto corrente o il conto bancario predefinito in Modalità di pagamento {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Assicurati che il conto {} sia un conto di bilancio. È possibile modificare il conto principale in un conto di bilancio o selezionare un conto diverso.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Assicurati che il conto {} sia un conto pagabile. Cambia il tipo di conto in Pagabile o seleziona un conto diverso.,
+Row {}: Expense Head changed to {} ,Riga {}: Intestazione spese modificata in {},
+because account {} is not linked to warehouse {} ,perché l&#39;account {} non è collegato al magazzino {},
+or it is not the default inventory account,oppure non è l&#39;account inventario predefinito,
+Expense Head Changed,Testa di spesa modificata,
+because expense is booked against this account in Purchase Receipt {},perché la spesa è registrata a fronte di questo account nella ricevuta di acquisto {},
+as no Purchase Receipt is created against Item {}. ,poiché non viene creata alcuna ricevuta di acquisto per l&#39;articolo {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Questa operazione viene eseguita per gestire la contabilità dei casi quando la ricevuta di acquisto viene creata dopo la fattura di acquisto,
+Purchase Order Required for item {},Ordine di acquisto richiesto per l&#39;articolo {},
+To submit the invoice without purchase order please set {} ,"Per inviare la fattura senza ordine di acquisto, impostare {}",
+as {} in {},come in {},
+Mandatory Purchase Order,Ordine di acquisto obbligatorio,
+Purchase Receipt Required for item {},Ricevuta di acquisto richiesta per articolo {},
+To submit the invoice without purchase receipt please set {} ,"Per inviare la fattura senza ricevuta di acquisto, impostare {}",
+Mandatory Purchase Receipt,Ricevuta d&#39;acquisto obbligatoria,
+POS Profile {} does not belongs to company {},Il profilo POS {} non appartiene all&#39;azienda {},
+User {} is disabled. Please select valid user/cashier,L&#39;utente {} è disabilitato. Seleziona un utente / cassiere valido,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Riga n. {}: La fattura originale {} della fattura di reso {} è {}.,
+Original invoice should be consolidated before or along with the return invoice.,La fattura originale deve essere consolidata prima o insieme alla fattura di reso.,
+You can add original invoice {} manually to proceed.,Puoi aggiungere manualmente la fattura originale {} per procedere.,
+Please ensure {} account is a Balance Sheet account. ,Assicurati che il conto {} sia un conto di bilancio.,
+You can change the parent account to a Balance Sheet account or select a different account.,È possibile modificare il conto principale in un conto di bilancio o selezionare un conto diverso.,
+Please ensure {} account is a Receivable account. ,Assicurati che il conto {} sia un conto clienti.,
+Change the account type to Receivable or select a different account.,Modificare il tipo di conto in Crediti o selezionare un conto diverso.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} non può essere annullato poiché i punti fedeltà guadagnati sono stati riscattati. Per prima cosa annulla il {} No {},
+already exists,esiste già,
+POS Closing Entry {} against {} between selected period,Voce di chiusura POS {} contro {} tra il periodo selezionato,
+POS Invoice is {},La fattura POS è {},
+POS Profile doesn't matches {},Il profilo POS non corrisponde a {},
+POS Invoice is not {},La fattura POS non è {},
+POS Invoice isn't created by user {},La fattura POS non è stata creata dall&#39;utente {},
+Row #{}: {},Riga n. {}: {},
+Invalid POS Invoices,Fatture POS non valide,
+Please add the account to root level Company - {},Aggiungi l&#39;account all&#39;Azienda di livello root - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Durante la creazione dell&#39;account per l&#39;azienda figlia {0}, account genitore {1} non trovato. Si prega di creare l&#39;account genitore nel corrispondente COA",
+Account Not Found,Account non trovato,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Durante la creazione dell&#39;account per la società figlia {0}, l&#39;account principale {1} è stato trovato come conto contabile.",
+Please convert the parent account in corresponding child company to a group account.,Converti l&#39;account genitore nella corrispondente azienda figlia in un account di gruppo.,
+Invalid Parent Account,Account genitore non valido,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Rinominarlo è consentito solo tramite la società madre {0}, per evitare mancate corrispondenze.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Se si {0} {1} la quantità dell&#39;articolo {2}, lo schema {3} verrà applicato all&#39;articolo.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Se {0} {1} vali un articolo {2}, lo schema {3} verrà applicato all&#39;elemento.",
+"As the field {0} is enabled, the field {1} is mandatory.","Poiché il campo {0} è abilitato, il campo {1} è obbligatorio.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Poiché il campo {0} è abilitato, il valore del campo {1} dovrebbe essere maggiore di 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Impossibile consegnare il numero di serie {0} dell&#39;articolo {1} poiché è riservato per completare l&#39;ordine di vendita {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","L&#39;ordine di vendita {0} ha una prenotazione per l&#39;articolo {1}, puoi solo consegnare prenotato {1} contro {0}.",
+{0} Serial No {1} cannot be delivered,{0} Numero di serie {1} non può essere consegnato,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Riga {0}: l&#39;articolo in conto lavoro è obbligatorio per la materia prima {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Poiché sono disponibili materie prime sufficienti, la richiesta di materiale non è richiesta per il magazzino {0}.",
+" If you still want to proceed, please enable {0}.","Se desideri comunque procedere, abilita {0}.",
+The item referenced by {0} - {1} is already invoiced,L&#39;articolo a cui fa riferimento {0} - {1} è già fatturato,
+Therapy Session overlaps with {0},La sessione di terapia si sovrappone a {0},
+Therapy Sessions Overlapping,Sessioni di terapia sovrapposte,
+Therapy Plans,Piani terapeutici,
+"Item Code, warehouse, quantity are required on row {0}","Codice articolo, magazzino e quantità sono obbligatori nella riga {0}",
+Get Items from Material Requests against this Supplier,Ottieni articoli da richieste di materiale contro questo fornitore,
+Enable European Access,Consentire l&#39;accesso europeo,
+Creating Purchase Order ...,Creazione dell&#39;ordine di acquisto ...,
+"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.","Seleziona un fornitore dai fornitori predefiniti degli articoli seguenti. Alla selezione, verrà effettuato un Ordine di acquisto solo per gli articoli appartenenti al Fornitore selezionato.",
+Row #{}: You must select {} serial numbers for item {}.,Riga # {}: è necessario selezionare i {} numeri di serie per l&#39;articolo {}.,
diff --git a/erpnext/translations/ja.csv b/erpnext/translations/ja.csv
index 647fb15..6e2eaae 100644
--- a/erpnext/translations/ja.csv
+++ b/erpnext/translations/ja.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',カテゴリが「評価」または「Vaulationと合計」のためのものであるときに控除することはできません。,
 "Cannot delete Serial No {0}, as it is used in stock transactions",在庫取引で使用されているため、シリアル番号{0}を削除することはできません,
 Cannot enroll more than {0} students for this student group.,この生徒グループには {0} 以上の生徒を登録することはできません,
-Cannot find Item with this barcode,このバーコードの商品が見つかりません,
 Cannot find active Leave Period,有効期間を見つけることができません,
 Cannot produce more Item {0} than Sales Order quantity {1},受注数{1}より多くのアイテム{0}を製造することはできません,
 Cannot promote Employee with status Left,ステータスが「左」の従業員を昇格できません,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",日次・週次・月次のメールダイジェストを作成・管理,
 Create customer quotes,顧客の引用符を作成します。,
 Create rules to restrict transactions based on values.,値に基づいて取引を制限するルールを作成,
-Created By,によって作成された,
 Created {0} scorecards for {1} between: ,{1}の間に{0}スコアカードが作成されました：,
 Creating Company and Importing Chart of Accounts,会社の作成と勘定コード表のインポート,
 Creating Fees,手数料の作成,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,行{0}の場合：計画数量を入力してください,
 "For {0}, only credit accounts can be linked against another debit entry",{0}には、別の借方エントリに対する貸方勘定のみリンクすることができます,
 "For {0}, only debit accounts can be linked against another credit entry",{0}には、別の貸方エントリに対する借方勘定のみリンクすることができます,
-Form View,フォームビュー,
 Forum Activity,フォーラム活動,
 Free item code is not selected,無料商品コードが選択されていません,
 Freight and Forwarding Charges,運送・転送料金,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,連絡先にまとめてSMSを送信,
 Sensitivity,感度,
 Sent,送信済,
-Serial #,シリアル番号,
 Serial No and Batch,シリアル番号とバッチ,
 Serial No is mandatory for Item {0},アイテム{0}にはシリアル番号が必須です,
 Serial No {0} does not belong to Batch {1},シリアル番号{0}はバッチ{1}に属していません,
@@ -3303,7 +3299,6 @@
 What do you need help with?,お手伝いしましょうか？,
 What does it do?,これは何？,
 Where manufacturing operations are carried.,製造作業が行なわれる場所,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",子会社{0}のアカウントを作成中に、親アカウント{1}が見つかりませんでした。対応するCOAで親口座を作成してください,
 White,ホワイト,
 Wire Transfer,電信振込,
 WooCommerce Products,WooCommerce製品,
@@ -3493,6 +3488,7 @@
 Merge with existing,既存のものとマージ,
 Office,事務所,
 Orientation,オリエンテーション,
+Parent,親,
 Passive,消極的,
 Payment Failed,支払いできませんでした,
 Percent,割合（%）,
@@ -3543,6 +3539,7 @@
 Show {0},{0}を表示,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series",&quot; - &quot;、 &quot;＃&quot;、 &quot;。&quot;、 &quot;/&quot;、 &quot;{&quot;、および &quot;}&quot;以外の特殊文字は、一連の名前付けでは使用できません,
 Target Details,ターゲット詳細,
+{0} already has a Parent Procedure {1}.,{0}にはすでに親プロシージャー{1}があります。,
 API,API,
 Annual,年次,
 Approved,承認済,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,終了日は開始日より短くすることはできません,
 For Default Supplier (Optional),デフォルトサプライヤ（オプション）,
 From date cannot be greater than To date,開始日を終了日より大きくすることはできません,
-Get items from,アイテム取得元,
 Group by,グループ化,
 In stock,在庫あり,
 Item name,アイテム名,
@@ -7558,10 +7554,6 @@
 Quality Goal,品質目標,
 Monitoring Frequency,モニタリング頻度,
 Weekday,平日,
-January-April-July-October,1月 -  4月 -  7月 -  10月,
-Revision and Revised On,改訂および改訂日,
-Revision,リビジョン,
-Revised On,改訂日,
 Objectives,目的,
 Quality Goal Objective,品質目標,
 Objective,目的,
@@ -7574,7 +7566,6 @@
 Processes,プロセス,
 Quality Procedure Process,品質管理プロセス,
 Process Description,過程説明,
-Child Procedure,子供の手順,
 Link existing Quality Procedure.,既存の品質管理手順をリンクする。,
 Additional Information,追加情報,
 Quality Review Objective,品質レビューの目的,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,領収書傾向,
 Purchase Register,仕入帳,
 Quotation Trends,見積傾向,
-Quoted Item Comparison,引用符で囲まれた項目の比較,
 Received Items To Be Billed,支払予定受領アイテム,
 Qty to Order,注文数,
 Requested Items To Be Transferred,移転予定の要求アイテム,
@@ -9091,7 +9081,6 @@
 Absent Days,不在日,
 Conditions and Formula variable and example,条件と式の変数と例,
 Feedback By,フィードバック,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-。MM .-。DD.-,
 Manufacturing Section,製造部門,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",デフォルトでは、顧客名は入力されたフルネームに従って設定されます。顧客に名前を付けたい場合,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,新しい販売トランザクションを作成するときに、デフォルトの価格表を構成します。アイテムの価格は、この価格表から取得されます。,
@@ -9692,7 +9681,6 @@
 Reserved Balance,予約残高,
 Uncleared Balance,未決済残高,
 Payment related to {0} is not completed,{0}に関連する支払いが完了していません,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,行＃{}：シリアル番号{}。 {}はすでに別のPOS請求書に取引されています。有効なシリアル番号を選択してください。,
 Row #{}: Item Code: {} is not available under warehouse {}.,行＃{}：アイテムコード：{}はウェアハウス{}では使用できません。,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,行＃{}：在庫数がアイテムコードに十分ではありません：{}倉庫{}の下。利用可能な数量{}。,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,行＃{}：シリアル番号とアイテムに対するバッチを選択してください：{}またはそれを削除してトランザクションを完了してください。,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,続行するには、[在庫設定で負の在庫を許可する]を有効にするか、在庫入力を作成してください。,
 No Inpatient Record found against patient {0},患者{0}に対する入院記録が見つかりません,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,患者との遭遇{1}に対する入院薬の注文{0}はすでに存在します。,
+Allow In Returns,返品を許可する,
+Hide Unavailable Items,利用できないアイテムを隠す,
+Apply Discount on Discounted Rate,割引率に割引を適用する,
+Therapy Plan Template,治療計画テンプレート,
+Fetching Template Details,テンプレートの詳細を取得する,
+Linked Item Details,リンクされたアイテムの詳細,
+Therapy Types,治療の種類,
+Therapy Plan Template Detail,治療計画テンプレートの詳細,
+Non Conformance,不適合,
+Process Owner,プロセスオーナー,
+Corrective Action,是正処置,
+Preventive Action,予防処置,
+Problem,問題,
+Responsible,責任者,
+Completion By,完了者,
+Process Owner Full Name,プロセス所有者のフルネーム,
+Right Index,右手の人差し指,
+Left Index,左インデックス,
+Sub Procedure,サブプロシージャ,
+Passed,合格しました,
+Print Receipt,領収書を印刷する,
+Edit Receipt,領収書の編集,
+Focus on search input,検索入力に焦点を当てる,
+Focus on Item Group filter,アイテムグループフィルターに焦点を当てる,
+Checkout Order / Submit Order / New Order,チェックアウト注文/送信注文/新規注文,
+Add Order Discount,注文割引を追加,
+Item Code: {0} is not available under warehouse {1}.,商品コード：{0}は倉庫{1}ではご利用いただけません。,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,倉庫{1}の下のアイテム{0}のシリアル番号は使用できません。倉庫を変えてみてください。,
+Fetched only {0} available serial numbers.,{0}の使用可能なシリアル番号のみを取得しました。,
+Switch Between Payment Modes,支払いモードの切り替え,
+Enter {0} amount.,{0}金額を入力します。,
+You don't have enough points to redeem.,引き換えるのに十分なポイントがありません。,
+You can redeem upto {0}.,{0}までご利用いただけます。,
+Enter amount to be redeemed.,引き換える金額を入力します。,
+You cannot redeem more than {0}.,{0}を超えて利用することはできません。,
+Open Form View,フォームビューを開く,
+POS invoice {0} created succesfully,POS請求書{0}が正常に作成されました,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,在庫数がアイテムコードに十分ではありません：倉庫{1}の下の{0}。利用可能な数量{2}。,
+Serial No: {0} has already been transacted into another POS Invoice.,シリアル番号：{0}はすでに別のPOS請求書に処理されています。,
+Balance Serial No,バランスシリアル番号,
+Warehouse: {0} does not belong to {1},倉庫：{0}は{1}に属していません,
+Please select batches for batched item {0},バッチアイテム{0}のバッチを選択してください,
+Please select quantity on row {0},行{0}で数量を選択してください,
+Please enter serial numbers for serialized item {0},シリアル化されたアイテム{0}のシリアル番号を入力してください,
+Batch {0} already selected.,バッチ{0}はすでに選択されています。,
+Please select a warehouse to get available quantities,利用可能な数量を取得するには、倉庫を選択してください,
+"For transfer from source, selected quantity cannot be greater than available quantity",ソースからの転送の場合、選択した数量は利用可能な数量を超えることはできません,
+Cannot find Item with this Barcode,このバーコードのアイテムが見つかりません,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0}は必須です。 {1}から{2}の外貨両替レコードが作成されていない可能性があります,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{}はそれにリンクされたアセットを送信しました。購入返品を作成するには、アセットをキャンセルする必要があります。,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,送信されたアセット{0}にリンクされているため、このドキュメントをキャンセルできません。続行するにはキャンセルしてください。,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,行＃{}：シリアル番号{}はすでに別のPOS請求書に処理されています。有効なシリアル番号を選択してください。,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,行＃{}：シリアル番号{}はすでに別のPOS請求書に処理されています。有効なシリアル番号を選択してください。,
+Item Unavailable,アイテムは利用できません,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},行＃{}：シリアル番号{}は、元の請求書{}で取引されていないため、返品できません。,
+Please set default Cash or Bank account in Mode of Payment {},お支払い方法でデフォルトの現金または銀行口座を設定してください{},
+Please set default Cash or Bank account in Mode of Payments {},お支払い方法でデフォルトの現金または銀行口座を設定してください{},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,{}アカウントが貸借対照表アカウントであることを確認してください。親アカウントを貸借対照表アカウントに変更するか、別のアカウントを選択できます。,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,{}アカウントが買掛金アカウントであることを確認してください。アカウントタイプをPayableに変更するか、別のアカウントを選択します。,
+Row {}: Expense Head changed to {} ,行{}：経費の頭が{}に変更されました,
+because account {} is not linked to warehouse {} ,アカウント{}は倉庫{}にリンクされていないため,
+or it is not the default inventory account,または、デフォルトの在庫アカウントではありません,
+Expense Head Changed,経費ヘッドが変更されました,
+because expense is booked against this account in Purchase Receipt {},費用は購入領収書{}でこのアカウントに対して予約されているためです。,
+as no Purchase Receipt is created against Item {}. ,アイテム{}に対して購入領収書が作成されないため。,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,これは、購入請求書の後に購入領収書が作成された場合の会計処理を処理するために行われます。,
+Purchase Order Required for item {},アイテムに必要な注文書{},
+To submit the invoice without purchase order please set {} ,注文書なしで請求書を送信するには、{}を設定してください,
+as {} in {},{}の{}として,
+Mandatory Purchase Order,必須の発注書,
+Purchase Receipt Required for item {},アイテム{}に必要な購入領収書,
+To submit the invoice without purchase receipt please set {} ,領収書なしで請求書を提出するには、{}を設定してください,
+Mandatory Purchase Receipt,必須の購入領収書,
+POS Profile {} does not belongs to company {},POSプロファイル{}は会社{}に属していません,
+User {} is disabled. Please select valid user/cashier,ユーザー{}は無効になっています。有効なユーザー/キャッシャーを選択してください,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,行＃{}：返品請求書{}の元の請求書{}は{}です。,
+Original invoice should be consolidated before or along with the return invoice.,元の請求書は、返品請求書の前または一緒に統合する必要があります。,
+You can add original invoice {} manually to proceed.,元の請求書{}を手動で追加して続行できます。,
+Please ensure {} account is a Balance Sheet account. ,{}アカウントが貸借対照表アカウントであることを確認してください。,
+You can change the parent account to a Balance Sheet account or select a different account.,親アカウントを貸借対照表アカウントに変更するか、別のアカウントを選択できます。,
+Please ensure {} account is a Receivable account. ,{}アカウントが売掛金アカウントであることを確認してください。,
+Change the account type to Receivable or select a different account.,売掛金タイプを売掛金に変更するか、別のアカウントを選択します。,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},獲得したポイントは引き換えられているため、{}をキャンセルすることはできません。最初に{}いいえ{}をキャンセルします,
+already exists,もう存在している,
+POS Closing Entry {} against {} between selected period,選択した期間の{}に対するPOSクロージングエントリ{},
+POS Invoice is {},POS請求書は{},
+POS Profile doesn't matches {},POSプロファイルが{}と一致しません,
+POS Invoice is not {},POS請求書は{}ではありません,
+POS Invoice isn't created by user {},POS請求書はユーザーによって作成されていません{},
+Row #{}: {},行＃{}：{},
+Invalid POS Invoices,無効なPOS請求書,
+Please add the account to root level Company - {},アカウントをルートレベルの会社に追加してください-{},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",子会社{0}のアカウントを作成しているときに、親アカウント{1}が見つかりません。対応するCOAで親アカウントを作成してください,
+Account Not Found,アカウントが見つかりません,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",子会社{0}のアカウントを作成しているときに、親アカウント{1}が元帳アカウントとして見つかりました。,
+Please convert the parent account in corresponding child company to a group account.,対応する子会社の親アカウントをグループアカウントに変換してください。,
+Invalid Parent Account,無効な親アカウント,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",名前の変更は、不一致を避けるために、親会社{0}を介してのみ許可されます。,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",アイテム{2}の数量が{0} {1}の場合、スキーム{3}がアイテムに適用されます。,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",アイテム{2}の価値がある{0} {1}の場合、スキーム{3}がアイテムに適用されます。,
+"As the field {0} is enabled, the field {1} is mandatory.",フィールド{0}が有効になっているため、フィールド{1}は必須です。,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",フィールド{0}が有効になっているため、フィールド{1}の値は1より大きくする必要があります。,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},販売注文を履行するために予約されているため、アイテム{1}のシリアル番号{0}を配信できません{2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",受注{0}にはアイテム{1}の予約があり、予約済みの{1}は{0}に対してのみ配信できます。,
+{0} Serial No {1} cannot be delivered,{0}シリアル番号{1}は配信できません,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},行{0}：下請け品目は原材料に必須です{1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",十分な原材料があるため、倉庫{0}には資材要求は必要ありません。,
+" If you still want to proceed, please enable {0}.",それでも続行する場合は、{0}を有効にしてください。,
+The item referenced by {0} - {1} is already invoiced,{0}-{1}で参照されているアイテムはすでに請求されています,
+Therapy Session overlaps with {0},セラピーセッションが{0}と重複しています,
+Therapy Sessions Overlapping,重複する治療セッション,
+Therapy Plans,治療計画,
+"Item Code, warehouse, quantity are required on row {0}",行{0}にはアイテムコード、倉庫、数量が必要です,
+Get Items from Material Requests against this Supplier,このサプライヤーに対する重要な要求からアイテムを取得する,
+Enable European Access,ヨーロッパへのアクセスを有効にする,
+Creating Purchase Order ...,注文書の作成..。,
+"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.",以下の項目のデフォルトサプライヤーからサプライヤーを選択します。選択時に、選択したサプライヤーに属するアイテムに対してのみ発注書が作成されます。,
+Row #{}: You must select {} serial numbers for item {}.,行＃{}：アイテム{}の{}シリアル番号を選択する必要があります。,
diff --git a/erpnext/translations/km.csv b/erpnext/translations/km.csv
index adc20c3..e2a528c 100644
--- a/erpnext/translations/km.csv
+++ b/erpnext/translations/km.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',មិនអាចកាត់ពេលដែលប្រភេទគឺសម្រាប់ &#39;វាយតម្លៃ&#39; ឬ &#39;Vaulation និងសរុប,
 "Cannot delete Serial No {0}, as it is used in stock transactions","មិនអាចលុបសៀរៀលគ្មាន {0}, ដូចដែលវាត្រូវបានគេប្រើនៅក្នុងប្រតិបត្តិការភាគហ៊ុន",
 Cannot enroll more than {0} students for this student group.,មិនអាចចុះឈ្មោះចូលរៀនច្រើនជាង {0} សិស្សសម្រាប់ក្រុមនិស្សិតនេះ។,
-Cannot find Item with this barcode,មិនអាចរកឃើញធាតុជាមួយលេខកូដនេះទេ។,
 Cannot find active Leave Period,មិនអាចរកកំនត់ឈប់កំនត់សកម្ម,
 Cannot produce more Item {0} than Sales Order quantity {1},មិនអាចបង្កើតធាតុជាច្រើនទៀត {0} ជាងបរិមាណលំដាប់លក់ {1},
 Cannot promote Employee with status Left,មិនអាចលើកកម្ពស់និយោជិកដោយមានស្ថានភាពនៅសល់,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",បង្កើតនិងគ្រប់គ្រងការរំលាយអាហារបានអ៊ីម៉ែលជារៀងរាល់ថ្ងៃប្រចាំសប្តាហ៍និងប្រចាំខែ។,
 Create customer quotes,បង្កើតសម្រង់អតិថិជន,
 Create rules to restrict transactions based on values.,បង្កើតច្បាប់ដើម្បីរឹតបន្តឹងការធ្វើប្រតិបត្តិការដោយផ្អែកលើតម្លៃ។,
-Created By,បានបង្កើតដោយ,
 Created {0} scorecards for {1} between: ,បានបង្កើត {0} សន្លឹកបៀសម្រាប់ {1} រវាង:,
 Creating Company and Importing Chart of Accounts,បង្កើតក្រុមហ៊ុននិងនាំចូលតារាងគណនី។,
 Creating Fees,បង្កើតកម្រៃ,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,សម្រាប់ជួរដេក {0}: បញ្ចូល Qty ដែលបានគ្រោងទុក,
 "For {0}, only credit accounts can be linked against another debit entry",{0} មានតែគណនីឥណទានអាចត្រូវបានតភ្ជាប់ប្រឆាំងនឹងធាតុឥណពន្ធផ្សេងទៀត,
 "For {0}, only debit accounts can be linked against another credit entry",{0} មានតែគណនីឥណពន្ធអាចត្រូវបានតភ្ជាប់ប្រឆាំងនឹងធាតុឥណទានផ្សេងទៀត,
-Form View,ទិដ្ឋភាពទម្រង់,
 Forum Activity,សកម្មភាពវេទិកា,
 Free item code is not selected,លេខកូដធាតុឥតគិតថ្លៃមិនត្រូវបានជ្រើសរើសទេ។,
 Freight and Forwarding Charges,ការចោទប្រកាន់ការដឹកជញ្ជូននិងការបញ្ជូនបន្ត,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,ផ្ញើសារជាអក្សរដ៏ធំមួយដើម្បីទំនាក់ទំនងរបស់អ្នក,
 Sensitivity,ភាពប្រែប្រួល,
 Sent,ដែលបានផ្ញើ,
-Serial #,# សៀរៀល,
 Serial No and Batch,សៀរៀលទេនិងបាច់ &amp; ‧;,
 Serial No is mandatory for Item {0},គ្មានស៊េរីគឺជាការចាំបាច់សម្រាប់ធាតុ {0},
 Serial No {0} does not belong to Batch {1},ស៊េរីលេខ {0} មិនមែនជារបស់ {1} បាច់ទេ,
@@ -3303,7 +3299,6 @@
 What do you need help with?,តើអ្នកត្រូវការអ្វីខ្លះជួយជាមួយនឹង?,
 What does it do?,តើធ្វើដូចម្ដេច?,
 Where manufacturing operations are carried.,ដែលជាកន្លែងដែលប្រតិបត្ដិការផលិតត្រូវបានអនុវត្ត។,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","នៅពេលបង្កើតគណនីសម្រាប់ក្រុមហ៊ុនកុមារ {0}, រកមិនឃើញ {1} ពត៌មានពីមាតាឬបិតា។ សូមបង្កើតគណនីមេនៅក្នុង COA ដែលត្រូវគ្នា",
 White,សេត,
 Wire Transfer,ការផ្ទេរខ្សែ,
 WooCommerce Products,ផលិតផលវ៉ាយហ្វាយ។,
@@ -3493,6 +3488,7 @@
 Merge with existing,បញ្ចូលចូលគ្នាជាមួយនឹងការដែលមានស្រាប់,
 Office,ការិយាល័យ,
 Orientation,ការតំរង់ទិស,
+Parent,មាតាឬបិតា,
 Passive,អកម្ម,
 Payment Failed,ការទូទាត់បរាជ័យ,
 Percent,ភាគរយ,
@@ -3543,6 +3539,7 @@
 Show {0},បង្ហាញ {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","តួអក្សរពិសេសលើកលែងតែ &quot;-&quot;, &quot;#&quot;, &quot;។ &quot;, &quot;/&quot;, &quot;{&quot; និង &quot;}&quot; មិនត្រូវបានអនុញ្ញាតក្នុងស៊េរីដាក់ឈ្មោះ",
 Target Details,ព័ត៌មានលម្អិតគោលដៅ។,
+{0} already has a Parent Procedure {1}.,{0} មាននីតិវិធីឪពុកម្តាយរួចហើយ {1} ។,
 API,API,
 Annual,ប្រចាំឆ្នាំ,
 Approved,បានអនុម័ត,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,កាលបរិច្ឆេទបញ្ចប់មិនអាចតិចជាងកាលបរិច្ឆេទចាប់ផ្ដើមទេ,
 For Default Supplier (Optional),សម្រាប់អ្នកផ្គត់ផ្គង់លំនាំដើម (ស្រេចចិត្ត),
 From date cannot be greater than To date,ពីកាលបរិច្ឆេទមិនអាចមានចំនួនច្រើនជាងកាលបរិច្ឆេទ,
-Get items from,ទទួលបានមុខទំនិញពី,
 Group by,ក្រុមតាម,
 In stock,នៅក្នុងស្តុក,
 Item name,ឈ្មោះធាតុ,
@@ -7558,10 +7554,6 @@
 Quality Goal,គោលដៅគុណភាព។,
 Monitoring Frequency,ភាពញឹកញាប់នៃការត្រួតពិនិត្យ។,
 Weekday,ថ្ងៃធ្វើការ។,
-January-April-July-October,មករា - មេសា - កក្កដា - តុលា។,
-Revision and Revised On,ការពិនិត្យឡើងវិញនិងកែលម្អឡើងវិញ។,
-Revision,ការពិនិត្យឡើងវិញ,
-Revised On,បានកែសំរួលនៅថ្ងៃទី។,
 Objectives,គោលបំណង។,
 Quality Goal Objective,គោលបំណងគោលដៅគុណភាព។,
 Objective,គោលបំណង។,
@@ -7574,7 +7566,6 @@
 Processes,ដំណើរការ។,
 Quality Procedure Process,ដំណើរការនីតិវិធីគុណភាព។,
 Process Description,ការពិពណ៌នាអំពីដំណើរការ។,
-Child Procedure,នីតិវិធីកុមារ,
 Link existing Quality Procedure.,ភ្ជាប់នីតិវិធីគុណភាពដែលមានស្រាប់។,
 Additional Information,ព័ត៍មានបន្ថែម,
 Quality Review Objective,គោលបំណងពិនិត្យគុណភាព។,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,និន្នាការបង្កាន់ដៃទិញ,
 Purchase Register,ទិញចុះឈ្មោះ,
 Quotation Trends,សម្រង់និន្នាការ,
-Quoted Item Comparison,ធាតុដកស្រង់សម្តីប្រៀបធៀប,
 Received Items To Be Billed,ទទួលបានធាតុដែលនឹងត្រូវបានផ្សព្វផ្សាយ,
 Qty to Order,qty ម៉ង់ទិញ,
 Requested Items To Be Transferred,ធាតុដែលបានស្នើសុំឱ្យគេបញ្ជូន,
@@ -9091,7 +9081,6 @@
 Absent Days,ថ្ងៃអវត្តមាន,
 Conditions and Formula variable and example,លក្ខខណ្ឌនិងអថេររូបមន្តនិងឧទាហរណ៍,
 Feedback By,មតិដោយ,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .- ។ MM .- DD.-,
 Manufacturing Section,ផ្នែកផលិត,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",តាមលំនាំដើមឈ្មោះអតិថិជនត្រូវបានកំណត់ដូចឈ្មោះពេញដែលបានបញ្ចូល។ ប្រសិនបើអ្នកចង់អោយអតិថិជនដាក់ឈ្មោះដោយក,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,កំណត់បញ្ជីតម្លៃលំនាំដើមនៅពេលបង្កើតប្រតិបត្តិការលក់ថ្មី។ តម្លៃទំនិញនឹងត្រូវបានទាញយកពីបញ្ជីតម្លៃនេះ។,
@@ -9692,7 +9681,6 @@
 Reserved Balance,សមតុល្យបម្រុង,
 Uncleared Balance,តុល្យភាពមិនស្អាត,
 Payment related to {0} is not completed,ការទូទាត់ទាក់ទងនឹង {0} មិនត្រូវបានបញ្ចប់ទេ,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,ជួរដេក # {}៖ សេរ៊ីលេខ {} ។ {} ត្រូវបានប្តូរទៅជាវិក្កយបត្រម៉ាស៊ីនឆូតកាតផ្សេងទៀត។ សូមជ្រើសរើសសៀរៀលត្រឹមត្រូវ។,
 Row #{}: Item Code: {} is not available under warehouse {}.,ជួរដេក # {}៖ លេខកូដៈ {} មិនមាននៅក្រោមឃ្លាំង {} ទេ។,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,ជួរដេក # {}៖ បរិមាណស្តុកមិនគ្រប់គ្រាន់សម្រាប់លេខកូដទំនិញ៖ {} នៅក្រោមឃ្លាំង {} ។ បរិមាណដែលមាន {} ។,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,ជួរទី # {}៖ សូមជ្រើសរើសសៀរៀលនិងបាច់ប្រឆាំងនឹងធាតុ៖ {} ឬយកវាចេញដើម្បីបញ្ចប់ប្រតិបត្តិការ។,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,សូមអនុញ្ញាតអនុញ្ញាតភាគហ៊ុនអវិជ្ជមាននៅក្នុងការកំណត់ភាគហ៊ុនឬបង្កើតធាតុចូលដើម្បីដំណើរការបន្ត។,
 No Inpatient Record found against patient {0},គ្មានកំណត់ត្រាអ្នកជំងឺដែលរកឃើញប្រឆាំងនឹងអ្នកជំងឺ {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,ការបញ្ជាទិញថ្នាំព្យាបាលដោយអ្នកជម្ងឺ {0} ប្រឆាំងនឹងអ្នកជួបប្រទះអ្នកជម្ងឺ {1} មានរួចហើយ។,
+Allow In Returns,អនុញ្ញាតឱ្យត្រឡប់មកវិញ,
+Hide Unavailable Items,លាក់ធាតុដែលមិនមាន,
+Apply Discount on Discounted Rate,អនុវត្តការបញ្ចុះតម្លៃលើអត្រាបញ្ចុះតម្លៃ,
+Therapy Plan Template,គំរូផែនការព្យាបាល,
+Fetching Template Details,ការទាញយកព័ត៌មានលំអិតនៃគំរូ,
+Linked Item Details,ព័ត៌មានលំអិតទាក់ទងនឹងធាតុ,
+Therapy Types,ប្រភេទនៃការព្យាបាល,
+Therapy Plan Template Detail,ទំព័រគំរូលំអិតនៃផែនការព្យាបាល,
+Non Conformance,ការមិនអនុលោម,
+Process Owner,ម្ចាស់ដំណើរការ,
+Corrective Action,សកម្មភាពកែតម្រូវ,
+Preventive Action,សកម្មភាពការពារ,
+Problem,បញ្ហា,
+Responsible,ទទួលខុសត្រូវ,
+Completion By,បញ្ចប់ដោយ,
+Process Owner Full Name,ម្ចាស់ឈ្មោះដំណើរការពេញ,
+Right Index,សន្ទស្សន៍ត្រឹមត្រូវ,
+Left Index,សន្ទស្សន៍ខាងឆ្វេង,
+Sub Procedure,នីតិវិធីរង,
+Passed,បានឆ្លងកាត់,
+Print Receipt,បង្កាន់ដៃបោះពុម្ព,
+Edit Receipt,កែសម្រួលបង្កាន់ដៃ,
+Focus on search input,ផ្តោតលើការបញ្ចូលការស្វែងរក,
+Focus on Item Group filter,ផ្តោតលើតម្រងក្រុមធាតុ,
+Checkout Order / Submit Order / New Order,Checkout បញ្ជាទិញ / ដាក់បញ្ជាទិញ / បញ្ជាទិញថ្មី,
+Add Order Discount,បន្ថែមការបញ្ចុះតម្លៃតាមលំដាប់,
+Item Code: {0} is not available under warehouse {1}.,លេខកូដធាតុ៖ {០} មិនមាននៅក្រោមឃ្លាំង {១} ទេ។,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,លេខស៊េរីមិនអាចប្រើបានសម្រាប់ធាតុ {0} នៅក្រោមឃ្លាំង {1} ។ សូមព្យាយាមផ្លាស់ប្តូរឃ្លាំង។,
+Fetched only {0} available serial numbers.,ទទួលបានតែលេខ {0} ប៉ុណ្ណោះ។,
+Switch Between Payment Modes,ប្តូររវាងរបៀបបង់ប្រាក់,
+Enter {0} amount.,បញ្ចូលចំនួន {0} ។,
+You don't have enough points to redeem.,អ្នកមិនមានពិន្ទុគ្រប់គ្រាន់ដើម្បីលោះទេ។,
+You can redeem upto {0}.,អ្នកអាចផ្តោះប្តូរប្រាក់បានដល់លេខ {០} ។,
+Enter amount to be redeemed.,បញ្ចូលចំនួនទឹកប្រាក់ដែលត្រូវបង់រំលោះ។,
+You cannot redeem more than {0}.,អ្នកមិនអាចលោះច្រើនជាង {0} ទេ។,
+Open Form View,បើកទិដ្ឋភាពទម្រង់,
+POS invoice {0} created succesfully,វិក័យប័ត្រម៉ាស៊ីនឆូតកាត {០} បានបង្កើតដោយជោគជ័យ,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,បរិមាណស្តុកមិនគ្រប់គ្រាន់សម្រាប់លេខកូដទំនិញ៖ {០} ក្រោមឃ្លាំង {១} ។ បរិមាណដែលអាចរកបាន {2} ។,
+Serial No: {0} has already been transacted into another POS Invoice.,លេខស៊េរី៖ {០} ត្រូវបានប្តូរទៅជាវិក្កយបត្រម៉ាស៊ីនឆូតកាតផ្សេងទៀត។,
+Balance Serial No,លេខសៀរៀលគ្មាន,
+Warehouse: {0} does not belong to {1},ឃ្លាំង: {០} មិនមែនជាកម្មសិទ្ធិរបស់ {១} ទេ,
+Please select batches for batched item {0},សូមជ្រើសរើសបាច់សម្រាប់វត្ថុដែលមានឆ្នូតៗ {0},
+Please select quantity on row {0},សូមជ្រើសរើសបរិមាណនៅជួរ {0},
+Please enter serial numbers for serialized item {0},សូមបញ្ចូលលេខស៊េរីសម្រាប់ធាតុសៀរៀល {0},
+Batch {0} already selected.,បាច់ {0} ដែលបានជ្រើសរើសរួចហើយ។,
+Please select a warehouse to get available quantities,សូមជ្រើសរើសឃ្លាំងមួយដើម្បីទទួលបានបរិមាណដែលមាន,
+"For transfer from source, selected quantity cannot be greater than available quantity",សម្រាប់ការផ្ទេរពីប្រភពបរិមាណដែលបានជ្រើសរើសមិនអាចធំជាងបរិមាណដែលមានទេ,
+Cannot find Item with this Barcode,មិនអាចរកឃើញធាតុជាមួយលេខកូដនេះទេ,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} គឺចាំបាច់។ ប្រហែលជាកំណត់ត្រាការផ្លាស់ប្តូររូបិយប័ណ្ណមិនត្រូវបានបង្កើតឡើងសម្រាប់ {១} ដល់ {២},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} បានបញ្ជូនទ្រព្យសម្បត្តិដែលភ្ជាប់ទៅវា។ អ្នកត្រូវបោះបង់ទ្រព្យសម្បត្តិដើម្បីបង្កើតការទិញត្រឡប់មកវិញ។,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,មិនអាចលុបចោលឯកសារនេះទេព្រោះវាត្រូវបានភ្ជាប់ជាមួយទ្រព្យសម្បត្តិដែលបានដាក់ស្នើ {0} ។ សូមបោះបង់វាដើម្បីបន្ត។,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,ជួរទី # {}៖ លេខស៊េរី {} ត្រូវបានប្តូរទៅជាវិក្កយបត្រម៉ាស៊ីនឆូតកាតផ្សេងទៀត។ សូមជ្រើសរើសសៀរៀលត្រឹមត្រូវ។,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,ជួរទី # {}៖ សៀរៀលសៀរៀល។ {} បានប្តូរទៅជាវិក្កយបត្រម៉ាស៊ីនឆូតកាតផ្សេងទៀត។ សូមជ្រើសរើសសៀរៀលត្រឹមត្រូវ។,
+Item Unavailable,មិនមានធាតុ,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},ជួរទី # {}៖ លេខស៊េរី {} មិនអាចត្រលប់មកវិញទេពីព្រោះវាមិនត្រូវបានប្តូរទៅជាវិក័យប័ត្រដើម {},
+Please set default Cash or Bank account in Mode of Payment {},សូមកំណត់គណនីសាច់ប្រាក់ឬគណនីធនាគារលំនាំដើមក្នុងរបៀបបង់ប្រាក់ {},
+Please set default Cash or Bank account in Mode of Payments {},សូមកំណត់គណនីសាច់ប្រាក់ឬគណនីធនាគារក្នុងរបៀបបង់ប្រាក់ {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,សូមប្រាកដថា {} គណនីគឺជាគណនីសន្លឹកសមតុល្យ។ អ្នកអាចប្តូរគណនីមេទៅគណនីសន្លឹកសមតុល្យឬជ្រើសរើសគណនីផ្សេង។,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,សូមប្រាកដថា {} គណនីគឺជាគណនីដែលត្រូវបង់។ ផ្លាស់ប្តូរប្រភេទគណនីទៅជាការទូទាត់ឬជ្រើសរើសគណនីផ្សេងទៀត។,
+Row {}: Expense Head changed to {} ,ជួរដេក {}៖ ក្បាលចំណាយបានប្តូរទៅ {},
+because account {} is not linked to warehouse {} ,ពីព្រោះគណនី {} មិនត្រូវបានភ្ជាប់ទៅនឹងឃ្លាំង {},
+or it is not the default inventory account,ឬវាមិនមែនជាគណនីសារពើភ័ណ្ឌលំនាំដើម,
+Expense Head Changed,ប្តូរក្បាល,
+because expense is booked against this account in Purchase Receipt {},ពីព្រោះការចំណាយត្រូវបានកក់ទុកសម្រាប់គណនីនេះក្នុងវិក័យប័ត្រទិញ {},
+as no Purchase Receipt is created against Item {}. ,ដោយសារគ្មានវិក័យប័ត្រទិញត្រូវបានបង្កើតឡើងប្រឆាំងនឹងធាតុ {} ។,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,នេះត្រូវបានធ្វើដើម្បីដោះស្រាយគណនេយ្យករណីនៅពេលបង្កាន់ដៃទិញត្រូវបានបង្កើតបន្ទាប់ពីវិក័យប័ត្រទិញ,
+Purchase Order Required for item {},ការបញ្ជាទិញដែលត្រូវការសម្រាប់ធាតុ {},
+To submit the invoice without purchase order please set {} ,ដើម្បីដាក់វិក័យប័ត្រដោយគ្មានការបញ្ជាទិញសូមកំណត់ {},
+as {} in {},ដូចជានៅក្នុង {},
+Mandatory Purchase Order,ការបញ្ជាទិញចាំបាច់,
+Purchase Receipt Required for item {},វិក័យប័ត្រទិញត្រូវការសម្រាប់ធាតុ {},
+To submit the invoice without purchase receipt please set {} ,ដើម្បីផ្ញើវិក័យប័ត្រដោយគ្មានបង្កាន់ដៃទិញសូមកំណត់ {},
+Mandatory Purchase Receipt,បង្កាន់ដៃទិញចាំបាច់,
+POS Profile {} does not belongs to company {},ពត៌មានរបស់ម៉ាស៊ីនឆូតកាត {} មិនមែនជារបស់ក្រុមហ៊ុន {},
+User {} is disabled. Please select valid user/cashier,អ្នកប្រើ {} ត្រូវបានបិទ។ សូមជ្រើសរើសអ្នកប្រើប្រាស់ / បេឡាករត្រឹមត្រូវ,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,ជួរដេក # {}៖ វិក័យប័ត្រដើម {} នៃវិក័យប័ត្រត្រឡប់មកវិញ {} គឺ {} ។,
+Original invoice should be consolidated before or along with the return invoice.,វិក័យប័ត្រដើមគួរតែត្រូវបានបង្រួបបង្រួមមុនឬរួមជាមួយវិក័យប័ត្រត្រឡប់មកវិញ។,
+You can add original invoice {} manually to proceed.,អ្នកអាចបន្ថែមវិក័យប័ត្រដើម {} ដោយដៃដើម្បីបន្ត។,
+Please ensure {} account is a Balance Sheet account. ,សូមប្រាកដថា {} គណនីគឺជាគណនីសន្លឹកសមតុល្យ។,
+You can change the parent account to a Balance Sheet account or select a different account.,អ្នកអាចប្តូរគណនីមេទៅគណនីសន្លឹកសមតុល្យឬជ្រើសរើសគណនីផ្សេង។,
+Please ensure {} account is a Receivable account. ,សូមប្រាកដថា {} គណនីគឺជាគណនីដែលអាចទទួលយកបាន។,
+Change the account type to Receivable or select a different account.,ផ្លាស់ប្តូរប្រភេទគណនីទៅជាអ្នកទទួលឬជ្រើសរើសគណនីផ្សេងទៀត។,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} មិនអាចត្រូវបានលុបចោលទេចាប់តាំងពីចំនុចស្មោះត្រង់ដែលរកបានត្រូវបានលោះ។ ដំបូងលុបចោល {} ទេ {},
+already exists,ធ្លាប់មានរួចហើយ,
+POS Closing Entry {} against {} between selected period,ការបិទម៉ាស៊ីនឆូតកាត {} ប្រឆាំងនឹង {} រវាងរយៈពេលដែលបានជ្រើសរើស,
+POS Invoice is {},វិក្កយបត្រម៉ាស៊ីនឆូតកាតគឺ {},
+POS Profile doesn't matches {},ទម្រង់ម៉ាស៊ីនឆូតកាតមិនត្រូវគ្នាទេ {},
+POS Invoice is not {},វិក្កយបត្រម៉ាស៊ីនឆូតកាតមិនមែន {},
+POS Invoice isn't created by user {},វិក្កយបត្រម៉ាស៊ីនឆូតកាតមិនត្រូវបានបង្កើតដោយអ្នកប្រើ {},
+Row #{}: {},ជួរដេក # {}៖ {},
+Invalid POS Invoices,វិក្កយបត្រម៉ាស៊ីនឆូតកាតមិនត្រឹមត្រូវ,
+Please add the account to root level Company - {},សូមបន្ថែមគណនីទៅក្រុមហ៊ុនកម្រិត root - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",ពេលកំពុងបង្កើតគណនីសម្រាប់ក្រុមហ៊ុនកុមារ {០} គណនីមេ {១} រកមិនឃើញទេ។ សូមបង្កើតគណនីមេនៅក្នុង COA ដែលត្រូវគ្នា,
+Account Not Found,រកមិនឃើញគណនី,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",នៅពេលបង្កើតគណនីសម្រាប់ក្រុមហ៊ុនកុមារ {០} គណនីមេ {១} ត្រូវបានរកឃើញថាជាគណនីយួរដៃ។,
+Please convert the parent account in corresponding child company to a group account.,សូមប្តូរគណនីមេនៅក្នុងក្រុមហ៊ុនកុមារដែលត្រូវគ្នាទៅនឹងគណនីក្រុម។,
+Invalid Parent Account,គណនីមេមិនត្រឹមត្រូវ,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",ការប្តូរឈ្មោះវាត្រូវបានអនុញ្ញាតិតែតាមរយៈក្រុមហ៊ុនមេ {0} ដើម្បីចៀសវាងភាពមិនស៊ីចង្វាក់គ្នា។,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",ប្រសិនបើអ្នក {0} {1} បរិមាណនៃធាតុ {2} គ្រោងការណ៍ {3} នឹងត្រូវបានអនុវត្តលើធាតុ។,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",ប្រសិនបើអ្នក {0} {1} វត្ថុមានតម្លៃ {2} គ្រោងការណ៍ {3} នឹងត្រូវបានអនុវត្តលើធាតុ។,
+"As the field {0} is enabled, the field {1} is mandatory.",នៅពេលដែលវាល {0} ត្រូវបានបើកនោះវាល {1} គឺចាំបាច់។,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",នៅពេលដែលវាល {0} ត្រូវបានបើកតម្លៃនៃវាល {1} គួរតែលើសពី 1 ។,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},មិនអាចចែកចាយសៀរៀលលេខ {០} នៃធាតុ {១} បានទេព្រោះវាត្រូវបានបម្រុងទុកសម្រាប់ការបញ្ជាទិញការលក់ពេញលេញ {២},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",ការបញ្ជាទិញការលក់ {0} មានការកក់ទុកសម្រាប់ធាតុ {1} អ្នកអាចចែកចាយបានតែតូប {1} ទល់នឹង {0} ប៉ុណ្ណោះ។,
+{0} Serial No {1} cannot be delivered,{0} ស៊េរីលេខ {1} មិនអាចត្រូវបានបញ្ជូនទេ,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},ជួរដេក {0}៖ ធាតុដែលបានចុះកិច្ចសន្យាត្រូវបានតំរូវអោយជាវត្ថុធាតុដើម {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",ដោយសារមានវត្ថុធាតុដើមគ្រប់គ្រាន់ការស្នើសុំសម្ភារៈមិនចាំបាច់សម្រាប់ឃ្លាំង {0} ទេ។,
+" If you still want to proceed, please enable {0}.",ប្រសិនបើអ្នកនៅតែចង់បន្តសូមបើក {0} ។,
+The item referenced by {0} - {1} is already invoiced,ធាតុដែលយោងដោយ {០} - {១} បានចេញវិក្កយបត្ររួចហើយ,
+Therapy Session overlaps with {0},វគ្គនៃការព្យាបាលត្រួតគ្នាជាមួយ {0},
+Therapy Sessions Overlapping,ការព្យាបាលដោយការត្រួតគ្នា,
+Therapy Plans,ផែនការព្យាបាល,
+"Item Code, warehouse, quantity are required on row {0}",លេខកូដទំនិញឃ្លាំងបរិមាណត្រូវបានទាមទារនៅជួរ {0},
+Get Items from Material Requests against this Supplier,ទទួលបានវត្ថុពីសំណើសម្ភារៈប្រឆាំងនឹងអ្នកផ្គត់ផ្គង់នេះ,
+Enable European Access,បើកដំណើរការចូលអឺរ៉ុប,
+Creating Purchase Order ...,កំពុងបង្កើតការបញ្ជាទិញ ...,
+"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.",ជ្រើសរើសអ្នកផ្គត់ផ្គង់ពីអ្នកផ្គត់ផ្គង់លំនាំដើមនៃធាតុខាងក្រោម។ នៅពេលជ្រើសរើសការបញ្ជាទិញនឹងត្រូវធ្វើឡើងប្រឆាំងនឹងរបស់របរដែលជាកម្មសិទ្ធិរបស់អ្នកផ្គត់ផ្គង់ដែលបានជ្រើសរើសតែប៉ុណ្ណោះ។,
+Row #{}: You must select {} serial numbers for item {}.,ជួរទី # {}៖ អ្នកត្រូវតែជ្រើសរើស {} លេខស៊េរីសម្រាប់ធាតុ {} ។,
diff --git a/erpnext/translations/kn.csv b/erpnext/translations/kn.csv
index 864b89c..4a9173d 100644
--- a/erpnext/translations/kn.csv
+++ b/erpnext/translations/kn.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',ವರ್ಗದಲ್ಲಿ &#39;ಮೌಲ್ಯಾಂಕನ&#39; ಅಥವಾ &#39;Vaulation ಮತ್ತು ಒಟ್ಟು&#39; ಆಗಿದೆ ಮಾಡಿದಾಗ ಕಡಿತಗೊಳಿಸದಿರುವುದರ ಸಾಧ್ಯವಿಲ್ಲ,
 "Cannot delete Serial No {0}, as it is used in stock transactions","ಅಳಿಸಿಹಾಕಲಾಗದು ಸೀರಿಯಲ್ ಯಾವುದೇ {0}, ಇದು ಸ್ಟಾಕ್ ವ್ಯವಹಾರಗಳಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ",
 Cannot enroll more than {0} students for this student group.,{0} ಈ ವಿದ್ಯಾರ್ಥಿ ಗುಂಪು ವಿದ್ಯಾರ್ಥಿಗಳನ್ನು ಹೆಚ್ಚು ದಾಖಲಿಸಲಾಗುವುದಿಲ್ಲ.,
-Cannot find Item with this barcode,ಈ ಬಾರ್‌ಕೋಡ್‌ನೊಂದಿಗೆ ಐಟಂ ಅನ್ನು ಕಂಡುಹಿಡಿಯಲಾಗುವುದಿಲ್ಲ,
 Cannot find active Leave Period,ಸಕ್ರಿಯ ಬಿಡಿ ಅವಧಿಯನ್ನು ಕಂಡುಹಿಡಿಯಲಾಗಲಿಲ್ಲ,
 Cannot produce more Item {0} than Sales Order quantity {1},ಹೆಚ್ಚು ಐಟಂ ಉತ್ಪಾದಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ {0} ಹೆಚ್ಚು ಮಾರಾಟದ ಆರ್ಡರ್ ಪ್ರಮಾಣ {1},
 Cannot promote Employee with status Left,ನೌಕರರು ಸ್ಥಿತಿಯನ್ನು ಎಡಕ್ಕೆ ಪ್ರಚಾರ ಮಾಡಲಾಗುವುದಿಲ್ಲ,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","ರಚಿಸಿ ಮತ್ತು , ದೈನಂದಿನ ಸಾಪ್ತಾಹಿಕ ಮತ್ತು ಮಾಸಿಕ ಇಮೇಲ್ ಡೈಜೆಸ್ಟ್ ನಿರ್ವಹಿಸಿ .",
 Create customer quotes,ಗ್ರಾಹಕ ಉಲ್ಲೇಖಗಳು ರಚಿಸಿ,
 Create rules to restrict transactions based on values.,ಮೌಲ್ಯಗಳ ಆಧಾರದ ವ್ಯವಹಾರ ನಿರ್ಬಂಧಿಸಲು ನಿಯಮಗಳನ್ನು ರಚಿಸಿ .,
-Created By,ದಾಖಲಿಸಿದವರು,
 Created {0} scorecards for {1} between: ,ನಡುವೆ {1 for ಗೆ {0} ಸ್ಕೋರ್‌ಕಾರ್ಡ್‌ಗಳನ್ನು ರಚಿಸಲಾಗಿದೆ:,
 Creating Company and Importing Chart of Accounts,ಕಂಪನಿಯನ್ನು ರಚಿಸುವುದು ಮತ್ತು ಖಾತೆಗಳ ಚಾರ್ಟ್ ಅನ್ನು ಆಮದು ಮಾಡಿಕೊಳ್ಳುವುದು,
 Creating Fees,ಶುಲ್ಕಗಳು ರಚಿಸಲಾಗುತ್ತಿದೆ,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,ಸಾಲು {0}: ಯೋಜಿತ Qty ಯನ್ನು ನಮೂದಿಸಿ,
 "For {0}, only credit accounts can be linked against another debit entry","{0}, ಮಾತ್ರ ಕ್ರೆಡಿಟ್ ಖಾತೆಗಳನ್ನು ಮತ್ತೊಂದು ಡೆಬಿಟ್ ಪ್ರವೇಶ ವಿರುದ್ಧ ಲಿಂಕ್ ಮಾಡಬಹುದು ಫಾರ್",
 "For {0}, only debit accounts can be linked against another credit entry","{0}, ಮಾತ್ರ ಡೆಬಿಟ್ ಖಾತೆಗಳನ್ನು ಇನ್ನೊಂದು ಕ್ರೆಡಿಟ್ ಪ್ರವೇಶ ವಿರುದ್ಧ ಲಿಂಕ್ ಮಾಡಬಹುದು ಫಾರ್",
-Form View,ಫಾರ್ಮ್ ವೀಕ್ಷಿಸಿ,
 Forum Activity,ವೇದಿಕೆ ಚಟುವಟಿಕೆ,
 Free item code is not selected,ಉಚಿತ ಐಟಂ ಕೋಡ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಲಾಗಿಲ್ಲ,
 Freight and Forwarding Charges,ಸರಕು ಮತ್ತು ಸಾಗಣೆಯನ್ನು ಚಾರ್ಜಸ್,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,ನಿಮ್ಮ ಸಂಪರ್ಕಗಳಿಗೆ ಸಾಮೂಹಿಕ SMS ಕಳುಹಿಸಿ,
 Sensitivity,ಸೂಕ್ಷ್ಮತೆ,
 Sent,ಕಳುಹಿಸಲಾಗಿದೆ,
-Serial #,ಸರಣಿ #,
 Serial No and Batch,ಸೀರಿಯಲ್ ಯಾವುದೇ ಮತ್ತು ಬ್ಯಾಚ್,
 Serial No is mandatory for Item {0},ಅನುಕ್ರಮ ಸಂಖ್ಯೆ ಐಟಂ ಕಡ್ಡಾಯ {0},
 Serial No {0} does not belong to Batch {1},ಸರಣಿ ಇಲ್ಲ {0} ಬ್ಯಾಚ್ಗೆ ಸೇರಿಲ್ಲ {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,ನೀವು ಸಹಾಯ ಬೇಕು?,
 What does it do?,ಇದು ಏನು ಮಾಡುತ್ತದೆ?,
 Where manufacturing operations are carried.,ಉತ್ಪಾದನಾ ಕಾರ್ಯಗಳ ಅಲ್ಲಿ ನಿರ್ವಹಿಸುತ್ತಾರೆ.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","ಮಗುವಿನ ಕಂಪನಿ {0} ಖಾತೆ ರಚಿಸುವಾಗ, ಮೂಲ ಖಾತೆ {1} ಕಂಡುಬಂದಿಲ್ಲ. ದಯವಿಟ್ಟು ಸಂಬಂಧಿಸಿದ COA ನಲ್ಲಿ ಪೋಷಕ ಖಾತೆಯನ್ನು ರಚಿಸಿ",
 White,ಬಿಳಿ,
 Wire Transfer,ವೈರ್ ಟ್ರಾನ್ಸ್ಫರ್,
 WooCommerce Products,WooCommerce ಉತ್ಪನ್ನಗಳು,
@@ -3493,6 +3488,7 @@
 Merge with existing,ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ವಿಲೀನಗೊಳ್ಳಲು,
 Office,ಕಚೇರಿ,
 Orientation,ದೃಷ್ಟಿಕೋನ,
+Parent,ಪೋಷಕ,
 Passive,ನಿಷ್ಕ್ರಿಯ,
 Payment Failed,ಪಾವತಿ ವಿಫಲವಾಗಿದೆ,
 Percent,ಪರ್ಸೆಂಟ್,
@@ -3543,6 +3539,7 @@
 Show {0},{0} ತೋರಿಸು,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; ಮತ್ತು &quot;}&quot; ಹೊರತುಪಡಿಸಿ ವಿಶೇಷ ಅಕ್ಷರಗಳನ್ನು ಹೆಸರಿಸುವ ಸರಣಿಯಲ್ಲಿ ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ",
 Target Details,ಗುರಿ ವಿವರಗಳು,
+{0} already has a Parent Procedure {1}.,{0} ಈಗಾಗಲೇ ಪೋಷಕ ವಿಧಾನವನ್ನು ಹೊಂದಿದೆ {1}.,
 API,API,
 Annual,ವಾರ್ಷಿಕ,
 Approved,Approved,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,ಅಂತಿಮ ದಿನಾಂಕ ಪ್ರಾರಂಭ ದಿನಾಂಕಕ್ಕಿಂತ ಕಡಿಮೆ ಇರುವಂತಿಲ್ಲ,
 For Default Supplier (Optional),ಡೀಫಾಲ್ಟ್ ಪೂರೈಕೆದಾರರಿಗಾಗಿ (ಐಚ್ಛಿಕ),
 From date cannot be greater than To date,ದಿನಾಂಕದಿಂದ ದಿನಾಂಕಕ್ಕಿಂತಲೂ ಹೆಚ್ಚಿನದಾಗಿರುವಂತಿಲ್ಲ,
-Get items from,ಐಟಂಗಳನ್ನು ಪಡೆಯಿರಿ,
 Group by,ಗುಂಪಿನ,
 In stock,ಉಪಲಬ್ದವಿದೆ,
 Item name,ಐಟಂ ಹೆಸರು,
@@ -7558,10 +7554,6 @@
 Quality Goal,ಗುಣಮಟ್ಟದ ಗುರಿ,
 Monitoring Frequency,ಮಾನಿಟರಿಂಗ್ ಆವರ್ತನ,
 Weekday,ವಾರದ ದಿನ,
-January-April-July-October,ಜನವರಿ-ಏಪ್ರಿಲ್-ಜುಲೈ-ಅಕ್ಟೋಬರ್,
-Revision and Revised On,ಪರಿಷ್ಕರಣೆ ಮತ್ತು ಪರಿಷ್ಕೃತ ಆನ್,
-Revision,ಪರಿಷ್ಕರಣೆ,
-Revised On,ಪರಿಷ್ಕರಿಸಲಾಗಿದೆ,
 Objectives,ಉದ್ದೇಶಗಳು,
 Quality Goal Objective,ಗುಣಮಟ್ಟದ ಗುರಿ ಉದ್ದೇಶ,
 Objective,ಉದ್ದೇಶ,
@@ -7574,7 +7566,6 @@
 Processes,ಪ್ರಕ್ರಿಯೆಗಳು,
 Quality Procedure Process,ಗುಣಮಟ್ಟದ ಕಾರ್ಯವಿಧಾನ ಪ್ರಕ್ರಿಯೆ,
 Process Description,ಪ್ರಕ್ರಿಯೆಯ ವಿವರಣೆ,
-Child Procedure,ಮಕ್ಕಳ ವಿಧಾನ,
 Link existing Quality Procedure.,ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಗುಣಮಟ್ಟದ ಕಾರ್ಯವಿಧಾನವನ್ನು ಲಿಂಕ್ ಮಾಡಿ.,
 Additional Information,ಹೆಚ್ಚುವರಿ ಮಾಹಿತಿ,
 Quality Review Objective,ಗುಣಮಟ್ಟದ ವಿಮರ್ಶೆ ಉದ್ದೇಶ,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,ಖರೀದಿ ರಸೀತಿ ಟ್ರೆಂಡ್ಸ್,
 Purchase Register,ಖರೀದಿ ನೋಂದಣಿ,
 Quotation Trends,ನುಡಿಮುತ್ತುಗಳು ಟ್ರೆಂಡ್ಸ್,
-Quoted Item Comparison,ಉಲ್ಲೇಖಿಸಿದ ಐಟಂ ಹೋಲಿಕೆ,
 Received Items To Be Billed,ಪಾವತಿಸಬೇಕಾಗುತ್ತದೆ ಸ್ವೀಕರಿಸಿದ ಐಟಂಗಳು,
 Qty to Order,ಪ್ರಮಾಣ ಆರ್ಡರ್,
 Requested Items To Be Transferred,ಬದಲಾಯಿಸಿಕೊಳ್ಳುವಂತೆ ವಿನಂತಿಸಲಾಗಿದೆ ಐಟಂಗಳು,
@@ -9091,7 +9081,6 @@
 Absent Days,ಅನುಪಸ್ಥಿತಿಯ ದಿನಗಳು,
 Conditions and Formula variable and example,ಷರತ್ತುಗಳು ಮತ್ತು ಫಾರ್ಮುಲಾ ವೇರಿಯಬಲ್ ಮತ್ತು ಉದಾಹರಣೆ,
 Feedback By,ಪ್ರತಿಕ್ರಿಯೆ,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,ಉತ್ಪಾದನಾ ವಿಭಾಗ,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ನಮೂದಿಸಿದ ಪೂರ್ಣ ಹೆಸರಿನ ಪ್ರಕಾರ ಗ್ರಾಹಕರ ಹೆಸರನ್ನು ಹೊಂದಿಸಲಾಗಿದೆ. ಗ್ರಾಹಕರನ್ನು ಹೆಸರಿಸಲು ನೀವು ಬಯಸಿದರೆ ಎ",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,ಹೊಸ ಮಾರಾಟ ವಹಿವಾಟನ್ನು ರಚಿಸುವಾಗ ಡೀಫಾಲ್ಟ್ ಬೆಲೆ ಪಟ್ಟಿಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. ಈ ಬೆಲೆ ಪಟ್ಟಿಯಿಂದ ಐಟಂ ಬೆಲೆಗಳನ್ನು ಪಡೆಯಲಾಗುತ್ತದೆ.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,ಕಾಯ್ದಿರಿಸಿದ ಬಾಕಿ,
 Uncleared Balance,ಅಸ್ಪಷ್ಟ ಸಮತೋಲನ,
 Payment related to {0} is not completed,{0 to ಗೆ ಸಂಬಂಧಿಸಿದ ಪಾವತಿ ಪೂರ್ಣಗೊಂಡಿಲ್ಲ,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,ಸಾಲು # {}: ಸರಣಿ ಸಂಖ್ಯೆ {}. P already ಅನ್ನು ಈಗಾಗಲೇ ಮತ್ತೊಂದು ಪಿಒಎಸ್ ಇನ್‌ವಾಯ್ಸ್‌ಗೆ ವಹಿವಾಟು ಮಾಡಲಾಗಿದೆ. ದಯವಿಟ್ಟು ಮಾನ್ಯ ಸರಣಿ ಸಂಖ್ಯೆ ಆಯ್ಕೆಮಾಡಿ.,
 Row #{}: Item Code: {} is not available under warehouse {}.,ಸಾಲು # {}: ಐಟಂ ಕೋಡ್: w} ಗೋದಾಮಿನ ಅಡಿಯಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲ {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,ಸಾಲು # {}: ಐಟಂ ಕೋಡ್‌ಗೆ ಸ್ಟಾಕ್ ಪ್ರಮಾಣ ಸಾಕಾಗುವುದಿಲ್ಲ: ware ಗೋದಾಮಿನ ಅಡಿಯಲ್ಲಿ}}. ಲಭ್ಯವಿರುವ ಪ್ರಮಾಣ {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,ಸಾಲು # {}: ದಯವಿಟ್ಟು ಸರಣಿ ಸಂಖ್ಯೆ ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಐಟಂ ವಿರುದ್ಧ ಬ್ಯಾಚ್ ಮಾಡಿ: {} ಅಥವಾ ವ್ಯವಹಾರವನ್ನು ಪೂರ್ಣಗೊಳಿಸಲು ಅದನ್ನು ತೆಗೆದುಹಾಕಿ.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,ದಯವಿಟ್ಟು ಸ್ಟಾಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಕಾರಾತ್ಮಕ ಸ್ಟಾಕ್ ಅನ್ನು ಅನುಮತಿಸಿ ಅಥವಾ ಮುಂದುವರಿಸಲು ಸ್ಟಾಕ್ ಎಂಟ್ರಿ ರಚಿಸಿ.,
 No Inpatient Record found against patient {0},ರೋಗಿಯ ವಿರುದ್ಧ ಒಳರೋಗಿಗಳ ದಾಖಲೆ ಕಂಡುಬಂದಿಲ್ಲ {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,ರೋಗಿಯ ಎನ್ಕೌಂಟರ್ {1 against ವಿರುದ್ಧ ಒಳರೋಗಿ ation ಷಧಿ ಆದೇಶ {0 already ಈಗಾಗಲೇ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ.,
+Allow In Returns,ರಿಟರ್ನ್ಸ್‌ನಲ್ಲಿ ಅನುಮತಿಸಿ,
+Hide Unavailable Items,ಲಭ್ಯವಿಲ್ಲದ ವಸ್ತುಗಳನ್ನು ಮರೆಮಾಡಿ,
+Apply Discount on Discounted Rate,ರಿಯಾಯಿತಿ ದರದಲ್ಲಿ ರಿಯಾಯಿತಿ ಅನ್ವಯಿಸಿ,
+Therapy Plan Template,ಚಿಕಿತ್ಸೆಯ ಯೋಜನೆ ಟೆಂಪ್ಲೇಟು,
+Fetching Template Details,ಟೆಂಪ್ಲೇಟು ವಿವರಗಳನ್ನು ಪಡೆಯಲಾಗುತ್ತಿದೆ,
+Linked Item Details,ಲಿಂಕ್ ಮಾಡಿದ ಐಟಂ ವಿವರಗಳು,
+Therapy Types,ಚಿಕಿತ್ಸೆಯ ವಿಧಗಳು,
+Therapy Plan Template Detail,ಚಿಕಿತ್ಸೆಯ ಯೋಜನೆ ಟೆಂಪ್ಲೇಟು ವಿವರ,
+Non Conformance,ಅನುಗುಣವಾಗಿಲ್ಲ,
+Process Owner,ಪ್ರಕ್ರಿಯೆ ಮಾಲೀಕ,
+Corrective Action,ಸರಿಪಡಿಸುವ ಕ್ರಿಯೆ,
+Preventive Action,ತಡೆಗಟ್ಟುವ ಕ್ರಮ,
+Problem,ಸಮಸ್ಯೆ,
+Responsible,ಜವಾಬ್ದಾರಿ,
+Completion By,ಇವರಿಂದ ಪೂರ್ಣಗೊಂಡಿದೆ,
+Process Owner Full Name,ಪ್ರಕ್ರಿಯೆ ಮಾಲೀಕರ ಪೂರ್ಣ ಹೆಸರು,
+Right Index,ಬಲ ಸೂಚ್ಯಂಕ,
+Left Index,ಎಡ ಸೂಚ್ಯಂಕ,
+Sub Procedure,ಉಪ ಕಾರ್ಯವಿಧಾನ,
+Passed,ಉತ್ತೀರ್ಣರಾದರು,
+Print Receipt,ರಶೀದಿ ಮುದ್ರಿಸಿ,
+Edit Receipt,ರಶೀದಿಯನ್ನು ಸಂಪಾದಿಸಿ,
+Focus on search input,ಹುಡುಕಾಟ ಇನ್‌ಪುಟ್‌ಗೆ ಗಮನ ಕೊಡಿ,
+Focus on Item Group filter,ಐಟಂ ಗ್ರೂಪ್ ಫಿಲ್ಟರ್ ಮೇಲೆ ಕೇಂದ್ರೀಕರಿಸಿ,
+Checkout Order / Submit Order / New Order,ಚೆಕ್ out ಟ್ ಆದೇಶ / ಸಲ್ಲಿಕೆ ಆದೇಶ / ಹೊಸ ಆದೇಶ,
+Add Order Discount,ಆದೇಶ ರಿಯಾಯಿತಿ ಸೇರಿಸಿ,
+Item Code: {0} is not available under warehouse {1}.,ಐಟಂ ಕೋಡ್: ಗೋದಾಮಿನ {1 under ಅಡಿಯಲ್ಲಿ {0} ಲಭ್ಯವಿಲ್ಲ.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,ಗೋದಾಮಿನ {1 under ಅಡಿಯಲ್ಲಿ ಐಟಂ {0 for ಗೆ ಸರಣಿ ಸಂಖ್ಯೆಗಳು ಲಭ್ಯವಿಲ್ಲ. ದಯವಿಟ್ಟು ಗೋದಾಮು ಬದಲಾಯಿಸಲು ಪ್ರಯತ್ನಿಸಿ.,
+Fetched only {0} available serial numbers.,{0} ಲಭ್ಯವಿರುವ ಸರಣಿ ಸಂಖ್ಯೆಗಳನ್ನು ಮಾತ್ರ ಪಡೆಯಲಾಗಿದೆ.,
+Switch Between Payment Modes,ಪಾವತಿ ಮೋಡ್‌ಗಳ ನಡುವೆ ಬದಲಿಸಿ,
+Enter {0} amount.,{0} ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ.,
+You don't have enough points to redeem.,ರಿಡೀಮ್ ಮಾಡಲು ನಿಮಗೆ ಸಾಕಷ್ಟು ಅಂಕಗಳಿಲ್ಲ.,
+You can redeem upto {0}.,ನೀವು {0 to ವರೆಗೆ ರಿಡೀಮ್ ಮಾಡಬಹುದು.,
+Enter amount to be redeemed.,ರಿಡೀಮ್ ಮಾಡಬೇಕಾದ ಮೊತ್ತವನ್ನು ನಮೂದಿಸಿ.,
+You cannot redeem more than {0}.,ನೀವು {0 than ಗಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಪಡೆದುಕೊಳ್ಳಲು ಸಾಧ್ಯವಿಲ್ಲ.,
+Open Form View,ಫಾರ್ಮ್ ವೀಕ್ಷಣೆಯನ್ನು ತೆರೆಯಿರಿ,
+POS invoice {0} created succesfully,ಪಿಒಎಸ್ ಸರಕುಪಟ್ಟಿ {0 ಯಶಸ್ವಿಯಾಗಿ ರಚಿಸಲಾಗಿದೆ,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,ಐಟಂ ಕೋಡ್‌ಗೆ ಸ್ಟಾಕ್ ಪ್ರಮಾಣ ಸಾಕಾಗುವುದಿಲ್ಲ: ಗೋದಾಮಿನ {1 under ಅಡಿಯಲ್ಲಿ {0}. ಲಭ್ಯವಿರುವ ಪ್ರಮಾಣ {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,ಸರಣಿ ಸಂಖ್ಯೆ: P 0 already ಅನ್ನು ಈಗಾಗಲೇ ಮತ್ತೊಂದು ಪಿಒಎಸ್ ಇನ್‌ವಾಯ್ಸ್‌ಗೆ ವಹಿವಾಟು ಮಾಡಲಾಗಿದೆ.,
+Balance Serial No,ಬ್ಯಾಲೆನ್ಸ್ ಸೀರಿಯಲ್ ನಂ,
+Warehouse: {0} does not belong to {1},ಗೋದಾಮು: {0} {1 to ಗೆ ಸೇರಿಲ್ಲ,
+Please select batches for batched item {0},ದಯವಿಟ್ಟು ಬ್ಯಾಚ್ ಮಾಡಿದ ಐಟಂ {0 for ಗಾಗಿ ಬ್ಯಾಚ್‌ಗಳನ್ನು ಆಯ್ಕೆಮಾಡಿ,
+Please select quantity on row {0},ದಯವಿಟ್ಟು row 0 row ಸಾಲಿನಲ್ಲಿ ಪ್ರಮಾಣವನ್ನು ಆರಿಸಿ,
+Please enter serial numbers for serialized item {0},ಸರಣಿ ಐಟಂ {0 for ಗೆ ದಯವಿಟ್ಟು ಸರಣಿ ಸಂಖ್ಯೆಗಳನ್ನು ನಮೂದಿಸಿ,
+Batch {0} already selected.,ಬ್ಯಾಚ್ {0} ಅನ್ನು ಈಗಾಗಲೇ ಆಯ್ಕೆ ಮಾಡಲಾಗಿದೆ.,
+Please select a warehouse to get available quantities,ಲಭ್ಯವಿರುವ ಪ್ರಮಾಣಗಳನ್ನು ಪಡೆಯಲು ದಯವಿಟ್ಟು ಗೋದಾಮು ಆಯ್ಕೆಮಾಡಿ,
+"For transfer from source, selected quantity cannot be greater than available quantity","ಮೂಲದಿಂದ ವರ್ಗಾವಣೆಗಾಗಿ, ಆಯ್ದ ಪ್ರಮಾಣವು ಲಭ್ಯವಿರುವ ಪ್ರಮಾಣಕ್ಕಿಂತ ಹೆಚ್ಚಿರಬಾರದು",
+Cannot find Item with this Barcode,ಈ ಬಾರ್‌ಕೋಡ್‌ನೊಂದಿಗೆ ಐಟಂ ಅನ್ನು ಕಂಡುಹಿಡಿಯಲಾಗುವುದಿಲ್ಲ,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} ಕಡ್ಡಾಯವಾಗಿದೆ. ಕರೆನ್ಸಿ ಎಕ್ಸ್ಚೇಂಜ್ ದಾಖಲೆಯನ್ನು {1} ರಿಂದ {2 for ಗೆ ರಚಿಸಲಾಗಿಲ್ಲ,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,link} ಅದಕ್ಕೆ ಲಿಂಕ್ ಮಾಡಲಾದ ಸ್ವತ್ತುಗಳನ್ನು ಸಲ್ಲಿಸಿದೆ. ಖರೀದಿ ಆದಾಯವನ್ನು ರಚಿಸಲು ನೀವು ಸ್ವತ್ತುಗಳನ್ನು ರದ್ದುಗೊಳಿಸಬೇಕಾಗಿದೆ.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,ಸಲ್ಲಿಸಿದ ಸ್ವತ್ತು {0 with ನೊಂದಿಗೆ ಲಿಂಕ್ ಮಾಡಲಾಗಿರುವುದರಿಂದ ಈ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ರದ್ದು ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಮುಂದುವರಿಸಲು ದಯವಿಟ್ಟು ಅದನ್ನು ರದ್ದುಗೊಳಿಸಿ.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,ಸಾಲು # {}: ಸರಣಿ ಸಂಖ್ಯೆ {already ಅನ್ನು ಈಗಾಗಲೇ ಮತ್ತೊಂದು ಪಿಒಎಸ್ ಇನ್‌ವಾಯ್ಸ್‌ಗೆ ವಹಿವಾಟು ಮಾಡಲಾಗಿದೆ. ದಯವಿಟ್ಟು ಮಾನ್ಯ ಸರಣಿ ಸಂಖ್ಯೆ ಆಯ್ಕೆಮಾಡಿ.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,ಸಾಲು # {}: ಸರಣಿ ಸಂಖ್ಯೆ.} Already ಅನ್ನು ಈಗಾಗಲೇ ಮತ್ತೊಂದು ಪಿಒಎಸ್ ಇನ್‌ವಾಯ್ಸ್‌ಗೆ ವಹಿವಾಟು ಮಾಡಲಾಗಿದೆ. ದಯವಿಟ್ಟು ಮಾನ್ಯ ಸರಣಿ ಸಂಖ್ಯೆ ಆಯ್ಕೆಮಾಡಿ.,
+Item Unavailable,ಐಟಂ ಲಭ್ಯವಿಲ್ಲ,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},ಸಾಲು # {}: ಮೂಲ ಇನ್‌ವಾಯ್ಸ್‌ನಲ್ಲಿ ವಹಿವಾಟು ಮಾಡದ ಕಾರಣ ಸರಣಿ ಸಂಖ್ಯೆ {return ಅನ್ನು ಹಿಂತಿರುಗಿಸಲಾಗುವುದಿಲ್ಲ {},
+Please set default Cash or Bank account in Mode of Payment {},ಪಾವತಿ ಕ್ರಮದಲ್ಲಿ ಡೀಫಾಲ್ಟ್ ನಗದು ಅಥವಾ ಬ್ಯಾಂಕ್ ಖಾತೆಯನ್ನು ಹೊಂದಿಸಿ {},
+Please set default Cash or Bank account in Mode of Payments {},ಪಾವತಿ ಮೋಡ್‌ನಲ್ಲಿ ದಯವಿಟ್ಟು ಡೀಫಾಲ್ಟ್ ನಗದು ಅಥವಾ ಬ್ಯಾಂಕ್ ಖಾತೆಯನ್ನು ಹೊಂದಿಸಿ {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,ದಯವಿಟ್ಟು {} ಖಾತೆಯು ಬ್ಯಾಲೆನ್ಸ್ ಶೀಟ್ ಖಾತೆಯಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ನೀವು ಪೋಷಕ ಖಾತೆಯನ್ನು ಬ್ಯಾಲೆನ್ಸ್ ಶೀಟ್ ಖಾತೆಗೆ ಬದಲಾಯಿಸಬಹುದು ಅಥವಾ ಬೇರೆ ಖಾತೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,ದಯವಿಟ್ಟು {} ಖಾತೆಯು ಪಾವತಿಸಬಹುದಾದ ಖಾತೆಯಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ. ಪಾವತಿಸಬೇಕಾದ ಖಾತೆ ಪ್ರಕಾರವನ್ನು ಬದಲಾಯಿಸಿ ಅಥವಾ ಬೇರೆ ಖಾತೆಯನ್ನು ಆರಿಸಿ.,
+Row {}: Expense Head changed to {} ,ಸಾಲು {}: ಖರ್ಚು ಹೆಡ್ ಅನ್ನು {to ಗೆ ಬದಲಾಯಿಸಲಾಗಿದೆ,
+because account {} is not linked to warehouse {} ,ಏಕೆಂದರೆ ಖಾತೆ {} ಗೋದಾಮಿನೊಂದಿಗೆ ಸಂಪರ್ಕ ಹೊಂದಿಲ್ಲ}},
+or it is not the default inventory account,ಅಥವಾ ಇದು ಡೀಫಾಲ್ಟ್ ದಾಸ್ತಾನು ಖಾತೆಯಲ್ಲ,
+Expense Head Changed,ಖರ್ಚು ತಲೆ ಬದಲಾಯಿಸಲಾಗಿದೆ,
+because expense is booked against this account in Purchase Receipt {},ಏಕೆಂದರೆ ಖರೀದಿ ರಶೀದಿಯಲ್ಲಿ ಈ ಖಾತೆಯ ವಿರುದ್ಧ ವೆಚ್ಚವನ್ನು ಕಾಯ್ದಿರಿಸಲಾಗಿದೆ}},
+as no Purchase Receipt is created against Item {}. ,ಐಟಂ against against ಗೆ ವಿರುದ್ಧವಾಗಿ ಯಾವುದೇ ಖರೀದಿ ರಶೀದಿಯನ್ನು ರಚಿಸಲಾಗಿಲ್ಲ.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,ಖರೀದಿ ಸರಕುಪಟ್ಟಿ ನಂತರ ಖರೀದಿ ರಶೀದಿಯನ್ನು ರಚಿಸಿದಾಗ ಪ್ರಕರಣಗಳ ಲೆಕ್ಕಪತ್ರವನ್ನು ನಿರ್ವಹಿಸಲು ಇದನ್ನು ಮಾಡಲಾಗುತ್ತದೆ,
+Purchase Order Required for item {},ಐಟಂ for for ಗೆ ಖರೀದಿ ಆದೇಶ ಅಗತ್ಯವಿದೆ,
+To submit the invoice without purchase order please set {} ,ಖರೀದಿ ಆದೇಶವಿಲ್ಲದೆ ಸರಕುಪಟ್ಟಿ ಸಲ್ಲಿಸಲು ದಯವಿಟ್ಟು set set ಅನ್ನು ಹೊಂದಿಸಿ,
+as {} in {},{} ನಲ್ಲಿ {as ನಂತೆ,
+Mandatory Purchase Order,ಕಡ್ಡಾಯ ಖರೀದಿ ಆದೇಶ,
+Purchase Receipt Required for item {},ಐಟಂ for for ಗೆ ಖರೀದಿ ರಶೀದಿ ಅಗತ್ಯವಿದೆ,
+To submit the invoice without purchase receipt please set {} ,ಖರೀದಿ ರಶೀದಿ ಇಲ್ಲದೆ ಸರಕುಪಟ್ಟಿ ಸಲ್ಲಿಸಲು ದಯವಿಟ್ಟು set set ಅನ್ನು ಹೊಂದಿಸಿ,
+Mandatory Purchase Receipt,ಕಡ್ಡಾಯ ಖರೀದಿ ರಶೀದಿ,
+POS Profile {} does not belongs to company {},ಪಿಒಎಸ್ ವಿವರ {company ಕಂಪನಿಗೆ ಸೇರಿಲ್ಲ {},
+User {} is disabled. Please select valid user/cashier,ಬಳಕೆದಾರ {Disable ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ. ದಯವಿಟ್ಟು ಮಾನ್ಯ ಬಳಕೆದಾರ / ಕ್ಯಾಷಿಯರ್ ಆಯ್ಕೆಮಾಡಿ,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,ಸಾಲು # {}: ರಿಟರ್ನ್ ಇನ್‌ವಾಯ್ಸ್‌ನ ಮೂಲ ಸರಕುಪಟ್ಟಿ {} {} ಆಗಿದೆ.,
+Original invoice should be consolidated before or along with the return invoice.,ರಿಟರ್ನ್ ಇನ್‌ವಾಯ್ಸ್‌ಗೆ ಮುಂಚಿತವಾಗಿ ಅಥವಾ ಅದರೊಂದಿಗೆ ಮೂಲ ಇನ್‌ವಾಯ್ಸ್ ಅನ್ನು ಕ್ರೋ id ೀಕರಿಸಬೇಕು.,
+You can add original invoice {} manually to proceed.,ಮುಂದುವರಿಯಲು ನೀವು ಮೂಲ ಇನ್‌ವಾಯ್ಸ್ ಅನ್ನು ಹಸ್ತಚಾಲಿತವಾಗಿ ಸೇರಿಸಬಹುದು.,
+Please ensure {} account is a Balance Sheet account. ,ದಯವಿಟ್ಟು {} ಖಾತೆಯು ಬ್ಯಾಲೆನ್ಸ್ ಶೀಟ್ ಖಾತೆಯಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.,
+You can change the parent account to a Balance Sheet account or select a different account.,ನೀವು ಪೋಷಕ ಖಾತೆಯನ್ನು ಬ್ಯಾಲೆನ್ಸ್ ಶೀಟ್ ಖಾತೆಗೆ ಬದಲಾಯಿಸಬಹುದು ಅಥವಾ ಬೇರೆ ಖಾತೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು.,
+Please ensure {} account is a Receivable account. ,ದಯವಿಟ್ಟು}} ಖಾತೆ ಸ್ವೀಕರಿಸುವ ಖಾತೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.,
+Change the account type to Receivable or select a different account.,ಸ್ವೀಕರಿಸುವಂತಹ ಖಾತೆ ಪ್ರಕಾರವನ್ನು ಬದಲಾಯಿಸಿ ಅಥವಾ ಬೇರೆ ಖಾತೆಯನ್ನು ಆರಿಸಿ.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},ಗಳಿಸಿದ ಲಾಯಲ್ಟಿ ಪಾಯಿಂಟ್‌ಗಳನ್ನು ಪುನಃ ಪಡೆದುಕೊಳ್ಳುವುದರಿಂದ} cancel ರದ್ದು ಮಾಡಲಾಗುವುದಿಲ್ಲ. ಮೊದಲು cancel} ಇಲ್ಲ {cancel ಅನ್ನು ರದ್ದುಗೊಳಿಸಿ,
+already exists,ಈಗಾಗಲೇ ಇದೆ,
+POS Closing Entry {} against {} between selected period,ಪಿಒಎಸ್ ಮುಚ್ಚುವ ಪ್ರವೇಶ {} ವಿರುದ್ಧ {} ಆಯ್ದ ಅವಧಿಯ ನಡುವೆ,
+POS Invoice is {},ಪಿಒಎಸ್ ಸರಕುಪಟ್ಟಿ {is ಆಗಿದೆ,
+POS Profile doesn't matches {},ಪಿಓಎಸ್ ಪ್ರೊಫೈಲ್ match match ಗೆ ಹೊಂದಿಕೆಯಾಗುವುದಿಲ್ಲ,
+POS Invoice is not {},ಪಿಒಎಸ್ ಸರಕುಪಟ್ಟಿ {not ಅಲ್ಲ,
+POS Invoice isn't created by user {},POS ಸರಕುಪಟ್ಟಿ ಬಳಕೆದಾರರಿಂದ ರಚಿಸಲ್ಪಟ್ಟಿಲ್ಲ {},
+Row #{}: {},ಸಾಲು # {}: {},
+Invalid POS Invoices,ಅಮಾನ್ಯ ಪಿಓಎಸ್ ಇನ್ವಾಯ್ಸ್ಗಳು,
+Please add the account to root level Company - {},ದಯವಿಟ್ಟು ಮೂಲ ಮಟ್ಟದ ಕಂಪನಿಗೆ ಖಾತೆಯನ್ನು ಸೇರಿಸಿ - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","ಚೈಲ್ಡ್ ಕಂಪನಿ {0 for ಗೆ ಖಾತೆಯನ್ನು ರಚಿಸುವಾಗ, ಪೋಷಕ ಖಾತೆ {1 found ಕಂಡುಬಂದಿಲ್ಲ. ಅನುಗುಣವಾದ COA ನಲ್ಲಿ ದಯವಿಟ್ಟು ಪೋಷಕ ಖಾತೆಯನ್ನು ರಚಿಸಿ",
+Account Not Found,ಖಾತೆ ಕಂಡುಬಂದಿಲ್ಲ,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","ಚೈಲ್ಡ್ ಕಂಪನಿ {0 for ಗೆ ಖಾತೆಯನ್ನು ರಚಿಸುವಾಗ, ಪೋಷಕ ಖಾತೆ {1 a ಲೆಡ್ಜರ್ ಖಾತೆಯಾಗಿ ಕಂಡುಬರುತ್ತದೆ.",
+Please convert the parent account in corresponding child company to a group account.,ದಯವಿಟ್ಟು ಅನುಗುಣವಾದ ಮಕ್ಕಳ ಕಂಪನಿಯಲ್ಲಿನ ಪೋಷಕ ಖಾತೆಯನ್ನು ಗುಂಪು ಖಾತೆಗೆ ಪರಿವರ್ತಿಸಿ.,
+Invalid Parent Account,ಅಮಾನ್ಯ ಪೋಷಕ ಖಾತೆ,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",ಹೊಂದಿಕೆಯಾಗದಂತೆ ತಪ್ಪಿಸಲು ಅದನ್ನು ಮರುಹೆಸರಿಸಲು ಮೂಲ ಕಂಪನಿ {0 via ಮೂಲಕ ಮಾತ್ರ ಅನುಮತಿಸಲಾಗಿದೆ.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","ನೀವು {2} ಐಟಂನ {0} {1} ಪ್ರಮಾಣಗಳಾಗಿದ್ದರೆ, {3 the ಸ್ಕೀಮ್ ಅನ್ನು ಐಟಂನಲ್ಲಿ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","ನೀವು {2} ಮೌಲ್ಯದ ಐಟಂ {2 If ಆಗಿದ್ದರೆ, {3 the ಸ್ಕೀಮ್ ಅನ್ನು ಐಟಂನಲ್ಲಿ ಅನ್ವಯಿಸಲಾಗುತ್ತದೆ.",
+"As the field {0} is enabled, the field {1} is mandatory.","{0 field ಕ್ಷೇತ್ರವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಂತೆ, {1 field ಕ್ಷೇತ್ರವು ಕಡ್ಡಾಯವಾಗಿದೆ.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","{0 field ಕ್ಷೇತ್ರವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದಂತೆ, {1 the ಕ್ಷೇತ್ರದ ಮೌಲ್ಯವು 1 ಕ್ಕಿಂತ ಹೆಚ್ಚಿರಬೇಕು.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},ಪೂರ್ಣ ಪ್ರಮಾಣದ ಮಾರಾಟ ಆದೇಶ {2 to ಗೆ ಕಾಯ್ದಿರಿಸಲಾಗಿರುವ ಕಾರಣ {1 item ಐಟಂ {0 Ser ನ ಸರಣಿ ಸಂಖ್ಯೆ ತಲುಪಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","ಮಾರಾಟ ಆದೇಶ {0 the ಐಟಂಗೆ reservation 1 reservation ಅನ್ನು ಕಾಯ್ದಿರಿಸಿದೆ, ನೀವು ಕಾಯ್ದಿರಿಸಿದ {1} ಅನ್ನು {0 against ಗೆ ಮಾತ್ರ ತಲುಪಿಸಬಹುದು.",
+{0} Serial No {1} cannot be delivered,{0} ಸರಣಿ ಸಂಖ್ಯೆ {1 delivery ತಲುಪಿಸಲಾಗುವುದಿಲ್ಲ,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},ಸಾಲು {0}: ಕಚ್ಚಾ ವಸ್ತು {1 for ಗೆ ಉಪಗುತ್ತಿಗೆ ವಸ್ತು ಕಡ್ಡಾಯವಾಗಿದೆ,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","ಸಾಕಷ್ಟು ಕಚ್ಚಾ ವಸ್ತುಗಳು ಇರುವುದರಿಂದ, ಉಗ್ರಾಣ {0 for ಗೆ ವಸ್ತು ವಿನಂತಿ ಅಗತ್ಯವಿಲ್ಲ.",
+" If you still want to proceed, please enable {0}.","ನೀವು ಇನ್ನೂ ಮುಂದುವರಿಯಲು ಬಯಸಿದರೆ, ದಯವಿಟ್ಟು {0 enable ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ.",
+The item referenced by {0} - {1} is already invoiced,{0} - {1 by ನಿಂದ ಉಲ್ಲೇಖಿಸಲಾದ ಐಟಂ ಈಗಾಗಲೇ ಇನ್ವಾಯ್ಸ್ ಆಗಿದೆ,
+Therapy Session overlaps with {0},ಥೆರಪಿ ಸೆಷನ್ {0 with ನೊಂದಿಗೆ ಅತಿಕ್ರಮಿಸುತ್ತದೆ,
+Therapy Sessions Overlapping,ಥೆರಪಿ ಸೆಷನ್‌ಗಳು ಅತಿಕ್ರಮಿಸುತ್ತವೆ,
+Therapy Plans,ಚಿಕಿತ್ಸೆಯ ಯೋಜನೆಗಳು,
+"Item Code, warehouse, quantity are required on row {0}","Code 0 row ಸಾಲಿನಲ್ಲಿ ಐಟಂ ಕೋಡ್, ಗೋದಾಮು, ಪ್ರಮಾಣ ಅಗತ್ಯವಿದೆ",
+Get Items from Material Requests against this Supplier,ಈ ಸರಬರಾಜುದಾರರ ವಿರುದ್ಧ ವಸ್ತು ವಿನಂತಿಗಳಿಂದ ವಸ್ತುಗಳನ್ನು ಪಡೆಯಿರಿ,
+Enable European Access,ಯುರೋಪಿಯನ್ ಪ್ರವೇಶವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ,
+Creating Purchase Order ...,ಖರೀದಿ ಆದೇಶವನ್ನು ರಚಿಸಲಾಗುತ್ತಿದೆ ...,
+"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.","ಕೆಳಗಿನ ಐಟಂಗಳ ಡೀಫಾಲ್ಟ್ ಪೂರೈಕೆದಾರರಿಂದ ಸರಬರಾಜುದಾರರನ್ನು ಆಯ್ಕೆಮಾಡಿ. ಆಯ್ಕೆಯ ಮೇಲೆ, ಆಯ್ದ ಸರಬರಾಜುದಾರರಿಗೆ ಮಾತ್ರ ಸೇರಿದ ವಸ್ತುಗಳ ವಿರುದ್ಧ ಖರೀದಿ ಆದೇಶವನ್ನು ಮಾಡಲಾಗುತ್ತದೆ.",
+Row #{}: You must select {} serial numbers for item {}.,ಸಾಲು # {}: ನೀವು item item ಐಟಂಗೆ {} ಸರಣಿ ಸಂಖ್ಯೆಗಳನ್ನು ಆರಿಸಬೇಕು.,
diff --git a/erpnext/translations/ko.csv b/erpnext/translations/ko.csv
index 579e3b2..c051b07 100644
--- a/erpnext/translations/ko.csv
+++ b/erpnext/translations/ko.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',카테고리는 &#39;평가&#39;또는 &#39;Vaulation과 전체&#39;에 대한 때 공제 할 수 없음,
 "Cannot delete Serial No {0}, as it is used in stock transactions","삭제할 수 없습니다 시리얼 번호 {0}, 그것은 증권 거래에 사용되는로",
 Cannot enroll more than {0} students for this student group.,이 학생 그룹에 대한 {0} 학생 이상 등록 할 수 없습니다.,
-Cannot find Item with this barcode,이 바코드가있는 항목을 찾을 수 없습니다.,
 Cannot find active Leave Period,활성 휴가 기간을 찾을 수 없습니다.,
 Cannot produce more Item {0} than Sales Order quantity {1},더 많은 항목을 생성 할 수 없습니다 {0}보다 판매 주문 수량 {1},
 Cannot promote Employee with status Left,상태가 왼쪽 인 직원을 승격 할 수 없습니다.,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","만들고, 매일, 매주 및 매월 이메일 다이제스트를 관리 할 수 있습니다.",
 Create customer quotes,고객 따옴표를 만들기,
 Create rules to restrict transactions based on values.,값을 기준으로 거래를 제한하는 규칙을 만듭니다.,
-Created By,제작,
 Created {0} scorecards for {1} between: ,{1}의 {0} 스코어 카드 생성 :,
 Creating Company and Importing Chart of Accounts,회사 만들기 및 계정 차트 가져 오기,
 Creating Fees,수수료 만들기,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,행 {0} : 계획 수량 입력,
 "For {0}, only credit accounts can be linked against another debit entry",{0} 만 신용 계정은 자동 이체 항목에 링크 할 수 있습니다 들어,
 "For {0}, only debit accounts can be linked against another credit entry",{0} 만 직불 계정은 다른 신용 항목에 링크 할 수 있습니다 들어,
-Form View,양식보기,
 Forum Activity,포럼 활동,
 Free item code is not selected,무료 항목 코드가 선택되지 않았습니다.,
 Freight and Forwarding Charges,화물 운송 및 포워딩 요금,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,상대에게 대량 SMS를 보내기,
 Sensitivity,감광도,
 Sent,발신,
-Serial #,직렬 #,
 Serial No and Batch,일련 번호 및 배치,
 Serial No is mandatory for Item {0},일련 번호는 항목에 대해 필수입니다 {0},
 Serial No {0} does not belong to Batch {1},일련 번호 {0}이 배치 {1}에 속해 있지 않습니다.,
@@ -3303,7 +3299,6 @@
 What do you need help with?,어떤 도움이 필요 하신가요?,
 What does it do?,그것은 무엇을 하는가?,
 Where manufacturing operations are carried.,제조 작업은 어디를 수행한다.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",하위 회사 {0}에 대한 계정을 만드는 동안 상위 계정 {1}을 (를) 찾을 수 없습니다. 해당 COA에서 상위 계정을 생성하십시오.,
 White,화이트,
 Wire Transfer,송금,
 WooCommerce Products,WooCommerce 제품,
@@ -3493,6 +3488,7 @@
 Merge with existing,기존에 병합,
 Office,사무실,
 Orientation,정위,
+Parent,부모의,
 Passive,수동,
 Payment Failed,결제 실패,
 Percent,퍼센트,
@@ -3543,6 +3539,7 @@
 Show {0},{0} 표시,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","이름 계열에 허용되지 않는 &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot;및 &quot;}&quot;을 제외한 특수 문자",
 Target Details,대상 세부 정보,
+{0} already has a Parent Procedure {1}.,{0}에 이미 상위 절차 {1}이 있습니다.,
 API,API,
 Annual,연간,
 Approved,인가 된,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,종료일은 시작일보다 짧을 수 없습니다.,
 For Default Supplier (Optional),기본 공급 업체 (선택 사항),
 From date cannot be greater than To date,날짜에서 날짜보다 클 수 없습니다,
-Get items from,에서 항목을 가져 오기,
 Group by,그룹으로,
 In stock,재고,
 Item name,품명,
@@ -7558,10 +7554,6 @@
 Quality Goal,품질 목표,
 Monitoring Frequency,모니터링 빈도,
 Weekday,주일,
-January-April-July-October,1 월 -4 월 -7 월 -10 월,
-Revision and Revised On,개정 및 개정,
-Revision,개정,
-Revised On,개정일,
 Objectives,목표,
 Quality Goal Objective,품질 목표 목표,
 Objective,목표,
@@ -7574,7 +7566,6 @@
 Processes,프로세스,
 Quality Procedure Process,품질 절차 과정,
 Process Description,프로세스 설명,
-Child Procedure,아동 수속,
 Link existing Quality Procedure.,기존 품질 절차 링크.,
 Additional Information,추가 정보,
 Quality Review Objective,품질 검토 목표,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,구매 영수증 동향,
 Purchase Register,회원에게 구매,
 Quotation Trends,견적 동향,
-Quoted Item Comparison,인용 상품 비교,
 Received Items To Be Billed,청구에 주어진 항목,
 Qty to Order,수량은 주문,
 Requested Items To Be Transferred,전송할 요청 항목,
@@ -9091,7 +9081,6 @@
 Absent Days,결석 일,
 Conditions and Formula variable and example,조건 및 수식 변수 및 예,
 Feedback By,피드백,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,제조 섹션,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",기본적으로 고객 이름은 입력 한 전체 이름에 따라 설정됩니다. 고객의 이름을,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,새 판매 트랜잭션을 생성 할 때 기본 가격 목록을 구성합니다. 이 가격 목록에서 항목 가격을 가져옵니다.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,예약 잔액,
 Uncleared Balance,미 정산 잔액,
 Payment related to {0} is not completed,{0} 관련 결제가 완료되지 않았습니다.,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,행 # {} : 일련 번호 {}. {}은 이미 다른 POS 송장으로 거래되었습니다. 유효한 일련 번호를 선택하십시오.,
 Row #{}: Item Code: {} is not available under warehouse {}.,행 # {} : 품목 코드 : {}은 창고 {}에서 사용할 수 없습니다.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,행 # {} : 창고 {} 아래의 품목 코드 : {}에 대한 재고 수량이 충분하지 않습니다. 사용 가능한 수량 {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,행 # {} : 품목 {}에 대해 일련 번호 및 배치를 선택하거나 제거하여 트랜잭션을 완료하십시오.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,계속하려면 재고 설정에서 음수 재고 허용을 활성화하거나 재고 항목을 생성하십시오.,
 No Inpatient Record found against patient {0},{0} 환자에 대한 입원 기록이 없습니다.,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,환자 만남 {1}에 대한 입원 환자 약물 명령 {0}이 (가) 이미 존재합니다.,
+Allow In Returns,반품 허용,
+Hide Unavailable Items,사용할 수없는 항목 숨기기,
+Apply Discount on Discounted Rate,할인 요금에 할인 적용,
+Therapy Plan Template,치료 계획 템플릿,
+Fetching Template Details,템플릿 세부 정보 가져 오기,
+Linked Item Details,링크 된 항목 세부 정보,
+Therapy Types,치료 유형,
+Therapy Plan Template Detail,치료 계획 템플릿 세부 정보,
+Non Conformance,부적합,
+Process Owner,프로세스 소유자,
+Corrective Action,시정 조치,
+Preventive Action,예방 조치,
+Problem,문제,
+Responsible,책임감,
+Completion By,완료 자,
+Process Owner Full Name,프로세스 소유자 전체 이름,
+Right Index,오른쪽 색인,
+Left Index,왼쪽 색인,
+Sub Procedure,하위 절차,
+Passed,합격,
+Print Receipt,영수증 인쇄,
+Edit Receipt,영수증 편집,
+Focus on search input,검색 입력에 집중,
+Focus on Item Group filter,항목 그룹 필터에 집중,
+Checkout Order / Submit Order / New Order,주문 확인 / 주문 제출 / 새 주문,
+Add Order Discount,주문 할인 추가,
+Item Code: {0} is not available under warehouse {1}.,상품 코드 : {0}은 (는) {1} 창고에서 사용할 수 없습니다.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,{1} 창고에있는 {0} 항목에 대해 일련 번호를 사용할 수 없습니다. 창고 변경을 시도하십시오.,
+Fetched only {0} available serial numbers.,{0} 개의 사용 가능한 일련 번호 만 가져 왔습니다.,
+Switch Between Payment Modes,결제 모드 간 전환,
+Enter {0} amount.,{0} 금액을 입력하세요.,
+You don't have enough points to redeem.,사용할 포인트가 충분하지 않습니다.,
+You can redeem upto {0}.,최대 {0}까지 사용할 수 있습니다.,
+Enter amount to be redeemed.,사용할 금액을 입력하세요.,
+You cannot redeem more than {0}.,{0} 이상 사용할 수 없습니다.,
+Open Form View,양식보기 열기,
+POS invoice {0} created succesfully,POS 인보이스 {0}이 (가) 성공적으로 생성되었습니다.,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,항목 코드에 대한 재고 수량이 충분하지 않습니다. {0} 창고 아래 {1}. 사용 가능한 수량 {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,일련 번호 : {0}은 (는) 이미 다른 POS 인보이스로 거래되었습니다.,
+Balance Serial No,잔액 일련 번호,
+Warehouse: {0} does not belong to {1},창고 : {0}은 (는) {1}에 속하지 않습니다.,
+Please select batches for batched item {0},일괄 항목 {0}에 대한 일괄을 선택하십시오.,
+Please select quantity on row {0},{0} 행에서 수량을 선택하십시오.,
+Please enter serial numbers for serialized item {0},일련 번호가있는 항목 {0}의 일련 번호를 입력하십시오.,
+Batch {0} already selected.,일괄 {0}이 (가) 이미 선택되었습니다.,
+Please select a warehouse to get available quantities,사용 가능한 수량을 확인하려면 창고를 선택하십시오.,
+"For transfer from source, selected quantity cannot be greater than available quantity",출처에서 이전하는 경우 선택한 수량이 가용 수량보다 클 수 없습니다.,
+Cannot find Item with this Barcode,이 바코드로 항목을 찾을 수 없습니다,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0}은 (는) 필수입니다. {1}에서 {2}까지의 환전 기록이 생성되지 않았을 수 있습니다.,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{}이 (가) 연결된 자산을 제출했습니다. 구매 반품을 생성하려면 자산을 취소해야합니다.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,이 문서는 제출 된 자산 {0}에 연결되어 있으므로 취소 할 수 없습니다. 계속하려면 취소하세요.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,행 # {} : 일련 번호 {}이 이미 다른 POS 송장으로 거래되었습니다. 유효한 일련 번호를 선택하십시오.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,행 # {} : 일련 번호 {}이 이미 다른 POS 송장으로 거래되었습니다. 유효한 일련 번호를 선택하십시오.,
+Item Unavailable,사용할 수없는 항목,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},행 # {} : 일련 번호 {}이 원래 송장 {}에서 거래되지 않았으므로 반환 할 수 없습니다.,
+Please set default Cash or Bank account in Mode of Payment {},결제 모드에서 기본 현금 또는 은행 계좌를 설정하세요. {},
+Please set default Cash or Bank account in Mode of Payments {},결제 모드에서 기본 현금 또는 은행 계좌를 설정하십시오 {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,{} 계정이 대차 대조표 계정인지 확인하십시오. 상위 계정을 대차 대조표 계정으로 변경하거나 다른 계정을 선택할 수 있습니다.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,{} 계정이 Payable 계정인지 확인하십시오. 계정 유형을 Payable로 변경하거나 다른 계정을 선택하십시오.,
+Row {}: Expense Head changed to {} ,{} 행 : 비용 헤드가 {} (으)로 변경되었습니다.,
+because account {} is not linked to warehouse {} ,{} 계정이 {} 창고에 연결되어 있지 않기 때문입니다.,
+or it is not the default inventory account,또는 기본 인벤토리 계정이 아닙니다.,
+Expense Head Changed,비용 헤드 변경됨,
+because expense is booked against this account in Purchase Receipt {},구매 영수증 {}에서이 계정에 대한 비용이 기장 되었기 때문입니다.,
+as no Purchase Receipt is created against Item {}. ,항목 {}에 대해 구매 영수증이 생성되지 않았기 때문입니다.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,구매 인보이스 후 구매 영수증이 생성되는 경우에 대한 회계 처리를 위해 수행됩니다.,
+Purchase Order Required for item {},{} 항목에 대한 구매 주문 필요,
+To submit the invoice without purchase order please set {} ,구매 주문없이 인보이스를 제출하려면 {}을 (를) 설정하십시오.,
+as {} in {},{}에서 {}로,
+Mandatory Purchase Order,필수 구매 오더,
+Purchase Receipt Required for item {},{} 항목에 대한 구매 영수증 필요,
+To submit the invoice without purchase receipt please set {} ,구매 영수증없이 인보이스를 제출하려면 {}를 설정하세요.,
+Mandatory Purchase Receipt,필수 구매 영수증,
+POS Profile {} does not belongs to company {},POS 프로필 {}은 (는) 회사 {}에 속하지 않습니다.,
+User {} is disabled. Please select valid user/cashier,{} 사용자가 비활성화되었습니다. 유효한 사용자 / 직원을 선택하십시오,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,행 # {} : 반품 인보이스 {}의 원래 인보이스 {}은 {}입니다.,
+Original invoice should be consolidated before or along with the return invoice.,원래 인보이스는 반품 인보이스와 함께 통합되어야합니다.,
+You can add original invoice {} manually to proceed.,계속하려면 원본 인보이스 {}를 수동으로 추가 할 수 있습니다.,
+Please ensure {} account is a Balance Sheet account. ,{} 계정이 대차 대조표 계정인지 확인하십시오.,
+You can change the parent account to a Balance Sheet account or select a different account.,상위 계정을 대차 대조표 계정으로 변경하거나 다른 계정을 선택할 수 있습니다.,
+Please ensure {} account is a Receivable account. ,{} 계정이 미수금 계정인지 확인하십시오.,
+Change the account type to Receivable or select a different account.,계정 유형을 Receivable로 변경하거나 다른 계정을 선택합니다.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},적립 된 로열티 포인트가 사용되었으므로 {}을 취소 할 수 없습니다. 먼저 {} 아니요 {} 취소,
+already exists,이미 존재 함,
+POS Closing Entry {} against {} between selected period,선택한 기간 사이에 {}에 대한 POS 마감 항목 {},
+POS Invoice is {},POS 송장은 {}입니다.,
+POS Profile doesn't matches {},POS 프로필이 {}과 (와) 일치하지 않습니다.,
+POS Invoice is not {},POS 송장이 {}이 아닙니다.,
+POS Invoice isn't created by user {},{} 사용자가 POS 인보이스를 생성하지 않았습니다.,
+Row #{}: {},행 # {} : {},
+Invalid POS Invoices,잘못된 POS 송장,
+Please add the account to root level Company - {},루트 수준 회사에 계정을 추가하십시오-{},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",하위 회사 {0}에 대한 계정을 만드는 동안 상위 계정 {1}을 (를) 찾을 수 없습니다. 해당 COA에서 상위 계정을 만드십시오.,
+Account Not Found,계정을 찾지 못했습니다,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",하위 회사 {0}에 대한 계정을 만드는 동안 상위 계정 {1}이 (가) 원장 계정으로 발견되었습니다.,
+Please convert the parent account in corresponding child company to a group account.,해당 하위 회사의 상위 계정을 그룹 계정으로 전환하십시오.,
+Invalid Parent Account,잘못된 부모 계정,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",이름 변경은 불일치를 방지하기 위해 모회사 {0}를 통해서만 허용됩니다.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",{0} 항목 {1} 수량 {2} 인 경우 {3} 체계가 항목에 적용됩니다.,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",항목 {2}에 대해 {0} {1} 가치가있는 경우 {3} 체계가 항목에 적용됩니다.,
+"As the field {0} is enabled, the field {1} is mandatory.",{0} 필드가 사용 가능하므로 {1} 필드는 필수입니다.,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",{0} 필드가 사용 가능하므로 {1} 필드의 값은 1보다 커야합니다.,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},판매 주문 {2}을 (를) 채우기 위해 예약되어 있으므로 {1} 항목의 일련 번호 {0}을 (를) 배송 할 수 없습니다.,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",판매 주문 {0}에 {1} 항목에 대한 예약이 있습니다. {0}에 대해 예약 된 {1} 만 배송 할 수 있습니다.,
+{0} Serial No {1} cannot be delivered,{0} 일련 번호 {1}을 (를) 배송 할 수 없습니다.,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},행 {0} : 원자재 {1}에 대한 외주 품목은 필수입니다.,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",충분한 원자재가 있으므로 창고 {0}에 대한 자재 요청이 필요하지 않습니다.,
+" If you still want to proceed, please enable {0}.",계속하려면 {0}을 (를) 활성화하십시오.,
+The item referenced by {0} - {1} is already invoiced,{0}-{1}에서 참조하는 항목은 이미 인보이스가 발행되었습니다.,
+Therapy Session overlaps with {0},치료 세션이 {0}와 (과) 겹칩니다.,
+Therapy Sessions Overlapping,겹치는 치료 세션,
+Therapy Plans,치료 계획,
+"Item Code, warehouse, quantity are required on row {0}","{0} 행에 품목 코드, 창고, 수량이 필요합니다.",
+Get Items from Material Requests against this Supplier,이 공급자에 대한 자재 요청에서 품목 가져 오기,
+Enable European Access,유럽 액세스 활성화,
+Creating Purchase Order ...,구매 오더 생성 ...,
+"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.",아래 항목의 기본 공급자에서 공급자를 선택합니다. 선택시 선택한 공급 업체에 속한 품목에 대해서만 구매 주문이 작성됩니다.,
+Row #{}: You must select {} serial numbers for item {}.,행 # {} : 항목 {}에 대해 {} 일련 번호를 선택해야합니다.,
diff --git a/erpnext/translations/ku.csv b/erpnext/translations/ku.csv
index a12ba33..6962ea1 100644
--- a/erpnext/translations/ku.csv
+++ b/erpnext/translations/ku.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',ne dikarin dadixînin dema kategoriyê e ji bo &#39;Valuation&#39; an jî &#39;Vaulation û Total&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","ne dikarin jêbirin Serial No {0}, wekî ku di karbazarên stock bikaranîn",
 Cannot enroll more than {0} students for this student group.,ne dikarin zêdetir ji {0} xwendekar ji bo vê koma xwendekaran kul.,
-Cannot find Item with this barcode,Naha bi vê barcode re Dîtin,
 Cannot find active Leave Period,Dema vekêşanê ya Çalakî nayê dîtin,
 Cannot produce more Item {0} than Sales Order quantity {1},Can babet zêdetir {0} ji Sales Order dorpêçê de hilberandina ne {1},
 Cannot promote Employee with status Left,Kes nikare karûbarê çepê ya Çep bigirin,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Create û rêvebirin û digests email rojane, hefteyî û mehane.",
 Create customer quotes,Create quotes mişterî,
 Create rules to restrict transactions based on values.,Create qaîdeyên ji bo bisînorkirina muamele li ser bingeha nirxên.,
-Created By,created By,
 Created {0} scorecards for {1} between: ,{1} ji bo {1} scorecards {,
 Creating Company and Importing Chart of Accounts,Afirandina Pargîdaniyê û Danûstendina Damezrênerê,
 Creating Fees,Pargîdanî,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Ji bo row {0},
 "For {0}, only credit accounts can be linked against another debit entry","Ji bo {0}, tenê bikarhênerên credit dikare li dijî entry debit din ve girêdayî",
 "For {0}, only debit accounts can be linked against another credit entry","Ji bo {0}, tenê bikarhênerên debit dikare li dijî entry credit din ve girêdayî",
-Form View,Form View,
 Forum Activity,Çalakiya Forum,
 Free item code is not selected,Koda belaş belaş nayê hilbijartin,
 Freight and Forwarding Charges,Koçberên êşkencebûyî tê û şandinê de doz li,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Send SMS girseyî ji bo têkiliyên xwe,
 Sensitivity,Hisê nazik,
 Sent,Şandin,
-Serial #,Serial #,
 Serial No and Batch,Serial No û Batch,
 Serial No is mandatory for Item {0},No Serial ji bo babet wêneke e {0},
 Serial No {0} does not belong to Batch {1},No Serial No {0} ne girêdayî ye {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Çi ji we re alîkarî pêwîst bi?,
 What does it do?,Çi bikim?,
 Where manufacturing operations are carried.,Li ku derê operasyonên bi aktîvîteyên bi çalakiyek hatiye lidarxistin.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Dema ku hesab ji bo Companyirketa zarokan {0} çê kir, hesabê dêûbavê {1} nehat dîtin. Ji kerema xwe hesabê dêûbav di COA-yê ya têkildar de biafirînin",
 White,spî,
 Wire Transfer,Transfer wire,
 WooCommerce Products,Berhemên WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Merge bi heyî,
 Office,Dayre,
 Orientation,Orientation,
+Parent,dê û bav,
 Passive,Nejîr,
 Payment Failed,Payment biserneket,
 Percent,ji sedî,
@@ -3543,6 +3539,7 @@
 Show {0},Show {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Di tîpa navnasî de ji bilî &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Û &quot;}&quot; tîpên Taybet",
 Target Details,Hûrgulên armancê,
+{0} already has a Parent Procedure {1}.,{0} ji berê ve heye Parent Procedure {1}.,
 API,API,
 Annual,Yeksalî,
 Approved,pejirandin,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Dîrok Dîroka Destpêk Destpêk Dibe,
 For Default Supplier (Optional),Ji bo Default Supplier (alternatîf),
 From date cannot be greater than To date,Ji Date ne dikarin bibin mezintir To Date,
-Get items from,Get tomar ji,
 Group by,Koma By,
 In stock,Ez bêzarim,
 Item name,Navê Navekî,
@@ -7558,10 +7554,6 @@
 Quality Goal,Armanca Qalîteyê,
 Monitoring Frequency,Frekansa avdêrî,
 Weekday,Hefteya çûyî,
-January-April-July-October,Januaryile-Avrêl-Tîrmeh-irî,
-Revision and Revised On,Revîzekirin û Li ser Dît,
-Revision,Nûxwestin,
-Revised On,Li ser revandin,
 Objectives,Armanc,
 Quality Goal Objective,Armanca Armanca Qalîteyê,
 Objective,Berdest,
@@ -7574,7 +7566,6 @@
 Processes,Pêvajoyên,
 Quality Procedure Process,Pêvajoya Karûbarê kalîteyê,
 Process Description,Danasîna pêvajoyê,
-Child Procedure,Rêbaza Zarok,
 Link existing Quality Procedure.,Pêvajoya Kêmasiyê ya heyî girêdin.,
 Additional Information,Agahdariya Zêdeyî,
 Quality Review Objective,Armanca nirxandina kalîteyê,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Trends kirînê Meqbûz,
 Purchase Register,Buy Register,
 Quotation Trends,Trends quotation,
-Quoted Item Comparison,Babetê têbinî eyna,
 Received Items To Be Billed,Pêşwaziya Nawy ye- Be,
 Qty to Order,Qty siparîş,
 Requested Items To Be Transferred,Nawy xwestin veguhestin,
@@ -9091,7 +9081,6 @@
 Absent Days,Rojên Tunebûyî,
 Conditions and Formula variable and example,Itionsert û Formula guhêrbar û mînak,
 Feedback By,Feedback By,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Beşa Çêkirinê,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Bi default, Navê Xerîdar li gorî Navê Tevahî yê hatî nivîsandin tê saz kirin. Heke hûn dixwazin Xerîdar ji hêla a ve bêne nav kirin",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Dema ku danûstendinek firotanê ya nû çêbikin Lîsteya Bihayê ya default saz bikin. Bihayên tiştan dê ji vê Lîsteya Bihayê werin girtin.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Bilaniya Reserve,
 Uncleared Balance,Bîlançoya Nediyar,
 Payment related to {0} is not completed,Dravdayîna têkildarî {0} neqediyaye,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rêza # {}: Na rêzeya {}. {} berê li Fatûreya POS-a din hatî veguhastin. Ji kerema xwe serial no derbasdar hilbijêrin.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Rêzeya # {}: Koda Tiştê: {} di bin embarê de tune ye {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rêzok # {}: Hêjmara pargîdaniyê ji bo Code Code têr nake: {} di bin embarê de {}. Hêjmara heyî {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rêzok # {}: Ji kerema xwe li dijî hejmar rêzeyek û rêzek hilbijêrin: {} an jî wê hilînin da ku danûstendinê biqedînin.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Ji kerema xwe Destûra Negatîfek Bişkojk di Mîhengên Bişkojkê de çalak bikin an Bişêwira Stock-ê biafirînin da ku berdewam bike.,
 No Inpatient Record found against patient {0},Li dijî nexweş tomarek Nexweşxaneyê nehat dîtin {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Biryarnameyek Dermanên Nexweşxaneyê {0} li dijî Hevdîtina Nexweşan {1} jixwe heye.,
+Allow In Returns,Di Vegerê de Destûrê bide,
+Hide Unavailable Items,Tiştên Çêdibe Veşêre,
+Apply Discount on Discounted Rate,Li Rêjeya Daxistî Dakêşan Bikin,
+Therapy Plan Template,Planablon Plana Terapiyê,
+Fetching Template Details,Fetching Details Details,
+Linked Item Details,Agahdariyên Tişkî Giredayî,
+Therapy Types,Cureyên Terapiyê,
+Therapy Plan Template Detail,Detail plateablon a Plana Terapiyê,
+Non Conformance,Ne Lihevhatin,
+Process Owner,Xwediyê Pêvajoyê,
+Corrective Action,Çalakiya Ragihandinê,
+Preventive Action,Çalakiya Pêşîlêgir,
+Problem,Pirsegirêk,
+Responsible,Berpirsîyare,
+Completion By,Temamkirin Ji hêla,
+Process Owner Full Name,Xwediyê Pêvajoyê Navê Tevahî,
+Right Index,Indeksa Rast,
+Left Index,Indeksa Çep,
+Sub Procedure,Bû prosedure,
+Passed,Derbas bû,
+Print Receipt,Receipt Print,
+Edit Receipt,Receipt biguherînin,
+Focus on search input,Li ser input lêgerîn bisekinin,
+Focus on Item Group filter,Li ser Parzûna Koma Item bisekinin,
+Checkout Order / Submit Order / New Order,Biryarnameya Kirînê / Biryarnameyê / Biryara Nû bişînin,
+Add Order Discount,Zencîreya Rêzê zêde bikin,
+Item Code: {0} is not available under warehouse {1}.,Koda Tiştê: {0} di bin embarê de tune {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Hejmarên rêzê ji bo Hêmana {0} di bin embarê de {1} tune. Ji kerema xwe ambaran biguherînin.,
+Fetched only {0} available serial numbers.,Tenê {0} hejmarên rêzê yên berdest hatin stendin.,
+Switch Between Payment Modes,Di Navbera Modên Peredanê de Guherîn,
+Enter {0} amount.,Hejmara {0} binivîse.,
+You don't have enough points to redeem.,Ji we re xalên ku hûn xilas bikin têr nakin.,
+You can redeem upto {0}.,Hûn dikarin heya {0} bikar bînin.,
+Enter amount to be redeemed.,Hejmara ku were xilas kirin têkevinê.,
+You cannot redeem more than {0}.,Hûn nekarin ji {0} pirtirîn bikirin.,
+Open Form View,Dîtina Formê Vekin,
+POS invoice {0} created succesfully,Fatura POS-ê {0} bi serfirazî hate afirandin,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Hêjmara pargîdaniyê ji bo Koda Tiştê têr nake: {0} bin embarê {1} Hejmara heyî {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Hejmara rêzê: {0} berê li Fatûreya POS-a din hatiye veguhastin.,
+Balance Serial No,Hejmara Rêzeya Hevsengiyê,
+Warehouse: {0} does not belong to {1},Warehouse: {0} ne ya {1} e,
+Please select batches for batched item {0},Ji kerema xwe ji bo pargîdaniya pargîdanî komek hilbijêrin {0},
+Please select quantity on row {0},Ji kerema xwe hejmar li ser rêzê hilbijêrin {0},
+Please enter serial numbers for serialized item {0},Ji kerema xwe jimarên rêzê ji bo hêjmara rêzkirî binivîse {0},
+Batch {0} already selected.,Koma {0} jixwe hilbijartî.,
+Please select a warehouse to get available quantities,Ji kerema xwe embarek hilbijêrin da ku mîqdarên berdest bistînin,
+"For transfer from source, selected quantity cannot be greater than available quantity","Ji bo veguhastina ji çavkaniyê, mîqdara bijarte ji hejmaiya berdest mezintir nabe",
+Cannot find Item with this Barcode,Bi vê Barkodê Nikarin Tiştê bibînin,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} mecbûrî ye. Dibe ku tomara Danûstandina Pereyê ji bo {1} heya {2} neyê afirandin,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} hebûnên pê ve girêdayî ve şandiye. Hûn hewce ne ku sermayeyan betal bikin da ku vegera kirînê çêbikin.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Nikare vê belgeyê betal bike ji ber ku bi sermayeya şandî ve girêdayî ye {0}. Ji kerema xwe wê betal bikin ku berdewam bike.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rêzok # {}: Hejmara rêzê. {} Jixwe li Fatûreya POS-a din hatiye veguheztin. Ji kerema xwe serial no derbasdar hilbijêrin.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rêza # {}: Hejmarên rêzê. {} Berê jî li Fatûreya POS-a din hate veguheztin. Ji kerema xwe serial no derbasdar hilbijêrin.,
+Item Unavailable,Tişt Nayê,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rêzok # {}: Serial No {} nayê vegerandin ji ber ku di fatûreya orjînal de nehatiye peywirdarkirin {},
+Please set default Cash or Bank account in Mode of Payment {},Ji kerema xwe Dravê Dravê an Bankê ya pêşdibistanê di Awayê dayinê de saz bikin {},
+Please set default Cash or Bank account in Mode of Payments {},Ji kerema xwe Dravê Dravê an Bankê ya pêşdibistanê di Awayê Payments de saz bikin {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Ji kerema xwe hesabê {} hesabek Bilanî ye. Hûn dikarin hesabê dêûbav bi hesabek Bilanço biguherînin an jî hesabek cûda hilbijêrin.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Ji kerema xwe hesabê {} hesabek Payable ye. Celebê hesabê bi Payable-ê biguherînin an jî hesabek cûda hilbijêrin.,
+Row {}: Expense Head changed to {} ,Rêz {}: Serê Lêçûnê hate guherandin bo {},
+because account {} is not linked to warehouse {} ,ji ber ku hesabê {} bi embarê ve nehatiye girêdan {},
+or it is not the default inventory account,an ew ne hesabê envanterê yê pêşdibistanê ye,
+Expense Head Changed,Serê Lêçûn Guherî,
+because expense is booked against this account in Purchase Receipt {},ji ber ku lêçûn li dijî vê hesabê di Rastnameya Kirînê de tê veqetandin {},
+as no Purchase Receipt is created against Item {}. ,ji ber ku li dijî Qanûna Kirînê li dijî Item {} nayê çêkirin.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ev tête kirin ku ji bo hesabkirina dozên dema Receival Kirînê piştî Fatûra Kirînê tê afirandin,
+Purchase Order Required for item {},Siparîşa Kirînê Ji bo tiştê Pêdivî ye {},
+To submit the invoice without purchase order please set {} ,Ji bo ku fatoreya bêyî kirîna kirînê bişînin ji kerema xwe {} saz bikin,
+as {} in {},wekî {} li {},
+Mandatory Purchase Order,Biryara Kirînê ya Bicîh,
+Purchase Receipt Required for item {},Wergirtina Kirînê Ji bo tiştê Pêdivî ye {},
+To submit the invoice without purchase receipt please set {} ,Ji bo ku fatûreya bêyî meqbûza kirînê bişînin ji kerema xwe {} saz bikin,
+Mandatory Purchase Receipt,Wergirtina Kirîna Derveyî,
+POS Profile {} does not belongs to company {},POS Profile {} ne ya pargîdaniyê ye {},
+User {} is disabled. Please select valid user/cashier,Bikarhêner {} neçalak e. Ji kerema xwe bikarhêner / kerekî derbasdar hilbijêrin,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Rêzok # {}: Fatûra Eslî {} fatura vegerê {} e {}.,
+Original invoice should be consolidated before or along with the return invoice.,Divê fatûreya orjînal berî an digel fatûreya vegerê were yek kirin.,
+You can add original invoice {} manually to proceed.,Hûn dikarin faturaya xwerû {} bi destan lê zêde bikin ku berdewam bikin.,
+Please ensure {} account is a Balance Sheet account. ,Ji kerema xwe hesabê {} hesabek Bilanî ye.,
+You can change the parent account to a Balance Sheet account or select a different account.,Hûn dikarin hesabê dêûbav bi hesabek Bilanço biguherînin an jî hesabek cûda hilbijêrin.,
+Please ensure {} account is a Receivable account. ,Ji kerema xwe hesabê {} hesabek wergirî ye.,
+Change the account type to Receivable or select a different account.,Cûreyek hesabê biguhezînin Receiveable an hesabek cûda hilbijêrin.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} ji ber ku Pûanên Dilsoziyê yên hatine bidestxistin hate xilas kirin nayê betalkirin. Pêşîn {} Na {} betal bikin,
+already exists,Jixwe heye,
+POS Closing Entry {} against {} between selected period,Di navbera heyama bijartî de Têketina Girtî ya POS {} dijî {},
+POS Invoice is {},Fatûra POS {} e,
+POS Profile doesn't matches {},Profîla POS-ê li hev nake {},
+POS Invoice is not {},Fatura POS ne {},
+POS Invoice isn't created by user {},POS Fature ji hêla bikarhêner ve nayê afirandin {},
+Row #{}: {},Rêzeya # {}: {},
+Invalid POS Invoices,Fatûrên POS-ê yên nederbasdar,
+Please add the account to root level Company - {},Ji kerema xwe hesabê li asta rootirket zêde bikin - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Dema ku ji bo Pargîdaniya Zarok hesab çêdikir {0}, hesabê dêûbav {1} nehat dîtin. Ji kerema xwe hesabê dêûbav di COA-ya têkildar de çêbikin",
+Account Not Found,Hesab nehat dîtin,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Dema ku hesabê ji bo Pargîdaniya Zarok çêdikir {0}, hesabê dêûbav {1} wekî hesabek pirtûkê hate dîtin.",
+Please convert the parent account in corresponding child company to a group account.,Ji kerema xwe hesabê dêûbavê di pargîdaniya zarokan a pêwendîdar de veguherînin hesabek komê.,
+Invalid Parent Account,Hesabê Dêûbavê Neheq e,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Navnîşkirina wê tenê bi navgîniya pargîdaniya dêûbav {0} ve tête destûr kirin, da ku ji hevnêzîkbûnê dûr bikeve.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Heke hûn {0} {1} mîqdarên tiştê {2} bikin, dê şemaya {3} li ser tiştê were sepandin.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ger hûn {0} {1} hêjayî hêmanê ne {2}, dê şemaya {3} li ser tiştê were sepandin.",
+"As the field {0} is enabled, the field {1} is mandatory.","Ji ber ku qada {0} çalak e, qada {1} ferz e.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Ji ber ku qada {0} çalak e, divê nirxa qada {1} ji 1-ê zêdetir be.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Çênabe Serial No {0} alavê {1} radest bike ji ber ku ew ji bo dagirtina Biryara Firotanê veqetandî ye {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Fermana Firotanê {0} ji bo tiştê {1} rezervasyon heye, hûn tenê dikarin li hember {0} rezerva {1} bidin.",
+{0} Serial No {1} cannot be delivered,{0} Serial No {1} nayê şandin,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Rêz {0}: Tişta taşeron ji bo madeya xav mecbûrî ye {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Ji ber ku materyalên xav ên têra xwe hene, Ji bo Warehouse {0} Daxwaza Materyalê ne hewce ye.",
+" If you still want to proceed, please enable {0}.","Heke hûn hîn jî dixwazin berdewam bikin, ji kerema xwe {0} çalak bikin.",
+The item referenced by {0} - {1} is already invoiced,Tişta ku ji hêla {0} - {1} ve hatî referans kirin jixwe fatûre ye,
+Therapy Session overlaps with {0},Danişîna Terapiyê bi {0} re li hevûdu dike,
+Therapy Sessions Overlapping,Danişînên Terapiyê Li Hev Dikevin,
+Therapy Plans,Planên Terapiyê,
+"Item Code, warehouse, quantity are required on row {0}","Koda tiştê, embarê, hejmar li ser rêzê hewce ne {0}",
+Get Items from Material Requests against this Supplier,Li dijî vê Pêşkêşkerê Tiştan ji Daxwazên Maddî bistînin,
+Enable European Access,Destûra Ewropî çalak bikin,
+Creating Purchase Order ...,Afirandina Biryara Kirînê ...,
+"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.","Ji Pargîdaniyên Pêşwext ên jêrîn ve Pêşkêşvanek hilbijêrin. Li ser hilbijartinê, dê Biryarnameyek Kirînê li dijî tiştên ku tenê ji Pêşkêşkarê hilbijartî ne pêk were.",
+Row #{}: You must select {} serial numbers for item {}.,Rêzok # {}: Divê hûn {} hejmarên rêzê ji bo hêmanê {} hilbijêrin.,
diff --git a/erpnext/translations/lo.csv b/erpnext/translations/lo.csv
index 71209e2..b61476c 100644
--- a/erpnext/translations/lo.csv
+++ b/erpnext/translations/lo.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',ບໍ່ສາມາດຫັກໃນເວລາທີ່ປະເພດແມ່ນສໍາລັບການ &#39;ປະເມີນມູນຄ່າ&#39; ຫຼື &#39;Vaulation ແລະລວມ,
 "Cannot delete Serial No {0}, as it is used in stock transactions","ບໍ່ສາມາດລົບ Serial No {0}, ຍ້ອນວ່າມັນໄດ້ຖືກນໍາໃຊ້ໃນທຸລະກໍາຫຼັກຊັບ",
 Cannot enroll more than {0} students for this student group.,ບໍ່ສາມາດລົງທະບຽນຫຼາຍກ່ວາ {0} ນັກສຶກສາສໍາລັບກຸ່ມນັກສຶກສານີ້.,
-Cannot find Item with this barcode,ບໍ່ສາມາດຊອກຫາລາຍການດ້ວຍລະຫັດບາໂຄ້ດນີ້,
 Cannot find active Leave Period,ບໍ່ສາມາດຊອກຫາກໍາໄລໄລຍະເວລາການເຄື່ອນໄຫວ,
 Cannot produce more Item {0} than Sales Order quantity {1},ບໍ່ສາມາດຜະລິດສິນຄ້າຫຼາຍ {0} ກ່ວາປະລິມານສັ່ງຂາຍ {1},
 Cannot promote Employee with status Left,ບໍ່ສາມາດສົ່ງເສີມພະນັກງານທີ່ມີສະຖານະພາບໄວ້,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","ສ້າງແລະຄຸ້ມຄອງປະຈໍາວັນ, ປະຈໍາອາທິດແລະປະຈໍາເດືອນຫົວເລື່ອງອີເມລ໌.",
 Create customer quotes,ສ້າງລູກຄ້າ,
 Create rules to restrict transactions based on values.,ສ້າງລະບຽບການເພື່ອຈໍາກັດການເຮັດທຸລະກໍາໂດຍອີງໃສ່ຄ່າ.,
-Created By,ສ້າງໂດຍ,
 Created {0} scorecards for {1} between: ,ສ້າງ {0} scorecards ສໍາລັບ {1} ລະຫວ່າງ:,
 Creating Company and Importing Chart of Accounts,ສ້າງບໍລິສັດແລະ ນຳ ເຂົ້າຕາຕະລາງບັນຊີ,
 Creating Fees,ສ້າງຄ່າທໍານຽມ,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,ສໍາຫລັບແຖວ {0}: ກະລຸນາໃສ່ qty ວາງແຜນ,
 "For {0}, only credit accounts can be linked against another debit entry","{0}, ພຽງແຕ່ລະເງິນກູ້ຢືມສາມາດໄດ້ຮັບການເຊື່ອມຕໍ່ເຂົ້າເດບິດອື່ນ",
 "For {0}, only debit accounts can be linked against another credit entry","{0}, ພຽງແຕ່ບັນຊີເດບິດສາມາດເຊື່ອມໂຍງກັບເຂົ້າການປ່ອຍສິນເຊື່ອອີກ",
-Form View,Form View,
 Forum Activity,Forum Activity,
 Free item code is not selected,ລະຫັດສິນຄ້າບໍ່ຖືກເລືອກ,
 Freight and Forwarding Charges,ຂົນສົ່ງສິນຄ້າແລະການສົ່ງຕໍ່ຄ່າບໍລິການ,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,ສົ່ງ SMS ມະຫາຊົນເພື່ອຕິດຕໍ່ພົວພັນຂອງທ່ານ,
 Sensitivity,ຄວາມອ່ອນໄຫວ,
 Sent,ສົ່ງ,
-Serial #,Serial:,
 Serial No and Batch,ບໍ່ມີ Serial ແລະ Batch,
 Serial No is mandatory for Item {0},ບໍ່ມີ Serial ເປັນການບັງຄັບສໍາລັບລາຍການ {0},
 Serial No {0} does not belong to Batch {1},Serial No {0} ບໍ່ແມ່ນຂອງ {B} {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,ສິ່ງທີ່ທ່ານຈໍາເປັນຕ້ອງຊ່ວຍ?,
 What does it do?,ມັນຈະເປັນແນວໃດເຮັດແນວໃດ?,
 Where manufacturing operations are carried.,ບ່ອນທີ່ການດໍາເນີນງານການຜະລິດກໍາລັງດໍາເນີນ.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","ໃນຂະນະທີ່ສ້າງບັນຊີ ສຳ ລັບບໍລິສັດເດັກ {0}, ບັນຊີພໍ່ແມ່ {1} ບໍ່ພົບ. ກະລຸນາສ້າງບັນຊີຜູ້ປົກຄອງໃນ COA ທີ່ສອດຄ້ອງກັນ",
 White,ສີຂາວ,
 Wire Transfer,ການໂອນ,
 WooCommerce Products,ຜະລິດຕະພັນ WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,merge ກັບທີ່ມີຢູ່ແລ້ວ,
 Office,ຫ້ອງການ,
 Orientation,ປະຖົມນິເທດ,
+Parent,ພໍ່ແມ່,
 Passive,ຕົວຕັ້ງຕົວຕີ,
 Payment Failed,ການຊໍາລະເງິນບໍ່ສາມາດ,
 Percent,ເປີເຊັນ,
@@ -3543,6 +3539,7 @@
 Show {0},ສະແດງ {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","ຕົວລະຄອນພິເສດຍົກເວັ້ນ &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; ແລະ &quot;}&quot; ບໍ່ໄດ້ຖືກອະນຸຍາດໃນຊຸດຊື່",
 Target Details,ລາຍລະອຽດເປົ້າ ໝາຍ,
+{0} already has a Parent Procedure {1}.,{0} ມີຂັ້ນຕອນການເປັນພໍ່ແມ່ {1} ແລ້ວ.,
 API,API,
 Annual,ປະຈໍາປີ,
 Approved,ການອະນຸມັດ,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,ວັນສິ້ນສຸດບໍ່ສາມາດນ້ອຍກວ່າວັນເລີ່ມຕົ້ນ,
 For Default Supplier (Optional),ສໍາລັບຜູ້ໃຫ້ບໍລິການມາດຕະຖານ (ທາງເລືອກ),
 From date cannot be greater than To date,ຈາກວັນທີບໍ່ສາມາດຈະມີຫຼາຍຂຶ້ນກ່ວາເຖິງວັນທີ່,
-Get items from,ໄດ້ຮັບການລາຍການຈາກ,
 Group by,ກຸ່ມໂດຍ,
 In stock,ໃນສາງ,
 Item name,ຊື່ສິນຄ້າ,
@@ -7558,10 +7554,6 @@
 Quality Goal,ເປົ້າ ໝາຍ ຄຸນນະພາບ,
 Monitoring Frequency,ຄວາມຖີ່ຂອງການກວດສອບ,
 Weekday,ວັນອາທິດ,
-January-April-July-October,ເດືອນມັງກອນ - ເມສາ - ກໍລະກົດ - ຕຸລາ,
-Revision and Revised On,ການປັບປຸງແລະປັບປຸງ ໃໝ່,
-Revision,ການດັດແກ້,
-Revised On,ປັບປຸງ ໃໝ່,
 Objectives,ຈຸດປະສົງ,
 Quality Goal Objective,ຈຸດປະສົງເປົ້າ ໝາຍ ຄຸນນະພາບ,
 Objective,ຈຸດປະສົງ,
@@ -7574,7 +7566,6 @@
 Processes,ຂະບວນການຕ່າງໆ,
 Quality Procedure Process,ຂັ້ນຕອນການປະຕິບັດຄຸນນະພາບ,
 Process Description,ລາຍລະອຽດຂອງຂະບວນການ,
-Child Procedure,ຂັ້ນຕອນຂອງເດັກ,
 Link existing Quality Procedure.,ເຊື່ອມໂຍງຂັ້ນຕອນຄຸນນະພາບທີ່ມີຢູ່.,
 Additional Information,ຂໍ້ມູນເພີ່ມເຕີມ,
 Quality Review Objective,ຈຸດປະສົງການທົບທວນຄຸນນະພາບ,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,ແນວໂນ້ມການຊື້ຮັບ,
 Purchase Register,ລົງທະບຽນການຊື້,
 Quotation Trends,ແນວໂນ້ມວົງຢືມ,
-Quoted Item Comparison,ປຽບທຽບບາຍດີທຸກທ່ານ Item,
 Received Items To Be Billed,ລາຍການທີ່ໄດ້ຮັບການໄດ້ຮັບການ billed,
 Qty to Order,ຈໍານວນທີ່ຈະສັ່ງຊື້ສິນຄ້າ,
 Requested Items To Be Transferred,ການຮ້ອງຂໍໃຫ້ໄດ້ຮັບການໂອນ,
@@ -9091,7 +9081,6 @@
 Absent Days,ວັນຂາດ,
 Conditions and Formula variable and example,ເງື່ອນໄຂແລະຕົວປ່ຽນແປງສູດແລະຕົວຢ່າງ,
 Feedback By,ຄຳ ຕິຊົມໂດຍ,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,ພາກສ່ວນການຜະລິດ,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","ໂດຍຄ່າເລີ່ມຕົ້ນ, ຊື່ລູກຄ້າຖືກຕັ້ງຄ່າຕາມຊື່ເຕັມທີ່ເຂົ້າມາ. ຖ້າທ່ານຕ້ອງການໃຫ້ລູກຄ້າຕັ້ງຊື່ໂດຍ a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,ຕັ້ງຄ່າລາຍການລາຄາເລີ່ມຕົ້ນເມື່ອສ້າງທຸລະ ກຳ ການຂາຍ ໃໝ່. ລາຄາສິນຄ້າຈະຖືກດຶງມາຈາກບັນຊີລາຄານີ້.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,ຍອດເງິນທີ່ເກັບໄວ້,
 Uncleared Balance,ການດຸ່ນດ່ຽງທີ່ບໍ່ມີປະໂຫຍດ,
 Payment related to {0} is not completed,ການຈ່າຍເງິນທີ່ກ່ຽວຂ້ອງກັບ {0} ບໍ່ ສຳ ເລັດ,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,ແຖວ # {}: Serial No {}. {} ໄດ້ຖືກໂອນເຂົ້າໄປໃນໃບເກັບເງິນ POS ອີກປະການ ໜຶ່ງ ແລ້ວ. ກະລຸນາເລືອກລະຫັດທີ່ຖືກຕ້ອງ.,
 Row #{}: Item Code: {} is not available under warehouse {}.,ແຖວ # {}: ລະຫັດສິນຄ້າ: {} ບໍ່ມີຢູ່ໃນສາງ {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,ແຖວ # {}: ຈຳ ນວນຫຸ້ນບໍ່ພຽງພໍ ສຳ ລັບລະຫັດສິນຄ້າ: {} ພາຍໃຕ້ຄັງສິນຄ້າ {}. ປະລິມານທີ່ມີຢູ່ແລ້ວ {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,ແຖວ # {}: ກະລຸນາເລືອກ serial no ແລະ batch ຕໍ່ລາຍການ: {} ຫຼືເອົາມັນອອກເພື່ອ ດຳ ເນີນການເຮັດທຸລະ ກຳ.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,ກະລຸນາເຮັດໃຫ້ສາມາດອະນຸຍາດໃຫ້ Stock Negative ໃນການຕັ້ງຄ່າຫຸ້ນຫຼືສ້າງ Stock Entry ເພື່ອ ດຳ ເນີນການຕໍ່ໄປ.,
 No Inpatient Record found against patient {0},ບໍ່ພົບບັນທຶກຄົນເຈັບທີ່ພົບກັບຄົນເຈັບ {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,ໃບສັ່ງຊື້ຢາປິ່ນປົວຄົນເຈັບ {0} ຕໍ່ກັບຜູ້ປະສົບໄພຄົນເຈັບ {1} ມີຢູ່ແລ້ວ.,
+Allow In Returns,ອະນຸຍາດໃຫ້ກັບຄືນ,
+Hide Unavailable Items,ເຊື່ອງລາຍການທີ່ບໍ່ມີ,
+Apply Discount on Discounted Rate,ສະ ໝັກ ເອົາສ່ວນຫຼຸດໃນອັດຕາຫຼຸດລາຄາ,
+Therapy Plan Template,ແມ່ແບບແຜນການປິ່ນປົວ,
+Fetching Template Details,ລາຍລະອຽດແມ່ແບບ,
+Linked Item Details,ລາຍລະອຽດຂອງລາຍການທີ່ເຊື່ອມໂຍງ,
+Therapy Types,ປະເພດການປິ່ນປົວ,
+Therapy Plan Template Detail,ລາຍລະອຽດແບບແຜນການປິ່ນປົວ,
+Non Conformance,ຄວາມສອດຄ່ອງທີ່ບໍ່ແມ່ນ,
+Process Owner,ເຈົ້າຂອງຂະບວນການ,
+Corrective Action,ການກະທໍາທີ່ຖືກຕ້ອງ,
+Preventive Action,ການປ້ອງກັນ,
+Problem,ປັນຫາ,
+Responsible,ຮັບຜິດຊອບ,
+Completion By,ສຳ ເລັດໂດຍ,
+Process Owner Full Name,ເຈົ້າຂອງຂະບວນການຊື່ເຕັມ,
+Right Index,ດັດຊະນີທີ່ຖືກຕ້ອງ,
+Left Index,ດັດສະນີຊ້າຍ,
+Sub Procedure,ຂັ້ນຕອນການຍ່ອຍ,
+Passed,ຜ່ານໄປ,
+Print Receipt,ໃບຮັບເງິນ,
+Edit Receipt,ແກ້ໄຂໃບຮັບເງິນ,
+Focus on search input,ສຸມໃສ່ການປ້ອນຂໍ້ມູນການຄົ້ນຫາ,
+Focus on Item Group filter,ສຸມໃສ່ການກັ່ນຕອງກຸ່ມສິນຄ້າ,
+Checkout Order / Submit Order / New Order,Checkout Order / ສົ່ງໃບສັ່ງຊື້ / ສັ່ງ ໃໝ່,
+Add Order Discount,ເພີ່ມສ່ວນຫຼຸດຕາມສັ່ງ,
+Item Code: {0} is not available under warehouse {1}.,ລະຫັດສິນຄ້າ: {0} ບໍ່ມີຢູ່ໃນສາງ {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,ບໍ່ມີ ຈຳ ນວນ Serial ສຳ ລັບລາຍການ {0} ພາຍໃຕ້ຄັງສິນຄ້າ {1}. ກະລຸນາລອງປ່ຽນສາງ.,
+Fetched only {0} available serial numbers.,ເອົາໄວ້ພຽງແຕ່ {0} ເລກ ລຳ ດັບທີ່ມີຢູ່.,
+Switch Between Payment Modes,ສັບປ່ຽນລະຫວ່າງຮູບແບບການຈ່າຍເງິນ,
+Enter {0} amount.,ໃສ່ {0} ຈຳ ນວນ.,
+You don't have enough points to redeem.,ທ່ານບໍ່ມີຈຸດພຽງພໍທີ່ຈະໄຖ່.,
+You can redeem upto {0}.,ທ່ານສາມາດເອົາເງິນຄືນໄດ້ {0}.,
+Enter amount to be redeemed.,ກະລຸນາໃສ່ ຈຳ ນວນເງິນທີ່ຈະຖືກໂອນ.,
+You cannot redeem more than {0}.,ທ່ານບໍ່ສາມາດຈ່າຍຄືນໄດ້ເກີນ {0}.,
+Open Form View,ເປີດເບິ່ງແບບຟອມ,
+POS invoice {0} created succesfully,ໃບເກັບເງິນ POS {0} ຖືກສ້າງຂື້ນຢ່າງ ສຳ ເລັດຜົນ,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,ຈຳ ນວນຫຸ້ນບໍ່ພຽງພໍ ສຳ ລັບລະຫັດສິນຄ້າ: {0} ພາຍໃຕ້ຄັງສິນຄ້າ {1}. ປະລິມານທີ່ມີຢູ່ {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serial No: {0} ໄດ້ຖືກໂອນເຂົ້າໄປໃນໃບເກັບເງິນ POS ອື່ນແລ້ວ.,
+Balance Serial No,ຍອດເງິນ Serial No,
+Warehouse: {0} does not belong to {1},ສາງ: {0} ບໍ່ຂຶ້ນກັບ {1},
+Please select batches for batched item {0},ກະລຸນາເລືອກກະເປົາ ສຳ ລັບລາຍການທີ່ເບື່ອຫນ່າຍ {0},
+Please select quantity on row {0},ກະລຸນາເລືອກປະລິມານຢູ່ແຖວ {0},
+Please enter serial numbers for serialized item {0},ກະລຸນາໃສ່ເບີໂທລະສັບ ສຳ ລັບລາຍການທີ່ມີ serialized {0},
+Batch {0} already selected.,ຊຸດ {0} ເລືອກແລ້ວ.,
+Please select a warehouse to get available quantities,ກະລຸນາເລືອກສາງເພື່ອຮັບປະລິມານທີ່ມີ,
+"For transfer from source, selected quantity cannot be greater than available quantity","ສຳ ລັບການໂອນຍ້າຍຈາກແຫຼ່ງ, ປະລິມານທີ່ເລືອກບໍ່ສາມາດສູງກວ່າປະລິມານທີ່ມີຢູ່",
+Cannot find Item with this Barcode,ບໍ່ສາມາດຊອກຫາລາຍການດ້ວຍ Barcode ນີ້,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} ແມ່ນ ຈຳ ເປັນ. ບາງທີບັນທຶກການແລກປ່ຽນເງິນຕາບໍ່ໄດ້ຖືກສ້າງຂື້ນ ສຳ ລັບ {1} ເຖິງ {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ໄດ້ສົ່ງຊັບສິນທີ່ເຊື່ອມໂຍງກັບມັນ. ທ່ານ ຈຳ ເປັນຕ້ອງຍົກເລີກຊັບສິນເພື່ອສ້າງການຊື້ຄືນ.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,ບໍ່ສາມາດຍົກເລີກເອກະສານນີ້ຍ້ອນວ່າມັນເຊື່ອມໂຍງກັບຊັບສິນທີ່ຖືກສົ່ງມາ {0}. ກະລຸນາຍົກເລີກມັນເພື່ອ ດຳ ເນີນການຕໍ່ໄປ.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,ແຖວ # {}: ເລກ Serial No. {} ໄດ້ຖືກໂອນເຂົ້າໄປໃນໃບເກັບເງິນ POS ອື່ນແລ້ວ. ກະລຸນາເລືອກລະຫັດທີ່ຖືກຕ້ອງ.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,ແຖວ # {}: Serial Nos. {} ໄດ້ຖືກໂອນເຂົ້າໄປໃນໃບເກັບເງິນ POS ອື່ນແລ້ວ. ກະລຸນາເລືອກລະຫັດທີ່ຖືກຕ້ອງ.,
+Item Unavailable,ລາຍການບໍ່ມີ,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},ແຖວ # {}: ເລກ ລຳ ດັບ {} ບໍ່ສາມາດສົ່ງຄືນໄດ້ເນື່ອງຈາກມັນບໍ່ຖືກໂອນໃນໃບເກັບເງິນຕົ້ນສະບັບ {},
+Please set default Cash or Bank account in Mode of Payment {},ກະລຸນາຕັ້ງຄ່າເງີນສົດຫຼືບັນຊີທະນາຄານໃນຮູບແບບການ ຊຳ ລະເງິນ {},
+Please set default Cash or Bank account in Mode of Payments {},ກະລຸນາຕັ້ງຄ່າເງີນສົດຫລືບັນຊີທະນາຄານໃນຮູບແບບການ ຊຳ ລະເງິນ {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,ກະລຸນາຮັບປະກັນ {} ບັນຊີແມ່ນບັນຊີ Balance Sheet. ທ່ານສາມາດປ່ຽນບັນຊີຜູ້ປົກຄອງເຂົ້າໃນບັນຊີ Balance Sheet ຫຼືເລືອກບັນຊີອື່ນ.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,ກະລຸນາຮັບປະກັນ {} ບັນຊີແມ່ນບັນຊີທີ່ຕ້ອງຈ່າຍ. ປ່ຽນປະເພດບັນຊີໃຫ້ເປັນ Payable ຫຼືເລືອກບັນຊີອື່ນ.,
+Row {}: Expense Head changed to {} ,ແຖວ {}: ຫົວປ່ຽນແປງໃຊ້ເປັນ {},
+because account {} is not linked to warehouse {} ,ເພາະວ່າບັນຊີ {} ບໍ່ໄດ້ເຊື່ອມໂຍງກັບສາງ {},
+or it is not the default inventory account,ຫຼືມັນບໍ່ແມ່ນບັນຊີສິນຄ້າຄົງຄັງໃນຕອນຕົ້ນ,
+Expense Head Changed,ລາຍຈ່າຍປ່ຽນຫົວ,
+because expense is booked against this account in Purchase Receipt {},ເພາະວ່າຄ່າໃຊ້ຈ່າຍຈະຖືກຈອງຕໍ່ບັນຊີນີ້ໃນໃບຮັບເງິນຊື້ {},
+as no Purchase Receipt is created against Item {}. ,ຍ້ອນວ່າບໍ່ມີໃບເກັບເງິນການຊື້ຖືກສ້າງຂື້ນມາຕໍ່ກັບລາຍການ {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,ນີ້ແມ່ນເຮັດເພື່ອຈັດການບັນຊີ ສຳ ລັບກໍລະນີເມື່ອໃບຮັບເງິນຊື້ຖືກສ້າງຂື້ນຫລັງຈາກໃບເກັບເງິນຊື້,
+Purchase Order Required for item {},ສັ່ງຊື້ສິນຄ້າທີ່ຕ້ອງການ ສຳ ລັບສິນຄ້າ {},
+To submit the invoice without purchase order please set {} ,ເພື່ອສົ່ງໃບເກັບເງິນໂດຍບໍ່ຕ້ອງສັ່ງຊື້ກະລຸນາ ກຳ ນົດ {},
+as {} in {},ເປັນ {} ໃນ {},
+Mandatory Purchase Order,ການສັ່ງຊື້ແບບບັງຄັບ,
+Purchase Receipt Required for item {},ໃບຮັບເງິນການຊື້ທີ່ ຈຳ ເປັນ ສຳ ລັບລາຍການ {},
+To submit the invoice without purchase receipt please set {} ,"ເພື່ອສົ່ງໃບເກັບເງິນໂດຍບໍ່ໄດ້ຮັບໃບສັ່ງຊື້, ກະລຸນາຕັ້ງຄ່າ {}",
+Mandatory Purchase Receipt,ໃບຮັບເງິນຊື້ແບບບັງຄັບ,
+POS Profile {} does not belongs to company {},ໂປແກຼມ POS {} ບໍ່ຂຶ້ນກັບບໍລິສັດ {},
+User {} is disabled. Please select valid user/cashier,ຜູ້ໃຊ້ {} ຖືກປິດໃຊ້ງານ. ກະລຸນາເລືອກຜູ້ໃຊ້ / ຜູ້ເກັບເງິນທີ່ຖືກຕ້ອງ,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,ແຖວ # {}: ໃບເກັບເງິນຕົ້ນສະບັບ {} ຂອງໃບແຈ້ງ ໜີ້ ສົ່ງຄືນ {} ແມ່ນ {}.,
+Original invoice should be consolidated before or along with the return invoice.,ໃບເກັບເງິນຕົ້ນສະບັບຄວນຈະຖືກລວບລວມກ່ອນຫຼືພ້ອມກັບໃບເກັບເງິນຄືນ.,
+You can add original invoice {} manually to proceed.,ທ່ານສາມາດເພີ່ມໃບເກັບເງິນຕົ້ນສະບັບ {} ດ້ວຍຕົນເອງເພື່ອ ດຳ ເນີນການ.,
+Please ensure {} account is a Balance Sheet account. ,ກະລຸນາຮັບປະກັນ {} ບັນຊີແມ່ນບັນຊີ Balance Sheet.,
+You can change the parent account to a Balance Sheet account or select a different account.,ທ່ານສາມາດປ່ຽນບັນຊີຜູ້ປົກຄອງເຂົ້າໃນບັນຊີ Balance Sheet ຫຼືເລືອກບັນຊີອື່ນ.,
+Please ensure {} account is a Receivable account. ,ກະລຸນາຮັບປະກັນວ່າ {} ບັນຊີແມ່ນບັນຊີທີ່ຕ້ອງຍອມຮັບ.,
+Change the account type to Receivable or select a different account.,ປ່ຽນປະເພດບັນຊີໃຫ້ເປັນ Receivable ຫຼືເລືອກບັນຊີອື່ນ.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} ບໍ່ສາມາດຍົກເລີກໄດ້ເນື່ອງຈາກຈຸດທີ່ໄດ້ຮັບຈາກຄວາມພັກດີໄດ້ຖືກໄຖ່ແລ້ວ. ຍົກເລີກການ ທຳ ອິດ {} ບໍ່ {},
+already exists,ມີຢູ່ແລ້ວ,
+POS Closing Entry {} against {} between selected period,POS ປິດການເຂົ້າ {} ຕໍ່ {} ລະຫວ່າງໄລຍະເວລາທີ່ເລືອກ,
+POS Invoice is {},ໃບເກັບເງິນ POS ແມ່ນ {},
+POS Profile doesn't matches {},POS Profile ບໍ່ກົງກັບ {},
+POS Invoice is not {},ໃບເກັບເງິນ POS ບໍ່ແມ່ນ {},
+POS Invoice isn't created by user {},ໃບເກັບເງິນ POS ບໍ່ໄດ້ຖືກສ້າງຂື້ນໂດຍຜູ້ໃຊ້ {},
+Row #{}: {},ແຖວ # {}: {},
+Invalid POS Invoices,ໃບເກັບເງິນ POS ບໍ່ຖືກຕ້ອງ,
+Please add the account to root level Company - {},ກະລຸນາເພີ່ມບັນຊີເຂົ້າໃນລະດັບຮາກຂອງບໍລິສັດ - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","ໃນຂະນະທີ່ສ້າງບັນຊີ ສຳ ລັບບໍລິສັດເດັກ {0}, ບັນຊີຜູ້ປົກຄອງ {1} ບໍ່ພົບ. ກະລຸນາສ້າງບັນຊີຜູ້ປົກຄອງໃນ COA ທີ່ສອດຄ້ອງກັນ",
+Account Not Found,ບໍ່ພົບບັນຊີ,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","ໃນຂະນະທີ່ສ້າງບັນຊີ ສຳ ລັບບໍລິສັດເດັກ {0}, ບັນຊີຜູ້ປົກຄອງ {1} ພົບວ່າບັນຊີ ນຳ ໃຊ້.",
+Please convert the parent account in corresponding child company to a group account.,ກະລຸນາປ່ຽນບັນຊີຜູ້ປົກຄອງໃນບໍລິສັດເດັກທີ່ສອດຄ້ອງກັນເຂົ້າໃນບັນຊີກຸ່ມ.,
+Invalid Parent Account,ບັນຊີພໍ່ແມ່ບໍ່ຖືກຕ້ອງ,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","ປ່ຽນຊື່ມັນຖືກອະນຸຍາດພຽງແຕ່ຜ່ານທາງບໍລິສັດແມ່ {0}, ເພື່ອຫລີກລ້ຽງຄວາມບໍ່ສອດຄ່ອງ.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","ຖ້າທ່ານ {0} {1} ປະລິມານຂອງລາຍການ {2}, ລະບົບ {3} ຈະຖືກ ນຳ ໃຊ້ໃນລາຍການ.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","ຖ້າທ່ານ {0} {1} ລາຍການທີ່ມີຄ່າ {2}, ໂຄງການ {3} ຈະຖືກ ນຳ ໃຊ້ໃນລາຍການ.",
+"As the field {0} is enabled, the field {1} is mandatory.","ຍ້ອນວ່າພາກສະ ໜາມ {0} ຖືກເປີດໃຊ້, ພາກສະ ໜາມ {1} ແມ່ນ ຈຳ ເປັນ.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","ຍ້ອນວ່າພາກສະຫນາມ {0} ຖືກເປີດໃຊ້, ມູນຄ່າຂອງພາກສະ ໜາມ {1} ຄວນຈະສູງກວ່າ 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},ບໍ່ສາມາດຈັດສົ່ງສິນຄ້າ Serial No {0} ຂອງສິນຄ້າ {1} ຍ້ອນວ່າມັນຖືກສະຫງວນໄວ້ເພື່ອສັ່ງຂາຍເຕັມຮູບແບບ {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","ຄຳ ສັ່ງຂາຍ {0} ມີການສັ່ງຈອງ ສຳ ລັບສິນຄ້າ {1}, ທ່ານພຽງແຕ່ສາມາດຈັດສົ່ງ {1} ສຳ ລັບ {0} ເທົ່ານັ້ນ.",
+{0} Serial No {1} cannot be delivered,{0} Serial No {1} ບໍ່ສາມາດຈັດສົ່ງໄດ້,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},ແຖວ {0}: ສິນຄ້າທີ່ໄດ້ຮັບການຮັບຮອງແມ່ນ ຈຳ ເປັນ ສຳ ລັບວັດຖຸດິບ {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","ຍ້ອນວ່າມີວັດຖຸດິບທີ່ພຽງພໍ, ບໍ່ ຈຳ ເປັນຕ້ອງຂໍວັດສະດຸ ສຳ ລັບສາງ {0}.",
+" If you still want to proceed, please enable {0}.","ຖ້າທ່ານຍັງຕ້ອງການ ດຳ ເນີນການ, ກະລຸນາເປີດ {0}.",
+The item referenced by {0} - {1} is already invoiced,ລາຍການທີ່ອ້າງອິງໂດຍ {0} - {1} ແມ່ນຖືກເອີ້ນເຂົ້າແລ້ວ,
+Therapy Session overlaps with {0},Therapy Session ຊ້ ຳ ກັບ {0},
+Therapy Sessions Overlapping,ການປິ່ນປົວດ້ວຍການຊໍ້າຊ້ອນ,
+Therapy Plans,ແຜນການປິ່ນປົວ,
+"Item Code, warehouse, quantity are required on row {0}","ລະຫັດສິນຄ້າ, ຄັງສິນຄ້າ, ຈຳ ນວນທີ່ຕ້ອງການຢູ່ແຖວ {0}",
+Get Items from Material Requests against this Supplier,ໄດ້ຮັບສິນຄ້າຈາກຂໍ້ຮຽກຮ້ອງດ້ານວັດຖຸຕໍ່ຜູ້ສະ ໜອງ ນີ້,
+Enable European Access,ເປີດໃຊ້ງານ European Access,
+Creating Purchase Order ...,ການສ້າງໃບສັ່ງຊື້ ...,
+"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.","ເລືອກຜູ້ສະ ໜອງ ສິນຄ້າຈາກຜູ້ສະ ໜອງ ສິນຄ້າເລີ່ມຕົ້ນຂອງລາຍການຂ້າງລຸ່ມນີ້. ໃນການເລືອກ, ຄຳ ສັ່ງຊື້ສິນຄ້າຈະຖືກຕໍ່ຕ້ານກັບສິນຄ້າທີ່ເປັນຂອງຜູ້ສະ ໜອງ ທີ່ຖືກຄັດເລືອກເທົ່ານັ້ນ.",
+Row #{}: You must select {} serial numbers for item {}.,ແຖວ # {}: ທ່ານຕ້ອງເລືອກ {} ເລກ ລຳ ດັບ ສຳ ລັບລາຍການ {}.,
diff --git a/erpnext/translations/lt.csv b/erpnext/translations/lt.csv
index 34eaee7..78571f9 100644
--- a/erpnext/translations/lt.csv
+++ b/erpnext/translations/lt.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Negali atskaityti, kai kategorija skirta &quot;Vertinimo&quot; arba &quot;Vaulation ir viso&quot;",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Negalite trinti Serijos Nr {0}, kaip ji yra naudojama akcijų sandorių",
 Cannot enroll more than {0} students for this student group.,Negalima registruotis daugiau nei {0} studentams šio studentų grupę.,
-Cannot find Item with this barcode,Neįmanoma rasti elemento su šiuo brūkšniniu kodu,
 Cannot find active Leave Period,Nepavyko rasti aktyvios palikimo laikotarpio,
 Cannot produce more Item {0} than Sales Order quantity {1},Negali gaminti daugiau Elementą {0} nei pardavimų užsakymų kiekio {1},
 Cannot promote Employee with status Left,"Negalima reklamuoti darbuotojo, kurio statusas kairėje",
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Kurkite ir tvarkykite savo dienos, savaitės ir mėnesio el suskaldyti.",
 Create customer quotes,Sukurti klientų citatos,
 Create rules to restrict transactions based on values.,"Sukurti taisykles, siekdama apriboti sandorius, pagrįstus vertybes.",
-Created By,Sukurta,
 Created {0} scorecards for {1} between: ,"Sukurtos {0} rezultatų kortelės, skirtos {1}, tarp:",
 Creating Company and Importing Chart of Accounts,Kurti įmonę ir importuoti sąskaitų schemą,
 Creating Fees,Mokesčių kūrimas,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Eilutėje {0}: įveskite numatytą kiekį,
 "For {0}, only credit accounts can be linked against another debit entry",Dėl {0} tik kredito sąskaitos gali būti susijęs su kitos debeto įrašą,
 "For {0}, only debit accounts can be linked against another credit entry","Dėl {0}, tik debeto sąskaitos gali būti susijęs su kitos kredito įrašą",
-Form View,Formos peržiūra,
 Forum Activity,Forumo veikla,
 Free item code is not selected,Nemokamas prekės kodas nepasirinktas,
 Freight and Forwarding Charges,Krovinių ir ekspedijavimo mokesčiai,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Siųsti masės SMS į jūsų kontaktus,
 Sensitivity,Jautrumas,
 Sent,siunčiami,
-Serial #,Serijinis #,
 Serial No and Batch,Serijos Nr paketais,
 Serial No is mandatory for Item {0},Serijos Nr privaloma punkte {0},
 Serial No {0} does not belong to Batch {1},Serijos numeris {0} nepriklauso paketui {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Ką reikia pagalbos?,
 What does it do?,Ką tai daro?,
 Where manufacturing operations are carried.,Kur gamybos operacijos atliekamos.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Kuriant sąskaitą vaikų įmonei {0}, pagrindinė sąskaita {1} nerasta. Sukurkite pagrindinę sąskaitą atitinkamame COA",
 White,baltas,
 Wire Transfer,pavedimu,
 WooCommerce Products,„WooCommerce“ produktai,
@@ -3493,6 +3488,7 @@
 Merge with existing,Sujungti su esama,
 Office,biuras,
 Orientation,orientacija,
+Parent,tėvas,
 Passive,pasyvus,
 Payment Failed,Mokėjimo Nepavyko,
 Percent,procentai,
@@ -3543,6 +3539,7 @@
 Show {0},Rodyti {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Specialieji simboliai, išskyrus „-“, „#“, „.“, „/“, „{“ Ir „}“, neleidžiami įvardyti serijomis",
 Target Details,Tikslinė informacija,
+{0} already has a Parent Procedure {1}.,{0} jau turi tėvų procedūrą {1}.,
 API,API,
 Annual,metinis,
 Approved,patvirtinta,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Galutinė data negali būti mažesnė už pradžios datą,
 For Default Supplier (Optional),Numatytam tiekėjui (neprivaloma),
 From date cannot be greater than To date,Nuo datos negali būti didesnis nei iki datos,
-Get items from,Gauk elementus iš,
 Group by,Grupuoti pagal,
 In stock,Sandelyje,
 Item name,Daikto pavadinimas,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kokybės tikslas,
 Monitoring Frequency,Stebėjimo dažnis,
 Weekday,Savaitės diena,
-January-April-July-October,Sausis – balandis – liepa – spalis,
-Revision and Revised On,Peržiūrėta ir persvarstyta,
-Revision,Revizija,
-Revised On,Peržiūrėta,
 Objectives,Tikslai,
 Quality Goal Objective,Kokybės tikslas,
 Objective,Tikslas,
@@ -7574,7 +7566,6 @@
 Processes,Procesai,
 Quality Procedure Process,Kokybės procedūros procesas,
 Process Description,Proceso aprašymas,
-Child Procedure,Vaiko procedūra,
 Link existing Quality Procedure.,Susiekite esamą kokybės procedūrą.,
 Additional Information,Papildoma informacija,
 Quality Review Objective,Kokybės peržiūros tikslas,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Pirkimo kvito tendencijos,
 Purchase Register,pirkimo Registruotis,
 Quotation Trends,Kainų tendencijos,
-Quoted Item Comparison,Cituojamas punktas Palyginimas,
 Received Items To Be Billed,Gauti duomenys turi būti apmokestinama,
 Qty to Order,Kiekis užsisakyti,
 Requested Items To Be Transferred,Pageidaujami daiktai turi būti perkeltos,
@@ -9091,7 +9081,6 @@
 Absent Days,Nėra dienų,
 Conditions and Formula variable and example,Sąlygos ir formulės kintamasis ir pavyzdys,
 Feedback By,Atsiliepimus pateikė,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Gamybos skyrius,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Pagal numatytuosius nustatymus kliento vardas nustatomas pagal įvestą vardą ir pavardę. Jei norite, kad klientus pavadintų a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigūruokite numatytąjį kainoraštį kurdami naują pardavimo operaciją. Prekių kainos bus pateiktos iš šio Kainyno.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Rezervuotas likutis,
 Uncleared Balance,Neaiškus balansas,
 Payment related to {0} is not completed,Su „{0}“ susijęs mokėjimas nėra baigtas,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,{0} eilutė: serijos Nr. {}. {} jau buvo perkeltas į kitą POS sąskaitą faktūrą. Pasirinkite galiojantį serijos Nr.,
 Row #{}: Item Code: {} is not available under warehouse {}.,# Eilutė: {}: prekės kodas: {} nepasiekiamas sandėlyje {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,# Eilutė {}: atsargų kiekio nepakanka prekės kodui: {} po sandėliu {}. Galimas kiekis {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"# Eilutė: {}: pasirinkite serijos numerį ir paketuokite elementą: {} arba pašalinkite jį, kad užbaigtumėte operaciją.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Norėdami tęsti, įjunkite „Leisti neigiamą akciją“ akcijų nustatymuose arba sukurkite atsargų įrašą.",
 No Inpatient Record found against patient {0},Nerasta stacionaro įrašo prieš pacientą {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Stacionarių vaistų įsakymas {0} dėl pacientų susidūrimo {1} jau yra.,
+Allow In Returns,Leisti mainais,
+Hide Unavailable Items,Slėpti nepasiekiamus elementus,
+Apply Discount on Discounted Rate,Taikykite nuolaidą nuolaida,
+Therapy Plan Template,Terapijos plano šablonas,
+Fetching Template Details,Gaunama išsami šablono informacija,
+Linked Item Details,Susieto elemento duomenys,
+Therapy Types,Terapijos tipai,
+Therapy Plan Template Detail,Terapijos plano šablono informacija,
+Non Conformance,Neatitikimas,
+Process Owner,Proceso savininkas,
+Corrective Action,Taisomieji veiksmai,
+Preventive Action,Prevencinis veiksmas,
+Problem,Problema,
+Responsible,Atsakingas,
+Completion By,Baigė,
+Process Owner Full Name,Proceso savininko vardas ir pavardė,
+Right Index,Dešinysis indeksas,
+Left Index,Kairysis rodyklė,
+Sub Procedure,Sub procedūra,
+Passed,Praėjo,
+Print Receipt,Spausdinti kvitą,
+Edit Receipt,Redaguoti kvitą,
+Focus on search input,Sutelkite dėmesį į paieškos įvestį,
+Focus on Item Group filter,Susitelkite į elementų grupės filtrą,
+Checkout Order / Submit Order / New Order,Užsakymo užsakymas / pateikiamas užsakymas / naujas užsakymas,
+Add Order Discount,Pridėti užsakymo nuolaidą,
+Item Code: {0} is not available under warehouse {1}.,Prekės kodas: {0} nėra sandėlyje {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serijos numeriai nepasiekiami {0} sandėlyje {1}. Pabandykite pakeisti sandėlį.,
+Fetched only {0} available serial numbers.,Gauta tik {0} galimi serijos numeriai.,
+Switch Between Payment Modes,Perjungti mokėjimo būdus,
+Enter {0} amount.,Įveskite sumą {0}.,
+You don't have enough points to redeem.,"Jūs neturite pakankamai taškų, kuriuos norite išpirkti.",
+You can redeem upto {0}.,Galite išpirkti iki {0}.,
+Enter amount to be redeemed.,"Įveskite sumą, kurią norite išpirkti.",
+You cannot redeem more than {0}.,Negalite išpirkti daugiau nei {0}.,
+Open Form View,Atidarykite formos rodinį,
+POS invoice {0} created succesfully,POS sąskaita faktūra {0} sukurta sėkmingai,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Prekės kodas nepakanka atsargų kiekiui: {0} sandėlyje {1}. Galimas kiekis {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serijos numeris: {0} jau buvo perkeltas į kitą POS sąskaitą faktūrą.,
+Balance Serial No,Likutis Serijos Nr,
+Warehouse: {0} does not belong to {1},Sandėlis: {0} nepriklauso {1},
+Please select batches for batched item {0},Pasirinkite paketines paketines prekes {0},
+Please select quantity on row {0},Pasirinkite kiekį {0} eilutėje,
+Please enter serial numbers for serialized item {0},Įveskite serijinės prekės {0} serijos numerius,
+Batch {0} already selected.,{0} paketas jau pasirinktas.,
+Please select a warehouse to get available quantities,"Pasirinkite sandėlį, kad gautumėte galimus kiekius",
+"For transfer from source, selected quantity cannot be greater than available quantity",Perkėlimui iš šaltinio pasirinktas kiekis negali būti didesnis už turimą kiekį,
+Cannot find Item with this Barcode,Nepavyksta rasti elemento su šiuo brūkšniniu kodu,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} yra privalomas. Galbūt valiutos keitimo įrašas nėra sukurtas {1} - {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} pateikė su juo susietą turtą. Norėdami sukurti pirkimo grąžą, turite atšaukti turtą.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Negalima atšaukti šio dokumento, nes jis susietas su pateiktu ištekliu {0}. Norėdami tęsti, atšaukite jį.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,{0} eilutė: serijos Nr. {} Jau buvo perkeltas į kitą POS sąskaitą faktūrą. Pasirinkite galiojantį serijos Nr.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,{0} eilutė: serijos Nr. {} Jau buvo perkeltos į kitą POS sąskaitą faktūrą. Pasirinkite galiojantį serijos Nr.,
+Item Unavailable,Elementas nepasiekiamas,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"{0} eilutė: serijos Nr. {} Negalima grąžinti, nes tai nebuvo padaryta pirminėje sąskaitoje faktūroje {}",
+Please set default Cash or Bank account in Mode of Payment {},Nustatykite numatytąją grynųjų pinigų ar banko sąskaitą mokėjimo režimu {},
+Please set default Cash or Bank account in Mode of Payments {},Mokėjimo režimu nustatykite numatytąją grynųjų pinigų ar banko sąskaitą {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Įsitikinkite, kad {} paskyra yra balanso sąskaita. Galite pakeisti tėvų sąskaitą į balanso sąskaitą arba pasirinkti kitą sąskaitą.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Įsitikinkite, kad „{}“ paskyra yra mokėtina. Pakeiskite sąskaitos tipą į Mokėtinas arba pasirinkite kitą sąskaitą.",
+Row {}: Expense Head changed to {} ,{Eilutė {}: išlaidų antraštė pakeista į {},
+because account {} is not linked to warehouse {} ,nes paskyra {} nesusieta su sandėliu {},
+or it is not the default inventory account,arba tai nėra numatytoji atsargų sąskaita,
+Expense Head Changed,Išlaidų galva pakeista,
+because expense is booked against this account in Purchase Receipt {},nes išlaidos šioje sąskaitoje yra įrašytos pirkimo kvite {},
+as no Purchase Receipt is created against Item {}. ,nes prekei {} nesudaromas pirkimo kvitas.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Tai daroma tvarkant apskaitą tais atvejais, kai pirkimo kvitas sukuriamas po pirkimo sąskaitos faktūros",
+Purchase Order Required for item {},Būtinas prekės {} pirkimo užsakymas,
+To submit the invoice without purchase order please set {} ,"Norėdami pateikti sąskaitą faktūrą be pirkimo užsakymo, nustatykite {}",
+as {} in {},kaip {} {},
+Mandatory Purchase Order,Privalomas pirkimo užsakymas,
+Purchase Receipt Required for item {},Būtinas prekės {} pirkimo kvitas,
+To submit the invoice without purchase receipt please set {} ,"Norėdami pateikti sąskaitą faktūrą be pirkimo kvito, nustatykite {}",
+Mandatory Purchase Receipt,Privalomas pirkimo kvitas,
+POS Profile {} does not belongs to company {},POS profilis {} nepriklauso įmonei {},
+User {} is disabled. Please select valid user/cashier,Vartotojas {} yra išjungtas. Pasirinkite galiojantį vartotoją / kasininką,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,# Eilutė {}: grąžinimo sąskaitos faktūros {} originali sąskaita {} yra {}.,
+Original invoice should be consolidated before or along with the return invoice.,Sąskaitos originalas turėtų būti sujungtas prieš grąžinimo sąskaitą faktūrą arba kartu su ja.,
+You can add original invoice {} manually to proceed.,"Norėdami tęsti, rankiniu būdu galite pridėti sąskaitos faktūrą {} rankiniu būdu.",
+Please ensure {} account is a Balance Sheet account. ,"Įsitikinkite, kad {} paskyra yra balanso sąskaita.",
+You can change the parent account to a Balance Sheet account or select a different account.,Galite pakeisti tėvų sąskaitą į balanso sąskaitą arba pasirinkti kitą sąskaitą.,
+Please ensure {} account is a Receivable account. ,"Įsitikinkite, kad „{}“ paskyra yra gautina.",
+Change the account type to Receivable or select a different account.,Pakeiskite sąskaitos tipą į Gautinas arba pasirinkite kitą sąskaitą.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"„{}“ negalima atšaukti, nes išpirkti uždirbti lojalumo taškai. Pirmiausia atšaukite {} Ne {}",
+already exists,jau egzistuoja,
+POS Closing Entry {} against {} between selected period,POS uždarymo įrašas {} prieš {} tarp pasirinkto laikotarpio,
+POS Invoice is {},POS sąskaita faktūra yra {},
+POS Profile doesn't matches {},POS profilis neatitinka {},
+POS Invoice is not {},POS sąskaita faktūra nėra {},
+POS Invoice isn't created by user {},POS sąskaitą faktūrą sukūrė ne vartotojas {},
+Row #{}: {},# Eilutė {}: {},
+Invalid POS Invoices,Neteisingos POS sąskaitos faktūros,
+Please add the account to root level Company - {},Pridėkite paskyrą prie pagrindinio lygio įmonės - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Kuriant paskyrą vaikų įmonei {0}, tėvų paskyra {1} nerasta. Sukurkite tėvų sąskaitą atitinkamame COA",
+Account Not Found,Paskyra nerasta,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Kuriant paskyros „Child Child“ {0} paskyrą, tėvų paskyra {1} rasta kaip knygos knyga.",
+Please convert the parent account in corresponding child company to a group account.,Perverskite atitinkamos antrinės įmonės tėvų sąskaitą į grupės paskyrą.,
+Invalid Parent Account,Netinkama tėvų sąskaita,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Pervadinti jį leidžiama tik per pagrindinę įmonę {0}, kad būtų išvengta neatitikimų.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Jei {0} {1} prekės kiekius {2}, elementui bus taikoma schema {3}.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Jei {0} {1} verta elemento {2}, elementui bus pritaikyta schema {3}.",
+"As the field {0} is enabled, the field {1} is mandatory.","Kadangi laukas {0} įgalintas, laukas {1} yra privalomas.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Kadangi laukas {0} įgalintas, lauko {1} vertė turėtų būti didesnė nei 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Nepavyksta pateikti serijos Nr. {0} prekės {1}, nes ji rezervuota viso pardavimo užsakymui {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Pardavimo užsakyme {0} yra prekės rezervacija {1}, rezervuotą {1} galite pristatyti tik prieš {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serijos Nr. {1} pristatyti negalima,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},{0} eilutė: žaliavai privalomas subrangos elementas {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Kadangi žaliavų yra pakankamai, sandėliui {0} nereikia pateikti medžiagų užklausų.",
+" If you still want to proceed, please enable {0}.","Jei vis tiek norite tęsti, įgalinkite {0}.",
+The item referenced by {0} - {1} is already invoiced,"Elementas, nurodytas {0} - {1}, jau yra išrašytas",
+Therapy Session overlaps with {0},Terapijos seansas sutampa su {0},
+Therapy Sessions Overlapping,Terapijos seansai sutampa,
+Therapy Plans,Terapijos planai,
+"Item Code, warehouse, quantity are required on row {0}","Prekės kodas, sandėlis, kiekis būtini {0} eilutėje",
+Get Items from Material Requests against this Supplier,Gaukite elementus iš šio tiekėjo materialinių užklausų,
+Enable European Access,Įgalinti Europos prieigą,
+Creating Purchase Order ...,Kuriamas pirkimo užsakymas ...,
+"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.","Pasirinkite tiekėją iš toliau nurodytų gaminių iš numatytųjų tiekėjų. Pasirinkus pirkimą, bus sudarytos tik prekės, priklausančios pasirinktam tiekėjui.",
+Row #{}: You must select {} serial numbers for item {}.,# Eilutė {}: turite pasirinkti {} prekės serijos numerius {}.,
diff --git a/erpnext/translations/lv.csv b/erpnext/translations/lv.csv
index c5ad2bf..cbf0485 100644
--- a/erpnext/translations/lv.csv
+++ b/erpnext/translations/lv.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Nevar atskaitīt, ja kategorija ir &quot;vērtēšanas&quot; vai &quot;Vaulation un Total&quot;",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Nevar izdzēst Sērijas Nr {0}, jo tas tiek izmantots akciju darījumiem",
 Cannot enroll more than {0} students for this student group.,Nevar uzņemt vairāk nekā {0} studentiem šai studentu grupai.,
-Cannot find Item with this barcode,Nevar atrast vienumu ar šo svītrkodu,
 Cannot find active Leave Period,Nevar atrast aktīvo atlikušo periodu,
 Cannot produce more Item {0} than Sales Order quantity {1},Nevar ražot vairāk Vienību {0} nekā Pasūtījumu daudzums {1},
 Cannot promote Employee with status Left,Nevar reklamēt Darbinieku ar statusu pa kreisi,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Izveidot un pārvaldīt ikdienas, iknedēļas un ikmēneša e-pasta hidrolizātus.",
 Create customer quotes,Izveidot klientu citātus,
 Create rules to restrict transactions based on values.,"Izveidot noteikumus, lai ierobežotu darījumi, pamatojoties uz vērtībām.",
-Created By,Izveidoja,
 Created {0} scorecards for {1} between: ,Izveidoja {0} rādītāju kartes par {1} starp:,
 Creating Company and Importing Chart of Accounts,Uzņēmuma izveidošana un kontu plāna importēšana,
 Creating Fees,Maksu izveidošana,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Rindai {0}: ievadiet plānoto daudzumu,
 "For {0}, only credit accounts can be linked against another debit entry","Par {0}, tikai kredīta kontus var saistīt pret citu debeta ierakstu",
 "For {0}, only debit accounts can be linked against another credit entry","Par {0}, tikai debeta kontus var saistīt pret citu kredīta ierakstu",
-Form View,Veidlapas skats,
 Forum Activity,Foruma aktivitāte,
 Free item code is not selected,Bezmaksas preces kods nav atlasīts,
 Freight and Forwarding Charges,Kravu un Ekspedīcijas maksājumi,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Sūtīt masu SMS saviem kontaktiem,
 Sensitivity,Jutīgums,
 Sent,Nosūtīts,
-Serial #,Sērijas #,
 Serial No and Batch,Sērijas Nr un partijas,
 Serial No is mandatory for Item {0},Sērijas numurs ir obligāta postenī {0},
 Serial No {0} does not belong to Batch {1},Sērijas numurs {0} nepieder partijai {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Kas jums ir nepieciešama palīdzība ar?,
 What does it do?,Ko tas dod?,
 Where manufacturing operations are carried.,"Gadījumos, kad ražošanas darbības tiek veiktas.",
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Veidojot kontu bērnu uzņēmumam {0}, vecāku konts {1} nav atrasts. Lūdzu, izveidojiet vecāku kontu attiecīgajā COA",
 White,Balts,
 Wire Transfer,Wire Transfer,
 WooCommerce Products,WooCommerce produkti,
@@ -3493,6 +3488,7 @@
 Merge with existing,Saplūst ar esošo,
 Office,Birojs,
 Orientation,orientēšanās,
+Parent,Vecāks,
 Passive,Pasīvs,
 Payment Failed,maksājums neizdevās,
 Percent,Procents,
@@ -3543,6 +3539,7 @@
 Show {0},Rādīt {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Speciālās rakstzīmes, izņemot &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Un &quot;}&quot;, kas nav atļautas nosaukuma sērijās",
 Target Details,Mērķa informācija,
+{0} already has a Parent Procedure {1}.,{0} jau ir vecāku procedūra {1}.,
 API,API,
 Annual,Gada,
 Approved,Apstiprināts,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Beigu Datums nevar būt mazāks par sākuma datuma,
 For Default Supplier (Optional),Paredzētajam piegādātājam (neobligāti),
 From date cannot be greater than To date,No datuma nevar būt lielāka par datumu,
-Get items from,Dabūtu preces no,
 Group by,Group By,
 In stock,Noliktavā,
 Item name,Vienības nosaukums,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kvalitātes mērķis,
 Monitoring Frequency,Monitoringa biežums,
 Weekday,Nedēļas diena,
-January-April-July-October,Janvāris-aprīlis-jūlijs-oktobris,
-Revision and Revised On,Pārskatīšana un pārskatīšana ieslēgta,
-Revision,Pārskatīšana,
-Revised On,Pārskatīts ieslēgts,
 Objectives,Mērķi,
 Quality Goal Objective,Kvalitātes mērķis,
 Objective,Objektīvs,
@@ -7574,7 +7566,6 @@
 Processes,Procesi,
 Quality Procedure Process,Kvalitātes procedūras process,
 Process Description,Procesa apraksts,
-Child Procedure,Bērna procedūra,
 Link existing Quality Procedure.,Saistīt esošo kvalitātes procedūru.,
 Additional Information,Papildus informācija,
 Quality Review Objective,Kvalitātes pārskata mērķis,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Pirkuma čeka tendences,
 Purchase Register,Pirkuma Reģistrēties,
 Quotation Trends,Piedāvājumu tendences,
-Quoted Item Comparison,Citēts Prece salīdzinājums,
 Received Items To Be Billed,Saņemtie posteņi ir Jāmaksā,
 Qty to Order,Daudz pasūtījuma,
 Requested Items To Be Transferred,Pieprasīto pozīcijas jāpārskaita,
@@ -9091,7 +9081,6 @@
 Absent Days,Nebūšanas dienas,
 Conditions and Formula variable and example,Nosacījumi un Formulas mainīgais un piemērs,
 Feedback By,Atsauksmes Autors,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.GGGG .-. MM .-. DD.-,
 Manufacturing Section,Ražošanas nodaļa,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Pēc noklusējuma klienta vārds tiek iestatīts atbilstoši ievadītajam vārdam. Ja vēlaties, lai klientus nosauc a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,"Konfigurējiet noklusējuma cenrādi, veidojot jaunu pārdošanas darījumu. Vienību cenas tiks iegūtas no šī Cenrāža.",
@@ -9692,7 +9681,6 @@
 Reserved Balance,Rezervētais atlikums,
 Uncleared Balance,Neskaidrs atlikums,
 Payment related to {0} is not completed,"Maksājums, kas saistīts ar {0}, nav pabeigts",
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,"#. Rinda: kārtas numurs {}. {} jau ir pārskaitīts uz citu POS rēķinu. Lūdzu, izvēlieties derīgu sērijas nr.",
 Row #{}: Item Code: {} is not available under warehouse {}.,#. Rinda: preces kods: {} nav pieejams noliktavā {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,#. Rinda: krājuma daudzums nav pietiekams preces kodam: {} zem noliktavas {}. Pieejamais daudzums {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"#. Rinda: Lūdzu, atlasiet sērijas nr. Un sēriju pret vienumu: {} vai noņemiet to, lai pabeigtu darījumu.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Lūdzu, iespējojiet opciju Atļaut negatīvo krājumu krājumu iestatījumos vai izveidojiet krājuma ievadi, lai turpinātu.",
 No Inpatient Record found against patient {0},Netika atrasts neviens pacienta stacionāra reģistrs {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Stacionārs zāļu pasūtījums {0} pret pacienta sastapšanos {1} jau pastāv.,
+Allow In Returns,Atļaut pretī,
+Hide Unavailable Items,Paslēpt nepieejamos vienumus,
+Apply Discount on Discounted Rate,Piesakies atlaidi diskontētajai likmei,
+Therapy Plan Template,Terapijas plāna veidne,
+Fetching Template Details,Notiek veidnes detaļu ielāde,
+Linked Item Details,Saistītās preces informācija,
+Therapy Types,Terapijas veidi,
+Therapy Plan Template Detail,Terapijas plāna veidnes detaļas,
+Non Conformance,Nepakļaušanās,
+Process Owner,Procesa īpašnieks,
+Corrective Action,Korektīvie pasākumi,
+Preventive Action,Profilaktiskā darbība,
+Problem,Problēma,
+Responsible,Atbildīgs,
+Completion By,Pabeigšana,
+Process Owner Full Name,Procesa īpašnieka pilns vārds,
+Right Index,Labais indekss,
+Left Index,Kreisais rādītājs,
+Sub Procedure,Apakšprocedūra,
+Passed,Izturēts,
+Print Receipt,Drukāt kvīti,
+Edit Receipt,Rediģēt kvīti,
+Focus on search input,Koncentrējieties uz meklēšanas ievadi,
+Focus on Item Group filter,Koncentrējieties uz vienumu grupas filtru,
+Checkout Order / Submit Order / New Order,Checkout Order / Submit Order / New Order,
+Add Order Discount,Pievienojiet pasūtījuma atlaidi,
+Item Code: {0} is not available under warehouse {1}.,Preces kods: {0} nav pieejams noliktavā {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,"Sērijas numuri nav pieejami vienumam {0} zem noliktavas {1}. Lūdzu, mēģiniet nomainīt noliktavu.",
+Fetched only {0} available serial numbers.,Iegūti tikai {0} pieejamie sērijas numuri.,
+Switch Between Payment Modes,Pārslēgšanās starp maksājumu veidiem,
+Enter {0} amount.,Ievadiet summu {0}.,
+You don't have enough points to redeem.,"Jums nav pietiekami daudz punktu, lai tos izpirktu.",
+You can redeem upto {0}.,Varat izmantot līdz pat {0}.,
+Enter amount to be redeemed.,Ievadiet izpērkamo summu.,
+You cannot redeem more than {0}.,Jūs nevarat izmantot vairāk par {0}.,
+Open Form View,Atvērt veidlapas skatu,
+POS invoice {0} created succesfully,POS rēķins {0} izveidots veiksmīgi,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Krājuma daudzums ir nepietiekams preces kodam: {0} zem noliktavas {1}. Pieejamais daudzums {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Sērijas numurs: {0} jau ir pārskaitīts uz citu POS rēķinu.,
+Balance Serial No,Bilances sērijas Nr,
+Warehouse: {0} does not belong to {1},Noliktava: {0} nepieder pie {1},
+Please select batches for batched item {0},"Lūdzu, atlasiet sērijveida preces partijas {0}",
+Please select quantity on row {0},"Lūdzu, atlasiet daudzumu {0}. Rindā",
+Please enter serial numbers for serialized item {0},"Lūdzu, ievadiet sērijveida preces {0} sērijas numurus",
+Batch {0} already selected.,Partija {0} jau ir atlasīta.,
+Please select a warehouse to get available quantities,"Lūdzu, izvēlieties noliktavu, lai iegūtu pieejamos daudzumus",
+"For transfer from source, selected quantity cannot be greater than available quantity",Pārsūtīšanai no avota izvēlētais daudzums nevar būt lielāks par pieejamo daudzumu,
+Cannot find Item with this Barcode,Nevar atrast vienumu ar šo svītrkodu,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} ir obligāta. Varbūt valūtas maiņas ieraksts nav izveidots no {1} uz {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} ir iesniedzis ar to saistītus īpašumus. Lai izveidotu pirkuma atdevi, jums ir jāatceļ aktīvi.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Šo dokumentu nevar atcelt, jo tas ir saistīts ar iesniegto īpašumu {0}. Lūdzu, atceliet to, lai turpinātu.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,"#. Rinda: sērijas numurs {} jau ir transakts citā POS rēķinā. Lūdzu, izvēlieties derīgu sērijas nr.",
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,"Rinda Nr. {}: Sērijas numuri {} jau ir pārskaitīti uz citu POS rēķinu. Lūdzu, izvēlieties derīgu sērijas nr.",
+Item Unavailable,Vienums nav pieejams,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"#. Rinda: kārtas numuru {} nevar atgriezt, jo tas netika darīts sākotnējā rēķinā {}",
+Please set default Cash or Bank account in Mode of Payment {},"Lūdzu, norēķinu režīmā iestatiet noklusējuma skaidras naudas vai bankas kontu {}",
+Please set default Cash or Bank account in Mode of Payments {},"Maksājumu režīmā, lūdzu, iestatiet noklusējuma skaidras naudas vai bankas kontu {}",
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Lūdzu, pārliecinieties, ka {} konts ir Bilances konts. Varat mainīt vecāku kontu uz Bilances kontu vai izvēlēties citu kontu.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Lūdzu, pārliecinieties, ka {} konts ir apmaksājams konts. Mainiet konta veidu uz Maksājams vai atlasiet citu kontu.",
+Row {}: Expense Head changed to {} ,{}. Rinda: izdevumu daļa mainīta uz {},
+because account {} is not linked to warehouse {} ,jo konts {} nav saistīts ar noliktavu {},
+or it is not the default inventory account,vai arī tas nav noklusējuma krājumu konts,
+Expense Head Changed,Izdevumu galva mainīta,
+because expense is booked against this account in Purchase Receipt {},jo izdevumi tiek iegrāmatoti šajā kontā pirkuma čekā {},
+as no Purchase Receipt is created against Item {}. ,tā kā pret preci {} netiek izveidota pirkuma kvīts.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Tas tiek darīts, lai apstrādātu gadījumus, kad pēc pirkuma rēķina tiek izveidota pirkuma kvīts",
+Purchase Order Required for item {},Obligāts pirkuma pasūtījums vienumam {},
+To submit the invoice without purchase order please set {} ,"Lai iesniegtu rēķinu bez pirkuma pasūtījuma, lūdzu, iestatiet {}",
+as {} in {},kā {},
+Mandatory Purchase Order,Obligāts pirkuma pasūtījums,
+Purchase Receipt Required for item {},Nepieciešama vienuma {} pirkuma kvīts,
+To submit the invoice without purchase receipt please set {} ,"Lai iesniegtu rēķinu bez pirkuma čeka, lūdzu, iestatiet {}",
+Mandatory Purchase Receipt,Obligāta pirkuma kvīts,
+POS Profile {} does not belongs to company {},POS profils {} nepieder uzņēmumam {},
+User {} is disabled. Please select valid user/cashier,"Lietotājs {} ir atspējots. Lūdzu, atlasiet derīgu lietotāju / kasieri",
+Row #{}: Original Invoice {} of return invoice {} is {}. ,#. Rinda: atgriešanas rēķina sākotnējais rēķins {} ir {}.,
+Original invoice should be consolidated before or along with the return invoice.,Rēķina oriģināls jāapvieno pirms atgriešanas rēķina vai kopā ar to.,
+You can add original invoice {} manually to proceed.,"Lai turpinātu, rēķinu oriģinālu varat pievienot {} manuāli.",
+Please ensure {} account is a Balance Sheet account. ,"Lūdzu, pārliecinieties, ka {} konts ir Bilances konts.",
+You can change the parent account to a Balance Sheet account or select a different account.,Varat mainīt vecāku kontu uz Bilances kontu vai izvēlēties citu kontu.,
+Please ensure {} account is a Receivable account. ,"Lūdzu, pārliecinieties, ka {} konts ir debitoru konts.",
+Change the account type to Receivable or select a different account.,Mainiet konta veidu uz Debitori vai atlasiet citu kontu.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} nevar atcelt, jo nopelnītie lojalitātes punkti ir izpirkti. Vispirms atceliet {} Nē {}",
+already exists,jau eksistē,
+POS Closing Entry {} against {} between selected period,POS slēgšanas ieraksts {} pret {} starp atlasīto periodu,
+POS Invoice is {},POS rēķins ir {},
+POS Profile doesn't matches {},POS profils neatbilst {},
+POS Invoice is not {},POS rēķins nav {},
+POS Invoice isn't created by user {},POS rēķinu nav izveidojis lietotājs {},
+Row #{}: {},#. Rinda: {},
+Invalid POS Invoices,Nederīgi POS rēķini,
+Please add the account to root level Company - {},"Lūdzu, pievienojiet kontu saknes līmeņa uzņēmumam - {}",
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Veidojot kontu pakārtotajam uzņēmumam {0}, vecāku konts {1} nav atrasts. Lūdzu, izveidojiet vecāku kontu attiecīgajā COA",
+Account Not Found,Konts nav atrasts,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Veidojot kontu pakārtotajam uzņēmumam {0}, vecāku konts {1} tika atrasts kā virsgrāmatas konts.",
+Please convert the parent account in corresponding child company to a group account.,"Lūdzu, konvertējiet vecāku kontu attiecīgajā pakārtotajā uzņēmumā par grupas kontu.",
+Invalid Parent Account,Nederīgs vecāku konts,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Pārdēvēšana ir atļauta tikai ar mātes uzņēmuma {0} starpniecību, lai izvairītos no neatbilstības.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ja {0} {1} vienuma daudzumi ir {2}, vienumam tiks piemērota shēma {3}.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ja esat {0} {1} vērts vienumu {2}, vienumam tiks piemērota shēma {3}.",
+"As the field {0} is enabled, the field {1} is mandatory.","Tā kā lauks {0} ir iespējots, lauks {1} ir obligāts.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Tā kā lauks {0} ir iespējots, lauka {1} vērtībai jābūt lielākai par 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Nevar piegādāt preces {1} sērijas numuru {1}, jo tas ir rezervēts pilnas pārdošanas pasūtījumam {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Pārdošanas pasūtījumā {0} ir rezervācija vienumam {1}, rezervēto {1} varat piegādāt tikai pret {0}.",
+{0} Serial No {1} cannot be delivered,{0} Sērijas Nr. {1} nevar piegādāt,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},{0}. Rinda: izejvielai ir obligāti jānodrošina apakšlīguma priekšmets {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Tā kā izejvielu ir pietiekami daudz, materiālu pieprasījums nav nepieciešams noliktavai {0}.",
+" If you still want to proceed, please enable {0}.","Ja joprojām vēlaties turpināt, lūdzu, iespējojiet {0}.",
+The item referenced by {0} - {1} is already invoiced,"Vienumam, uz kuru atsaucas {0} - {1}, jau ir izrakstīts rēķins",
+Therapy Session overlaps with {0},Terapijas sesija pārklājas ar {0},
+Therapy Sessions Overlapping,Terapijas sesijas pārklājas,
+Therapy Plans,Terapijas plāni,
+"Item Code, warehouse, quantity are required on row {0}","Rindā {0} ir nepieciešams preces kods, noliktava un daudzums",
+Get Items from Material Requests against this Supplier,Iegūstiet preces no materiāliem pieprasījumiem pret šo piegādātāju,
+Enable European Access,Iespējot Eiropas piekļuvi,
+Creating Purchase Order ...,Notiek pirkuma pasūtījuma izveide ...,
+"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.","Izvēlieties piegādātāju no tālāk norādīto vienumu noklusējuma piegādātājiem. Pēc izvēles tiks veikts pirkuma pasūtījums tikai par precēm, kas pieder izvēlētajam piegādātājam.",
+Row #{}: You must select {} serial numbers for item {}.,#. Rinda: jums jāizvēlas {} vienuma sērijas numuri {}.,
diff --git a/erpnext/translations/mk.csv b/erpnext/translations/mk.csv
index d3297be..7008025 100644
--- a/erpnext/translations/mk.csv
+++ b/erpnext/translations/mk.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',не може да се одбие кога категорија е наменета за &quot;оценка&quot; или &quot;Vaulation и вкупно&quot;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Не можат да избришат сериски Не {0}, како што се користи во акции трансакции",
 Cannot enroll more than {0} students for this student group.,Не може да се запишат повеќе од {0} студентите за оваа група студенти.,
-Cannot find Item with this barcode,Не можам да ја пронајдам Ставката со овој баркод,
 Cannot find active Leave Period,Не може да се најде активен период на напуштање,
 Cannot produce more Item {0} than Sales Order quantity {1},Не може да произведе повеќе од ставка {0} од количина {1} во Продажна нарачка,
 Cannot promote Employee with status Left,Не може да се промовира вработениот со статус Лево,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Креирање и управување со дневни, неделни и месечни Е-содржините.",
 Create customer quotes,Креирај понуди на клиентите,
 Create rules to restrict transactions based on values.,Создаде правила за ограничување на трансакции врз основа на вредности.,
-Created By,Создадена од страна,
 Created {0} scorecards for {1} between: ,Создадени {0} броеви за карти за {1} помеѓу:,
 Creating Company and Importing Chart of Accounts,Создавање компанија и увоз на табела на сметки,
 Creating Fees,Создавање такси,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,За ред {0}: Внесете го планираното количество,
 "For {0}, only credit accounts can be linked against another debit entry","За {0}, само кредитни сметки може да се поврзат против друг запис дебитна",
 "For {0}, only debit accounts can be linked against another credit entry","За {0}, само задолжува сметки може да се поврзат против друга кредитна влез",
-Form View,Преглед на форма,
 Forum Activity,Форум активност,
 Free item code is not selected,Кодот за бесплатна ставка не е избран,
 Freight and Forwarding Charges,Товар и товар пријави,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Испрати маса SMS порака на вашите контакти,
 Sensitivity,Чувствителност,
 Sent,Испрати,
-Serial #,Сериски #,
 Serial No and Batch,Сериски Не и серија,
 Serial No is mandatory for Item {0},Сериски Не е задолжително за Точка {0},
 Serial No {0} does not belong to Batch {1},Сериската број {0} не припаѓа на групата {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Што ви треба помош?,
 What does it do?,Што да направам?,
 Where manufacturing operations are carried.,Каде што се врши производните операции.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Додека создавате сметка за дете Компанија {0}, сметката за родители {1} не е пронајдена. Ве молиме, креирајте ја матичната сметка во соодветниот ЦОА",
 White,Бела,
 Wire Transfer,Wire Transfer,
 WooCommerce Products,Производи на WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Се спои со постојната,
 Office,Канцеларија,
 Orientation,ориентација,
+Parent,Родител,
 Passive,Пасивни,
 Payment Failed,плаќање успеав,
 Percent,Проценти,
@@ -3543,6 +3539,7 @@
 Show {0},Покажи {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Не се дозволени специјални карактери освен &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; И &quot;}&quot; во сериите за именување",
 Target Details,Цели детали,
+{0} already has a Parent Procedure {1}.,{0} веќе има Матична постапка {1}.,
 API,API,
 Annual,Годишен,
 Approved,Одобрени,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Крајниот датум не може да биде помал од датумот на почеток,
 For Default Supplier (Optional),За стандарден добавувач (опционално),
 From date cannot be greater than To date,Од датумот не може да биде поголем од датум,
-Get items from,Се предмети од,
 Group by,Со група,
 In stock,На залиха,
 Item name,Точка Име,
@@ -7558,10 +7554,6 @@
 Quality Goal,Цел на квалитетот,
 Monitoring Frequency,Фреквенција на набудување,
 Weekday,Неделен ден,
-January-April-July-October,Јануари-април-јули-октомври,
-Revision and Revised On,Ревизија и ревидирање на,
-Revision,Ревизија,
-Revised On,Ревидирано на,
 Objectives,Цели,
 Quality Goal Objective,Цел на квалитетот на целта,
 Objective,Цел,
@@ -7574,7 +7566,6 @@
 Processes,Процеси,
 Quality Procedure Process,Процес на постапка за квалитет,
 Process Description,Опис на процесот,
-Child Procedure,Постапка за деца,
 Link existing Quality Procedure.,Поврзете ја постојната процедура за квалитет.,
 Additional Information,дополнителни информации,
 Quality Review Objective,Цел на преглед на квалитетот,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Купување Потврда трендови,
 Purchase Register,Купување Регистрирај се,
 Quotation Trends,Трендови на Понуди,
-Quoted Item Comparison,Цитирано Точка споредба,
 Received Items To Be Billed,Примените предмети да бидат фактурирани,
 Qty to Order,Количина да нарачате,
 Requested Items To Be Transferred,Бара предмети да бидат префрлени,
@@ -9091,7 +9081,6 @@
 Absent Days,Отсутни денови,
 Conditions and Formula variable and example,Услови и формула променлива и пример,
 Feedback By,Повратни информации од,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYYY .-. ММ .-. Д.Д.-,
 Manufacturing Section,Секција за производство,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Стандардно, името на клиентот е поставено според внесеното полно име. Ако сакате клиентите да бидат именувани од а",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Конфигурирајте го стандардниот ценовник кога креирате нова продажна трансакција. Цените на артиклите ќе бидат земени од овој Ценовник.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Резервиран биланс,
 Uncleared Balance,Нејасен биланс,
 Payment related to {0} is not completed,Плаќањето поврзано со {0} не е завршено,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ред # {}: Сериски број {}. {} веќе е пренесена во друга ПОС-фактура. Ве молиме изберете важечки сериски бр.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Ред # {}: Шифра на ставка: {} не е достапна под магацин {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Ред # {}: Количината на залиха не е доволна за Кодот на артиклот: {} под магацин {}. Достапна количина {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Ред # {}: Ве молиме, изберете сериски број и група против ставка: {} или отстранете ја за да ја завршите трансакцијата.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Овозможете Дозволете негативна залиха во поставките на акциите или создадете упис на акции за да продолжите.,
 No Inpatient Record found against patient {0},Не е пронајден запис за пациенти против пациент {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Наредба за стационарни лекови {0} против средба со пациенти {1} веќе постои.,
+Allow In Returns,Дозволи за возврат,
+Hide Unavailable Items,Сокриј ги недостапните ставки,
+Apply Discount on Discounted Rate,Примени попуст на попуст,
+Therapy Plan Template,Шаблон на план за терапија,
+Fetching Template Details,Преземање на детали за образецот,
+Linked Item Details,Детали за поврзаната ставка,
+Therapy Types,Видови на терапија,
+Therapy Plan Template Detail,Детал за образецот на планот за терапија,
+Non Conformance,Не се усогласи,
+Process Owner,Сопственик на процес,
+Corrective Action,Поправна акција,
+Preventive Action,Превентивна акција,
+Problem,Проблем,
+Responsible,Одговорен,
+Completion By,Завршување од,
+Process Owner Full Name,Целосно име на сопственикот на процесот,
+Right Index,Десен индекс,
+Left Index,Лев индекс,
+Sub Procedure,Подпроцедура,
+Passed,Помина,
+Print Receipt,Потврда за печатење,
+Edit Receipt,Уредете ја потврдата,
+Focus on search input,Фокусирајте се на влезот за пребарување,
+Focus on Item Group filter,Фокусирајте се на филтерот за група ставки,
+Checkout Order / Submit Order / New Order,Нарачка за исплата / Доставете порачка / Нова нарачка,
+Add Order Discount,Додадете попуст на нарачката,
+Item Code: {0} is not available under warehouse {1}.,Код на ставка: {0} не е достапен под складиштето {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,"Сериските броеви се недостапни за Точката {0} под магацин {1}. Ве молиме, обидете се да го смените складиштето.",
+Fetched only {0} available serial numbers.,Набавени се само {0} достапни сериски броеви.,
+Switch Between Payment Modes,Префрлување помеѓу режимите на плаќање,
+Enter {0} amount.,Внесете {0} износ.,
+You don't have enough points to redeem.,Немате доволно поени за откуп.,
+You can redeem upto {0}.,Може да активирате до {0}.,
+Enter amount to be redeemed.,Внесете износ што треба да се откупи.,
+You cannot redeem more than {0}.,Не можете да откупите повеќе од {0}.,
+Open Form View,Отворете го Погледот на формата,
+POS invoice {0} created succesfully,ПОС-фактурата {0} е создадена успешно,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Количината на залиха не е доволна за кодот на артиклот: {0} под магацин {1}. Достапна количина {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Сериски број: {0} веќе е пренесен во друга ПОС-фактура.,
+Balance Serial No,Биланс Сериски бр,
+Warehouse: {0} does not belong to {1},Складиште: {0} не припаѓа на {1},
+Please select batches for batched item {0},"Ве молиме, изберете серии за сериската ставка {0}",
+Please select quantity on row {0},Изберете ја количината на редот {0},
+Please enter serial numbers for serialized item {0},Внесете сериски броеви за сериската ставка {0},
+Batch {0} already selected.,Серијата {0} е веќе избрана.,
+Please select a warehouse to get available quantities,Ве молиме изберете магацин за да добиете достапни количини,
+"For transfer from source, selected quantity cannot be greater than available quantity","За пренос од извор, избраната количина не може да биде поголема од достапната количина",
+Cannot find Item with this Barcode,Не можам да ја пронајдам ставката со овој баркод,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} е задолжително. Можеби записот за размена на валути не е создаден за {1} до {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} достави средства поврзани со него. Треба да ги откажете средствата за да создадете поврат на набавката.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Не може да се откаже овој документ бидејќи е поврзан со доставеното средство {0}. Откажете го за да продолжите.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ред # {}: Серискиот број {} веќе е пренесен во друга ПОС-фактура. Ве молиме изберете важечки сериски бр.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ред # {}: Бројот на сериите. {} Веќе е пренесен во друга ПОС-фактура. Ве молиме изберете важечки сериски бр.,
+Item Unavailable,Ставката е недостапна,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Ред # {}: Серискиот број {} не може да се врати бидејќи не е извршен во оригиналната фактура {},
+Please set default Cash or Bank account in Mode of Payment {},Поставете стандардна готовина или банкарска сметка во начинот на плаќање {},
+Please set default Cash or Bank account in Mode of Payments {},Поставете стандардна готовина или банкарска сметка во начинот на плаќање {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Уверете се дека сметката {} е сметка за Биланс на состојба. Може да ја смените матичната сметка во сметка на Биланс на состојба или да изберете друга сметка.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Уверете се дека сметката {} е сметка за плаќање. Променете го типот на сметката во Платено или изберете друга сметка.,
+Row {}: Expense Head changed to {} ,Ред {}: Главата на трошоците е сменета во {},
+because account {} is not linked to warehouse {} ,бидејќи сметката {} не е поврзана со магацин {},
+or it is not the default inventory account,или не е стандардна сметка за залихи,
+Expense Head Changed,Главата на трошоците е сменета,
+because expense is booked against this account in Purchase Receipt {},бидејќи трошокот е резервиран наспроти оваа сметка во Потврда за набавка {},
+as no Purchase Receipt is created against Item {}. ,бидејќи не е создадена потврда за набавка наспроти ставката {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ова е направено за да се справи со сметководството за случаите кога Потврдата за набавка е креирана по Фактурата за набавка,
+Purchase Order Required for item {},Потребна е нарачка за набавка за ставка {},
+To submit the invoice without purchase order please set {} ,"За да ја доставите фактурата без нарачка, поставете {}",
+as {} in {},како во {},
+Mandatory Purchase Order,Задолжителен налог за набавка,
+Purchase Receipt Required for item {},Потребна е потврда за набавка за ставка {},
+To submit the invoice without purchase receipt please set {} ,"За да ја доставите фактурата без потврда за набавка, поставете {}",
+Mandatory Purchase Receipt,Потврда за задолжителна набавка,
+POS Profile {} does not belongs to company {},ПОС-профилот {} не припаѓа на компанијата {},
+User {} is disabled. Please select valid user/cashier,Корисникот {} е оневозможен. Ве молиме изберете валиден корисник / благајник,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Ред # {}: Оригиналната фактура {} на фактурата за поврат {} е {}.,
+Original invoice should be consolidated before or along with the return invoice.,Оригиналната фактура треба да се консолидира пред или заедно со повратната фактура.,
+You can add original invoice {} manually to proceed.,Можете да додадете оригинална фактура {} рачно за да продолжите.,
+Please ensure {} account is a Balance Sheet account. ,Уверете се дека сметката {} е сметка за Биланс на состојба.,
+You can change the parent account to a Balance Sheet account or select a different account.,Може да ја смените матичната сметка во сметка на Биланс на состојба или да изберете друга сметка.,
+Please ensure {} account is a Receivable account. ,Уверете се дека сметката {} е сметка за побарување.,
+Change the account type to Receivable or select a different account.,Променете го типот на сметка во Побарување или изберете друга сметка.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} не може да се откаже бидејќи се откупени заработените поени на лојалност. Прво откажете го {} Не {},
+already exists,веќе постои,
+POS Closing Entry {} against {} between selected period,Влез за затворање ПОС {} против {} помеѓу избраниот период,
+POS Invoice is {},ПОС-фактурата е {},
+POS Profile doesn't matches {},ПОС-профилот не се совпаѓа со {},
+POS Invoice is not {},ПОС-фактурата не е {},
+POS Invoice isn't created by user {},ПОС-фактурата не е креирана од корисникот {},
+Row #{}: {},Ред # {}: {},
+Invalid POS Invoices,Неважечки ПОС-фактури,
+Please add the account to root level Company - {},"Ве молиме, додајте ја сметката на ниво на корен - {}",
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Додека создавате сметка за Детска компанија {0}, родителската сметка {1} не е пронајдена. Ве молиме, креирајте ја матичната сметка во соодветната СОA",
+Account Not Found,Сметката не е пронајдена,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Додека создавате сметка за Детска компанија {0}, родителската сметка {1} се најде како главна сметка.",
+Please convert the parent account in corresponding child company to a group account.,"Ве молиме, претворете ја матичната сметка во соодветната компанија за деца во групна сметка.",
+Invalid Parent Account,Невалидна родителска сметка,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Преименувањето е дозволено само преку матичната компанија {0}, за да се избегне несовпаѓање.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ако {0} {1} количини на ставката {2} имате, шемата {3} ќе се примени на артиклот.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ако {0} {1} вреди ставка {2}, шемата {3} ќе се примени на ставката.",
+"As the field {0} is enabled, the field {1} is mandatory.","Бидејќи полето {0} е овозможено, полето {1} е задолжително.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Бидејќи полето {0} е овозможено, вредноста на полето {1} треба да биде повеќе од 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Не може да се достави серискиот број {0} од ставката {1} бидејќи е резервиран за целосна пополнување на нарачката за продажба {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Нарачката за продажба {0} има резервација за ставката {1}, може да доставите резервирани само {1} наспроти {0}.",
+{0} Serial No {1} cannot be delivered,{0} Серискиот број {1} не може да се испорача,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Ред {0}: Поткажаната ставка е задолжителна за суровината {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Бидејќи има доволно суровини, материјалното барање не е потребно за складиштето {0}.",
+" If you still want to proceed, please enable {0}.","Ако сè уште сакате да продолжите, овозможете {0}.",
+The item referenced by {0} - {1} is already invoiced,Ставката на која се повикуваат {0} - {1} е веќе фактурирана,
+Therapy Session overlaps with {0},Сесијата за терапија се преклопува со {0},
+Therapy Sessions Overlapping,Сесии за терапија што се преклопуваат,
+Therapy Plans,Планови за терапија,
+"Item Code, warehouse, quantity are required on row {0}","Кодот на објектот, складиштето, количината се потребни на редот {0}",
+Get Items from Material Requests against this Supplier,Набавете предмети од материјални барања против овој добавувач,
+Enable European Access,Овозможете европски пристап,
+Creating Purchase Order ...,Создавање налог за набавка ...,
+"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.","Изберете снабдувач од Стандардните добавувачи на ставките подолу. При избор, ќе се изврши Нарачка за набавка само на предмети што припаѓаат на избраниот Добавувач.",
+Row #{}: You must select {} serial numbers for item {}.,Ред # {}: Мора да изберете {} сериски броеви за ставка {}.,
diff --git a/erpnext/translations/ml.csv b/erpnext/translations/ml.csv
index 9ecf8b4..f917969 100644
--- a/erpnext/translations/ml.csv
+++ b/erpnext/translations/ml.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',വർഗ്ഗം &#39;മൂലധനം&#39; അല്ലെങ്കിൽ &#39;Vaulation മൊത്തം&#39; എന്ന എപ്പോൾ കുറയ്ക്കാവുന്നതാണ് കഴിയില്ല,
 "Cannot delete Serial No {0}, as it is used in stock transactions","അത് സ്റ്റോക്ക് ഇടപാടുകൾ ഉപയോഗിക്കുന്ന പോലെ, {0} സീരിയൽ ഇല്ല ഇല്ലാതാക്കാൻ കഴിയില്ല",
 Cannot enroll more than {0} students for this student group.,{0} ഈ വിദ്യാർത്ഥി ഗ്രൂപ്പിനായി വിദ്യാർത്ഥികൾ കൂടുതൽ എൻറോൾ ചെയ്യാൻ കഴിയില്ല.,
-Cannot find Item with this barcode,ഈ ബാർകോഡ് ഉപയോഗിച്ച് ഇനം കണ്ടെത്താൻ കഴിയില്ല,
 Cannot find active Leave Period,സജീവ അവധി കാലാവധി കണ്ടെത്താനായില്ല,
 Cannot produce more Item {0} than Sales Order quantity {1},സെയിൽസ് ഓർഡർ അളവ് {1} അധികം ഇനം {0} ഉത്പാദിപ്പിക്കാനുള്ള കഴിയുന്നില്ലേ,
 Cannot promote Employee with status Left,നില ഇടത്തോടുകൂടിയ ജീവനക്കാരനെ പ്രോത്സാഹിപ്പിക്കാനാവില്ല,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","സൃഷ്ടിക്കുക ദിവസേന നിയന്ത്രിക്കുക, പ്രതിവാര മാസ ഇമെയിൽ digests.",
 Create customer quotes,ഉപഭോക്തൃ ഉദ്ധരണികൾ സൃഷ്ടിക്കുക,
 Create rules to restrict transactions based on values.,മൂല്യങ്ങൾ അടിസ്ഥാനമാക്കിയുള്ള ഇടപാടുകൾ പരിമിതപ്പെടുത്താൻ നിയമങ്ങൾ സൃഷ്ടിക്കുക.,
-Created By,ഉണ്ടാക്കിയത്,
 Created {0} scorecards for {1} between: ,{0} എന്നതിന് വേണ്ടി {1} എന്നതിനുള്ള സ്കോർകാർഡ് സൃഷ്ടിച്ചു:,
 Creating Company and Importing Chart of Accounts,കമ്പനി സൃഷ്ടിക്കുകയും അക്ക of ണ്ടുകളുടെ ഇംപോർട്ട് ചാർട്ട്,
 Creating Fees,ഫീസ് സൃഷ്ടിക്കുന്നു,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,വരിയ്ക്കായി {0}: ആസൂത്രിത അളവുകൾ നൽകുക,
 "For {0}, only credit accounts can be linked against another debit entry",{0} മാത്രം ക്രെഡിറ്റ് അക്കൗണ്ടുകൾ മറ്റൊരു ഡെബിറ്റ് എൻട്രി നേരെ ലിങ്ക്ഡ് കഴിയും,
 "For {0}, only debit accounts can be linked against another credit entry",{0} മാത്രം ഡെബിറ്റ് അക്കൗണ്ടുകൾ മറ്റൊരു ക്രെഡിറ്റ് എൻട്രി നേരെ ലിങ്ക്ഡ് കഴിയും,
-Form View,ഫോം കാഴ്ച,
 Forum Activity,ഫോറം പ്രവർത്തനം,
 Free item code is not selected,സ item ജന്യ ഇന കോഡ് തിരഞ്ഞെടുത്തിട്ടില്ല,
 Freight and Forwarding Charges,ചരക്കുഗതാഗതം കൈമാറലും ചുമത്തിയിട്ടുള്ള,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,സമ്പർക്കങ്ങളിൽ പിണ്ഡം എസ്എംഎസ് അയയ്ക്കുക,
 Sensitivity,സെൻസിറ്റിവിറ്റി,
 Sent,അയച്ചവ,
-Serial #,സീരിയൽ #,
 Serial No and Batch,സീരിയൽ ഇല്ല ആൻഡ് ബാച്ച്,
 Serial No is mandatory for Item {0},സീരിയൽ പോസ്റ്റ് ഇനം {0} നിര്ബന്ധമാണ്,
 Serial No {0} does not belong to Batch {1},സീരിയൽ {0} ബാച്ച് {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,എന്ത് സഹായമാണ് എന്താണ് വേണ്ടത്?,
 What does it do?,അത് എന്തു ചെയ്യുന്നു?,
 Where manufacturing operations are carried.,എവിടെ നിർമാണ ഓപ്പറേഷനുകൾ നടപ്പിലാക്കുന്നത്.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","ചൈൽഡ് കമ്പനി {0} അക്കൗണ്ട് സൃഷ്ടിക്കുമ്പോൾ, പാരന്റ് അക്കൌണ്ട് {1} കാണുന്നില്ല. ദയവായി ബന്ധപ്പെട്ട COA ൽ പേരന്റ് അക്കൌണ്ട് സൃഷ്ടിക്കുക",
 White,വൈറ്റ്,
 Wire Transfer,വയർ ട്രാൻസ്ഫർ,
 WooCommerce Products,WooCommerce ഉൽപ്പന്നങ്ങൾ,
@@ -3493,6 +3488,7 @@
 Merge with existing,നിലവിലുള്ള ലയിക്കാനുള്ള,
 Office,ഓഫീസ്,
 Orientation,വിന്യാസം,
+Parent,പേരന്റ്ഫോള്ഡര്,
 Passive,നിഷ്കിയമായ,
 Payment Failed,പേയ്മെന്റ് പരാജയപ്പെട്ടു,
 Percent,ശതമാനം,
@@ -3543,6 +3539,7 @@
 Show {0},{0} കാണിക്കുക,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot;, &quot;}&quot; എന്നിവ ഒഴികെയുള്ള പ്രത്യേക പ്രതീകങ്ങൾ നാമകരണ ശ്രേണിയിൽ അനുവദനീയമല്ല",
 Target Details,ടാർഗെറ്റ് വിശദാംശങ്ങൾ,
+{0} already has a Parent Procedure {1}.,{0} ന് ഇതിനകം ഒരു രക്ഷാകർതൃ നടപടിക്രമം ഉണ്ട് {1}.,
 API,API,
 Annual,വാർഷിക,
 Approved,അംഗീകരിച്ചു,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,അവസാന തീയതി ആരംഭ തീയതിക്ക് കുറവായിരിക്കരുത്,
 For Default Supplier (Optional),സ്ഥിര വിതരണക്കാരന് (ഓപ്ഷണൽ),
 From date cannot be greater than To date,തീയതി മുതൽ തീയതി വരെ വലിയതായിരിക്കരുത്,
-Get items from,നിന്ന് ഇനങ്ങൾ നേടുക,
 Group by,ഗ്രൂപ്പ്,
 In stock,സ്റ്റോക്കുണ്ട്,
 Item name,ഇനം പേര്,
@@ -7558,10 +7554,6 @@
 Quality Goal,ഗുണനിലവാര ലക്ഷ്യം,
 Monitoring Frequency,മോണിറ്ററിംഗ് ആവൃത്തി,
 Weekday,പ്രവൃത്തിദിനം,
-January-April-July-October,ജനുവരി-ഏപ്രിൽ-ജൂലൈ-ഒക്ടോബർ,
-Revision and Revised On,പുനരവലോകനവും പുതുക്കിയതും,
-Revision,പുനരവലോകനം,
-Revised On,പുതുക്കിയത്,
 Objectives,ലക്ഷ്യങ്ങൾ,
 Quality Goal Objective,ഗുണനിലവാര ലക്ഷ്യം,
 Objective,ലക്ഷ്യം,
@@ -7574,7 +7566,6 @@
 Processes,പ്രക്രിയകൾ,
 Quality Procedure Process,ഗുണനിലവാര നടപടിക്രമം,
 Process Description,പ്രോസസ്സ് വിവരണം,
-Child Procedure,കുട്ടികളുടെ നടപടിക്രമം,
 Link existing Quality Procedure.,നിലവിലുള്ള ഗുണനിലവാര നടപടിക്രമം ലിങ്ക് ചെയ്യുക.,
 Additional Information,അധിക വിവരം,
 Quality Review Objective,ഗുണനിലവാര അവലോകന ലക്ഷ്യം,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,വാങ്ങൽ രസീത് ട്രെൻഡുകൾ,
 Purchase Register,രജിസ്റ്റർ വാങ്ങുക,
 Quotation Trends,ക്വട്ടേഷൻ ട്രെൻഡുകൾ,
-Quoted Item Comparison,ഉദ്ധരിച്ച ഇനം താരതമ്യം,
 Received Items To Be Billed,ബില്ല് ലഭിച്ച ഇനങ്ങൾ,
 Qty to Order,ഓർഡർ Qty,
 Requested Items To Be Transferred,മാറ്റിയത് അഭ്യർത്ഥിച്ചു ഇനങ്ങൾ,
@@ -9091,7 +9081,6 @@
 Absent Days,ഇല്ലാത്ത ദിവസങ്ങൾ,
 Conditions and Formula variable and example,നിബന്ധനകളും ഫോർമുല വേരിയബിളും ഉദാഹരണവും,
 Feedback By,ഫീഡ്‌ബാക്ക്,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,നിർമ്മാണ വിഭാഗം,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","സ്ഥിരസ്ഥിതിയായി, നൽകിയ മുഴുവൻ പേരിന് അനുസൃതമായി ഉപഭോക്തൃ നാമം സജ്ജമാക്കി. ഉപഭോക്താക്കളെ പേരിടാൻ നിങ്ങൾ ആഗ്രഹിക്കുന്നുവെങ്കിൽ a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,ഒരു പുതിയ വിൽപ്പന ഇടപാട് സൃഷ്ടിക്കുമ്പോൾ സ്ഥിര വില വില ക്രമീകരിക്കുക. ഈ വില ലിസ്റ്റിൽ നിന്ന് ഇന വിലകൾ ലഭിക്കും.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,റിസർവ്ഡ് ബാലൻസ്,
 Uncleared Balance,വ്യക്തമല്ലാത്ത ബാലൻസ്,
 Payment related to {0} is not completed,{0 to മായി ബന്ധപ്പെട്ട പേയ്‌മെന്റ് പൂർത്തിയായിട്ടില്ല,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,വരി # {}: സീരിയൽ നമ്പർ {}. P} ഇതിനകം തന്നെ മറ്റൊരു പി‌ഒ‌എസ് ഇൻ‌വോയിസിലേക്ക് ഇടപാട് നടത്തി. സാധുവായ സീരിയൽ നമ്പർ തിരഞ്ഞെടുക്കുക.,
 Row #{}: Item Code: {} is not available under warehouse {}.,വരി # {}: ഇനം കോഡ്: ware w വെയർഹൗസിന് കീഴിൽ ലഭ്യമല്ല {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,വരി # {}: ഇനത്തിന്റെ കോഡിന് സ്റ്റോക്ക് അളവ് പര്യാപ്തമല്ല: ware വെയർഹ house സിനു കീഴിൽ {}. ലഭ്യമായ അളവ് {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,വരി # {}: ദയവായി ഒരു സീരിയൽ നമ്പർ തിരഞ്ഞെടുത്ത് ഇനത്തിനെതിരെ ബാച്ച് ചെയ്യുക: {} അല്ലെങ്കിൽ ഇടപാട് പൂർത്തിയാക്കുന്നതിന് അത് നീക്കംചെയ്യുക.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,സ്റ്റോക്ക് ക്രമീകരണങ്ങളിൽ നെഗറ്റീവ് സ്റ്റോക്ക് അനുവദിക്കുക അല്ലെങ്കിൽ തുടരാൻ സ്റ്റോക്ക് എൻ‌ട്രി സൃഷ്ടിക്കുക.,
 No Inpatient Record found against patient {0},Patient 0 patient രോഗിക്കെതിരെ ഇൻപേഷ്യന്റ് റെക്കോർഡുകളൊന്നും കണ്ടെത്തിയില്ല,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,പേഷ്യന്റ് എൻ‌ക ount ണ്ടർ {1 against നെതിരെ {0 an ഒരു ഇൻ‌പേഷ്യൻറ് മരുന്ന് ഓർ‌ഡർ‌ ഇതിനകം നിലവിലുണ്ട്.,
+Allow In Returns,റിട്ടേണുകളിൽ അനുവദിക്കുക,
+Hide Unavailable Items,ലഭ്യമല്ലാത്ത ഇനങ്ങൾ മറയ്‌ക്കുക,
+Apply Discount on Discounted Rate,കിഴിവ് നിരക്കിൽ കിഴിവ് പ്രയോഗിക്കുക,
+Therapy Plan Template,തെറാപ്പി പ്ലാൻ ടെംപ്ലേറ്റ്,
+Fetching Template Details,ടെംപ്ലേറ്റ് വിശദാംശങ്ങൾ നേടുന്നു,
+Linked Item Details,ലിങ്കുചെയ്‌ത ഇന വിശദാംശങ്ങൾ,
+Therapy Types,തെറാപ്പി തരങ്ങൾ,
+Therapy Plan Template Detail,തെറാപ്പി പ്ലാൻ ടെംപ്ലേറ്റ് വിശദാംശം,
+Non Conformance,ചട്ടവിരുദ്ധം,
+Process Owner,പ്രോസസ് ഉടമ,
+Corrective Action,തിരുത്തൽ പ്രവർത്തനം,
+Preventive Action,മുൻകരുതൽ നടപടി,
+Problem,പ്രശ്നം,
+Responsible,ഉത്തരവാദിയായ,
+Completion By,പൂർത്തിയാക്കിയത്,
+Process Owner Full Name,പ്രോസസ് ഉടമയുടെ മുഴുവൻ പേര്,
+Right Index,വലത് സൂചിക,
+Left Index,ഇടത് സൂചിക,
+Sub Procedure,ഉപ നടപടിക്രമം,
+Passed,കടന്നുപോയി,
+Print Receipt,അച്ചടി രസീത്,
+Edit Receipt,രസീത് എഡിറ്റുചെയ്യുക,
+Focus on search input,തിരയൽ ഇൻപുട്ടിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക,
+Focus on Item Group filter,ഇനം ഗ്രൂപ്പ് ഫിൽട്ടറിൽ ശ്രദ്ധ കേന്ദ്രീകരിക്കുക,
+Checkout Order / Submit Order / New Order,ചെക്ക് out ട്ട് ഓർഡർ / ഓർഡർ സമർപ്പിക്കുക / പുതിയ ഓർഡർ,
+Add Order Discount,ഓർഡർ ഡിസ്കൗണ്ട് ചേർക്കുക,
+Item Code: {0} is not available under warehouse {1}.,ഇനം കോഡ്: w 0 w വെയർഹ house സ് under 1 under ന് കീഴിൽ ലഭ്യമല്ല.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,വെയർഹ house സ് {1 under ന് കീഴിലുള്ള ഇനം {0 for ന് സീരിയൽ നമ്പറുകൾ ലഭ്യമല്ല. വെയർഹ house സ് മാറ്റാൻ ശ്രമിക്കുക.,
+Fetched only {0} available serial numbers.,ലഭ്യമായ സീരിയൽ നമ്പറുകൾ {0} മാത്രം ലഭിച്ചു.,
+Switch Between Payment Modes,പേയ്‌മെന്റ് മോഡുകൾക്കിടയിൽ മാറുക,
+Enter {0} amount.,{0} തുക നൽകുക.,
+You don't have enough points to redeem.,റിഡീം ചെയ്യുന്നതിന് നിങ്ങൾക്ക് മതിയായ പോയിന്റുകൾ ഇല്ല.,
+You can redeem upto {0}.,നിങ്ങൾക്ക് {0 to വരെ റിഡീം ചെയ്യാൻ കഴിയും.,
+Enter amount to be redeemed.,റിഡീം ചെയ്യേണ്ട തുക നൽകുക.,
+You cannot redeem more than {0}.,നിങ്ങൾക്ക് {0 than ൽ കൂടുതൽ റിഡീം ചെയ്യാൻ കഴിയില്ല.,
+Open Form View,ഫോം കാഴ്ച തുറക്കുക,
+POS invoice {0} created succesfully,POS ഇൻവോയ്സ് {0 Suc വിജയകരമായി സൃഷ്ടിച്ചു,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,ഇനം കോഡിന് സ്റ്റോക്ക് അളവ് പര്യാപ്തമല്ല: വെയർഹ house സ് under 1 under ന് കീഴിൽ {0}. ലഭ്യമായ അളവ് {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,സീരിയൽ‌ നമ്പർ‌: P 0 already ഇതിനകം മറ്റൊരു പി‌ഒ‌എസ് ഇൻ‌വോയിസിലേക്ക് ഇടപാട് നടത്തി.,
+Balance Serial No,ബാലൻസ് സീരിയൽ നമ്പർ,
+Warehouse: {0} does not belong to {1},വെയർഹ house സ്: {0} {1 to ൽ ഉൾപ്പെടുന്നില്ല,
+Please select batches for batched item {0},ബാച്ച് ചെയ്ത ഇനത്തിനായി ബാച്ചുകൾ തിരഞ്ഞെടുക്കുക {0},
+Please select quantity on row {0},{0 row വരിയിലെ അളവ് തിരഞ്ഞെടുക്കുക,
+Please enter serial numbers for serialized item {0},സീരിയലൈസ് ചെയ്ത ഇനത്തിനായി സീരിയൽ നമ്പറുകൾ നൽകുക {0},
+Batch {0} already selected.,ബാച്ച് {0} ഇതിനകം തിരഞ്ഞെടുത്തു.,
+Please select a warehouse to get available quantities,ലഭ്യമായ അളവുകൾ ലഭിക്കുന്നതിന് ദയവായി ഒരു വെയർഹ house സ് തിരഞ്ഞെടുക്കുക,
+"For transfer from source, selected quantity cannot be greater than available quantity","ഉറവിടത്തിൽ നിന്നുള്ള കൈമാറ്റത്തിനായി, തിരഞ്ഞെടുത്ത അളവ് ലഭ്യമായ അളവിനേക്കാൾ കൂടുതലാകരുത്",
+Cannot find Item with this Barcode,ഈ ബാർകോഡ് ഉപയോഗിച്ച് ഇനം കണ്ടെത്താൻ കഴിയില്ല,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0 നിർബന്ധമാണ്. കറൻസി എക്സ്ചേഞ്ച് റെക്കോർഡ് {1} മുതൽ {2 for വരെ സൃഷ്ടിച്ചിട്ടില്ലായിരിക്കാം,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,to} ഇതിലേക്ക് ലിങ്കുചെയ്‌ത അസറ്റുകൾ സമർപ്പിച്ചു. വാങ്ങൽ വരുമാനം സൃഷ്ടിക്കുന്നതിന് നിങ്ങൾ അസറ്റുകൾ റദ്ദാക്കേണ്ടതുണ്ട്.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,സമർപ്പിച്ച അസറ്റ് {0 with മായി ബന്ധിപ്പിച്ചിരിക്കുന്നതിനാൽ ഈ പ്രമാണം റദ്ദാക്കാൻ കഴിയില്ല. തുടരുന്നതിന് ദയവായി ഇത് റദ്ദാക്കുക.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,വരി # {}: സീരിയൽ നമ്പർ {already ഇതിനകം മറ്റൊരു POS ഇൻവോയ്സിലേക്ക് ഇടപാട് നടത്തി. സാധുവായ സീരിയൽ നമ്പർ തിരഞ്ഞെടുക്കുക.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,വരി # {}: സീരിയൽ എണ്ണം.} Already ഇതിനകം മറ്റൊരു POS ഇൻവോയ്സിലേക്ക് ഇടപാട് നടത്തി. സാധുവായ സീരിയൽ നമ്പർ തിരഞ്ഞെടുക്കുക.,
+Item Unavailable,ഇനം ലഭ്യമല്ല,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},വരി # {}: യഥാർത്ഥ ഇൻവോയ്സിൽ ഇടപാട് നടത്തിയിട്ടില്ലാത്തതിനാൽ സീരിയൽ നമ്പർ {return തിരികെ നൽകാനാവില്ല {},
+Please set default Cash or Bank account in Mode of Payment {},പേയ്‌മെന്റ് മോഡിൽ സ്ഥിരസ്ഥിതി ക്യാഷ് അല്ലെങ്കിൽ ബാങ്ക് അക്കൗണ്ട് സജ്ജമാക്കുക {},
+Please set default Cash or Bank account in Mode of Payments {},പേയ്‌മെന്റ് മോഡിൽ സ്ഥിരസ്ഥിതി ക്യാഷ് അല്ലെങ്കിൽ ബാങ്ക് അക്കൗണ്ട് സജ്ജമാക്കുക {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Balance} അക്കൗണ്ട് ഒരു ബാലൻസ് ഷീറ്റ് അക്കൗണ്ടാണെന്ന് ഉറപ്പാക്കുക. നിങ്ങൾക്ക് രക്ഷാകർതൃ അക്കൗണ്ട് ഒരു ബാലൻസ് ഷീറ്റ് അക്കൗണ്ടിലേക്ക് മാറ്റാം അല്ലെങ്കിൽ മറ്റൊരു അക്കൗണ്ട് തിരഞ്ഞെടുക്കുക.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,അടയ്‌ക്കേണ്ട അക്കൗണ്ടാണ് {} അക്കൗണ്ട് എന്ന് ഉറപ്പാക്കുക. അടയ്‌ക്കേണ്ടതായി അക്കൗണ്ട് തരം മാറ്റുക അല്ലെങ്കിൽ മറ്റൊരു അക്കൗണ്ട് തിരഞ്ഞെടുക്കുക.,
+Row {}: Expense Head changed to {} ,വരി {}: ചെലവ് തല {to ലേക്ക് മാറ്റി,
+because account {} is not linked to warehouse {} ,കാരണം അക്കൗണ്ട് the w വെയർഹൗസുമായി ലിങ്കുചെയ്തിട്ടില്ല}},
+or it is not the default inventory account,അല്ലെങ്കിൽ ഇത് സ്ഥിരസ്ഥിതി ഇൻവെന്ററി അക്ക not ണ്ടല്ല,
+Expense Head Changed,ചെലവ് തല മാറ്റി,
+because expense is booked against this account in Purchase Receipt {},കാരണം വാങ്ങൽ രസീതിയിൽ account account ഈ അക്ക against ണ്ടിനെതിരെ ചെലവ് ബുക്ക് ചെയ്തിട്ടുണ്ട്,
+as no Purchase Receipt is created against Item {}. ,ഇനം against against ന് എതിരായി ഒരു വാങ്ങൽ രസീതും സൃഷ്ടിച്ചിട്ടില്ലാത്തതിനാൽ.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,പർച്ചേസ് ഇൻവോയ്സിന് ശേഷം പർച്ചേസ് രസീത് സൃഷ്ടിക്കുമ്പോൾ കേസുകളുടെ അക്ക ing ണ്ടിംഗ് കൈകാര്യം ചെയ്യുന്നതിനാണ് ഇത് ചെയ്യുന്നത്,
+Purchase Order Required for item {},Item item ഇനത്തിനായി വാങ്ങൽ ഓർഡർ ആവശ്യമാണ്,
+To submit the invoice without purchase order please set {} ,വാങ്ങൽ ഓർഡറില്ലാതെ ഇൻവോയ്സ് സമർപ്പിക്കാൻ ദയവായി set set സജ്ജമാക്കുക,
+as {} in {},എന്നപോലെ {},
+Mandatory Purchase Order,നിർബന്ധിത വാങ്ങൽ ഓർഡർ,
+Purchase Receipt Required for item {},Item item ഇനത്തിനായി വാങ്ങൽ രസീത് ആവശ്യമാണ്,
+To submit the invoice without purchase receipt please set {} ,വാങ്ങൽ രസീത് ഇല്ലാതെ ഇൻവോയ്സ് സമർപ്പിക്കുന്നതിന് ദയവായി set set സജ്ജമാക്കുക,
+Mandatory Purchase Receipt,നിർബന്ധിത വാങ്ങൽ രസീത്,
+POS Profile {} does not belongs to company {},POS പ്രൊഫൈൽ {company കമ്പനിയുടേതല്ല {},
+User {} is disabled. Please select valid user/cashier,ഉപയോക്താവ് Disabled പ്രവർത്തനരഹിതമാക്കി. സാധുവായ ഉപയോക്താവ് / കാഷ്യർ തിരഞ്ഞെടുക്കുക,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,വരി # {}: റിട്ടേൺ ഇൻവോയ്സിന്റെ യഥാർത്ഥ ഇൻവോയ്സ് {} {} ആണ്.,
+Original invoice should be consolidated before or along with the return invoice.,യഥാർത്ഥ ഇൻവോയ്സ് റിട്ടേൺ ഇൻവോയ്സിനു മുമ്പോ ശേഷമോ ഏകീകരിക്കണം.,
+You can add original invoice {} manually to proceed.,തുടരുന്നതിന് നിങ്ങൾക്ക് സ്വമേധയാ യഥാർത്ഥ ഇൻവോയ്സ് add add ചേർക്കാൻ കഴിയും.,
+Please ensure {} account is a Balance Sheet account. ,Balance} അക്കൗണ്ട് ഒരു ബാലൻസ് ഷീറ്റ് അക്കൗണ്ടാണെന്ന് ഉറപ്പാക്കുക.,
+You can change the parent account to a Balance Sheet account or select a different account.,നിങ്ങൾക്ക് രക്ഷാകർതൃ അക്കൗണ്ട് ഒരു ബാലൻസ് ഷീറ്റ് അക്കൗണ്ടിലേക്ക് മാറ്റാം അല്ലെങ്കിൽ മറ്റൊരു അക്കൗണ്ട് തിരഞ്ഞെടുക്കുക.,
+Please ensure {} account is a Receivable account. ,{} അക്കൗണ്ട് സ്വീകാര്യമായ അക്കൗണ്ടാണെന്ന് ഉറപ്പാക്കുക.,
+Change the account type to Receivable or select a different account.,സ്വീകാര്യമായതായി അക്കൗണ്ട് തരം മാറ്റുക അല്ലെങ്കിൽ മറ്റൊരു അക്കൗണ്ട് തിരഞ്ഞെടുക്കുക.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},Earned നേടിയ ലോയൽറ്റി പോയിന്റുകൾ റിഡീം ചെയ്തതിനാൽ റദ്ദാക്കാൻ കഴിയില്ല. ആദ്യം റദ്ദാക്കുക {} ഇല്ല {},
+already exists,ഇതിനകം നിലവിലുണ്ട്,
+POS Closing Entry {} against {} between selected period,തിരഞ്ഞെടുത്ത കാലയളവിനുള്ളിൽ POS against ന് എതിരായി POS അടയ്ക്കൽ എൻ‌ട്രി,
+POS Invoice is {},POS ഇൻവോയ്സ് is is ആണ്,
+POS Profile doesn't matches {},POS പ്രൊഫൈൽ പൊരുത്തപ്പെടുന്നില്ല {},
+POS Invoice is not {},POS ഇൻവോയ്സ് {not അല്ല,
+POS Invoice isn't created by user {},POS ഇൻവോയ്സ് ഉപയോക്താവ് സൃഷ്ടിച്ചിട്ടില്ല {},
+Row #{}: {},വരി # {}: {},
+Invalid POS Invoices,അസാധുവായ POS ഇൻവോയ്സുകൾ,
+Please add the account to root level Company - {},റൂട്ട് ലെവൽ കമ്പനിയിലേക്ക് അക്കൗണ്ട് ചേർക്കുക - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","ചൈൽഡ് കമ്പനി {0 for നായി അക്കൗണ്ട് സൃഷ്ടിക്കുമ്പോൾ, പാരന്റ് അക്കൗണ്ട് {1 found കണ്ടെത്തിയില്ല. അനുബന്ധ COA- യിൽ രക്ഷാകർതൃ അക്കൗണ്ട് സൃഷ്ടിക്കുക",
+Account Not Found,അക്കൗണ്ട് കണ്ടെത്തിയില്ല,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","ചൈൽഡ് കമ്പനി {0 for നായി അക്കൗണ്ട് സൃഷ്ടിക്കുമ്പോൾ, പാരന്റ് അക്കൗണ്ട് {1 a ഒരു ലെഡ്ജർ അക്കൗണ്ടായി കണ്ടെത്തി.",
+Please convert the parent account in corresponding child company to a group account.,അനുബന്ധ ശിശു കമ്പനിയിലെ രക്ഷാകർതൃ അക്കൗണ്ട് ഒരു ഗ്രൂപ്പ് അക്കൗണ്ടിലേക്ക് പരിവർത്തനം ചെയ്യുക.,
+Invalid Parent Account,രക്ഷാകർതൃ അക്കൗണ്ട് അസാധുവാണ്,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",പൊരുത്തക്കേട് ഒഴിവാക്കാൻ പാരന്റ് കമ്പനി {0 via വഴി മാത്രമേ ഇതിന്റെ പേരുമാറ്റാൻ അനുവാദമുള്ളൂ.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","നിങ്ങൾ {2} ഇനത്തിന്റെ അളവ് {0} {1 ആണെങ്കിൽ, {3 the സ്കീം ഇനത്തിൽ പ്രയോഗിക്കും.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","നിങ്ങൾ {0} {1} മൂല്യമുള്ള ഇനം {2 If ആണെങ്കിൽ, {3 the സ്കീം ഇനത്തിൽ പ്രയോഗിക്കും.",
+"As the field {0} is enabled, the field {1} is mandatory.",ഫീൽഡ് {0} പ്രവർത്തനക്ഷമമാക്കിയതിനാൽ {1 field ഫീൽഡ് നിർബന്ധമാണ്.,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","ഫീൽഡ് {0} പ്രവർത്തനക്ഷമമാക്കിയതിനാൽ, {1 the ഫീൽഡിന്റെ മൂല്യം 1 ൽ കൂടുതലായിരിക്കണം.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},{1 item ഇനത്തിന്റെ {0 Ser സീരിയൽ നമ്പർ ഡെലിവർ ചെയ്യാൻ കഴിയില്ല കാരണം ഇത് ഫിൽഫിൽ സെയിൽസ് ഓർഡർ {2 to ലേക്ക് കരുതിവച്ചിരിക്കുന്നു.,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","സെയിൽസ് ഓർഡർ {0 the എന്ന ഇനത്തിന് റിസർവേഷൻ ഉണ്ട്, {0} ന് എതിരായി റിസർവ് ചെയ്ത {1 only മാത്രമേ നിങ്ങൾക്ക് നൽകാൻ കഴിയൂ.",
+{0} Serial No {1} cannot be delivered,{0} സീരിയൽ നമ്പർ {1 delivery കൈമാറാൻ കഴിയില്ല,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},വരി {0}: അസംസ്കൃത വസ്തുക്കൾക്ക് {1 sub സബ് കോൺ‌ട്രാക്റ്റ് ചെയ്ത ഇനം നിർബന്ധമാണ്,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","ആവശ്യത്തിന് അസംസ്കൃത വസ്തുക്കൾ ഉള്ളതിനാൽ, വെയർഹ house സ് {0 for ന് മെറ്റീരിയൽ അഭ്യർത്ഥന ആവശ്യമില്ല.",
+" If you still want to proceed, please enable {0}.","നിങ്ങൾക്ക് ഇപ്പോഴും തുടരണമെങ്കിൽ, {0 enable പ്രവർത്തനക്ഷമമാക്കുക.",
+The item referenced by {0} - {1} is already invoiced,{0} - {1 by പരാമർശിച്ച ഇനം ഇതിനകം ഇൻവോയ്സ് ചെയ്തു,
+Therapy Session overlaps with {0},തെറാപ്പി സെഷൻ {0 with ഓവർലാപ്പ് ചെയ്യുന്നു,
+Therapy Sessions Overlapping,തെറാപ്പി സെഷനുകൾ ഓവർലാപ്പുചെയ്യുന്നു,
+Therapy Plans,തെറാപ്പി പദ്ധതികൾ,
+"Item Code, warehouse, quantity are required on row {0}","Code 0 row വരിയിൽ ഇനം കോഡ്, വെയർഹ house സ്, അളവ് ആവശ്യമാണ്",
+Get Items from Material Requests against this Supplier,ഈ വിതരണക്കാരനെതിരായ മെറ്റീരിയൽ അഭ്യർത്ഥനകളിൽ നിന്ന് ഇനങ്ങൾ നേടുക,
+Enable European Access,യൂറോപ്യൻ ആക്സസ് പ്രാപ്തമാക്കുക,
+Creating Purchase Order ...,വാങ്ങൽ ഓർഡർ സൃഷ്ടിക്കുന്നു ...,
+"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.","ചുവടെയുള്ള ഇനങ്ങളുടെ സ്ഥിരസ്ഥിതി വിതരണക്കാരിൽ നിന്ന് ഒരു വിതരണക്കാരനെ തിരഞ്ഞെടുക്കുക. തിരഞ്ഞെടുക്കുമ്പോൾ, തിരഞ്ഞെടുത്ത വിതരണക്കാരന്റെ മാത്രം ഇനങ്ങൾക്കെതിരെ ഒരു വാങ്ങൽ ഓർഡർ നൽകും.",
+Row #{}: You must select {} serial numbers for item {}.,വരി # {}: നിങ്ങൾ item item ഇനത്തിനായി {} സീരിയൽ നമ്പറുകൾ തിരഞ്ഞെടുക്കണം.,
diff --git a/erpnext/translations/mr.csv b/erpnext/translations/mr.csv
index c88e9b9..9c41ce6 100644
--- a/erpnext/translations/mr.csv
+++ b/erpnext/translations/mr.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',गटात मूल्यांकन &#39;किंवा&#39; Vaulation आणि एकूण &#39;करिता वजा करू शकत नाही,
 "Cannot delete Serial No {0}, as it is used in stock transactions",सिरियल  क्रमांक {0} हटवू शकत नाही कारण  तो स्टॉक व्यवहार मध्ये  वापरला जातो,
 Cannot enroll more than {0} students for this student group.,{0} विद्यार्थी या विद्यार्थी गट जास्त नोंदणी करु शकत नाही.,
-Cannot find Item with this barcode,या बारकोडसह आयटम सापडला नाही,
 Cannot find active Leave Period,सक्रिय सुट्टी कालावधी शोधू शकत नाही,
 Cannot produce more Item {0} than Sales Order quantity {1},विक्री ऑर्डर पेक्षा {1} प्रमाणात जास्त {0} item उत्पादन करू शकत नाही,
 Cannot promote Employee with status Left,दर्जा असलेल्या डावीकडून कर्मचार्याला प्रोत्साहन देऊ शकत नाही,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","दैनंदिन, साप्ताहिक आणि मासिक ईमेल digests तयार करा आणि व्यवस्थापित करा.",
 Create customer quotes,ग्राहक कोट तयार करा,
 Create rules to restrict transactions based on values.,मूल्ये आधारित व्यवहार प्रतिबंधित नियम तयार करा.,
-Created By,करून तयार,
 Created {0} scorecards for {1} between: ,{1} साठी {0} स्कोअरकार्ड तयार केल्या:,
 Creating Company and Importing Chart of Accounts,कंपनी तयार करणे आणि खाती आयात करण्याचा चार्ट,
 Creating Fees,शुल्क तयार करणे,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,{0} पंक्तीसाठी: नियोजित प्रमाण प्रविष्ट करा,
 "For {0}, only credit accounts can be linked against another debit entry","{0}, फक्त क्रेडिट खात्यांच्या दुसऱ्या नावे नोंद लिंक जाऊ शकते",
 "For {0}, only debit accounts can be linked against another credit entry","{0}, फक्त डेबिट खाती दुसरे क्रेडिट नोंदणी लिंक जाऊ शकते",
-Form View,फॉर्म दृश्य,
 Forum Activity,मंच क्रियाकलाप,
 Free item code is not selected,विनामूल्य आयटम कोड निवडलेला नाही,
 Freight and Forwarding Charges,वाहतुक आणि अग्रेषित शुल्क,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,आपले संपर्क वस्तुमान एसएमएस पाठवा,
 Sensitivity,संवेदनशीलता,
 Sent,पाठविले,
-Serial #,सिरियल #,
 Serial No and Batch,सिरियल क्रमांक आणि बॅच,
 Serial No is mandatory for Item {0},सिरियल क्रमांक आयटम  {0} साठी अनिवार्य आहे,
 Serial No {0} does not belong to Batch {1},सिरिअल नाही {0} बॅचचे सदस्य नसतात {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,आपण मदत काय गरज आहे?,
 What does it do?,ती काय करते?,
 Where manufacturing operations are carried.,उत्पादन ऑपरेशन कोठे नेले जातात.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","बाल कंपनी {0} साठी खाते तयार करताना, पालक खाते {1} सापडले नाही. कृपया संबंधित सीओएमध्ये पालक खाते तयार करा",
 White,व्हाइट,
 Wire Transfer,वायर हस्तांतरण,
 WooCommerce Products,WooCommerce उत्पादने,
@@ -3493,6 +3488,7 @@
 Merge with existing,विद्यमान विलीन,
 Office,कार्यालय,
 Orientation,आवड,
+Parent,पालक,
 Passive,निष्क्रीय,
 Payment Failed,देयक अयशस्वी झाले,
 Percent,टक्के,
@@ -3543,6 +3539,7 @@
 Show {0},दर्शवा {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; आणि &quot;}&quot; वगळता विशिष्ट वर्णांना नामांकन मालिकेमध्ये परवानगी नाही",
 Target Details,लक्ष्य तपशील,
+{0} already has a Parent Procedure {1}.,{0} कडे आधीपासूनच पालक प्रक्रिया आहे {1}.,
 API,API,
 Annual,वार्षिक,
 Approved,मंजूर,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,समाप्ती तारीख प्रारंभ तारखेच्या पेक्षा कमी असू शकत नाही,
 For Default Supplier (Optional),डीफॉल्ट सप्लायर (वैकल्पिक) साठी,
 From date cannot be greater than To date,तारखेपासून तारखेपेक्षा जास्त असू शकत नाही,
-Get items from,आयटम मिळवा,
 Group by,गट,
 In stock,स्टॉक मध्ये,
 Item name,आयटम नाव,
@@ -7558,10 +7554,6 @@
 Quality Goal,गुणवत्ता गोल,
 Monitoring Frequency,देखरेख वारंवारता,
 Weekday,आठवड्याचा दिवस,
-January-April-July-October,जानेवारी-एप्रिल-जुलै-ऑक्टोबर,
-Revision and Revised On,पुनरीक्षण आणि सुधारित चालू,
-Revision,उजळणी,
-Revised On,सुधारित चालू,
 Objectives,उद्दीष्टे,
 Quality Goal Objective,गुणवत्ता गोल उद्दीष्ट,
 Objective,वस्तुनिष्ठ,
@@ -7574,7 +7566,6 @@
 Processes,प्रक्रिया,
 Quality Procedure Process,गुणवत्ता प्रक्रिया प्रक्रिया,
 Process Description,प्रक्रिया वर्णन,
-Child Procedure,बाल प्रक्रिया,
 Link existing Quality Procedure.,विद्यमान गुणवत्ता प्रक्रियेचा दुवा साधा.,
 Additional Information,अतिरिक्त माहिती,
 Quality Review Objective,गुणवत्ता पुनरावलोकन उद्देश,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,खरेदी पावती ट्रेन्ड,
 Purchase Register,खरेदी नोंदणी,
 Quotation Trends,कोटेशन ट्रेन्ड,
-Quoted Item Comparison,उद्धृत बाबींचा तुलना,
 Received Items To Be Billed,बिल करायचे प्राप्त आयटम,
 Qty to Order,मागणी करण्यासाठी  Qty,
 Requested Items To Be Transferred,विनंती आयटम हस्तांतरित करणे,
@@ -9091,7 +9081,6 @@
 Absent Days,अनुपस्थित दिवस,
 Conditions and Formula variable and example,अटी आणि फॉर्म्युला व्हेरिएबल आणि उदाहरण,
 Feedback By,अभिप्राय द्वारा,
-MTNG-.YYYY.-.MM.-.DD.-,एमटीएनजी -हयवाय .-. एमएम .-. डीडी .-,
 Manufacturing Section,उत्पादन विभाग,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","डीफॉल्टनुसार, ग्राहक नाव प्रविष्ट केलेल्या पूर्ण नावानुसार सेट केले जाते. आपण इच्छुक असल्यास ग्राहकांनी ए द्वारे नाव दिले पाहिजे",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,नवीन विक्री व्यवहार तयार करताना डीफॉल्ट किंमत यादी कॉन्फिगर करा. या किंमती सूचीमधून वस्तूंच्या किंमती आणल्या जातील.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,राखीव शिल्लक,
 Uncleared Balance,अस्पष्ट शिल्लक,
 Payment related to {0} is not completed,{0 to शी संबंधित देयक पूर्ण झाले नाही,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,पंक्ती # {}: अनुक्रमांक नाही {}. {already चे आधीपासून दुसर्‍या पीओएस इनव्हॉइसमध्ये व्यवहार केले गेले आहे. कृपया वैध अनुक्रमांक निवडा.,
 Row #{}: Item Code: {} is not available under warehouse {}.,पंक्ती # {}: आयटम कोड: {w गोदाम under under अंतर्गत उपलब्ध नाही.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,पंक्ती # {}: आयटम कोडसाठी स्टॉक प्रमाणात पुरेसे नाही: are w गोदाम अंतर्गत {}. उपलब्ध प्रमाण {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,पंक्ती # {}: कृपया मालिका क्रमांक आणि आयटम विरूद्ध बॅच निवडा: {} किंवा व्यवहार पूर्ण करण्यासाठी ते काढा.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,कृपया स्टॉक सेटिंग्जमध्ये नकारात्मक स्टॉकला परवानगी द्या किंवा पुढे जाण्यासाठी स्टॉक एन्ट्री तयार करा.,
 No Inpatient Record found against patient {0},Patient 0 patient रूग्णाविरूद्ध कोणतीही रूग्ण नोंद आढळली नाही,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,पेशंट एन्काऊंटर {1} विरूद्ध इनफिशंट औषध ऑर्डर {0} आधीपासून विद्यमान आहे.,
+Allow In Returns,रिटर्न्सला परवानगी द्या,
+Hide Unavailable Items,अनुपलब्ध आयटम लपवा,
+Apply Discount on Discounted Rate,सवलतीच्या दरावर सूट लागू करा,
+Therapy Plan Template,थेरपी योजना टेम्पलेट,
+Fetching Template Details,टेम्पलेट तपशील आणत आहे,
+Linked Item Details,दुवा साधलेला तपशील,
+Therapy Types,थेरपीचे प्रकार,
+Therapy Plan Template Detail,थेरपी योजना टेम्पलेट तपशील,
+Non Conformance,नॉन कॉन्फरन्समेंट,
+Process Owner,प्रक्रिया मालक,
+Corrective Action,सुधारात्मक क्रिया,
+Preventive Action,प्रतिबंधात्मक कारवाई,
+Problem,समस्या,
+Responsible,जबाबदार,
+Completion By,पूर्ण करून,
+Process Owner Full Name,प्रक्रिया मालकाचे पूर्ण नाव,
+Right Index,उजवा निर्देशांक,
+Left Index,डावा अनुक्रमणिका,
+Sub Procedure,उप प्रक्रिया,
+Passed,उत्तीर्ण,
+Print Receipt,पावती प्रिंट करा,
+Edit Receipt,पावती संपादित करा,
+Focus on search input,शोध इनपुटवर लक्ष द्या,
+Focus on Item Group filter,आयटम गट फिल्टरवर लक्ष द्या,
+Checkout Order / Submit Order / New Order,चेकआउट ऑर्डर / सबमिट ऑर्डर / नवीन ऑर्डर,
+Add Order Discount,ऑर्डर सवलत जोडा,
+Item Code: {0} is not available under warehouse {1}.,आयटम कोड: are 0 w गोदाम under 1} अंतर्गत उपलब्ध नाही.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,माल गोदाम} 1} अंतर्गत आयटम {0} साठी अनुक्रमांक अनुपलब्ध आहेत. कृपया गोदाम बदलण्याचा प्रयत्न करा.,
+Fetched only {0} available serial numbers.,केवळ serial 0} उपलब्ध अनुक्रमांक प्राप्त केले.,
+Switch Between Payment Modes,देय मोड दरम्यान स्विच करा,
+Enter {0} amount.,{0} रक्कम प्रविष्ट करा.,
+You don't have enough points to redeem.,आपल्याकडे पूर्तता करण्यासाठी पुरेसे मुद्दे नाहीत.,
+You can redeem upto {0}.,आपण {0 up पर्यंत पूर्तता करू शकता.,
+Enter amount to be redeemed.,पूर्तता करण्यासाठी रक्कम प्रविष्ट करा.,
+You cannot redeem more than {0}.,आपण {0 more पेक्षा अधिक रीडीम करू शकत नाही.,
+Open Form View,फॉर्म दृश्य उघडा,
+POS invoice {0} created succesfully,पॉस बीजक {0 suc यशस्वीरित्या तयार केले,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,आयटम कोडसाठी स्टॉकचे प्रमाण पुरेसे नाही: गोदाम} 1} च्या खाली {0}. उपलब्ध प्रमाण {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,अनुक्रमांक: {0 चे आधीपासून दुसर्‍या पीओएस इनव्हॉइसमध्ये व्यवहार केले गेले आहे.,
+Balance Serial No,शिल्लक अनुक्रमांक,
+Warehouse: {0} does not belong to {1},गोदाम: {0 हे {1} चे नाही,
+Please select batches for batched item {0},कृपया बॅच केलेल्या वस्तू bat 0 for साठी बॅचेस निवडा.,
+Please select quantity on row {0},कृपया पंक्ती quantity 0 on वर प्रमाण निवडा,
+Please enter serial numbers for serialized item {0},कृपया क्रमांकाच्या आयटमसाठी अनुक्रमांक प्रविष्ट करा {0,
+Batch {0} already selected.,बॅच} 0} आधीपासून निवडलेला आहे.,
+Please select a warehouse to get available quantities,कृपया उपलब्ध प्रमाणात मिळण्यासाठी एक कोठार निवडा,
+"For transfer from source, selected quantity cannot be greater than available quantity","स्त्रोताकडून हस्तांतरणासाठी, निवडलेली मात्रा उपलब्ध प्रमाणांपेक्षा मोठी असू शकत नाही",
+Cannot find Item with this Barcode,या बारकोडसह आयटम सापडला नाही,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} अनिवार्य आहे. कदाचित चलन विनिमय रेकॉर्ड {1} ते {2 for साठी तयार केले नाही,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{ने त्यास जोडलेली मालमत्ता सबमिट केली आहे. खरेदी रिटर्न तयार करण्यासाठी आपल्याला मालमत्ता रद्द करण्याची आवश्यकता आहे.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,हा दस्तऐवज सबमिट केलेल्या मालमत्ता {0 with शी दुवा साधल्यामुळे रद्द करू शकत नाही. कृपया सुरू ठेवण्यासाठी ते रद्द करा.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,पंक्ती # {}: अनुक्रमांक {चे आधीपासून दुसर्‍या पीओएस इनव्हॉइसमध्ये व्यवहार केले गेले आहे. कृपया वैध अनुक्रमांक निवडा.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,पंक्ती # {}: अनुक्रमांक क्र.} Already चे आधीपासून दुसर्‍या पीओएस इनव्हॉइसमध्ये व्यवहार केले गेले आहे. कृपया वैध अनुक्रमांक निवडा.,
+Item Unavailable,आयटम अनुपलब्ध,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},पंक्ती # {}: अनुक्रमांक {returned परत केला जाऊ शकत नाही कारण मूळ चलनमध्ये तो व्यवहार केला गेला नाही {},
+Please set default Cash or Bank account in Mode of Payment {},कृपया देय मोडमध्ये डीफॉल्ट रोख किंवा बँक खाते सेट करा}},
+Please set default Cash or Bank account in Mode of Payments {},कृपया देयके मोडमध्ये डीफॉल्ट रोख किंवा बँक खाते सेट करा}},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,कृपया खात्री करा की}} खाते एक शिल्लक पत्रक खाते आहे. आपण मूळ खाते बॅलन्स शीट खात्यात बदलू शकता किंवा भिन्न खाते निवडू शकता.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,कृपया खात्री करा की {} खाते देय खाते आहे. देय देणार्‍यामध्ये खाते प्रकार बदला किंवा एखादे भिन्न खाते निवडा.,
+Row {}: Expense Head changed to {} ,पंक्ती {}: खर्चाचे हेड {to वर बदलले,
+because account {} is not linked to warehouse {} ,कारण खाते are w गोदामात जोडलेले नाही {},
+or it is not the default inventory account,किंवा ते डीफॉल्ट इन्व्हेंटरी खाते नाही,
+Expense Head Changed,खर्चाचे डोके बदलले,
+because expense is booked against this account in Purchase Receipt {},कारण खरेदी पावती exp this मध्ये या खात्यावर खर्च नोंदविला गेला आहे.,
+as no Purchase Receipt is created against Item {}. ,आयटम against against विरूद्ध कोणतीही खरेदी पावती तयार केली जात नाही.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,जेव्हा खरेदी पावत्या नंतर खरेदीची पावती तयार केली जाते तेव्हा प्रकरणांची लेखा हाताळण्यासाठी हे केले जाते,
+Purchase Order Required for item {},आयटम for for साठी खरेदी ऑर्डर आवश्यक,
+To submit the invoice without purchase order please set {} ,खरेदी आदेशाशिवाय बीजक सबमिट करण्यासाठी कृपया {set सेट करा,
+as {} in {},म्हणून {},
+Mandatory Purchase Order,अनिवार्य खरेदी ऑर्डर,
+Purchase Receipt Required for item {},आयटम for for साठी खरेदीची पावती आवश्यक,
+To submit the invoice without purchase receipt please set {} ,खरेदी पावत्याविना बीजक सबमिट करण्यासाठी कृपया {set सेट करा,
+Mandatory Purchase Receipt,अनिवार्य खरेदी पावती,
+POS Profile {} does not belongs to company {},पॉस प्रोफाइल {company कंपनीचे नाही}},
+User {} is disabled. Please select valid user/cashier,वापरकर्ता {disabled अक्षम आहे. कृपया वैध वापरकर्ता / रोखपाल निवडा,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,पंक्ती # {}: रिटर्न इनव्हॉइसचा मूळ बीजक {{{{आहे.,
+Original invoice should be consolidated before or along with the return invoice.,रिटर्न इनव्हॉइसच्या आधी किंवा त्यासह मूळ चलन एकत्रित केले जावे.,
+You can add original invoice {} manually to proceed.,पुढे जाण्यासाठी आपण व्यक्तिचलित मूळ बीजक can can जोडू शकता.,
+Please ensure {} account is a Balance Sheet account. ,कृपया खात्री करा की}} खाते एक शिल्लक पत्रक खाते आहे.,
+You can change the parent account to a Balance Sheet account or select a different account.,आपण मूळ खाते बॅलन्स शीट खात्यात बदलू शकता किंवा भिन्न खाते निवडू शकता.,
+Please ensure {} account is a Receivable account. ,कृपया खात्री करा की {} खाते एक प्राप्य खाते आहे.,
+Change the account type to Receivable or select a different account.,प्राप्तीयोग्य खात्याचा प्रकार बदला किंवा एखादे भिन्न खाते निवडा.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},मिळविलेले लॉयल्टी पॉईंट्सची पूर्तता केल्यापासून} canceled रद्द करता येणार नाही. प्रथम {} नाही {cancel रद्द करा,
+already exists,आधिपासूनच अस्तित्वात आहे,
+POS Closing Entry {} against {} between selected period,निवडलेल्या कालावधी दरम्यान पीओएस बंद नोंद Ent ry च्या विरूद्ध ry},
+POS Invoice is {},पीओएस इनव्हॉइस {is आहे,
+POS Profile doesn't matches {},पीओएस प्रोफाइल matches matches शी जुळत नाही,
+POS Invoice is not {},पीओएस बीजक {is नाही,
+POS Invoice isn't created by user {},पीओएस बीजक वापरकर्त्याने तयार केलेले नाही {{,
+Row #{}: {},पंक्ती # {}: {},
+Invalid POS Invoices,अवैध पीओएस पावत्या,
+Please add the account to root level Company - {},कृपया खाते रूट स्तराच्या कंपनीमध्ये जोडा - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","चाइल्ड कंपनी account 0 for साठी खाते तयार करताना, मूळ खाते {1} आढळले नाही. कृपया संबंधित सीओएमध्ये मूळ खाते तयार करा",
+Account Not Found,खाते सापडले नाही,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","चाइल्ड कंपनी {0 for साठी खाते तयार करताना, खात्यातील खाते म्हणून मूळ खाते {1} आढळले.",
+Please convert the parent account in corresponding child company to a group account.,कृपया संबंधित मुलाच्या कंपनीतील मूळ खाते एका गट खात्यात रूपांतरित करा.,
+Invalid Parent Account,अवैध पालक खाते,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",न जुळण्यापासून ते बदलण्यासाठी केवळ मूळ कंपनी via 0} मार्गे हे नाव बदलण्याची परवानगी आहे.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","आपण आयटमची मात्रा {0} {1} प्रमाणात असल्यास {2}, योजना {3 the आयटमवर लागू होईल.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","आपण आयटम {2} {0} {1} असल्यास, योजना the 3 the आयटमवर लागू होईल.",
+"As the field {0} is enabled, the field {1} is mandatory.","फील्ड As 0} सक्षम केल्यामुळे, फील्ड {1} अनिवार्य आहे.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",फील्ड {0} सक्षम केल्यामुळे फील्डचे मूल्य {1. 1 पेक्षा जास्त असावे.,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},आयटम {1} चे अनुक्रमांक {0} वितरीत करू शकत नाही कारण तो पूर्ण भरण्याच्या विक्री ऑर्डर {2 to वर आरक्षित आहे,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","विक्री ऑर्डर {0} कडे आयटम {1} चे आरक्षण आहे, आपण केवळ reserved 0} च्या विरूद्ध आरक्षित {1 deliver वितरीत करू शकता.",
+{0} Serial No {1} cannot be delivered,. 0 ial अनुक्रमांक {1} वितरित करणे शक्य नाही,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},पंक्ती {0}: कच्च्या मालासाठी सबकंट्रेक्ट आयटम अनिवार्य आहे {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",तेथे पुरेशी कच्ची सामग्री असल्याने गोदाम {0} साठी मटेरियल रिक्वेस्टची आवश्यकता नाही.,
+" If you still want to proceed, please enable {0}.","आपण अद्याप पुढे जाऊ इच्छित असल्यास, कृपया {0 enable सक्षम करा.",
+The item referenced by {0} - {1} is already invoiced,{0} - {1} द्वारा संदर्भित आयटम आधीपासून इनव्हॉईस आहे,
+Therapy Session overlaps with {0},थेरपी सत्र {0 with सह आच्छादित होते,
+Therapy Sessions Overlapping,थेरपी सत्रे आच्छादित,
+Therapy Plans,थेरपी योजना,
+"Item Code, warehouse, quantity are required on row {0}","पंक्तीवर आयटम कोड, कोठार, प्रमाण आवश्यक आहे {0}",
+Get Items from Material Requests against this Supplier,या पुरवठादाराविरूद्ध मटेरियल रिक्वेस्टचे आयटम मिळवा,
+Enable European Access,युरोपियन प्रवेश सक्षम करा,
+Creating Purchase Order ...,खरेदी ऑर्डर तयार करत आहे ...,
+"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.","खालील बाबींच्या डीफॉल्ट पुरवठादाराकडील पुरवठादार निवडा. निवडीवर, केवळ निवडलेल्या पुरवठादाराच्या वस्तूंच्या विरुद्ध खरेदी ऑर्डर देण्यात येईल.",
+Row #{}: You must select {} serial numbers for item {}.,पंक्ती # {}: आपण आयटम for for साठी} numbers अनुक्रमांक निवडणे आवश्यक आहे.,
diff --git a/erpnext/translations/ms.csv b/erpnext/translations/ms.csv
index e8a5bf6..1483844 100644
--- a/erpnext/translations/ms.csv
+++ b/erpnext/translations/ms.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Tidak dapat menolak apabila kategori adalah untuk &#39;Penilaian&#39; atau &#39;Vaulation dan Jumlah&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Tidak dapat memadam No Serial {0}, kerana ia digunakan dalam urus niaga saham",
 Cannot enroll more than {0} students for this student group.,tidak boleh mendaftar lebih daripada {0} pelajar bagi kumpulan pelajar ini.,
-Cannot find Item with this barcode,Tidak dapat mencari Item dengan kod bar ini,
 Cannot find active Leave Period,Tidak dapat mencari Tempoh Cuti aktif,
 Cannot produce more Item {0} than Sales Order quantity {1},Tidak boleh menghasilkan Perkara lebih {0} daripada kuantiti Sales Order {1},
 Cannot promote Employee with status Left,Tidak boleh mempromosikan Pekerja dengan status Kiri,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Membuat dan menguruskan mencerna e-mel harian, mingguan dan bulanan.",
 Create customer quotes,Membuat sebut harga pelanggan,
 Create rules to restrict transactions based on values.,Mewujudkan kaedah-kaedah untuk menyekat transaksi berdasarkan nilai-nilai.,
-Created By,Dibuat oleh,
 Created {0} scorecards for {1} between: ,Dicipta {0} kad skor untuk {1} antara:,
 Creating Company and Importing Chart of Accounts,Mewujudkan Carta Syarikat dan Mengimport Carta Akaun,
 Creating Fees,Membuat Bayaran,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Untuk baris {0}: Masukkan Qty yang dirancang,
 "For {0}, only credit accounts can be linked against another debit entry","Untuk {0}, hanya akaun kredit boleh dikaitkan terhadap kemasukan debit lain",
 "For {0}, only debit accounts can be linked against another credit entry","Untuk {0}, akaun debit hanya boleh dikaitkan dengan kemasukan kredit lain",
-Form View,Lihat Borang,
 Forum Activity,Aktiviti Forum,
 Free item code is not selected,Kod item percuma tidak dipilih,
 Freight and Forwarding Charges,Freight Forwarding dan Caj,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Hantar SMS massa ke kenalan anda,
 Sensitivity,Kepekaan,
 Sent,Dihantar,
-Serial #,Serial #,
 Serial No and Batch,Serial No dan Batch,
 Serial No is mandatory for Item {0},No siri adalah wajib bagi Perkara {0},
 Serial No {0} does not belong to Batch {1},Serial No {0} tidak tergolong dalam Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Apa yang anda perlu membantu dengan?,
 What does it do?,Apa yang ia buat?,
 Where manufacturing operations are carried.,Tempat operasi pembuatan dijalankan.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Semasa membuat akaun untuk Anak Syarikat {0}, akaun induk {1} tidak dijumpai. Sila buat akaun induk dalam COA yang bersesuaian",
 White,White,
 Wire Transfer,Wire Transfer,
 WooCommerce Products,Produk WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Bergabung dengan yang sedia ada,
 Office,Pejabat,
 Orientation,orientasi,
+Parent,Ibu Bapa,
 Passive,Pasif,
 Payment Failed,pembayaran Gagal,
 Percent,Peratus,
@@ -3543,6 +3539,7 @@
 Show {0},Tunjukkan {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Watak Khas kecuali &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Dan &quot;}&quot; tidak dibenarkan dalam siri penamaan",
 Target Details,Butiran Sasaran,
+{0} already has a Parent Procedure {1}.,{0} sudah mempunyai Tatacara Ibu Bapa {1}.,
 API,API,
 Annual,Tahunan,
 Approved,Diluluskan,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Tarikh akhir tidak boleh kurang daripada tarikh mula,
 For Default Supplier (Optional),Untuk pembekal lalai (pilihan),
 From date cannot be greater than To date,Dari Tarikh tidak boleh lebih besar daripada Dating,
-Get items from,Mendapatkan barangan dari,
 Group by,Group By,
 In stock,Dalam stok,
 Item name,Nama Item,
@@ -7558,10 +7554,6 @@
 Quality Goal,Matlamat Kualiti,
 Monitoring Frequency,Kekerapan Pemantauan,
 Weekday,Hari minggu,
-January-April-July-October,Januari-April-Julai-Oktober,
-Revision and Revised On,Semakan dan Semakan semula,
-Revision,Ulang kaji,
-Revised On,Disemak semula,
 Objectives,Objektif,
 Quality Goal Objective,Objektif Kualiti Matlamat,
 Objective,Objektif,
@@ -7574,7 +7566,6 @@
 Processes,Proses,
 Quality Procedure Process,Proses Prosedur Kualiti,
 Process Description,Penerangan proses,
-Child Procedure,Prosedur Kanak-kanak,
 Link existing Quality Procedure.,Pautan Prosedur Kualiti yang sedia ada.,
 Additional Information,Maklumat tambahan,
 Quality Review Objective,Objektif Kajian Kualiti,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Trend Resit Pembelian,
 Purchase Register,Pembelian Daftar,
 Quotation Trends,Trend Sebut Harga,
-Quoted Item Comparison,Perkara dipetik Perbandingan,
 Received Items To Be Billed,Barangan yang diterima dikenakan caj,
 Qty to Order,Qty Aturan,
 Requested Items To Be Transferred,Item yang diminta Akan Dipindahkan,
@@ -9091,7 +9081,6 @@
 Absent Days,Hari yang tidak hadir,
 Conditions and Formula variable and example,Keadaan dan pemboleh ubah Formula dan contoh,
 Feedback By,Maklum Balas Oleh,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Bahagian Pembuatan,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Secara lalai, Nama Pelanggan ditetapkan sesuai dengan Nama Penuh yang dimasukkan. Sekiranya anda mahu Pelanggan diberi nama oleh a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurasikan Daftar Harga lalai semasa membuat transaksi Jualan baru. Harga barang akan diambil dari Daftar Harga ini.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Baki Terpelihara,
 Uncleared Balance,Imbangan Tidak Jelas,
 Payment related to {0} is not completed,Pembayaran yang berkaitan dengan {0} belum selesai,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: No Siri {}. {} telah ditransaksikan ke Invois POS yang lain. Sila pilih no siri yang sah.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Baris # {}: Kod Item: {} tidak tersedia di gudang {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Baris # {}: Kuantiti stok tidak mencukupi untuk Kod Item: {} di bawah gudang {}. Kuantiti yang ada {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Baris # {}: Pilih no siri dan kumpulan berdasarkan item: {} atau keluarkan untuk menyelesaikan transaksi.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Sila aktifkan Benarkan Stok Negatif dalam Tetapan Stok atau buat Entri Saham untuk meneruskan.,
 No Inpatient Record found against patient {0},Tiada Rekod Pesakit Dalam ditemui terhadap pesakit {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Perintah Pengubatan Pesakit Dalam {0} terhadap Perjumpaan Pesakit {1} sudah ada.,
+Allow In Returns,Benarkan Dalam Pulangan,
+Hide Unavailable Items,Sembunyikan Item yang Tidak Tersedia,
+Apply Discount on Discounted Rate,Terapkan Potongan dengan Harga Diskaun,
+Therapy Plan Template,Templat Rancangan Terapi,
+Fetching Template Details,Mengambil Butiran Templat,
+Linked Item Details,Butiran Item Terpaut,
+Therapy Types,Jenis Terapi,
+Therapy Plan Template Detail,Perincian Templat Pelan Terapi,
+Non Conformance,Ketidakpatuhan,
+Process Owner,Pemilik proses,
+Corrective Action,Tindakan pembetulan,
+Preventive Action,Tindakan pencegahan,
+Problem,Masalah,
+Responsible,Bertanggungjawab,
+Completion By,Penyelesaian Oleh,
+Process Owner Full Name,Nama Penuh Pemilik Proses,
+Right Index,Indeks Kanan,
+Left Index,Indeks Kiri,
+Sub Procedure,Sub Prosedur,
+Passed,Lulus,
+Print Receipt,Cetakan Resit,
+Edit Receipt,Edit Resit,
+Focus on search input,Fokus pada input carian,
+Focus on Item Group filter,Fokus pada penapis Kumpulan Item,
+Checkout Order / Submit Order / New Order,Pesanan Checkout / Hantar Pesanan / Pesanan Baru,
+Add Order Discount,Tambah Potongan Pesanan,
+Item Code: {0} is not available under warehouse {1}.,Kod Item: {0} tidak tersedia di gudang {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Nombor siri tidak tersedia untuk Item {0} di bawah gudang {1}. Sila tukar gudang.,
+Fetched only {0} available serial numbers.,Hanya mengambil {0} nombor siri yang tersedia.,
+Switch Between Payment Modes,Tukar Antara Kaedah Pembayaran,
+Enter {0} amount.,Masukkan jumlah {0}.,
+You don't have enough points to redeem.,Anda tidak mempunyai mata yang mencukupi untuk ditebus.,
+You can redeem upto {0}.,Anda boleh menebus sehingga {0}.,
+Enter amount to be redeemed.,Masukkan jumlah yang akan ditebus.,
+You cannot redeem more than {0}.,Anda tidak boleh menebus lebih daripada {0}.,
+Open Form View,Buka Paparan Borang,
+POS invoice {0} created succesfully,Invois POS {0} dibuat dengan berjaya,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Kuantiti stok tidak mencukupi untuk Kod Item: {0} di bawah gudang {1}. Kuantiti yang ada {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,No Siri: {0} telah ditransaksikan ke Invois POS yang lain.,
+Balance Serial No,Nombor Siri Baki,
+Warehouse: {0} does not belong to {1},Gudang: {0} bukan milik {1},
+Please select batches for batched item {0},Pilih kumpulan untuk item kumpulan {0},
+Please select quantity on row {0},Sila pilih kuantiti pada baris {0},
+Please enter serial numbers for serialized item {0},Sila masukkan nombor siri untuk item bersiri {0},
+Batch {0} already selected.,Kumpulan {0} sudah dipilih.,
+Please select a warehouse to get available quantities,Pilih gudang untuk mendapatkan jumlah yang ada,
+"For transfer from source, selected quantity cannot be greater than available quantity","Untuk pemindahan dari sumber, kuantiti yang dipilih tidak boleh lebih besar daripada kuantiti yang ada",
+Cannot find Item with this Barcode,Tidak dapat mencari Item dengan Barcode ini,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} adalah wajib. Mungkin rekod Pertukaran Mata Wang tidak dibuat untuk {1} hingga {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} telah menyerahkan aset yang dikaitkan dengannya. Anda perlu membatalkan aset untuk membuat pulangan pembelian.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Tidak dapat membatalkan dokumen ini kerana dihubungkan dengan aset yang dihantar {0}. Sila batalkan untuk meneruskan.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: No. Siri {} telah ditransaksikan ke Invois POS yang lain. Sila pilih no siri yang sah.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Baris # {}: Nombor Siri. {} Telah ditransaksikan ke Invois POS yang lain. Sila pilih no siri yang sah.,
+Item Unavailable,Item tidak tersedia,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Baris # {}: No Siri {} tidak dapat dikembalikan kerana tidak ditransaksikan dalam invois asal {},
+Please set default Cash or Bank account in Mode of Payment {},Tetapkan akaun Tunai atau Bank lalai dalam Cara Pembayaran {},
+Please set default Cash or Bank account in Mode of Payments {},Tetapkan akaun Tunai atau Bank lalai dalam Mod Pembayaran {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Pastikan {} akaun adalah akaun Lembaran Imbangan. Anda boleh menukar akaun induk ke akaun Lembaran Imbangan atau memilih akaun lain.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Pastikan {} akaun adalah akaun Boleh Bayar. Tukar jenis akaun menjadi Hutang atau pilih akaun lain.,
+Row {}: Expense Head changed to {} ,Baris {}: Kepala Beban ditukar menjadi {},
+because account {} is not linked to warehouse {} ,kerana akaun {} tidak dihubungkan ke gudang {},
+or it is not the default inventory account,atau itu bukan akaun inventori lalai,
+Expense Head Changed,Kepala Perbelanjaan Berubah,
+because expense is booked against this account in Purchase Receipt {},kerana perbelanjaan dicatatkan ke akaun ini dalam Resit Pembelian {},
+as no Purchase Receipt is created against Item {}. ,kerana tidak ada Resit Pembelian yang dibuat terhadap Item {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ini dilakukan untuk menangani perakaunan kes apabila Resit Pembelian dibuat setelah Invoice Pembelian,
+Purchase Order Required for item {},Pesanan Pembelian Diperlukan untuk item {},
+To submit the invoice without purchase order please set {} ,"Untuk menghantar invois tanpa pesanan pembelian, sila tetapkan {}",
+as {} in {},seperti dalam {},
+Mandatory Purchase Order,Perintah Pembelian Wajib,
+Purchase Receipt Required for item {},Resit Pembelian Diperlukan untuk item {},
+To submit the invoice without purchase receipt please set {} ,"Untuk menghantar invois tanpa resit pembelian, tetapkan {}",
+Mandatory Purchase Receipt,Resit Pembelian Wajib,
+POS Profile {} does not belongs to company {},Profil POS {} bukan milik syarikat {},
+User {} is disabled. Please select valid user/cashier,Pengguna {} dilumpuhkan. Sila pilih pengguna / juruwang yang sah,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Baris # {}: Faktur asal {} invois pengembalian {} adalah {}.,
+Original invoice should be consolidated before or along with the return invoice.,Invois asal harus digabungkan sebelum atau bersama dengan invois pengembalian.,
+You can add original invoice {} manually to proceed.,Anda boleh menambahkan invois asal {} secara manual untuk meneruskan.,
+Please ensure {} account is a Balance Sheet account. ,Pastikan {} akaun adalah akaun Lembaran Imbangan.,
+You can change the parent account to a Balance Sheet account or select a different account.,Anda boleh menukar akaun induk ke akaun Lembaran Imbangan atau memilih akaun lain.,
+Please ensure {} account is a Receivable account. ,Pastikan {} akaun adalah akaun Belum Terima.,
+Change the account type to Receivable or select a different account.,Tukar jenis akaun menjadi Belum Terima atau pilih akaun lain.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} tidak dapat dibatalkan kerana Mata Kesetiaan yang diperoleh telah ditebus. Batalkan dahulu {} Tidak {},
+already exists,sudah wujud,
+POS Closing Entry {} against {} between selected period,POS Penutupan Entri {} terhadap {} antara tempoh yang dipilih,
+POS Invoice is {},Invois POS ialah {},
+POS Profile doesn't matches {},Profil POS tidak sepadan {},
+POS Invoice is not {},Invois POS bukan {},
+POS Invoice isn't created by user {},POS Invoice tidak dibuat oleh pengguna {},
+Row #{}: {},Baris # {}: {},
+Invalid POS Invoices,Invois POS tidak sah,
+Please add the account to root level Company - {},Sila tambah akaun ke Syarikat peringkat akar - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Semasa membuat akaun untuk Syarikat Anak {0}, akaun induk {1} tidak dijumpai. Sila buat akaun induk dalam COA yang sesuai",
+Account Not Found,Akaun tidak dijumpai,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Semasa membuat akaun untuk Syarikat Anak {0}, akaun induk {1} dijumpai sebagai akaun lejar.",
+Please convert the parent account in corresponding child company to a group account.,Tukarkan akaun induk di syarikat anak yang sesuai ke akaun kumpulan.,
+Invalid Parent Account,Akaun Ibu Bapa Tidak Sah,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Menamakan semula hanya dibenarkan melalui syarikat induk {0}, untuk mengelakkan ketidakcocokan.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Sekiranya anda {0} {1} kuantiti item {2}, skema {3} akan diterapkan pada item tersebut.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Sekiranya anda {0} {1} item bernilai {2}, skema {3} akan digunakan pada item tersebut.",
+"As the field {0} is enabled, the field {1} is mandatory.","Oleh kerana medan {0} diaktifkan, medan {1} adalah wajib.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Oleh kerana medan {0} diaktifkan, nilai medan {1} harus lebih dari 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Tidak dapat mengirimkan No Siri {0} item {1} kerana ia diperuntukkan untuk memenuhi Pesanan Jualan {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Pesanan Penjualan {0} mempunyai tempahan untuk item tersebut {1}, Anda hanya dapat mengirimkan pesanan yang dipesan {1} terhadap {0}.",
+{0} Serial No {1} cannot be delivered,{0} No Siri {1} tidak dapat dihantar,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Baris {0}: Item Subkontrak adalah wajib untuk bahan mentah {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Oleh kerana terdapat banyak bahan mentah, Permintaan Bahan tidak diperlukan untuk Gudang {0}.",
+" If you still want to proceed, please enable {0}.","Sekiranya anda masih mahu meneruskan, sila aktifkan {0}.",
+The item referenced by {0} - {1} is already invoiced,Item yang dirujuk oleh {0} - {1} sudah dibuat invois,
+Therapy Session overlaps with {0},Sesi Terapi bertindih dengan {0},
+Therapy Sessions Overlapping,Sesi Terapi Bertindih,
+Therapy Plans,Rancangan Terapi,
+"Item Code, warehouse, quantity are required on row {0}","Kod Item, gudang, kuantiti diperlukan pada baris {0}",
+Get Items from Material Requests against this Supplier,Dapatkan Item dari Permintaan Bahan terhadap Pembekal ini,
+Enable European Access,Dayakan Akses Eropah,
+Creating Purchase Order ...,Membuat Pesanan Pembelian ...,
+"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.","Pilih Pembekal dari Pembekal Lalai item di bawah. Pada pilihan, Pesanan Pembelian akan dibuat terhadap barang-barang milik Pembekal terpilih sahaja.",
+Row #{}: You must select {} serial numbers for item {}.,Baris # {}: Anda mesti memilih {} nombor siri untuk item {}.,
diff --git a/erpnext/translations/my.csv b/erpnext/translations/my.csv
index c8de5fb..d15ec1e 100644
--- a/erpnext/translations/my.csv
+++ b/erpnext/translations/my.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',အမျိုးအစား &#39;&#39; အကောက်ခွန်တန်ဖိုးသတ်မှတ်မည် &#39;သို့မဟုတ်&#39; &#39;Vaulation နှင့်စုစုပေါင်း&#39; &#39;အဘို့ဖြစ်၏ရသောအခါနုတ်မနိုင်,
 "Cannot delete Serial No {0}, as it is used in stock transactions","ဒါကြောင့်စတော့ရှယ်ယာငွေပေးငွေယူမှာအသုံးပြုတဲ့အတိုင်း, {0} Serial No မဖျက်နိုင်ပါ",
 Cannot enroll more than {0} students for this student group.,ဒီကျောင်းသားအုပ်စုအတွက် {0} ကျောင်းသားများကိုထက်ပိုစာရင်းသွင်းလို့မရပါ။,
-Cannot find Item with this barcode,ဒီဘားကုဒ်ကိုနှင့်အတူအရာဝတ္ထုကိုမတှေ့နိုငျ,
 Cannot find active Leave Period,တက်ကြွခွင့်ကာလကိုမတှေ့နိုငျ,
 Cannot produce more Item {0} than Sales Order quantity {1},အရောင်းအမိန့်အရေအတွက် {1} ထက်ပိုပစ္စည်း {0} မထုတ်လုပ်နိုင်သ,
 Cannot promote Employee with status Left,status ကိုလက်ဝဲနှင့်အတူန်ထမ်းမြှင့်တင်ရန်မပေးနိုင်,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Create နှင့်နေ့စဉ်စီမံခန့်ခွဲ, အပတ်စဉ်ထုတ်နှင့်လစဉ်အီးမေးလ် digests ။",
 Create customer quotes,ဖောက်သည်ကိုးကား Create,
 Create rules to restrict transactions based on values.,တန်ဖိုးများကိုအပေါ်အခြေခံပြီးအရောင်းအကနျ့သစည်းမျဉ်းစည်းကမ်းတွေကိုဖန်တီးပါ။,
-Created By,By Created,
 Created {0} scorecards for {1} between: ,: {1} အကြားအဘို့အ Created {0} scorecards,
 Creating Company and Importing Chart of Accounts,ကုမ္ပဏီ Creating နှင့်ငွေစာရင်းဇယားတင်သွင်းခြင်း,
 Creating Fees,Creating အခကြေးငွေများ,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,အတန်းများအတွက် {0}: စီစဉ်ထားအရည်အတွက် Enter,
 "For {0}, only credit accounts can be linked against another debit entry",{0} သည်ကိုသာအကြွေးအကောင့်အသစ်များ၏အခြား debit entry ကိုဆန့်ကျင်နှင့်ဆက်စပ်နိုင်,
 "For {0}, only debit accounts can be linked against another credit entry","{0} အဘို့, သာ debit အကောင့်အသစ်များ၏အခြားအကြွေး entry ကိုဆန့်ကျင်နှင့်ဆက်စပ်နိုင်",
-Form View,form ကိုကြည့်ရန်,
 Forum Activity,ဖိုရမ်လှုပ်ရှားမှု,
 Free item code is not selected,အခမဲ့ကို item code ကိုမရွေးသည်မဟုတ်,
 Freight and Forwarding Charges,ကုန်တင်နှင့် Forwarding စွပ်စွဲချက်,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,သင့်ရဲ့အဆက်အသွယ်မှအစုလိုက်အပြုံလိုက် SMS ပို့,
 Sensitivity,အာရုံများကိုထိခိုက်လွယ်ခြင်း,
 Sent,ကိုစလှေတျ,
-Serial #,serial #,
 Serial No and Batch,serial ဘယ်သူမျှမကနှင့်အသုတ်လိုက်,
 Serial No is mandatory for Item {0},serial No Item {0} သည်မသင်မနေရ,
 Serial No {0} does not belong to Batch {1},serial ဘယ်သူမျှမက {0} အသုတ်လိုက်မှ {1} ပိုင်ပါဘူး,
@@ -3303,7 +3299,6 @@
 What do you need help with?,သင်တို့နှင့်အတူကူညီအဘယျသို့လိုအပ်သလဲ?,
 What does it do?,ဒါကြောင့်အဘယ်သို့ပြုရပါသနည်း?,
 Where manufacturing operations are carried.,အဘယ်မှာရှိကုန်ထုတ်လုပ်မှုလုပ်ငန်းများကိုသယ်ဆောင်ကြသည်။,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","ကလေးကကုမ္ပဏီ {0}, မိဘအကောင့်အတွက် account ဖန်တီးပြီးနေစဉ် {1} ကိုတွေ့ဘူး။ COA သက်ဆိုင်ရာအတွက်မိဘအကောင့်ကိုဖန်တီးပေးပါ",
 White,အဖြူ,
 Wire Transfer,ငွေလွှဲခြင်း,
 WooCommerce Products,WooCommerce ထုတ်ကုန်များ,
@@ -3493,6 +3488,7 @@
 Merge with existing,လက်ရှိအတူ merge,
 Office,ရုံး,
 Orientation,အရှေ့တိုင်းဆန်,
+Parent,မိဘ,
 Passive,မလှုပ်မရှားနေသော,
 Payment Failed,ငွေပေးချေမှုရမည့်မအောင်မြင်ခဲ့ပါ,
 Percent,ရာခိုင်နှုန်း,
@@ -3543,6 +3539,7 @@
 Show {0},Show ကို {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","မှလွဲ. အထူးဇာတ်ကောင် &quot;-&quot; &quot;။ &quot;, &quot;#&quot;, &quot;/&quot;, &quot;{&quot; နှင့် &quot;}&quot; စီးရီးနာမည်အတွက်ခွင့်မပြု",
 Target Details,ပစ်မှတ်အသေးစိတ်,
+{0} already has a Parent Procedure {1}.,{0} ပြီးသားမိဘလုပ်ထုံးလုပ်နည်း {1} ရှိပါတယ်။,
 API,API ကို,
 Annual,နှစ်ပတ်လည်,
 Approved,Approved,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,အဆုံးနေ့စွဲ Start ကိုနေ့စွဲထက်လျော့နည်းမဖွစျနိုငျ,
 For Default Supplier (Optional),ပုံမှန်ပေးသွင်း (ရွေးချယ်နိုင်),
 From date cannot be greater than To date,နေ့စွဲကနေနေ့စွဲရန်ထက် သာ. ကြီးမြတ်မဖွစျနိုငျ,
-Get items from,အထဲကပစ္စည်းတွေကို Get,
 Group by,Group မှဖြင့်,
 In stock,ကုန်ပစ္စည်းလက်ဝယ်ရှိ,
 Item name,item အမည်,
@@ -7558,10 +7554,6 @@
 Quality Goal,အရည်အသွေးပန်းတိုင်,
 Monitoring Frequency,စောင့်ကြည့်မှုကြိမ်နှုန်း,
 Weekday,WEEKDAY,
-January-April-July-October,ဇန်နဝါရီလဧပြီလဇူလိုင်လအောက်တိုဘာလ,
-Revision and Revised On,တည်းဖြတ်မူနှင့်တွင် Revised,
-Revision,ပြန်လည်စစ်ဆေးကြည့်ရှုခြင်း,
-Revised On,တွင် Revised,
 Objectives,ရည်ရွယ်ချက်များ,
 Quality Goal Objective,အရည်အသွေးပန်းတိုင်ရည်ရွယ်ချက်,
 Objective,ရည်ရွယ်ချက်,
@@ -7574,7 +7566,6 @@
 Processes,လုပ်ငန်းစဉ်များ,
 Quality Procedure Process,အရည်အသွေးလုပ်ထုံးလုပ်နည်းလုပ်ငန်းစဉ်,
 Process Description,ဖြစ်စဉ်ကိုဖျေါပွခကျြ,
-Child Procedure,ကလေးလုပ်ထုံးလုပ်နည်း,
 Link existing Quality Procedure.,Link ကိုအရည်အသွေးလုပ်ထုံးလုပ်နည်းတည်ဆဲ။,
 Additional Information,အခြားဖြည့်စွက်ရန်အချက်အလက်များ,
 Quality Review Objective,အရည်အသွေးပြန်လည်ဆန်းစစ်ခြင်းရည်ရွယ်ချက်,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,ဝယ်ယူခြင်းပြေစာခေတ်ရေစီးကြောင်း,
 Purchase Register,မှတ်ပုံတင်မည်ဝယ်ယူ,
 Quotation Trends,စျေးနှုန်းခေတ်ရေစီးကြောင်း,
-Quoted Item Comparison,ကိုးကားအရာဝတ္ထုနှိုင်းယှဉ်ခြင်း,
 Received Items To Be Billed,ကြေညာတဲ့ခံရဖို့ရရှိထားသည့်ပစ္စည်းများ,
 Qty to Order,ရမလဲမှ Qty,
 Requested Items To Be Transferred,လွှဲပြောင်းရန်မေတ္တာရပ်ခံပစ္စည်းများ,
@@ -9091,7 +9081,6 @@
 Absent Days,ပျက်ကွက်ရက်များ,
 Conditions and Formula variable and example,အခြေအနေများနှင့်ဖော်မြူလာ variable ကိုနှင့်ဥပမာ,
 Feedback By,ပြန်လည်သုံးသပ်ခြင်း,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .- ။ MM .- ။ DD.-,
 Manufacturing Section,ကုန်ထုတ်လုပ်မှုအပိုင်း,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",ပုံမှန်အားဖြင့်သုံးစွဲသူအမည်ကိုနာမည်အပြည့်အစုံရိုက်ထည့်သည်။ သင်ဖောက်သည်တစ် ဦး အားဖြင့်အမည်ရှိချင်တယ်ဆိုရင်,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,အသစ်တစ်ခုအရောင်းငွေပေးငွေယူဖန်တီးသည့်အခါပုံမှန်စျေးနှုန်းစာရင်းပြုပြင်ပါ။ ပစ္စည်းစျေးနှုန်းများကိုဒီစျေးနှုန်းစာရင်းမှရယူပါလိမ့်မည်။,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Reserved Balance,
 Uncleared Balance,uncleared Balance,
 Payment related to {0} is not completed,{0} နှင့်ဆက်စပ်သောငွေပေးချေမှုမပြီးသေးပါ,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Row # {}: နံပါတ်စဉ် {} ။ {} သည်အခြား POS ငွေတောင်းခံလွှာသို့ပြောင်းပြီးဖြစ်သည်။ ကျေးဇူးပြု၍ မှန်ကန်သောအမှတ်စဉ်နံပါတ်ရွေးပါ။,
 Row #{}: Item Code: {} is not available under warehouse {}.,Row # {}: Item Code: {} ကိုဂိုဒေါင် {} အောက်မှာမရရှိနိုင်ပါ။,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Row # {}: Item Code အတွက် {}} သိုလှောင်ပမာဏမကသိုလှောင်ရုံအောက်မှာ {} ။ ရရှိနိုင်အရေအတွက် {} ။,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Row # {} - serial no ကိုရွေးပြီး item ကို {{}} အနေဖြင့်ရွေးချယ်ပါ။,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,ကျေးဇူးပြု၍ Allow Negative Stock ကို Stock Settings ထဲရှိ enable သို့မဟုတ် Stock Entry ကိုဆက်လုပ်ပါ။,
 No Inpatient Record found against patient {0},လူနာနှင့်သက်ဆိုင်သောအတွင်းလူနာမှတ်တမ်းမရှိပါ။ {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,လူနာနှင့်သက်ဆိုင်သော {1} အားဆန့်ကျင်သောအတွင်းလူနာဆေးဝါးအမိန့် {0} ရှိနှင့်ပြီးဖြစ်သည်။,
+Allow In Returns,ပြန်ခွင့်ပြုပါ,
+Hide Unavailable Items,မရရှိနိုင်သည့်ပစ္စည်းများကိုဖျောက်ထားပါ,
+Apply Discount on Discounted Rate,လျှော့နှုန်းအပေါ်လျှော့စျေး Apply,
+Therapy Plan Template,ကုထုံးအစီအစဉ် Template,
+Fetching Template Details,အသေးစိတ်အချက်အလက်များရယူခြင်း,
+Linked Item Details,ချိတ်ဆက်ပစ္စည်းအသေးစိတ်,
+Therapy Types,ကုထုံးအမျိုးအစားများ,
+Therapy Plan Template Detail,ကုထုံးအစီအစဉ် template ကိုအသေးစိတ်,
+Non Conformance,လိုက်နာမှုမရှိပါ,
+Process Owner,လုပ်ငန်းစဉ်ပိုင်ရှင်,
+Corrective Action,အမှားပြင်ဆင်လုပ်ဆောင်ချက်,
+Preventive Action,ရောဂါကာကွယ်သောလုပ်ဆောင်ချက်,
+Problem,ပြနာ,
+Responsible,တာဝန်ရှိသည်,
+Completion By,ပြီးစီးသည်,
+Process Owner Full Name,လုပ်ငန်းစဉ်ပိုင်ရှင်နာမည်အပြည့်အစုံ,
+Right Index,ညာဘက်အညွှန်းကိန်း,
+Left Index,လက်ဝဲအညွှန်းကိန်း,
+Sub Procedure,လုပ်ထုံးလုပ်နည်းခွဲ,
+Passed,သွားပြီ,
+Print Receipt,ငွေလက်ခံဖြတ်ပိုင်းပုံနှိပ်ပါ,
+Edit Receipt,လက်ခံဖြတ်ပိုင်းတည်းဖြတ်,
+Focus on search input,ရှာဖွေရေး input ကိုအာရုံစိုက်,
+Focus on Item Group filter,Item Group မှ filter ကိုအာရုံစိုက်ပါ,
+Checkout Order / Submit Order / New Order,ကုန်ပစ္စည်းအမှာစာ / အမိန့်တင်သွင်း / အသစ်အမိန့်,
+Add Order Discount,အမိန့်လျှော့စျေးထည့်ပါ,
+Item Code: {0} is not available under warehouse {1}.,ပစ္စည်းကုဒ်: {0} ကိုဂိုဒေါင် {1} အောက်တွင်မရရှိနိုင်ပါ။,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,ဂိုဒေါင် {1} အောက်ရှိပစ္စည်း {0} အတွက်မရနိုင်သောနံပါတ်စဉ်များ။ ကျေးဇူးပြုပြီးဂိုဒေါင်ပြောင်းဖို့ကြိုးစားပါ။,
+Fetched only {0} available serial numbers.,{0} ရရှိနိုင်သည့်နံပါတ်စဉ်များကိုသာရယူပါ။,
+Switch Between Payment Modes,ငွေပေးချေစနစ်များအကြားပြောင်းပါ,
+Enter {0} amount.,{0} ပမာဏကိုရိုက်ထည့်ပါ။,
+You don't have enough points to redeem.,သင့်မှာရွေးရန်အချက်အလုံအလောက်မရှိပါ။,
+You can redeem upto {0}.,{0} အထိရွေးလို့ရပါတယ်။,
+Enter amount to be redeemed.,ရွေးယူရန်ငွေပမာဏကိုထည့်ပါ။,
+You cannot redeem more than {0}.,{0} ထက်ပိုပြီးမရွေးနိုင်ပါ။,
+Open Form View,Form View ကိုဖွင့်ပါ,
+POS invoice {0} created succesfully,POS ငွေတောင်းခံလွှာ {0} ကိုအောင်မြင်စွာဖန်တီးခဲ့တယ်,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,ပစ္စည်းကုဒ်အတွက် {0} ကုန်လှောင်ရုံအောက်ရှိ {1} အောက်တွင်ကုန်ပစ္စည်းအရေအတွက်မလုံလောက်ပါ။ ရရှိနိုင်အရေအတွက် {2} ။,
+Serial No: {0} has already been transacted into another POS Invoice.,အမှတ်စဉ်နံပါတ် - {0} သည်အခြား POS ငွေတောင်းခံလွှာသို့ပြောင်းပြီးဖြစ်သည်။,
+Balance Serial No,နံပါတ် Balance နံပါတ်,
+Warehouse: {0} does not belong to {1},ဂိုဒေါင် - {0} ဟာ {1} နဲ့မသက်ဆိုင်ပါ။,
+Please select batches for batched item {0},သုတ်ထားသောပစ္စည်းအတွက်သုတ်များကိုရွေးပါ {0},
+Please select quantity on row {0},ကျေးဇူးပြုပြီးအတန်းအရေအတွက်ကိုရွေးချယ်ပါ {0},
+Please enter serial numbers for serialized item {0},ကျေးဇူးပြု၍ နံပါတ်စဉ်နံပါတ်ထည့်သွင်းပါ {0},
+Batch {0} already selected.,သုတ် {0} ကိုရွေးချယ်ပြီးဖြစ်သည်။,
+Please select a warehouse to get available quantities,ရရှိနိုင်ပမာဏရရန်ဂိုဒေါင်တစ်ခုရွေးပါ,
+"For transfer from source, selected quantity cannot be greater than available quantity",အရင်းအမြစ်မှလွှဲပြောင်းခြင်းအတွက်ရွေးချယ်ထားသောအရေအတွက်သည်ရရှိနိုင်သည့်အရေအတွက်ထက်မပိုနိုင်ပါ,
+Cannot find Item with this Barcode,ဒီဘားကုဒ်ဖြင့်ပစ္စည်းကိုရှာ။ မရပါ,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} ဟာမဖြစ်မနေလိုအပ်သည်။ {1} မှ {2} အတွက်ငွေကြေးလဲလှယ်မှုမှတ်တမ်းကိုမပြုလုပ်နိုင်ပါ။,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ကဆက်နွယ်နေသောပိုင်ဆိုင်မှုများကိုတင်သွင်းခဲ့သည်။ သင်ဝယ်ယူပြန်လာဖန်တီးရန်ပိုင်ဆိုင်မှုများကိုပယ်ဖျက်ဖို့လိုအပ်ပါတယ်။,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,တင်သွင်းထားသောပိုင်ဆိုင်မှု {0} နှင့်ဆက်စပ်မှုရှိသောကြောင့်ဤစာရွက်စာတမ်းကို ဖျက်၍ မရပါ။ ကျေးဇူးပြုပြီးဖျက်သိမ်းပါ,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Row # {}: Serial နံပါတ် {} ကိုအခြား POS ငွေတောင်းခံလွှာသို့ပြောင်းပြီးဖြစ်သည်။ ကျေးဇူးပြု၍ မှန်ကန်သောအမှတ်စဉ်နံပါတ်ရွေးပါ။,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Row # {}: Serial Nos ။ {} သည်အခြား POS ငွေတောင်းခံလွှာသို့ပြောင်းပြီးဖြစ်သည်။ ကျေးဇူးပြု၍ မှန်ကန်သောအမှတ်စဉ်နံပါတ်ရွေးပါ။,
+Item Unavailable,ပစ္စည်းမရနိုင်ပါ,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Row # {}: မူရင်းငွေတောင်းခံလွှာတွင်မပြောင်းလဲသောကြောင့်အမှတ်စဉ် {} ကိုပြန်မရပါ။,
+Please set default Cash or Bank account in Mode of Payment {},ကျေးဇူးပြု၍ ပုံမှန်ငွေသား (သို့) ဘဏ်အကောင့်ကိုငွေပေးချေမှုစနစ် ({ငွေပေးချေမှုစနစ်) တွင်ထားပါ။,
+Please set default Cash or Bank account in Mode of Payments {},ကျေးဇူးပြု၍ ပုံမှန်ငွေသား (သို့) ဘဏ်အကောင့်ကိုငွေပေးချေမှုစနစ် (}) တွင်ထည့်ပါ။,
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,{} အကောင့်သည် Balance Sheet အကောင့်တစ်ခုဖြစ်ကြောင်းသေချာပါစေ။ သင်သည်မိဘအကောင့်ကို Balance Sheet အကောင့်သို့ပြောင်းနိုင်သည်သို့မဟုတ်အခြားအကောင့်တစ်ခုကိုရွေးချယ်နိုင်သည်။,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,{} အကောင့်သည်ပေးဆောင်ရမည့်အကောင့်ဖြစ်ကြောင်းသေချာပါစေ။ အကောင့်အမျိုးအစားကို Payable သို့ပြောင်းပါသို့မဟုတ်အခြားအကောင့်တစ်ခုကိုရွေးချယ်ပါ။,
+Row {}: Expense Head changed to {} ,Row {}: Expense Head ကို {} ပြောင်းထားတယ်။,
+because account {} is not linked to warehouse {} ,အကောင့် {} သည်ကုန်လှောင်ရုံနှင့်မပတ်သက်သောကြောင့်,
+or it is not the default inventory account,သို့မဟုတ်ပါကပုံမှန်စာရင်းအကောင့်မဟုတ်ပါဘူး,
+Expense Head Changed,အသုံးစရိတ်အကြီးအကဲပြောင်းလဲခဲ့သည်,
+because expense is booked against this account in Purchase Receipt {},ဘာဖြစ်လို့လဲဆိုတော့ဒီအကောင့်ကို Purchase Receipt {} မှာကြိုတင်စာရင်းသွင်းထားလို့ပါ။,
+as no Purchase Receipt is created against Item {}. ,အဘယ်သူမျှမဝယ်ယူငွေလက်ခံဖြတ်ပိုင်း {{} ဆန့်ကျင်နေသူများကဖန်တီးဖြစ်ပါတယ်အဖြစ်။,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,၀ ယ်ငွေပြေစာအပြီးတွင် Purchase Receipt ကိုဖန်တီးသည့်ကိစ္စရပ်များအတွက်စာရင်းကိုင်များအားကိုင်တွယ်ရန်ပြုလုပ်သည်,
+Purchase Order Required for item {},ပစ္စည်းအတွက်လိုအပ်သောဝယ်ယူမှုအမှာစာ {},
+To submit the invoice without purchase order please set {} ,ဝယ်ယူမှုအမိန့်မပါဘဲငွေတောင်းခံလွှာကိုတင်သွင်းကျေးဇူးပြုပြီး {} ကိုသတ်မှတ်,
+as {} in {},{} ထဲမှာ {} ထဲမှာ,
+Mandatory Purchase Order,မဖြစ်မနေဝယ်ယူရန်အမိန့်,
+Purchase Receipt Required for item {},ပစ္စည်းအတွက်လိုအပ်သောဝယ်ယူမှုပြေစာ {},
+To submit the invoice without purchase receipt please set {} ,ဝယ်ယူမှုမရရှိဘဲငွေတောင်းခံလွှာကိုတင်ပြရန် {} ကိုသတ်မှတ်ပါ။,
+Mandatory Purchase Receipt,မဖြစ်မနေဝယ်ယူငွေလက်ခံဖြတ်ပိုင်း,
+POS Profile {} does not belongs to company {},POS ပရိုဖိုင်း {} သည်ကုမ္ပဏီနှင့်မဆိုင်ပါ။,
+User {} is disabled. Please select valid user/cashier,အသုံးပြုသူ {} ကိုပိတ်ထားသည်။ ကျေးဇူးပြု၍ မှန်ကန်သောအသုံးပြုသူ / ငွေကိုင်ကိုရွေးချယ်ပါ,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Row # {}: မူရင်းပြေစာ {} ၏ငွေတောင်းခံလွှာ {} သည် {} ဖြစ်သည်။,
+Original invoice should be consolidated before or along with the return invoice.,မူရင်းငွေတောင်းခံလွှာကိုပြန်ပို့ငွေတောင်းခံလွှာမတိုင်မီသို့မဟုတ်အတူတကွစုစည်းထားသင့်သည်။,
+You can add original invoice {} manually to proceed.,မူရင်းငွေတောင်းခံလွှာကို {} ကိုကိုယ်တိုင်ဆက်လက်ထည့်သွင်းနိုင်သည်။,
+Please ensure {} account is a Balance Sheet account. ,{} အကောင့်သည် Balance Sheet အကောင့်တစ်ခုဖြစ်ကြောင်းသေချာပါစေ။,
+You can change the parent account to a Balance Sheet account or select a different account.,သင်သည်မိဘအကောင့်ကို Balance Sheet အကောင့်သို့ပြောင်းနိုင်သည်သို့မဟုတ်အခြားအကောင့်တစ်ခုကိုရွေးချယ်နိုင်သည်။,
+Please ensure {} account is a Receivable account. ,ကျေးဇူးပြုပြီး {} အကောင့်သည်ငွေရနိုင်သောအကောင့်တစ်ခုဖြစ်ကြောင်းသေချာပါစေ။,
+Change the account type to Receivable or select a different account.,အကောင့်အမျိုးအစားကိုလက်ခံရန်သို့ပြောင်းလဲပါသို့မဟုတ်အခြားအကောင့်တစ်ခုကိုရွေးချယ်ပါ။,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} ရရှိသော Loyalty Points များကိုရွေးယူပြီးကတည်းကဖျက်သိမ်းလို့မရပါ။ {} No {} ကိုအရင်ဖျက်ပါ,
+already exists,ရှိပြီးသား,
+POS Closing Entry {} against {} between selected period,POS ပိတ် {{} ကိုရွေးချယ်ထားသည့်အချိန်ကာလအကြား၌},
+POS Invoice is {},POS ငွေတောင်းခံလွှာ {},
+POS Profile doesn't matches {},POS ကိုယ်ရေးအချက်အလက် {} သည်မကိုက်ညီပါ,
+POS Invoice is not {},POS ငွေတောင်းခံလွှာသည် {} မဟုတ်ပါ။,
+POS Invoice isn't created by user {},POS ငွေတောင်းခံလွှာကိုအသုံးပြုသူ {} မှမဖန်တီးပါ။,
+Row #{}: {},အတန်း # {}: {},
+Invalid POS Invoices,မမှန်ကန်သော POS ငွေတောင်းခံလွှာ,
+Please add the account to root level Company - {},ကျေးဇူးပြု၍ အကောင့်ကို root level ကုမ္ပဏီသို့ထည့်ပါ။ {{},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",ကလေးကုမ္မဏီ {0} အတွက်အကောင့်တစ်ခုဖွင့်လှစ်စဉ်တွင်မိဘအကောင့် {1} ကိုရှာမတွေ့ပါ။ ကျေးဇူးပြု၍ သက်ဆိုင်ရာ COA တွင်မိဘအကောင့်ကိုဖွင့်ပါ,
+Account Not Found,အကောင့်မတွေ့ပါ,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",ကလေးကုမ္မဏီ {0} အတွက်အကောင့်တစ်ခုဖွင့်လှစ်စဉ်တွင်မိဘအကောင့် {1} ကိုအကောင့်တစ်ခုအဖြစ်တွေ့ရှိရသည်။,
+Please convert the parent account in corresponding child company to a group account.,ကျေးဇူးပြု၍ သက်ဆိုင်ရာကလေးကုမ္ပဏီမှမိဘအကောင့်ကိုအုပ်စုအကောင့်တစ်ခုသို့ပြောင်းပါ။,
+Invalid Parent Account,မမှန်ကန်သောမိဘအကောင့်,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",နာမည်ပြောင်းလဲခြင်းကိုမိဘကုမ္ပဏီ {0} မှတဆင့်မတိုက်ဆိုင်မှုကိုရှောင်ရှားရန်သာခွင့်ပြုသည်။,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",သင် {2} {1} ပမာဏ {2} ပမာဏရှိခဲ့လျှင်ဤအစီအစဉ် {3} ကိုအသုံးချလိမ့်မည်။,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",အကယ်၍ သင် {0} {1} တန်ဖိုးရှိပစ္စည်း {2} ဖြစ်ပါကအစီအစဉ် {3} ကိုအသုံးချပါ။,
+"As the field {0} is enabled, the field {1} is mandatory.",Field {0} ကို enable လုပ်ထားသောကြောင့် {1} သည်မဖြစ်မနေလိုအပ်သည်။,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",Field {0} ကို enable လုပ်ထားသောကြောင့် field {1} ၏တန်ဖိုးသည် 1 ထက်ပိုရမည်။,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},အရောင်းအမိန့် {2} ကိုအပြည့်အဝသိမ်းဆည်းထားနိုင်သောကြောင့်ပစ္စည်း {1} အမှတ်စဉ်နံပါတ် {0} ကိုမပို့နိုင်ပါ။,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",အရောင်းအမိန့် {0} တွင် {1} အတွက်ကြိုတင်မှာကြားထားပြီးပါပြီ {1} ကိုသာ {1} သို့ထားရှိပြီးအရံသိမ်းထားနိုင်သည်။,
+{0} Serial No {1} cannot be delivered,{0} နံပါတ်အမှတ် ၁ ကိုမပို့နိုင်ပါ,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},အတန်း {0} - ကုန်ကြမ်းပစ္စည်းအတွက်ကန်ထရိုက်စာချုပ်ချုပ်ဆိုထားသည့်အရာသည်မဖြစ်မနေလိုအပ်သည်။ {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",ကုန်ကြမ်းအလုံအလောက်ရှိသဖြင့်ကုန်ကြမ်းပစ္စည်းတောင်းဆိုမှုသည်ဂိုဒေါင် {0} အတွက်မလိုအပ်ပါ။,
+" If you still want to proceed, please enable {0}.",ဆက်လုပ်လိုလျှင် {0} ကိုဖွင့်ပါ။,
+The item referenced by {0} - {1} is already invoiced,{0} - {1} ကညွှန်းထားတဲ့ပစ္စည်းကိုငွေတောင်းခံပြီးပြီ,
+Therapy Session overlaps with {0},ကုထုံးတွေ့ဆုံဆွေးနွေးမှု {0} နှင့်ထပ်နေသည်,
+Therapy Sessions Overlapping,ကုထုံးတွေ့ဆုံဆွေးနွေးပွဲ,
+Therapy Plans,ကုထုံးအစီအစဉ်များ,
+"Item Code, warehouse, quantity are required on row {0}","item ကုဒ်, ဂိုဒေါင်, အရေအတွက်အတန်း {0} တွင်လိုအပ်သည်။",
+Get Items from Material Requests against this Supplier,ဒီပေးသွင်းသူဆန့်ကျင်ပစ္စည်းတောင်းဆိုမှုများမှပစ္စည်းများရယူပါ,
+Enable European Access,ဥရောပ Access ကိုဖွင့်,
+Creating Purchase Order ...,ဝယ်ယူမှုအမိန့်ကိုဖန်တီးခြင်း ...,
+"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.",အောက်ဖော်ပြပါပစ္စည်းများ၏ပုံမှန်ပေးသွင်းသူထံမှပေးသွင်းရွေးချယ်ပါ။ ရွေးချယ်မှုတွင်ရွေးချယ်ထားသောပေးသွင်းသူနှင့်သာသက်ဆိုင်သောပစ္စည်းများကိုသာ ၀ ယ်ရန်အမိန့်ပေးလိမ့်မည်။,
+Row #{}: You must select {} serial numbers for item {}.,Row # {} - item {} အတွက်နံပါတ်စဉ်ဆက်ရွေးပါ။,
diff --git a/erpnext/translations/nl.csv b/erpnext/translations/nl.csv
index 47d11e7..fbadc02 100644
--- a/erpnext/translations/nl.csv
+++ b/erpnext/translations/nl.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kan niet aftrekken als categorie is voor &#39;Valuation&#39; of &#39;Vaulation en Total&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Kan Serienummer {0} niet verwijderen, omdat het wordt gebruikt in voorraadtransacties",
 Cannot enroll more than {0} students for this student group.,Kan niet meer dan {0} studenten voor deze groep studenten inschrijven.,
-Cannot find Item with this barcode,Kan item met deze barcode niet vinden,
 Cannot find active Leave Period,Actieve verlofperiode niet te vinden,
 Cannot produce more Item {0} than Sales Order quantity {1},Kan niet meer produceren van Artikel {0} dan de Verkooporder hoeveelheid {1},
 Cannot promote Employee with status Left,Kan werknemer met status links niet promoten,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Aanmaken en beheren van dagelijkse, wekelijkse en maandelijkse e-mail samenvattingen.",
 Create customer quotes,Maak een offerte voor de klant,
 Create rules to restrict transactions based on values.,Regels maken om transacties op basis van waarden te beperken.,
-Created By,Gemaakt door,
 Created {0} scorecards for {1} between: ,Gecreëerd {0} scorecards voor {1} tussen:,
 Creating Company and Importing Chart of Accounts,Bedrijf aanmaken en rekeningschema importeren,
 Creating Fees,Fees creëren,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Voor rij {0}: Voer het geplande aantal in,
 "For {0}, only credit accounts can be linked against another debit entry","Voor {0}, kan alleen credit accounts worden gekoppeld tegen een andere debetboeking",
 "For {0}, only debit accounts can be linked against another credit entry","Voor {0}, kan alleen debet accounts worden gekoppeld tegen een andere creditering",
-Form View,Formulierweergave,
 Forum Activity,Forumactiviteit,
 Free item code is not selected,Gratis artikelcode is niet geselecteerd,
 Freight and Forwarding Charges,Vracht-en verzendkosten,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Stuur massa SMS naar uw contacten,
 Sensitivity,Gevoeligheid,
 Sent,verzonden,
-Serial #,Serial #,
 Serial No and Batch,Serienummer en batch,
 Serial No is mandatory for Item {0},Serienummer is verplicht voor Artikel {0},
 Serial No {0} does not belong to Batch {1},Serienummer {0} hoort niet bij Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Waarmee heb je hulp nodig?,
 What does it do?,Wat doet het?,
 Where manufacturing operations are carried.,Waar de productie-activiteiten worden uitgevoerd.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Tijdens het maken van een account voor het onderliggende bedrijf {0}, is het ouderaccount {1} niet gevonden. Maak het ouderaccount aan in het bijbehorende COA",
 White,Wit,
 Wire Transfer,overboeking,
 WooCommerce Products,WooCommerce-producten,
@@ -3493,6 +3488,7 @@
 Merge with existing,Samenvoegen met bestaande,
 Office,Kantoor,
 Orientation,oriëntering,
+Parent,Bovenliggend,
 Passive,Passief,
 Payment Failed,Betaling mislukt,
 Percent,Percentage,
@@ -3543,6 +3539,7 @@
 Show {0},Toon {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Speciale tekens behalve &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; En &quot;}&quot; niet toegestaan in naamgevingsreeks",
 Target Details,Doelgegevens,
+{0} already has a Parent Procedure {1}.,{0} heeft al een ouderprocedure {1}.,
 API,API,
 Annual,jaar-,
 Approved,Aangenomen,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Einddatum kan niet vroeger zijn dan startdatum,
 For Default Supplier (Optional),Voor standaardleverancier (optioneel),
 From date cannot be greater than To date,Vanaf de datum kan niet groter zijn dan tot nu toe,
-Get items from,Krijgen items uit,
 Group by,Groeperen volgens,
 In stock,Op voorraad,
 Item name,Artikelnaam,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kwaliteitsdoel,
 Monitoring Frequency,Monitoring frequentie,
 Weekday,Weekdag,
-January-April-July-October,Januari-april-juli-oktober,
-Revision and Revised On,Herziening en herzien op,
-Revision,Herziening,
-Revised On,Herzien op,
 Objectives,Doelen,
 Quality Goal Objective,Kwaliteitsdoelstelling,
 Objective,Doelstelling,
@@ -7574,7 +7566,6 @@
 Processes,Processen,
 Quality Procedure Process,Kwaliteitsproces-proces,
 Process Description,Procesbeschrijving,
-Child Procedure,Kinderprocedure,
 Link existing Quality Procedure.,Koppel bestaande kwaliteitsprocedures.,
 Additional Information,Extra informatie,
 Quality Review Objective,Kwaliteitsbeoordeling Doelstelling,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Ontvangstbevestiging Trends,
 Purchase Register,Inkoop Register,
 Quotation Trends,Offerte Trends,
-Quoted Item Comparison,Geciteerd Item Vergelijking,
 Received Items To Be Billed,Ontvangen artikelen nog te factureren,
 Qty to Order,Aantal te bestellen,
 Requested Items To Be Transferred,Aangevraagde Artikelen te Verplaatsen,
@@ -9091,7 +9081,6 @@
 Absent Days,Afwezige dagen,
 Conditions and Formula variable and example,Voorwaarden en Formule variabele en voorbeeld,
 Feedback By,Feedback door,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Productiesectie,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Standaard wordt de klantnaam ingesteld volgens de ingevoerde volledige naam. Als u wilt dat klanten worden genoemd door een,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configureer de standaardprijslijst bij het aanmaken van een nieuwe verkooptransactie. Artikelprijzen worden opgehaald uit deze prijslijst.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Gereserveerd saldo,
 Uncleared Balance,Onduidelijk saldo,
 Payment related to {0} is not completed,De betaling met betrekking tot {0} is niet voltooid,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rij # {}: serienummer {}. {} is al verwerkt in een andere POS-factuur. Selecteer een geldig serienummer.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Rij # {}: artikelcode: {} is niet beschikbaar onder magazijn {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rij # {}: voorraadhoeveelheid niet genoeg voor artikelcode: {} onder magazijn {}. Beschikbare kwaliteit {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rij # {}: selecteer een serienummer en batch voor artikel: {} of verwijder het om de transactie te voltooien.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Schakel Negatieve voorraad toestaan in Voorraadinstellingen in of maak voorraadinvoer om door te gaan.,
 No Inpatient Record found against patient {0},Geen ziekenhuisrecord gevonden voor patiënt {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Er bestaat al een bestelling voor intramurale medicatie {0} tegen ontmoeting met de patiënt {1}.,
+Allow In Returns,Sta in retouren toe,
+Hide Unavailable Items,Verberg niet-beschikbare items,
+Apply Discount on Discounted Rate,Korting op kortingstarief toepassen,
+Therapy Plan Template,Therapieplan sjabloon,
+Fetching Template Details,Sjabloondetails ophalen,
+Linked Item Details,Gekoppelde itemdetails,
+Therapy Types,Therapietypes,
+Therapy Plan Template Detail,Details van sjabloon voor therapieplan,
+Non Conformance,Niet-conformiteit,
+Process Owner,Proces eigenaar,
+Corrective Action,Corrigerende maatregelen,
+Preventive Action,Preventieve maatregelen,
+Problem,Probleem,
+Responsible,Verantwoordelijk,
+Completion By,Voltooiing door,
+Process Owner Full Name,Volledige naam proceseigenaar,
+Right Index,Rechter Index,
+Left Index,Linker index,
+Sub Procedure,Subprocedure,
+Passed,Geslaagd,
+Print Receipt,Printbon,
+Edit Receipt,Bewerk ontvangstbewijs,
+Focus on search input,Focus op zoekinvoer,
+Focus on Item Group filter,Focus op artikelgroepfilter,
+Checkout Order / Submit Order / New Order,Bestelling afrekenen / Bestelling plaatsen / Nieuwe bestelling,
+Add Order Discount,Bestellingskorting toevoegen,
+Item Code: {0} is not available under warehouse {1}.,Artikelcode: {0} is niet beschikbaar onder magazijn {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serienummers niet beschikbaar voor artikel {0} onder magazijn {1}. Probeer het magazijn te veranderen.,
+Fetched only {0} available serial numbers.,Alleen {0} beschikbare serienummers opgehaald.,
+Switch Between Payment Modes,Schakel tussen betalingsmodi,
+Enter {0} amount.,Voer {0} bedrag in.,
+You don't have enough points to redeem.,U heeft niet genoeg punten om in te wisselen.,
+You can redeem upto {0}.,U kunt tot {0} inwisselen.,
+Enter amount to be redeemed.,Voer het in te wisselen bedrag in.,
+You cannot redeem more than {0}.,U kunt niet meer dan {0} inwisselen.,
+Open Form View,Open formulierweergave,
+POS invoice {0} created succesfully,POS-factuur {0} succesvol aangemaakt,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Voorraadhoeveelheid niet genoeg voor artikelcode: {0} onder magazijn {1}. Beschikbare hoeveelheid {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serienummer: {0} is al verwerkt in een andere POS-factuur.,
+Balance Serial No,Weegschaal serienr,
+Warehouse: {0} does not belong to {1},Magazijn: {0} behoort niet tot {1},
+Please select batches for batched item {0},Selecteer batches voor batchartikel {0},
+Please select quantity on row {0},Selecteer het aantal op rij {0},
+Please enter serial numbers for serialized item {0},Voer serienummers in voor artikelen met serienummer {0},
+Batch {0} already selected.,Batch {0} is al geselecteerd.,
+Please select a warehouse to get available quantities,Selecteer een magazijn om beschikbare hoeveelheden te krijgen,
+"For transfer from source, selected quantity cannot be greater than available quantity",Voor overdracht vanaf de bron kan de geselecteerde hoeveelheid niet groter zijn dan de beschikbare hoeveelheid,
+Cannot find Item with this Barcode,Kan item met deze streepjescode niet vinden,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} is verplicht. Misschien is er geen valutawisselrecord gemaakt voor {1} tot {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} heeft items ingediend die eraan zijn gekoppeld. U moet de activa annuleren om een inkoopretour te creëren.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Kan dit document niet annuleren omdat het is gekoppeld aan het ingediende item {0}. Annuleer het om door te gaan.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rij # {}: serienummer {} is al verwerkt in een andere POS-factuur. Selecteer een geldig serienummer.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rij # {}: serienummers {} is al verwerkt in een andere POS-factuur. Selecteer een geldig serienummer.,
+Item Unavailable,Item niet beschikbaar,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rij # {}: serienummer {} kan niet worden geretourneerd omdat deze niet is verwerkt in de originele factuur {},
+Please set default Cash or Bank account in Mode of Payment {},Stel een standaard contant of bankrekening in in Betalingsmethode {},
+Please set default Cash or Bank account in Mode of Payments {},Stel standaard contant geld of bankrekening in in Betalingsmethode {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Zorg ervoor dat de {} rekening een balansrekening is. U kunt de bovenliggende rekening wijzigen in een balansrekening of een andere rekening selecteren.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Zorg ervoor dat {} rekening een te betalen rekening is. Wijzig het rekeningtype in Betaalbaar of selecteer een andere rekening.,
+Row {}: Expense Head changed to {} ,Rij {}: uitgavenkop gewijzigd in {},
+because account {} is not linked to warehouse {} ,omdat account {} niet is gekoppeld aan magazijn {},
+or it is not the default inventory account,of het is niet de standaard voorraadrekening,
+Expense Head Changed,Uitgavenhoofd gewijzigd,
+because expense is booked against this account in Purchase Receipt {},omdat onkosten worden geboekt op deze rekening in Aankoopbewijs {},
+as no Purchase Receipt is created against Item {}. ,aangezien er geen aankoopbewijs wordt aangemaakt voor artikel {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Dit wordt gedaan om de boekhouding af te handelen voor gevallen waarin inkoopontvangst wordt aangemaakt na inkoopfactuur,
+Purchase Order Required for item {},Inkooporder vereist voor artikel {},
+To submit the invoice without purchase order please set {} ,Stel {} in om de factuur in te dienen zonder inkooporder,
+as {} in {},als in {},
+Mandatory Purchase Order,Verplichte inkooporder,
+Purchase Receipt Required for item {},Aankoopbewijs vereist voor artikel {},
+To submit the invoice without purchase receipt please set {} ,Stel {} in om de factuur zonder aankoopbewijs in te dienen,
+Mandatory Purchase Receipt,Verplichte aankoopbon,
+POS Profile {} does not belongs to company {},POS-profiel {} behoort niet tot bedrijf {},
+User {} is disabled. Please select valid user/cashier,Gebruiker {} is uitgeschakeld. Selecteer een geldige gebruiker / kassier,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Rij # {}: originele factuur {} van retourfactuur {} is {}.,
+Original invoice should be consolidated before or along with the return invoice.,De originele factuur moet vóór of samen met de retourfactuur worden geconsolideerd.,
+You can add original invoice {} manually to proceed.,U kunt de originele factuur {} handmatig toevoegen om door te gaan.,
+Please ensure {} account is a Balance Sheet account. ,Zorg ervoor dat de {} rekening een balansrekening is.,
+You can change the parent account to a Balance Sheet account or select a different account.,U kunt de bovenliggende rekening wijzigen in een balansrekening of een andere rekening selecteren.,
+Please ensure {} account is a Receivable account. ,Zorg ervoor dat {} rekening een te ontvangen rekening is.,
+Change the account type to Receivable or select a different account.,Wijzig het rekeningtype in Te ontvangen of selecteer een andere rekening.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} kan niet worden geannuleerd omdat de verdiende loyaliteitspunten zijn ingewisseld. Annuleer eerst de {} Nee {},
+already exists,bestaat al,
+POS Closing Entry {} against {} between selected period,POS-sluitingsinvoer {} tegen {} tussen geselecteerde periode,
+POS Invoice is {},POS-factuur is {},
+POS Profile doesn't matches {},POS-profiel komt niet overeen met {},
+POS Invoice is not {},POS-factuur is niet {},
+POS Invoice isn't created by user {},POS-factuur is niet gemaakt door gebruiker {},
+Row #{}: {},Rij # {}: {},
+Invalid POS Invoices,Ongeldige POS-facturen,
+Please add the account to root level Company - {},Voeg het account toe aan Bedrijf op hoofdniveau - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Bij het maken van een account voor het onderliggende bedrijf {0}, is het bovenliggende account {1} niet gevonden. Maak het ouderaccount aan in het bijbehorende COA",
+Account Not Found,Account niet gevonden,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Bij het aanmaken van een account voor kindbedrijf {0}, werd bovenliggende account {1} gevonden als grootboekrekening.",
+Please convert the parent account in corresponding child company to a group account.,Converteer het bovenliggende account in het corresponderende onderliggende bedrijf naar een groepsaccount.,
+Invalid Parent Account,Ongeldig ouderaccount,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Hernoemen is alleen toegestaan via moederbedrijf {0}, om mismatch te voorkomen.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Als u {0} {1} hoeveelheden van het artikel {2} heeft, wordt het schema {3} op het artikel toegepast.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Als u {0} {1} artikel waard {2} bent, wordt het schema {3} op het artikel toegepast.",
+"As the field {0} is enabled, the field {1} is mandatory.","Aangezien het veld {0} is ingeschakeld, is het veld {1} verplicht.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Aangezien het veld {0} is ingeschakeld, moet de waarde van het veld {1} groter zijn dan 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Kan serienummer {0} van artikel {1} niet leveren, aangezien het is gereserveerd om verkooporder {2} te vervullen",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Verkooporder {0} heeft een reservering voor het artikel {1}, u kunt alleen gereserveerd leveren {1} tegen {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serienummer {1} kan niet worden geleverd,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Rij {0}: uitbesteed artikel is verplicht voor de grondstof {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Aangezien er voldoende grondstoffen zijn, is materiaalaanvraag niet vereist voor Warehouse {0}.",
+" If you still want to proceed, please enable {0}.",Schakel {0} in als u toch wilt doorgaan.,
+The item referenced by {0} - {1} is already invoiced,"Het artikel waarnaar wordt verwezen door {0} - {1}, is al gefactureerd",
+Therapy Session overlaps with {0},Therapiesessie overlapt met {0},
+Therapy Sessions Overlapping,Therapiesessies overlappen elkaar,
+Therapy Plans,Therapieplannen,
+"Item Code, warehouse, quantity are required on row {0}","Artikelcode, magazijn, aantal zijn vereist op rij {0}",
+Get Items from Material Requests against this Supplier,Artikelen ophalen van materiaalverzoeken tegen deze leverancier,
+Enable European Access,Schakel Europese toegang in,
+Creating Purchase Order ...,Inkooporder creëren ...,
+"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.",Selecteer een leverancier uit de standaardleveranciers van de onderstaande items. Bij selectie wordt er alleen een inkooporder gemaakt voor artikelen van de geselecteerde leverancier.,
+Row #{}: You must select {} serial numbers for item {}.,Rij # {}: u moet {} serienummers voor artikel {} selecteren.,
diff --git a/erpnext/translations/no.csv b/erpnext/translations/no.csv
index f944ac5..150e5ca 100644
--- a/erpnext/translations/no.csv
+++ b/erpnext/translations/no.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Kan ikke trekke når kategorien er for verdsetting &#39;eller&#39; Vaulation og Total &#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Kan ikke slette Serial No {0}, slik det brukes i aksjetransaksjoner",
 Cannot enroll more than {0} students for this student group.,Kan ikke registrere mer enn {0} studentene på denne studentgruppen.,
-Cannot find Item with this barcode,Kan ikke finne elementet med denne strekkoden,
 Cannot find active Leave Period,Kan ikke finne aktiv permisjonstid,
 Cannot produce more Item {0} than Sales Order quantity {1},Kan ikke produsere mer Element {0} enn Salgsordre kvantitet {1},
 Cannot promote Employee with status Left,Kan ikke markedsføre Medarbeider med status til venstre,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Opprette og administrere daglige, ukentlige og månedlige e-postfordøyer.",
 Create customer quotes,Opprett kunde sitater,
 Create rules to restrict transactions based on values.,Lage regler for å begrense transaksjoner basert på verdier.,
-Created By,Laget Av,
 Created {0} scorecards for {1} between: ,Lagde {0} scorecards for {1} mellom:,
 Creating Company and Importing Chart of Accounts,Opprette selskap og importere kontoplan,
 Creating Fees,Opprette avgifter,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,For rad {0}: Skriv inn Planlagt antall,
 "For {0}, only credit accounts can be linked against another debit entry",For {0} kan bare kredittkontoer kobles mot en annen belastning oppføring,
 "For {0}, only debit accounts can be linked against another credit entry",For {0} kan bare belastning kontoer knyttes opp mot en annen kreditt oppføring,
-Form View,Formvisning,
 Forum Activity,Forumaktivitet,
 Free item code is not selected,Gratis varekode er ikke valgt,
 Freight and Forwarding Charges,Spedisjons- og Kostnader,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Sende masse SMS til kontaktene dine,
 Sensitivity,Følsomhet,
 Sent,Sendte,
-Serial #,Serial #,
 Serial No and Batch,Serial No og Batch,
 Serial No is mandatory for Item {0},Serial No er obligatorisk for Element {0},
 Serial No {0} does not belong to Batch {1},Serienummer {0} tilhører ikke batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Hva trenger du hjelp med?,
 What does it do?,Hva gjør det?,
 Where manufacturing operations are carried.,Hvor fabrikasjonsvirksomhet gjennomføres.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Mens du opprettet konto for barneselskapet {0}, ble ikke foreldrekontoen {1} funnet. Opprett overkonto i tilsvarende COA",
 White,Hvit,
 Wire Transfer,Wire Transfer,
 WooCommerce Products,WooCommerce-produkter,
@@ -3493,6 +3488,7 @@
 Merge with existing,Slå sammen med eksisterende,
 Office,Kontor,
 Orientation,orientering,
+Parent,Parent,
 Passive,Passiv,
 Payment Failed,Betalingen feilet,
 Percent,Prosent,
@@ -3543,6 +3539,7 @@
 Show {0},Vis {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Spesialtegn unntatt &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Og &quot;}&quot; ikke tillatt i navneserier",
 Target Details,Måldetaljer,
+{0} already has a Parent Procedure {1}.,{0} har allerede en foreldreprosedyre {1}.,
 API,API,
 Annual,Årlig,
 Approved,Godkjent,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Sluttdato kan ikke være mindre enn startdato,
 For Default Supplier (Optional),For standardleverandør (valgfritt),
 From date cannot be greater than To date,Fra dato ikke kan være større enn To Date,
-Get items from,Få elementer fra,
 Group by,Grupper etter,
 In stock,På lager,
 Item name,Navn,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kvalitetsmål,
 Monitoring Frequency,Overvåkingsfrekvens,
 Weekday,Weekday,
-January-April-July-October,Januar-april-juli-oktober,
-Revision and Revised On,Revisjon og revidert på,
-Revision,Revisjon,
-Revised On,Revidert på,
 Objectives,Mål,
 Quality Goal Objective,Kvalitetsmål,
 Objective,Objektiv,
@@ -7574,7 +7566,6 @@
 Processes,prosesser,
 Quality Procedure Process,Kvalitetsprosedyre,
 Process Description,Prosess beskrivelse,
-Child Procedure,Barneprosedyre,
 Link existing Quality Procedure.,Koble eksisterende kvalitetsprosedyre.,
 Additional Information,Tilleggsinformasjon,
 Quality Review Objective,Mål for kvalitetsgjennomgang,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Kvitteringen Trender,
 Purchase Register,Kjøp Register,
 Quotation Trends,Anførsels Trender,
-Quoted Item Comparison,Sitert Element Sammenligning,
 Received Items To Be Billed,Mottatte elementer å bli fakturert,
 Qty to Order,Antall å bestille,
 Requested Items To Be Transferred,Etterspør elementene som skal overføres,
@@ -9091,7 +9081,6 @@
 Absent Days,Fraværende dager,
 Conditions and Formula variable and example,Betingelser og formelvariabel og eksempel,
 Feedback By,Tilbakemelding fra,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Produksjonsseksjon,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Som standard er kundenavnet angitt i henhold til det oppgitte fullstendige navnet. Hvis du vil at kunder skal navngis av en,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurer standard prisliste når du oppretter en ny salgstransaksjon. Varepriser blir hentet fra denne prislisten.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Reservert saldo,
 Uncleared Balance,Uklart saldo,
 Payment related to {0} is not completed,Betaling relatert til {0} er ikke fullført,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rad nr. {}: Serienr. {}. {} er allerede overført til en annen POS-faktura. Velg gyldig serienummer.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Rad nr. {}: Varekode: {} er ikke tilgjengelig under lager {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rad nr. {}: Lagerbeholdning ikke nok for varekode: {} under lager {}. Tilgjengelig mengde {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rad nr. {}: Velg serienummer og batch mot varen: {} eller fjern det for å fullføre transaksjonen.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Aktiver Tillat negativ lager i lagerinnstillinger, eller opprett lageroppføring for å fortsette.",
 No Inpatient Record found against patient {0},Ingen pasientjournaler ble funnet mot pasienten {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Det foreligger allerede et legemiddelbestilling {0} mot pasientmøte {1}.,
+Allow In Returns,Tillat retur,
+Hide Unavailable Items,Skjul utilgjengelige elementer,
+Apply Discount on Discounted Rate,Bruk rabatt på nedsatt pris,
+Therapy Plan Template,Terapiplanmal,
+Fetching Template Details,Henter maldetaljer,
+Linked Item Details,Koblede varedetaljer,
+Therapy Types,Terapityper,
+Therapy Plan Template Detail,Maldetalj for terapiplan,
+Non Conformance,Manglende samsvar,
+Process Owner,Prosess eier,
+Corrective Action,Korrigerende tiltak,
+Preventive Action,Forebyggende tiltak,
+Problem,Problem,
+Responsible,Ansvarlig,
+Completion By,Fullføring Av,
+Process Owner Full Name,Behandle eierens fullstendige navn,
+Right Index,Høyre indeks,
+Left Index,Venstre indeks,
+Sub Procedure,Underprosedyre,
+Passed,Bestått,
+Print Receipt,Skriv ut kvittering,
+Edit Receipt,Rediger kvittering,
+Focus on search input,Fokuser på søkeinngang,
+Focus on Item Group filter,Fokuser på varegruppefilter,
+Checkout Order / Submit Order / New Order,Kasseordre / send inn bestilling / ny ordre,
+Add Order Discount,Legg til bestillingsrabatt,
+Item Code: {0} is not available under warehouse {1}.,Varekode: {0} er ikke tilgjengelig under lageret {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serienumre er ikke tilgjengelig for varen {0} under lageret {1}. Prøv å bytte lager.,
+Fetched only {0} available serial numbers.,Hentet bare {0} tilgjengelige serienumre.,
+Switch Between Payment Modes,Bytt mellom betalingsmåter,
+Enter {0} amount.,Angi {0} beløp.,
+You don't have enough points to redeem.,Du har ikke nok poeng til å løse inn.,
+You can redeem upto {0}.,Du kan løse inn opptil {0}.,
+Enter amount to be redeemed.,Angi beløpet som skal innløses.,
+You cannot redeem more than {0}.,Du kan ikke løse inn mer enn {0}.,
+Open Form View,Åpne skjemavisning,
+POS invoice {0} created succesfully,POS-faktura {0} ble opprettet,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Lagerbeholdning ikke nok for varekode: {0} under lager {1}. Tilgjengelig mengde {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serienr: {0} er allerede overført til en annen POS-faktura.,
+Balance Serial No,Balanse Serienr,
+Warehouse: {0} does not belong to {1},Lager: {0} tilhører ikke {1},
+Please select batches for batched item {0},Velg partier for vareparti {0},
+Please select quantity on row {0},Velg antall på rad {0},
+Please enter serial numbers for serialized item {0},Angi serienumre for serienummeret {0},
+Batch {0} already selected.,Batch {0} allerede valgt.,
+Please select a warehouse to get available quantities,Velg et lager for å få tilgjengelige mengder,
+"For transfer from source, selected quantity cannot be greater than available quantity",For overføring fra kilde kan ikke valgt antall være større enn tilgjengelig mengde,
+Cannot find Item with this Barcode,Finner ikke element med denne strekkoden,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} er obligatorisk. Kanskje er det ikke opprettet valutautvekslingspost for {1} til {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} har sendt inn eiendeler knyttet til den. Du må kansellere eiendelene for å opprette kjøpsretur.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Kan ikke kansellere dette dokumentet ettersom det er knyttet til innsendt aktivum {0}. Avbryt det for å fortsette.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rad nr. {}: Serienr. {} Er allerede overført til en annen POS-faktura. Velg gyldig serienummer.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rad nr. {}: Serienr. {} Er allerede overført til en annen POS-faktura. Velg gyldig serienummer.,
+Item Unavailable,Varen utilgjengelig,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rad nr. {}: Serienr {} kan ikke returneres siden den ikke ble behandlet i original faktura {},
+Please set default Cash or Bank account in Mode of Payment {},Angi standard kontanter eller bankkontoer i betalingsmåte {},
+Please set default Cash or Bank account in Mode of Payments {},Angi standard kontanter eller bankkontoer i betalingsmåte {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Forsikre deg om at {} kontoen er en balansekonto. Du kan endre foreldrekontoen til en balansekonto eller velge en annen konto.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Forsikre deg om at {} kontoen er en betalbar konto. Endre kontotype til Betales eller velg en annen konto.,
+Row {}: Expense Head changed to {} ,Rad {}: Utgiftshode endret til {},
+because account {} is not linked to warehouse {} ,fordi kontoen {} ikke er knyttet til lageret {},
+or it is not the default inventory account,eller det er ikke standardbeholdningskontoen,
+Expense Head Changed,Utgiftshode endret,
+because expense is booked against this account in Purchase Receipt {},fordi utgiftene er bokført mot denne kontoen i kjøpskvittering {},
+as no Purchase Receipt is created against Item {}. ,ettersom ingen kjøpskvittering opprettes mot varen {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Dette gjøres for å håndtere regnskap for saker når kjøpskvittering opprettes etter kjøpsfaktura,
+Purchase Order Required for item {},Innkjøpsordre kreves for varen {},
+To submit the invoice without purchase order please set {} ,"For å sende fakturaen uten innkjøpsordre, angi {}",
+as {} in {},som i {},
+Mandatory Purchase Order,Obligatorisk innkjøpsordre,
+Purchase Receipt Required for item {},Kjøpskvittering kreves for varen {},
+To submit the invoice without purchase receipt please set {} ,For å sende fakturaen uten kjøpskvittering må du angi {},
+Mandatory Purchase Receipt,Obligatorisk kjøpskvittering,
+POS Profile {} does not belongs to company {},POS-profil {} tilhører ikke selskapet {},
+User {} is disabled. Please select valid user/cashier,Bruker {} er deaktivert. Velg gyldig bruker / kasserer,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Rad nr. {}: Originalfaktura {} av returfaktura {} er {}.,
+Original invoice should be consolidated before or along with the return invoice.,Originalfaktura bør konsolideres før eller sammen med returfakturaen.,
+You can add original invoice {} manually to proceed.,Du kan legge til original faktura {} manuelt for å fortsette.,
+Please ensure {} account is a Balance Sheet account. ,Forsikre deg om at {} kontoen er en balansekonto.,
+You can change the parent account to a Balance Sheet account or select a different account.,Du kan endre foreldrekontoen til en balansekonto eller velge en annen konto.,
+Please ensure {} account is a Receivable account. ,Forsikre deg om at {} kontoen er en mottakbar konto.,
+Change the account type to Receivable or select a different account.,Endre kontotype til Mottatt eller velg en annen konto.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} kan ikke kanselleres siden opptjente lojalitetspoeng er innløst. Avbryt først {} Nei {},
+already exists,eksisterer allerede,
+POS Closing Entry {} against {} between selected period,POS-avslutningspost {} mot {} mellom valgt periode,
+POS Invoice is {},POS-faktura er {},
+POS Profile doesn't matches {},POS-profilen samsvarer ikke med {},
+POS Invoice is not {},POS-faktura er ikke {},
+POS Invoice isn't created by user {},POS-faktura er ikke opprettet av brukeren {},
+Row #{}: {},Rad # {}: {},
+Invalid POS Invoices,Ugyldige POS-fakturaer,
+Please add the account to root level Company - {},Legg til kontoen i rotnivåfirmaet - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Mens du opprettet konto for Child Company {0}, ble ikke foreldrekontoen {1} funnet. Opprett foreldrekontoen i tilsvarende COA",
+Account Not Found,Konto ikke funnet,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Mens du opprettet konto for Child Company {0}, ble foreldrekontoen {1} funnet som en hovedkontokonto.",
+Please convert the parent account in corresponding child company to a group account.,Konverter moderkontoen i tilsvarende barnefirma til en gruppekonto.,
+Invalid Parent Account,Ugyldig foreldrekonto,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Endring av navn er bare tillatt via morselskapet {0} for å unngå uoverensstemmelse.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Hvis du {0} {1} mengder av varen {2}, blir ordningen {3} brukt på varen.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Hvis du {0} {1} verdt varen {2}, blir ordningen {3} brukt på varen.",
+"As the field {0} is enabled, the field {1} is mandatory.","Siden feltet {0} er aktivert, er feltet {1} obligatorisk.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Ettersom feltet {0} er aktivert, bør verdien av feltet {1} være mer enn 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Kan ikke levere serienummer {0} av varen {1} ettersom den er reservert for fullstendig salgsordre {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Salgsordre {0} har reservasjon for varen {1}, du kan bare levere reservert {1} mot {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serienr {1} kan ikke leveres,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Rad {0}: Vare for underleverandør er obligatorisk for råvaren {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Siden det er tilstrekkelig med råvarer, er ikke materialforespørsel nødvendig for lageret {0}.",
+" If you still want to proceed, please enable {0}.","Hvis du fremdeles vil fortsette, aktiver {0}.",
+The item referenced by {0} - {1} is already invoiced,Varen det refereres til av {0} - {1} er allerede fakturert,
+Therapy Session overlaps with {0},Behandlingsøkten overlapper med {0},
+Therapy Sessions Overlapping,Terapisessioner overlapper hverandre,
+Therapy Plans,Terapiplaner,
+"Item Code, warehouse, quantity are required on row {0}","Varekode, lager, antall kreves på rad {0}",
+Get Items from Material Requests against this Supplier,Få varer fra materialforespørsler mot denne leverandøren,
+Enable European Access,Aktiver europeisk tilgang,
+Creating Purchase Order ...,Opprette innkjøpsordre ...,
+"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.",Velg en leverandør fra standardleverandørene av artiklene nedenfor. Ved valg vil det kun gjøres en innkjøpsordre mot varer som tilhører den valgte leverandøren.,
+Row #{}: You must select {} serial numbers for item {}.,Rad nr. {}: Du må velge {} serienumre for varen {}.,
diff --git a/erpnext/translations/pl.csv b/erpnext/translations/pl.csv
index ce130d1..8340b72 100644
--- a/erpnext/translations/pl.csv
+++ b/erpnext/translations/pl.csv
@@ -473,7 +473,6 @@
 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 Item with this barcode,Nie można znaleźć elementu z tym kodem kreskowym,
 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,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",,
 Create customer quotes,Tworzenie cytaty z klientami,
 Create rules to restrict transactions based on values.,,
-Created By,Utworzył(a),
 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,
@@ -1078,7 +1076,6 @@
 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ą",
-Form View,Widok formularza,
 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,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Wyślij zbiorczo sms do swoich kontaktów,
 Sensitivity,Wrażliwość,
 Sent,Wysłano,
-Serial #,Seryjny #,
 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},
@@ -3303,7 +3299,6 @@
 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.",
-"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 nadrzędne w odpowiednim COA,
 White,Biały,
 Wire Transfer,Przelew,
 WooCommerce Products,Produkty WooCommerce,
@@ -3493,6 +3488,7 @@
 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,
@@ -3543,6 +3539,7 @@
 Show {0},Pokaż {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Znaki specjalne z wyjątkiem „-”, „#”, „.”, „/”, „{” I „}” niedozwolone w serii nazw",
 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,
@@ -4241,7 +4238,6 @@
 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,
-Get items from,Pobierz zawartość z,
 Group by,Grupuj według,
 In stock,W magazynie,
 Item name,Nazwa pozycji,
@@ -7558,10 +7554,6 @@
 Quality Goal,Cel jakości,
 Monitoring Frequency,Monitorowanie częstotliwości,
 Weekday,Dzień powszedni,
-January-April-July-October,Styczeń-kwiecień-lipiec-październik,
-Revision and Revised On,Rewizja i poprawione na,
-Revision,Rewizja,
-Revised On,Zmieniono na,
 Objectives,Cele,
 Quality Goal Objective,Cel celu jakości,
 Objective,Cel,
@@ -7574,7 +7566,6 @@
 Processes,Procesy,
 Quality Procedure Process,Proces procedury jakości,
 Process Description,Opis procesu,
-Child Procedure,Procedura dziecka,
 Link existing Quality Procedure.,Połącz istniejącą procedurę jakości.,
 Additional Information,Dodatkowe informacje,
 Quality Review Objective,Cel przeglądu jakości,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Trendy Potwierdzenia Zakupu,
 Purchase Register,Rejestracja Zakupu,
 Quotation Trends,Trendy Wyceny,
-Quoted Item Comparison,Porównanie cytowany Item,
 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,
@@ -9091,7 +9081,6 @@
 Absent Days,Nieobecne dni,
 Conditions and Formula variable and example,Warunki i zmienna formuły oraz przykład,
 Feedback By,Informacje zwrotne od,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.RRRR .-. MM .-. DD.-,
 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.,
@@ -9692,7 +9681,6 @@
 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 #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Wiersz nr {}: nr seryjny {}. {} został już przekazany na inną fakturę POS. Proszę wybrać prawidłowy numer seryjny.,
 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ę.",
@@ -9732,3 +9720,121 @@
 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 ffc7b3d..1dcaf48 100644
--- a/erpnext/translations/ps.csv
+++ b/erpnext/translations/ps.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',وضع نه شي کله چې وېشنيزه کې د &#39;ارزښت&#39; یا د &#39;Vaulation او Total&#39; دی,
 "Cannot delete Serial No {0}, as it is used in stock transactions",ړنګ نه شي کولای شعبه {0}، لکه څنګه چې په سټاک معاملو کارول,
 Cannot enroll more than {0} students for this student group.,په پرتله {0} د زده کوونکو لپاره له دغه زده ډلې نور شامل نه شي.,
-Cannot find Item with this barcode,د دې بارکوډ سره توکي نشي موندلی,
 Cannot find active Leave Period,د فعالې دورې دوره نشي موندلی,
 Cannot produce more Item {0} than Sales Order quantity {1},آیا د پلورنې نظم کمیت څخه زیات د قالب {0} د توليد نه {1},
 Cannot promote Employee with status Left,نشي کولی د رتبې سره کارمندانو ته وده ورکړي,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",جوړول او هره ورځ، هفته وار او ماهوار ایمیل digests اداره کړي.,
 Create customer quotes,د پېرېدونکو يادي جوړول,
 Create rules to restrict transactions based on values.,قواعد معاملو پر بنسټ د ارزښتونو د محدودولو جوړول.,
-Created By,ايجاد By,
 Created {0} scorecards for {1} between: ,تر منځ د {1} لپاره {0} سکورکارډونه جوړ شوي:,
 Creating Company and Importing Chart of Accounts,د شرکت رامینځته کول او د حسابونو واردولو چارټ,
 Creating Fees,د فیس جوړول,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,د قطار لپاره {0}: پلان شوي مقدار درج کړئ,
 "For {0}, only credit accounts can be linked against another debit entry",د {0}، يوازې د پور حسابونو بل ډیبیټ د ننوتلو په وړاندې سره وتړل شي,
 "For {0}, only debit accounts can be linked against another credit entry",د {0}، يوازې ډیبیټ حسابونو کولای شي د پور بل د ننوتلو په وړاندې سره وتړل شي,
-Form View,د فارم لید,
 Forum Activity,د فورم فعالیت,
 Free item code is not selected,د وړیا توکی کوډ نه دی غوره شوی,
 Freight and Forwarding Charges,بار او استول په تور,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,ستاسو د تماس ډله SMS وليږئ,
 Sensitivity,حساسیت,
 Sent,ته وليږدول شوه,
-Serial #,سریال #,
 Serial No and Batch,شعبه او دسته,
 Serial No is mandatory for Item {0},شعبه لپاره د قالب الزامی دی {0},
 Serial No {0} does not belong to Batch {1},سیریل نمبر {1} د بچ پورې تړاو نلري {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,تاسو څه سره د مرستې ضرورت لرئ؟,
 What does it do?,دا څه کوي؟,
 Where manufacturing operations are carried.,هلته عملیاتو په جوړولو سره کيږي.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",په داسې حال کې چې د ماشوم شرکت account 0} لپاره اکاونټ رامینځته کړی ، د مور او پلار حساب {1} ونه موندل شو. مهرباني وکړئ په اړوند COA کې اصلي حساب جوړ کړئ,
 White,سپین,
 Wire Transfer,تار بدلول,
 WooCommerce Products,د WooCommerce محصولات,
@@ -3493,6 +3488,7 @@
 Merge with existing,سره د موجوده لېږدونه,
 Office,دفتر,
 Orientation,لورموندنه,
+Parent,Parent,
 Passive,Passive,
 Payment Failed,د تادیاتو کې پاتې راغی,
 Percent,په سلو کې,
@@ -3543,6 +3539,7 @@
 Show {0},ښودل {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series",ځانګړي نومونه د &quot;-&quot; ، &quot;#&quot; ، &quot;.&quot; ، &quot;/&quot; ، &quot;{&quot; او &quot;}&quot; نوم لیکلو کې اجازه نه لري,
 Target Details,د هدف توضیحات,
+{0} already has a Parent Procedure {1}.,{0} د مخه د والدین پروسیجر {1} لري.,
 API,API,
 Annual,کلنی,
 Approved,تصویب شوې,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,د پای نیټه نه شي کولای په پرتله د پیل نیټه کمه وي,
 For Default Supplier (Optional),د اصلي عرضه کوونکي لپاره (اختیاري),
 From date cannot be greater than To date,د نیټې څخه د نیټې څخه تر ډیره لوی نه وي,
-Get items from,له توکي ترلاسه کړئ,
 Group by,ډله په,
 In stock,په ګدام کښي,
 Item name,د قالب نوم,
@@ -7558,10 +7554,6 @@
 Quality Goal,د کیفیت هدف,
 Monitoring Frequency,د فریکونسي څارنه,
 Weekday,د اونۍ ورځ,
-January-April-July-October,د جنوري - اپریل - جولای - اکتوبر,
-Revision and Revised On,بیاکتل او بیاکتل شوی,
-Revision,بیاکتنه,
-Revised On,بیاکتل شوی,
 Objectives,موخې,
 Quality Goal Objective,د کیفیت موخې هدف,
 Objective,هدف,
@@ -7574,7 +7566,6 @@
 Processes,پروسې,
 Quality Procedure Process,د کیفیت پروسیجر پروسه,
 Process Description,د پروسې توضیحات,
-Child Procedure,د ماشوم طرزالعمل,
 Link existing Quality Procedure.,د کیفیت موجوده پروسیجر لینک کړئ.,
 Additional Information,نور معلومات,
 Quality Review Objective,د کیفیت بیاکتنې هدف,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,رانيول رسيد رجحانات,
 Purchase Register,رانيول د نوم ثبتول,
 Quotation Trends,د داوطلبۍ رجحانات,
-Quoted Item Comparison,له خولې د قالب پرتله,
 Received Items To Be Billed,ترلاسه توکي چې د محاسبې ته شي,
 Qty to Order,Qty ته اخلي.,
 Requested Items To Be Transferred,غوښتنه سامان ته انتقال شي,
@@ -9091,7 +9081,6 @@
 Absent Days,غیر حاضر ورځې,
 Conditions and Formula variable and example,شرایط او فورمول متغیر او مثال,
 Feedback By,تاثرات د,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,د تولید برخې,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",په ډیفالټ ، د پیرودونکي نوم د درج شوي بشپړ نوم سره سم تنظیم شوی. که تاسو غواړئ پیرودونکي د a لخوا نومول شي,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,د پلور نرخ لیست تنظیم کړئ کله چې د پلور نوی معامله رامینځته کړئ. د توکو قیمتونه به د دې نرخ لیست څخه راوړل شي.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,خوندي بیلانس,
 Uncleared Balance,بې باوري بیلانس,
 Payment related to {0} is not completed,د {0} پورې اړوند تادیه بشپړه شوې نه ده,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,قطار # {}: سریال نمبر {}. } already دمخه په بل POS رسید کې لیږدول شوی دی. مهرباني وکړئ سم سریال نمبر وټاکئ.,
 Row #{}: Item Code: {} is not available under warehouse {}.,قطار # {}: د توکي توکي: {w د ګودام under} لاندې نشته.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,قطار # {}: د توکو مقدار لپاره د زیرمو مقدار کافي ندي: {w ګودام لاندې}}. موجود مقدار {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,قطار # {}: مهرباني وکړئ د سیرم شمیره غوره کړئ او د توکي پروړاندې بیچ: {} یا د لیږد بشپړولو لپاره یې لرې کړئ.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,مهرباني وکړئ د سټاک تنظیماتو کې منفي سټاک ته اجازه ورکړئ یا د پرمخ تللو لپاره سټاک ننوتل رامینځته کړئ.,
 No Inpatient Record found against patient {0},د ناروغ against 0 against په مقابل کې د بستر ناروغانو هیڅ ریکارډ ونه موندل شو,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,د ناروغ ناروغ درملنې} 1} پروړاندې د ناروغ ناروغ درملو امر {0} دمخه شتون لري.,
+Allow In Returns,په بیرته ستنیدو کې اجازه ورکړه,
+Hide Unavailable Items,د لاسرسي وړ توکي پټ کړئ,
+Apply Discount on Discounted Rate,په تخفیف نرخ باندې تخفیف غوښتنه کړئ,
+Therapy Plan Template,د درملنې پلان ټیمپلیټ,
+Fetching Template Details,د ټیمپټول جزييات راوړل,
+Linked Item Details,د تړلي توکو توضیحات,
+Therapy Types,د درملنې ډولونه,
+Therapy Plan Template Detail,د درملنې پلان ټیمپلیټ تفصیل,
+Non Conformance,بې پروایی,
+Process Owner,د پروسې مالک,
+Corrective Action,سمون عمل,
+Preventive Action,د مخنیوي عمل,
+Problem,ستونزه,
+Responsible,مسؤل,
+Completion By,بشپړول د,
+Process Owner Full Name,د پروسې مالک بشپړ نوم,
+Right Index,ښۍ شاخص,
+Left Index,کی Indې شاخص,
+Sub Procedure,فرعي پروسیجر,
+Passed,تېر شو,
+Print Receipt,رسيدنه چاپ کړئ,
+Edit Receipt,رسيدنه,
+Focus on search input,د لټون ننوتلو تمرکز وکړئ,
+Focus on Item Group filter,د توکو ګروپ فلټر باندې تمرکز وکړئ,
+Checkout Order / Submit Order / New Order,د چیک آوټ آرڈر / سپارلو امر / نوی امر,
+Add Order Discount,د سپارنې تخفیف اضافه کړئ,
+Item Code: {0} is not available under warehouse {1}.,د توکي کوډ: {0} د ګودام {1} لاندې شتون نلري.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,سریال نمبرونه د {0 w ګودام} 1} لاندې توکو کې شتون نلري. مهرباني وکړئ د ګودام بدلولو هڅه وکړئ.,
+Fetched only {0} available serial numbers.,یوازې {0} موجود سریال نمبرونه راوړل شوي.,
+Switch Between Payment Modes,د تادیې حالتونو تر منځ تیر کړئ,
+Enter {0} amount.,د {0} مقدار ولیکئ.,
+You don't have enough points to redeem.,تاسو د خلاصولو لپاره کافي نښې نلرئ.,
+You can redeem upto {0}.,تاسو تر {0} پورې تخفیف کولی شئ.,
+Enter amount to be redeemed.,د خلاصولو لپاره پیسې دننه کړئ.,
+You cannot redeem more than {0}.,تاسو د {0} څخه ډیر نشئ تلای.,
+Open Form View,د فارم لید خلاص کړئ,
+POS invoice {0} created succesfully,د پوسټ انوائس {0} په بریالیتوب سره جوړ شو,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,د توکو مقدار لپاره د زیرمو مقدار کافي ندي: are 0 w د ګودام {1} لاندې. موجود مقدار {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,سریال نمبر: {0 already دمخه په بل POS رسید کې لیږدول شوی دی.,
+Balance Serial No,د بیلانس سیریل نمبر,
+Warehouse: {0} does not belong to {1},ګودام: {0} له {1} سره تړاو نه لري,
+Please select batches for batched item {0},مهرباني وکړئ د کڅوړو توکو لپاره بسته غوره کړئ bat 0},
+Please select quantity on row {0},مهرباني وکړئ په قطار کې مقدار وټاکئ quantity 0},
+Please enter serial numbers for serialized item {0},مهرباني وکړئ د سریال شوي توکي serial 0} لپاره سریال نمبرونه دننه کړئ,
+Batch {0} already selected.,بیچ} 0} دمخه غوره شوی.,
+Please select a warehouse to get available quantities,مهرباني وکړئ د موجود مقدارونو ترلاسه کولو لپاره ګودام غوره کړئ,
+"For transfer from source, selected quantity cannot be greater than available quantity",د سرچینې څخه د لیږد لپاره ، ټاکل شوی مقدار د موجود مقدار څخه لوی نشي,
+Cannot find Item with this Barcode,د دې بارکوډ سره توکي نشي موندلی,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} لازمي دی. شاید د اسعارو تبادلې ریکارډ د {1} څخه تر {2} لپاره نه وي رامینځته شوی,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,} دې سره تړلې شتمني سپارلې ده. تاسو اړتیا لرئ د پیرود بیرته ستنولو لپاره شتمنۍ لغوه کړئ.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,دا سند نشي لغو کولی ځکه چې دا د تسلیم شوي شتمني {0} سره تړاو لري. مهرباني وکړئ ادامه ورکولو لپاره یې لغوه کړئ.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,قطار # {}: سیریل لمبر {already دمخه د بل POS رسید ته لیږدول شوی دی. مهرباني وکړئ سم سریال نمبر وټاکئ.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,قطار # {}: سریال نمبر.} already دمخه په بل POS رسید کې لیږدول شوی دی. مهرباني وکړئ سم سریال نمبر وټاکئ.,
+Item Unavailable,توکی شتون نلري,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},قطار # {}: سیریل نمبر {be بیرته نشي راوګرځیدلی ځکه چې دا په اصلي رسید کې نه لیږدول کیدی {,
+Please set default Cash or Bank account in Mode of Payment {},مهرباني وکړئ د تادیې په حالت کې ډیفالټ نغدي یا بانک حساب ترتیب کړئ {,
+Please set default Cash or Bank account in Mode of Payments {},مهرباني وکړئ د تادیې په حالت کې ډیفالټ نغدي یا بانک حساب ترتیب کړئ {,
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,مهرباني وکړئ ډاډ ترلاسه کړئ چې}} حساب د بیلانس شیټ حساب دی. تاسو کولی شئ اصلي حساب د بیلانس شیټ حساب ته بدل کړئ یا مختلف حساب غوره کړئ.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,مهرباني وکړئ ډاډ ترلاسه کړئ چې {} حساب د تادیې حساب دی. د حساب ډول په تادیه کې بدل کړئ یا بل مختلف حساب غوره کړئ.,
+Row {}: Expense Head changed to {} ,قطار {}: د لګښت مشر په {to بدل شو,
+because account {} is not linked to warehouse {} ,ځکه چې حساب {} د ګودام سره نه تړل کیږي {,
+or it is not the default inventory account,یا دا د ډیفالټ موجود حساب حساب ندی,
+Expense Head Changed,د لګښت سر بدل شو,
+because expense is booked against this account in Purchase Receipt {},ځکه چې لګښت د پیرود رسید in this کې د دې حساب پروړاندې حساب شوی,
+as no Purchase Receipt is created against Item {}. ,لکه څنګه چې د پیرود رسید د توکي against against په مقابل کې نه دی رامینځته شوی.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,دا د قضیو لپاره محاسبې اداره کولو لپاره ترسره کیږي کله چې د پیرود رسید د پیرود رسید وروسته رامینځته کیږي,
+Purchase Order Required for item {},د پیرود امر د توکي لپاره اړین دی {},
+To submit the invoice without purchase order please set {} ,د پیرود امر پرته رسید سپارلو لپاره مهرباني وکړئ ټایپ کړئ set,
+as {} in {},لکه په {},
+Mandatory Purchase Order,د لازمي پیرود امر,
+Purchase Receipt Required for item {},د پیرود رسید د توکي لپاره اړین دی {},
+To submit the invoice without purchase receipt please set {} ,د پیرود رسید پرته رسید سپارلو لپاره مهرباني وکړئ set set تنظیم کړئ,
+Mandatory Purchase Receipt,د لازمي پیرود رسید,
+POS Profile {} does not belongs to company {},د POS پروفایل {company په شرکت پورې اړه نلري {,
+User {} is disabled. Please select valid user/cashier,کارن {disabled نافعال دی. مهرباني وکړئ معتبر کارن / کاشیر وټاکئ,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,قطار # {}: اصلي انوائس return return د بیرته ستن بل {} دی {}.,
+Original invoice should be consolidated before or along with the return invoice.,اصلي انوائس باید د بیرته رسید انوائس دمخه یا ورسره یوځای شي.,
+You can add original invoice {} manually to proceed.,تاسو کولی شئ د لاسوهنې لپاره لاسي اصلي انوائس {add په لاسي ډول ورکړئ.,
+Please ensure {} account is a Balance Sheet account. ,مهرباني وکړئ ډاډ ترلاسه کړئ چې}} حساب د بیلانس شیټ حساب دی.,
+You can change the parent account to a Balance Sheet account or select a different account.,تاسو کولی شئ اصلي حساب د بیلانس شیټ حساب ته بدل کړئ یا مختلف حساب غوره کړئ.,
+Please ensure {} account is a Receivable account. ,مهرباني وکړئ ډاډ ترلاسه کړئ چې {} حساب د ترلاسه کولو وړ حساب دی.,
+Change the account type to Receivable or select a different account.,د حساب ډول لاسته راوړنې ته بدل کړئ یا بل مختلف حساب غوره کړئ.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},since canceled لغوه کیدی نشي ځکه چې د ترلاسه شوي وفادارۍ مقامونه بیرته له سره اخیستل شوي. لومړی {} نه {cancel لغوه کړئ,
+already exists,له مخکی نه موجود دی,
+POS Closing Entry {} against {} between selected period,د ټاکل شوي مودې ترمینځ د پووس تړلو ننوتنه}} په مقابل کې}.,
+POS Invoice is {},د پوز انوائس {is دی,
+POS Profile doesn't matches {},د POS پروفایل {matches سره سمون نه خوري,
+POS Invoice is not {},POS انوائس {is ندی,
+POS Invoice isn't created by user {},POS انوائس د کارونکي by by لخوا ندی رامینځته شوی,
+Row #{}: {},قطار # {}: {,
+Invalid POS Invoices,د POS ناسم چلونه,
+Please add the account to root level Company - {},مهرباني وکړئ حساب د روټ کچې شرکت ته اضافه کړئ - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",د ماشوم شرکت for 0 for لپاره حساب جوړولو پرمهال ، اصلي حساب {1. ونه موندل شو. مهرباني وکړئ په اړوند COA کې اصلي حساب جوړ کړئ,
+Account Not Found,ګ Foundون ونه موندل شو,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",پداسې حال کې چې د ماشوم شرکت account 0} لپاره حساب جوړ کړئ ، د اصلي حساب {1} د لیجر حساب په توګه وموندل شو.,
+Please convert the parent account in corresponding child company to a group account.,مهرباني وکړئ د ماشوم ماشوم پورې اړوند مورني حساب ګروپ حساب ته واړوئ.,
+Invalid Parent Account,غلط اصلي حساب,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",د دې نوم بدلول یوازې د اصلي شرکت via 0} له لارې اجازه ورکول کیږي ، ترڅو د ناسم چلن مخه ونیول شي.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",که تاسو د of 0}} 1} مقدار مقدار {2} ولرئ ، نو سکیم {3} به په توکي باندې پلي شي.,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",که تاسو د item 0} {1} ارزښت لرونکی توکی {2} ولرئ ، نو سکیم {3} به په توکي باندې پلي شی.,
+"As the field {0} is enabled, the field {1} is mandatory.",لکه څنګه چې ډګر {0} فعال شوی ، نو ساحه {1} لازمي ده.,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",لکه څنګه چې ډګر {0} فعال شوی ، د ساحې ارزښت {1} باید له 1 څخه ډیر وي.,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},د توکي {1} سیریل نمبر {0 deliver نشي سپارل کیدی ځکه چې دا د ډک ډک آرډر to 2 to لپاره خوندي دی,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",د پلور امر {0} د توکي {1} توکو لپاره محافظت لري ، تاسو یوازې د {0} په مقابل کې خوندي {1 deliver وړاندې کولی شئ.,
+{0} Serial No {1} cannot be delivered,ial 0 ial سیریل لمبر {1} نشي تحویلی کیدلی,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},قطار {0}: فرعي تړون شوي توکي د خامو موادو لپاره لازمي دي {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",لکه څنګه چې کافي خام توکي شتون لري ، د توکو غوښتنه د ګودام {0} لپاره اړین ندي.,
+" If you still want to proceed, please enable {0}.",که تاسو اوس هم غواړئ پرمخ لاړ شئ ، نو مهرباني وکړئ {0} وړ کړئ.,
+The item referenced by {0} - {1} is already invoiced,هغه توکی چې د {0} - {1} لخوا حواله شوی لا دمخه بل شوی دی,
+Therapy Session overlaps with {0},د درملنې ناسته د over 0 with سره پراخه کیږي,
+Therapy Sessions Overlapping,د تهيريپي ناستې پوړونه,
+Therapy Plans,د درملنې پلانونه,
+"Item Code, warehouse, quantity are required on row {0}",د توکي کوډ ، ګودام ، مقدار په قطار کې اړین دي {0},
+Get Items from Material Requests against this Supplier,د دې عرضه کونکي په وړاندې د موادو غوښتنو څخه توکي ترلاسه کړئ,
+Enable European Access,اروپایی لاسرسی وړ کړئ,
+Creating Purchase Order ...,د پیرود امر رامینځته کول ...,
+"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.",د لاندې شیانو ډیفالټ عرضه کونکو څخه یو عرضه کونکی غوره کړئ. په انتخاب کولو کې ، د پیرود امر به یوازې هغه انتخاب شوي چمتو کونکي پورې اړه لرونکي توکو په مقابل کې وي.,
+Row #{}: You must select {} serial numbers for item {}.,قطار # {}: تاسو باید د توکي {{لپاره سریال نمبرونه وټاکئ.,
diff --git a/erpnext/translations/pt.csv b/erpnext/translations/pt.csv
index f44a20e..3b8a0a0 100644
--- a/erpnext/translations/pt.csv
+++ b/erpnext/translations/pt.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Não pode deduzir quando a categoria é para ""Estimativa"" ou ""Estimativa e Total""",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Não é possível eliminar o Nº de Série {0}, pois está a ser utilizado em transações de stock",
 Cannot enroll more than {0} students for this student group.,Não pode inscrever mais de {0} estudantes neste grupo de alunos.,
-Cannot find Item with this barcode,Não é possível encontrar o item com este código de barras,
 Cannot find active Leave Period,Não é possível encontrar período de saída ativo,
 Cannot produce more Item {0} than Sales Order quantity {1},Não é possível produzir mais Itens {0} do que a quantidade da Ordem de Vendas {1},
 Cannot promote Employee with status Left,Não é possível promover funcionários com status,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Criar e gerir resumos de email diários, semanais e mensais.",
 Create customer quotes,Criar cotações de clientes,
 Create rules to restrict transactions based on values.,Criar regras para restringir as transações com base em valores.,
-Created By,Criado Por,
 Created {0} scorecards for {1} between: ,Criou {0} scorecards para {1} entre:,
 Creating Company and Importing Chart of Accounts,Criando empresa e importando plano de contas,
 Creating Fees,Criando taxas,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Para a linha {0}: digite a quantidade planejada,
 "For {0}, only credit accounts can be linked against another debit entry","Para {0}, só podem ser ligadas contas de crédito noutro registo de débito",
 "For {0}, only debit accounts can be linked against another credit entry",Só podem ser vinculadas contas de dédito noutro registo de crébito para {0},
-Form View,Vista de formulário,
 Forum Activity,Atividade do Fórum,
 Free item code is not selected,Código de item livre não selecionado,
 Freight and Forwarding Charges,Custos de Transporte e Envio,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Enviar SMS em massa para seus contactos,
 Sensitivity,Sensibilidade,
 Sent,Enviado,
-Serial #,Série #,
 Serial No and Batch,O Nr. de Série e de Lote,
 Serial No is mandatory for Item {0},É obrigatório colocar o Nr. de Série para o Item {0},
 Serial No {0} does not belong to Batch {1},O número de série {0} não pertence ao Lote {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Com o que você precisa de ajuda?,
 What does it do?,O que faz?,
 Where manufacturing operations are carried.,Sempre que são realizadas operações de fabrico.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Ao criar uma conta para a empresa filha {0}, a conta pai {1} não foi encontrada. Por favor, crie a conta pai no COA correspondente",
 White,Branco,
 Wire Transfer,Transferência bancária,
 WooCommerce Products,Produtos WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Unir com existente,
 Office,Escritório,
 Orientation,Orientação,
+Parent,Principal,
 Passive,Passivo,
 Payment Failed,Pagamento falhou,
 Percent,Por Cento,
@@ -3543,6 +3539,7 @@
 Show {0},Mostrar {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Caracteres especiais, exceto &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; E &quot;}&quot; não permitidos na série de nomenclatura",
 Target Details,Detalhes do Alvo,
+{0} already has a Parent Procedure {1}.,{0} já tem um procedimento pai {1}.,
 API,API,
 Annual,Anual,
 Approved,Aprovado,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,A Data de Término não pode ser mais recente que a Data de Início,
 For Default Supplier (Optional),Para fornecedor padrão (opcional),
 From date cannot be greater than To date,De data não pode ser maior que a data,
-Get items from,Obter itens de,
 Group by,Agrupar Por,
 In stock,Em estoque,
 Item name,Nome do item,
@@ -7558,10 +7554,6 @@
 Quality Goal,Objetivo de Qualidade,
 Monitoring Frequency,Freqüência de Monitoramento,
 Weekday,Dia da semana,
-January-April-July-October,Janeiro-abril-julho-outubro,
-Revision and Revised On,Revisão e revisado em,
-Revision,Revisão,
-Revised On,Revisado em,
 Objectives,Objetivos,
 Quality Goal Objective,Objetivo Objetivo de Qualidade,
 Objective,Objetivo,
@@ -7574,7 +7566,6 @@
 Processes,Processos,
 Quality Procedure Process,Processo de Procedimento de Qualidade,
 Process Description,Descrição do processo,
-Child Procedure,Procedimento Infantil,
 Link existing Quality Procedure.,Vincule o Procedimento de Qualidade existente.,
 Additional Information,informação adicional,
 Quality Review Objective,Objetivo de revisão de qualidade,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Tendências de Recibo de Compra,
 Purchase Register,Registo de Compra,
 Quotation Trends,Tendências de Cotação,
-Quoted Item Comparison,Comparação de Cotação de Item,
 Received Items To Be Billed,Itens Recebidos a Serem Faturados,
 Qty to Order,Qtd a Encomendar,
 Requested Items To Be Transferred,Itens Solicitados A Serem Transferidos,
@@ -9091,7 +9081,6 @@
 Absent Days,Dias ausentes,
 Conditions and Formula variable and example,Condições e variável de fórmula e exemplo,
 Feedback By,Feedback de,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.AAAA .-. MM .-. DD.-,
 Manufacturing Section,Seção de Manufatura,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Por padrão, o Nome do cliente é definido de acordo com o Nome completo inserido. Se você deseja que os clientes sejam nomeados por um",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Configure a Lista de preços padrão ao criar uma nova transação de vendas. Os preços dos itens serão obtidos desta lista de preços.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Saldo Reservado,
 Uncleared Balance,Saldo Não Compensado,
 Payment related to {0} is not completed,O pagamento relacionado a {0} não foi concluído,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Linha nº {}: Número de série {}. {} já foi transacionado para outra fatura de PDV. Selecione o número de série válido.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Linha # {}: Código do item: {} não está disponível no depósito {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Linha nº {}: Quantidade em estoque insuficiente para o código do item: {} sob o depósito {}. Quantidade disponível {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Linha # {}: selecione um número de série e lote para o item: {} ou remova-o para concluir a transação.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Ative Permitir estoque negativo nas configurações de estoque ou crie a entrada de estoque para continuar.,
 No Inpatient Record found against patient {0},Nenhum registro de paciente interno encontrado para o paciente {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Já existe um Pedido de Medicação para Paciente Interno {0} contra o Encontro do Paciente {1}.,
+Allow In Returns,Permitir devoluções,
+Hide Unavailable Items,Ocultar itens indisponíveis,
+Apply Discount on Discounted Rate,Aplicar desconto na taxa com desconto,
+Therapy Plan Template,Modelo de plano de terapia,
+Fetching Template Details,Buscando detalhes do modelo,
+Linked Item Details,Detalhes do item vinculado,
+Therapy Types,Tipos de terapia,
+Therapy Plan Template Detail,Detalhe do modelo do plano de terapia,
+Non Conformance,Não Conformidade,
+Process Owner,Proprietário do processo,
+Corrective Action,Ação corretiva,
+Preventive Action,Ação preventiva,
+Problem,Problema,
+Responsible,Responsável,
+Completion By,Conclusão por,
+Process Owner Full Name,Nome completo do proprietário do processo,
+Right Index,Índice certo,
+Left Index,Índice Esquerdo,
+Sub Procedure,Subprocedimento,
+Passed,Passado,
+Print Receipt,Imprimir recibo,
+Edit Receipt,Editar Recibo,
+Focus on search input,Foco na entrada de pesquisa,
+Focus on Item Group filter,Foco no filtro de grupo de itens,
+Checkout Order / Submit Order / New Order,Finalizar pedido / Enviar pedido / Novo pedido,
+Add Order Discount,Adicionar desconto de pedido,
+Item Code: {0} is not available under warehouse {1}.,Código do item: {0} não está disponível no depósito {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,"Números de série indisponíveis para o item {0} em depósito {1}. Por favor, tente mudar o warehouse.",
+Fetched only {0} available serial numbers.,Buscou apenas {0} números de série disponíveis.,
+Switch Between Payment Modes,Alternar entre os modos de pagamento,
+Enter {0} amount.,Insira o valor de {0}.,
+You don't have enough points to redeem.,Você não tem pontos suficientes para resgatar.,
+You can redeem upto {0}.,Você pode resgatar até {0}.,
+Enter amount to be redeemed.,Insira o valor a ser resgatado.,
+You cannot redeem more than {0}.,Você não pode resgatar mais de {0}.,
+Open Form View,Abra a visualização do formulário,
+POS invoice {0} created succesfully,Fatura de PDV {0} criada com sucesso,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Quantidade em estoque insuficiente para o código do item: {0} sob o depósito {1}. Quantidade disponível {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Número de série: {0} já foi transacionado para outra fatura de PDV.,
+Balance Serial No,Número de série do saldo,
+Warehouse: {0} does not belong to {1},Armazém: {0} não pertence a {1},
+Please select batches for batched item {0},Selecione os lotes para o item em lote {0},
+Please select quantity on row {0},Selecione a quantidade na linha {0},
+Please enter serial numbers for serialized item {0},Insira os números de série para o item serializado {0},
+Batch {0} already selected.,Lote {0} já selecionado.,
+Please select a warehouse to get available quantities,Selecione um armazém para obter as quantidades disponíveis,
+"For transfer from source, selected quantity cannot be greater than available quantity","Para transferência da origem, a quantidade selecionada não pode ser maior que a quantidade disponível",
+Cannot find Item with this Barcode,Não é possível encontrar o item com este código de barras,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} é obrigatório. Talvez o registro de câmbio não tenha sido criado para {1} a {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} enviou ativos vinculados a ele. Você precisa cancelar os ativos para criar o retorno de compra.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Não é possível cancelar este documento, pois está vinculado ao ativo enviado {0}. Cancele para continuar.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Linha # {}: Número de série {} já foi transacionado para outra fatura de PDV. Selecione o número de série válido.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Linha nº {}: Nºs de série {} já foi transacionado para outra fatura de PDV. Selecione o número de série válido.,
+Item Unavailable,Artigo Indisponível,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Linha nº {}: Número de série {} não pode ser devolvido, pois não foi negociado na fatura original {}",
+Please set default Cash or Bank account in Mode of Payment {},Defina dinheiro ou conta bancária padrão no modo de pagamento {},
+Please set default Cash or Bank account in Mode of Payments {},Defina dinheiro ou conta bancária padrão no modo de pagamentos {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Certifique-se de que a conta {} seja uma conta de balanço. Você pode alterar a conta-mãe para uma conta de balanço ou selecionar uma conta diferente.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Certifique-se de que a {} conta seja uma conta a pagar. Altere o tipo de conta para Pagável ou selecione uma conta diferente.,
+Row {}: Expense Head changed to {} ,Linha {}: Cabeçalho de Despesas alterado para {},
+because account {} is not linked to warehouse {} ,porque a conta {} não está vinculada ao depósito {},
+or it is not the default inventory account,ou não é a conta de estoque padrão,
+Expense Head Changed,Cabeça de despesas alterada,
+because expense is booked against this account in Purchase Receipt {},porque a despesa é registrada nesta conta no recibo de compra {},
+as no Purchase Receipt is created against Item {}. ,visto que nenhum recibo de compra é criado para o item {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Isso é feito para lidar com a contabilidade de casos em que o recibo de compra é criado após a fatura de compra,
+Purchase Order Required for item {},Pedido de compra necessário para o item {},
+To submit the invoice without purchase order please set {} ,"Para enviar a fatura sem pedido de compra, defina {}",
+as {} in {},como em {},
+Mandatory Purchase Order,Ordem de Compra Obrigatória,
+Purchase Receipt Required for item {},Recibo de compra necessário para o item {},
+To submit the invoice without purchase receipt please set {} ,"Para enviar a fatura sem recibo de compra, defina {}",
+Mandatory Purchase Receipt,Recibo de Compra Obrigatório,
+POS Profile {} does not belongs to company {},Perfil de PDV {} não pertence à empresa {},
+User {} is disabled. Please select valid user/cashier,O usuário {} está desativado. Selecione um usuário / caixa válido,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Linha nº {}: A fatura original {} da fatura de devolução {} é {}.,
+Original invoice should be consolidated before or along with the return invoice.,A fatura original deve ser consolidada antes ou junto com a fatura de devolução.,
+You can add original invoice {} manually to proceed.,Você pode adicionar a fatura original {} manualmente para prosseguir.,
+Please ensure {} account is a Balance Sheet account. ,Certifique-se de que a conta {} seja uma conta de balanço.,
+You can change the parent account to a Balance Sheet account or select a different account.,Você pode alterar a conta-mãe para uma conta de balanço ou selecionar uma conta diferente.,
+Please ensure {} account is a Receivable account. ,Certifique-se de que a conta {} seja uma conta a receber.,
+Change the account type to Receivable or select a different account.,Altere o tipo de conta para Recebível ou selecione uma conta diferente.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} não pode ser cancelado porque os pontos de fidelidade ganhos foram resgatados. Primeiro cancele o {} Não {},
+already exists,já existe,
+POS Closing Entry {} against {} between selected period,POS fechando entrada {} contra {} entre o período selecionado,
+POS Invoice is {},A fatura de PDV é {},
+POS Profile doesn't matches {},Perfil de PDV não corresponde a {},
+POS Invoice is not {},A fatura de PDV não é {},
+POS Invoice isn't created by user {},A fatura de PDV não foi criada pelo usuário {},
+Row #{}: {},Linha #{}: {},
+Invalid POS Invoices,Faturas de PDV inválidas,
+Please add the account to root level Company - {},Adicione a conta ao nível raiz Empresa - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Ao criar uma conta para Empresa-filha {0}, conta-mãe {1} não encontrada. Por favor, crie a conta principal no COA correspondente",
+Account Not Found,Conta não encontrada,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Ao criar uma conta para Empresa filha {0}, conta pai {1} encontrada como uma conta contábil.",
+Please convert the parent account in corresponding child company to a group account.,Converta a conta-mãe da empresa-filha correspondente em uma conta de grupo.,
+Invalid Parent Account,Conta pai inválida,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Renomear só é permitido por meio da empresa-mãe {0}, para evitar incompatibilidade.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Se você {0} {1} quantidades do item {2}, o esquema {3} será aplicado ao item.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Se você {0} {1} vale um item {2}, o esquema {3} será aplicado ao item.",
+"As the field {0} is enabled, the field {1} is mandatory.","Como o campo {0} está habilitado, o campo {1} é obrigatório.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Como o campo {0} está habilitado, o valor do campo {1} deve ser maior que 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Não é possível entregar o número de série {0} do item {1} porque está reservado para atender ao pedido de venda {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","O pedido de venda {0} tem reserva para o item {1}, você só pode entregar o {1} reservado para {0}.",
+{0} Serial No {1} cannot be delivered,{0} Número de série {1} não pode ser entregue,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Linha {0}: Item subcontratado é obrigatório para a matéria-prima {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Como há matéria-prima suficiente, a Solicitação de Material não é necessária para o Armazém {0}.",
+" If you still want to proceed, please enable {0}.","Se você ainda deseja continuar, ative {0}.",
+The item referenced by {0} - {1} is already invoiced,O item referenciado por {0} - {1} já foi faturado,
+Therapy Session overlaps with {0},A sessão de terapia se sobrepõe a {0},
+Therapy Sessions Overlapping,Sobreposição de sessões de terapia,
+Therapy Plans,Planos de Terapia,
+"Item Code, warehouse, quantity are required on row {0}","Código do item, armazém, quantidade são necessários na linha {0}",
+Get Items from Material Requests against this Supplier,Obtenha itens de solicitações de materiais contra este fornecedor,
+Enable European Access,Habilitar acesso europeu,
+Creating Purchase Order ...,Criando pedido de compra ...,
+"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.","Selecione um fornecedor dos fornecedores padrão dos itens abaixo. Na seleção, um pedido de compra será feito apenas para itens pertencentes ao fornecedor selecionado.",
+Row #{}: You must select {} serial numbers for item {}.,Nº da linha {}: você deve selecionar {} números de série para o item {}.,
diff --git a/erpnext/translations/pt_br.csv b/erpnext/translations/pt_br.csv
index a8106e7..cda5ee8 100644
--- a/erpnext/translations/pt_br.csv
+++ b/erpnext/translations/pt_br.csv
@@ -20,8 +20,12 @@
 Abbreviation already used for another company,Abreviatura já utilizado para outra empresa,
 Abbreviation cannot have more than 5 characters,Abreviatura não pode ter mais de 5 caracteres,
 Abbreviation is mandatory,Abreviatura é obrigatória,
+About your company,Sobre sua empresa,
 Accepted + Rejected Qty must be equal to Received quantity for Item {0},A qtde Aceita + Rejeitada deve ser igual a quantidade recebida para o item {0},
 Access Token,Token de Acesso,
+Account Pay Only,Conta somente para pagamento,
+Account Type,Tipo de conta,
+Account Type for {0} must be {1},O tipo da conta {0} deve ser {1},
 "Account balance already in Credit, you are not allowed to set 'Balance Must Be' as 'Debit'","O saldo já  está em crédito, você não tem a permissão para definir 'saldo deve ser' como 'débito'",
 "Account balance already in Debit, you are not allowed to set 'Balance Must Be' as 'Credit'","O saldo já está em débito, você não tem permissão para definir 'saldo deve ser' como 'crédito'",
 Account with child nodes cannot be converted to ledger,Contas com nós filhos não podem ser convertidas em um livro-razão,
@@ -62,6 +66,7 @@
 Add / Edit Prices,Adicionar / Editar preços,
 Add Customers,Adicionar Clientes,
 Add Employees,Adicionar Colaboradores,
+Add Item,Adicionar item,
 Add Serial No,Adicionar Serial No,
 Add Timesheets,Adicionar Registo de Tempo,
 Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts,Adicione o resto de sua organização como seus usuários. Você também pode adicionar clientes convidados ao seu portal adicionando-os de Contatos,
@@ -300,7 +305,6 @@
 "Create and manage daily, weekly and monthly email digests.","Cria e configura as regras de recebimento de emails, como diário, semanal ou mensal.",
 Create customer quotes,Criar orçamentos de clientes,
 Create rules to restrict transactions based on values.,Criar regras para restringir operações com base em valores.,
-Created By,Criado por,
 Creating {0} Invoice,Criando Fatura de {0},
 Credit Balance,Saldo Credor,
 Credit Note Issued,Nota de Crédito Emitida,
@@ -466,7 +470,6 @@
 "For row {0} in {1}. To include {2} in Item rate, rows {3} must also be included","Para linha {0} em {1}. Para incluir {2} na taxa de Item, linhas {3} também devem ser incluídos",
 "For {0}, only credit accounts can be linked against another debit entry","Por {0}, apenas as contas de crédito pode ser ligado contra outro lançamento de débito",
 "For {0}, only debit accounts can be linked against another credit entry","Por {0}, apenas as contas de débito pode ser ligado contra outra entrada crédito",
-Form View,Ver Formulário,
 Freight and Forwarding Charges,Frete e Encargos de Envio,
 From Currency and To Currency cannot be same,De Moeda e Para Moeda não pode ser o mesmo,
 From Date cannot be greater than To Date,A partir de data não pode ser maior que a Data,
@@ -495,7 +498,7 @@
 Get Employees,Obter Colaboradores,
 Get Items from Product Bundle,Obter Itens do Pacote de Produtos,
 Get Updates,Receber notícias,
-Global settings for all manufacturing processes.,As configurações globais para todos os processos de fabricação.,
+Global settings for all manufacturing processes.,Configurações Globais para todos os processos de fabricação.,
 Go to the Desktop and start using ERPNext,Vá para o ambiente de trabalho e começar a usar ERPNext,
 Goals cannot be empty,Objetivos não podem estar em branco,
 Grant Leaves,Conceder Licenças,
@@ -658,7 +661,7 @@
 Manufacture,Fabricação,
 Manufacturer Part Number,Número de Peça do Fabricante,
 Manufacturing,Fabricação,
-Manufacturing Quantity is mandatory,Manufacturing Quantidade é obrigatório,
+Manufacturing Quantity is mandatory,Quantidade de Fabricação é obrigatória,
 Mark Absent,Marcar Ausente,
 Mark Attendance,Marcar Presença,
 Mark Half Day,Marcar Meio Período,
@@ -667,6 +670,7 @@
 Masters,Cadastros,
 Match Payments with Invoices,Conciliação de Pagamentos,
 Match non-linked Invoices and Payments.,Combinar Faturas e Pagamentos não relacionados.,
+Material Consumption is not set in Manufacturing Settings.,O Consumo de Material não está configurado nas Configurações de Fabricação.,
 Material Receipt,Entrada de Material,
 Material Request,Requisição de Material,
 Material Request Date,Data da Requisição de Material,
@@ -705,6 +709,7 @@
 New Customer Revenue,Receita com novos clientes,
 New Customers,Clientes Novos,
 New Employee,Novo Colaborador,
+New Quality Procedure,Novo Procedimento de Qualidade,
 New Sales Person Name,Nome do Novo Vendedor,
 New Serial No cannot have Warehouse. Warehouse must be set by Stock Entry or Purchase Receipt,"New Serial Não, não pode ter Warehouse. Warehouse deve ser definida pelo Banco de entrada ou Recibo de compra",
 New Warehouse Name,Nome do Novo Armazén,
@@ -721,7 +726,7 @@
 No Permission,Nenhuma permissão,
 No Salary Structure assigned for Employee {0} on given date {1},Nenhuma estrutura salarial atribuída para o colaborador {0} em determinada data {1},
 No Student Groups created.,Não foi criado nenhum grupo de alunos.,
-No Work Orders created,Nenhuma ordem de trabalho criada,
+No Work Orders created,Nenhuma Ordem de Trabalho criada,
 No accounting entries for the following warehouses,Nenhuma entrada de contabilidade para os seguintes armazéns,
 No active or default Salary Structure found for employee {0} for the given dates,Não foi encontrada nenhuma Estrutura Salarial padrão ativa para o colaborador {0} ou para as datas indicadas,
 No description given,Nenhuma descrição informada,
@@ -980,6 +985,12 @@
 Qty,Qtde,
 Qty To Manufacture,Qtde para Fabricar,
 Qty for {0},Qtde para {0},
+Quality,QCคุณภาพ,
+Quality Goal.,Objetivos de Qualidade.,
+Quality Inspection,Inspeção de Qualidade,
+Quality Inspection: {0} is not submitted for the item: {1} in row {2},Inspeção de Qualidade: {0} não foi submetida para o item: {1} na linha {2},
+Quality Meeting,Encontro da Qualidade,
+Quality Procedure.,Procedimento de Qualidade.,
 Quantity for Item {0} must be less than {1},Quantidade de item {0} deve ser inferior a {1},
 Quantity in row {0} ({1}) must be same as manufactured quantity {2},A quantidade na linha {0} ( {1} ) deve ser a mesma que a quantidade fabricada {2},
 Quantity must not be more than {0},Quantidade não deve ser mais do que {0},
@@ -1040,6 +1051,7 @@
 Resend Payment Email,Reenviar email de pagamento,
 Reserved Qty,Qtde Reservada,
 Reserved Qty for Production,Qtde Reservada para Produção,
+Reserved Qty for Production: Raw materials quantity to make manufacturing items.,Quantidade Reservada para Produção: quantidade de matérias-primas para a fabricar itens.,
 "Reserved Qty: Quantity ordered for sale, but not delivered.","Reservados Qtde: Quantidade pedida para venda, mas não entregue.",
 Reserved for manufacturing,Reservado para fabricação,
 Rest Of The World,Resto do Mundo,
@@ -1144,7 +1156,6 @@
 "Selling must be checked, if Applicable For is selected as {0}","Venda deve ser verificada, se for caso disso for selecionado como {0}",
 Send SMS,Envie SMS,
 Send mass SMS to your contacts,Enviar SMS em massa para seus contatos,
-Serial #,Serial #,
 Serial No and Batch,Número de Série e Lote,
 Serial No is mandatory for Item {0},Número de séries é obrigatório para item {0},
 Serial No {0} does not belong to Delivery Note {1},Serial Não {0} não pertence a entrega Nota {1},
@@ -1362,6 +1373,7 @@
 Total allocated percentage for sales team should be 100,Porcentagem total alocado para a equipe de vendas deve ser de 100,
 Total cannot be zero,Total não pode ser zero,
 Total hours: {0},Total de horas: {0},
+Total leaves allocated is mandatory for Leave Type {0},Total de Licenças Alocadas é mandatório para Tipo de Licença {0},
 Total(Amt),Total (Quantia),
 Total(Qty),Total (Qtde),
 Training,Treinamento,
@@ -1531,6 +1543,7 @@
 Language,Idioma,
 Likes,Likes,
 Merge with existing,Mesclar com existente,
+Parent,Parente,
 Passive,Sem movimento,
 Percent,Por cento,
 Plant,Fábrica,
@@ -1635,7 +1648,10 @@
 Verified By,Verificado por,
 Maintain Same Rate Throughout Sales Cycle,Manter o mesmo preço durante todo o ciclo de vendas,
 Must be Whole Number,Deve ser Número inteiro,
+Leaves Allocated,Licenças Alocadas,
+Leaves Expired,Licenças Expiradas,
 GL Entry,Lançamento GL,
+Work Orders,Ordens de Trabalho,
 Qty to Manufacture,Qtde para Fabricar,
 Heads (or groups) against which Accounting Entries are made and balances are maintained.,Heads (ou grupos) contra o qual as entradas de Contabilidade são feitas e os saldos são mantidos.,
 Parent Account,Conta Superior,
@@ -2282,6 +2298,7 @@
 Leave Block List Date,Data da Lista de Bloqueio de Licenças,
 Leave Control Panel,Painel de Controle de Licenças,
 Select Employees,Selecione Colaboradores,
+Allocate Leaves,Alocar Licenças,
 Carry Forward,Encaminhar,
 Please select Carry Forward if you also want to include previous fiscal year's balance leaves to this fiscal year,Por favor selecione Encaminhar se você também quer incluir o saldo de licenças do ano fiscal anterior neste ano fiscal,
 New Leaves Allocated (In Days),Novas Licenças alocadas (em dias),
@@ -2417,6 +2434,7 @@
 Website Description,Descrição do Site,
 BOM Explosion Item,Item da Explosão da LDM,
 Qty Consumed Per Unit,Qtde Consumida por Unidade,
+Include Item In Manufacturing,Incluir Item na Fabricação,
 Basic Rate (Company Currency),Valor Base (moeda da empresa),
 BOM Operation,Operação da LDM,
 Base Hour Rate(Company Currency),Valor por Hora Base (moeda da empresa),
@@ -2706,6 +2724,7 @@
 Enable Checkout,Ativar Caixa,
 Payment Success Url,URL de Confirmação de Pagamento,
 After payment completion redirect user to selected page.,Após a conclusão do pagamento redirecionar usuário para a página selecionada.,
+Manufacturing Date,Data de Fabricação,
 Actual Quantity,Quantidade Real,
 Moving Average Rate,Taxa da Média Móvel,
 FCFS Rate,Taxa FCFS,
@@ -2974,7 +2993,7 @@
 Maintenance Schedules,Horários de Manutenção,
 Material Requests for which Supplier Quotations are not created,"Itens Requisitados, mas não Cotados",
 Monthly Attendance Sheet,Folha de Ponto Mensal,
-Open Work Orders,Abrir ordens de trabalho,
+Open Work Orders,Abrir Ordens de Trabalho,
 Qty to Deliver,Qtde para Entregar,
 Payment Period Based On Invoice Date,Prazo Médio de Pagamento Baseado na Emissão da Nota,
 Pending SO Items For Purchase Request,Itens Pendentes da Ordem de Venda por Solicitação de Compra,
diff --git a/erpnext/translations/ro.csv b/erpnext/translations/ro.csv
index dd1c9a8..643b8c5 100644
--- a/erpnext/translations/ro.csv
+++ b/erpnext/translations/ro.csv
@@ -473,7 +473,6 @@
 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 Item with this barcode,Nu se poate găsi articolul cu acest cod de bare,
 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,
@@ -690,7 +689,6 @@
 "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 By,Creat de,
 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,
@@ -1078,7 +1076,6 @@
 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",
-Form View,Vizualizare formular,
 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,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Trimite SMS-uri în masă a persoanelor de contact,
 Sensitivity,Sensibilitate,
 Sent,Trimis,
-Serial #,Serial #,
 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},
@@ -3303,7 +3299,6 @@
 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.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","În timpul creării contului 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ătoare",
 White,alb,
 Wire Transfer,Transfer,
 WooCommerce Products,Produse WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Merge cu existente,
 Office,Birou,
 Orientation,Orientare,
+Parent,Mamă,
 Passive,Pasiv,
 Payment Failed,Plata esuata,
 Percent,La sută,
@@ -3543,6 +3539,7 @@
 Show {0},Afișați {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Caractere speciale, cu excepția &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Și &quot;}&quot; nu sunt permise în numirea seriei",
 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,
@@ -4241,7 +4238,6 @@
 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,
-Get items from,Obține elemente din,
 Group by,Grupul De,
 In stock,In stoc,
 Item name,Denumire Articol,
@@ -7558,10 +7554,6 @@
 Quality Goal,Obiectivul de calitate,
 Monitoring Frequency,Frecvența de monitorizare,
 Weekday,zi de lucru,
-January-April-July-October,Ianuarie-aprilie-iulie-octombrie,
-Revision and Revised On,Revizuit și revizuit,
-Revision,Revizuire,
-Revised On,Revizuit pe,
 Objectives,Obiective,
 Quality Goal Objective,Obiectivul calității,
 Objective,Obiectiv,
@@ -7574,7 +7566,6 @@
 Processes,procese,
 Quality Procedure Process,Procesul procedurii de calitate,
 Process Description,Descrierea procesului,
-Child Procedure,Procedura copilului,
 Link existing Quality Procedure.,Conectați procedura de calitate existentă.,
 Additional Information,informatii suplimentare,
 Quality Review Objective,Obiectivul revizuirii calității,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Tendințe Primirea de cumpărare,
 Purchase Register,Cumpărare Inregistrare,
 Quotation Trends,Cotație Tendințe,
-Quoted Item Comparison,Compararea Articol citat,
 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,
@@ -9091,7 +9081,6 @@
 Absent Days,Zile absente,
 Conditions and Formula variable and example,Condiții și variabilă Formula și exemplu,
 Feedback By,Feedback de,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 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.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Sold rezervat,
 Uncleared Balance,Sold neclar,
 Payment related to {0} is not completed,Plata aferentă {0} nu este finalizată,
-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 #{}: 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.,
@@ -9732,3 +9720,121 @@
 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 6d1e0b9..7fcb7b0 100644
--- a/erpnext/translations/ru.csv
+++ b/erpnext/translations/ru.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Не можете вычесть, когда категория для &quot;Оценка&quot; или &quot;Vaulation и Total &#39;",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Не удается удалить Серийный номер {0}, так как он используется в операции перемещения по складу.",
 Cannot enroll more than {0} students for this student group.,Не удается зарегистрировать более {0} студентов для этой группы студентов.,
-Cannot find Item with this barcode,Не удается найти товар с этим штрих-кодом,
 Cannot find active Leave Period,Не удается найти активный период отпуска,
 Cannot produce more Item {0} than Sales Order quantity {1},"Нельзя произвести продукта {0} больше, чем указано в Сделке {1}",
 Cannot promote Employee with status Left,Нельзя продвинуть сотрудника со статусом Уволен,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Создавайте ежедневные, еженедельные и ежемесячные электронные письма.",
 Create customer quotes,Создание котировки клиентов,
 Create rules to restrict transactions based on values.,Создание правил для ограничения операций на основе значений.,
-Created By,Созданный,
 Created {0} scorecards for {1} between: ,Созданы {0} оценочные карточки для {1} между:,
 Creating Company and Importing Chart of Accounts,Создание компании и импорт плана счетов,
 Creating Fees,Создание сборов,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Для строки {0}: введите запланированное количество,
 "For {0}, only credit accounts can be linked against another debit entry","Для {0}, только кредитные счета могут быть связаны с дебетовой записью",
 "For {0}, only debit accounts can be linked against another credit entry","Для {0}, только дебетовые счета могут быть связаны с кредитной записью",
-Form View,Просмотр формы,
 Forum Activity,Активность в форуме,
 Free item code is not selected,Бесплатный код товара не выбран,
 Freight and Forwarding Charges,Грузовые и экспедиторские Сборы,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Отправить массовое СМС по списку контактов,
 Sensitivity,чувствительность,
 Sent,Отправлено,
-Serial #,Serial #,
 Serial No and Batch,Серийный номер и партия,
 Serial No is mandatory for Item {0},Серийный номер является обязательным для п. {0},
 Serial No {0} does not belong to Batch {1},Серийный номер {0} не принадлежит к пакету {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Как я могу вам помочь?,
 What does it do?,Что оно делает?,
 Where manufacturing operations are carried.,Где производственные операции проводятся.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","При создании учетной записи для дочерней компании {0} родительская учетная запись {1} не найдена. Пожалуйста, создайте родительский аккаунт в соответствующем сертификате подлинности.",
 White,белый,
 Wire Transfer,Банковский перевод,
 WooCommerce Products,Продукты WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Слияние с существующими,
 Office,Офис,
 Orientation,ориентация,
+Parent,Родитель,
 Passive,Пассивный,
 Payment Failed,Платеж не прошел,
 Percent,Процент,
@@ -3543,6 +3539,7 @@
 Show {0},Показать {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Специальные символы, кроме &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; И &quot;}&quot;, не допускаются в именных сериях",
 Target Details,Детали цели,
+{0} already has a Parent Procedure {1}.,{0} уже имеет родительскую процедуру {1}.,
 API,API,
 Annual,За год,
 Approved,Утверждено,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,"Дата окончания не может быть меньше, чем Дата начала",
 For Default Supplier (Optional),Поставщик по умолчанию (необязательно),
 From date cannot be greater than To date,"С даты не может быть больше, чем к дате",
-Get items from,Получить продукты от,
 Group by,Group By,
 In stock,В наличии,
 Item name,Название продукта,
@@ -7558,10 +7554,6 @@
 Quality Goal,Цель качества,
 Monitoring Frequency,Частота мониторинга,
 Weekday,будний день,
-January-April-July-October,Январь-апрель-июль-октябрь,
-Revision and Revised On,Пересмотр и пересмотр,
-Revision,пересмотр,
-Revised On,Пересмотрено на,
 Objectives,Цели,
 Quality Goal Objective,Цель качества,
 Objective,Задача,
@@ -7574,7 +7566,6 @@
 Processes,Процессы,
 Quality Procedure Process,Процесс качественного процесса,
 Process Description,Описание процесса,
-Child Procedure,Дочерняя процедура,
 Link existing Quality Procedure.,Ссылка существующей процедуры качества.,
 Additional Information,Дополнительная информация,
 Quality Review Objective,Цель проверки качества,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Динамика Получения Поставок,
 Purchase Register,Покупка Становиться на учет,
 Quotation Trends,Динамика предложений,
-Quoted Item Comparison,Цитируется Сравнение товара,
 Received Items To Be Billed,"Полученные товары, на которые нужно выписать счет",
 Qty to Order,Кол-во в заказ,
 Requested Items To Be Transferred,Запрашиваемые продукты к доставке,
@@ -9091,7 +9081,6 @@
 Absent Days,Отсутствующие дни,
 Conditions and Formula variable and example,"Условия и формула, переменная и пример",
 Feedback By,Отзыв Автор,
-MTNG-.YYYY.-.MM.-.DD.-,МТНГ-.ГГГГ .-. ММ .-. ДД.-,
 Manufacturing Section,Производственный отдел,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","По умолчанию имя клиента устанавливается в соответствии с введенным полным именем. Если вы хотите, чтобы имена клиентов",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Настройте прайс-лист по умолчанию при создании новой транзакции продаж. Цены на товары будут взяты из этого прейскуранта.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Зарезервированный баланс,
 Uncleared Balance,Неочищенный баланс,
 Payment related to {0} is not completed,"Платеж, связанный с {0}, не завершен",
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,"Строка № {}: Серийный номер {}. {} уже переведен в другой счет-фактуру торговой точки. Пожалуйста, выберите действительный серийный номер.",
 Row #{}: Item Code: {} is not available under warehouse {}.,Строка № {}: Код товара: {} недоступен на складе {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Строка № {}: Недостаточно количества на складе для кода позиции: {} на складе {}. Доступное количество {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Строка № {}: выберите серийный номер и партию для позиции: {} или удалите ее, чтобы завершить транзакцию.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Пожалуйста, включите «Разрешить отрицательный запас в настройках запаса» или создайте «Ввод запаса», чтобы продолжить.",
 No Inpatient Record found against patient {0},В отношении пациента {0} не обнаружено истории болезни.,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Приказ о лечении в стационаре {0} против встречи с пациентом {1} уже существует.,
+Allow In Returns,Разрешить возврат,
+Hide Unavailable Items,Скрыть недоступные элементы,
+Apply Discount on Discounted Rate,Применить скидку на скидку,
+Therapy Plan Template,Шаблон плана терапии,
+Fetching Template Details,Получение сведений о шаблоне,
+Linked Item Details,Сведения о связанном элементе,
+Therapy Types,Виды терапии,
+Therapy Plan Template Detail,Подробности шаблона плана терапии,
+Non Conformance,Несоответсвие,
+Process Owner,Владелец процесса,
+Corrective Action,Корректирующее действие,
+Preventive Action,Превентивные действия,
+Problem,Проблема,
+Responsible,Ответственный,
+Completion By,Завершено,
+Process Owner Full Name,Полное имя владельца процесса,
+Right Index,Правый указатель,
+Left Index,Левый указатель,
+Sub Procedure,Дополнительная процедура,
+Passed,Прошло,
+Print Receipt,Распечатать квитанцию,
+Edit Receipt,Редактировать квитанцию,
+Focus on search input,Сосредоточьтесь на вводе поиска,
+Focus on Item Group filter,Фильтр по группам товаров,
+Checkout Order / Submit Order / New Order,Заказ оформления заказа / Отправить заказ / Новый заказ,
+Add Order Discount,Добавить скидку на заказ,
+Item Code: {0} is not available under warehouse {1}.,Код товара: {0} недоступен на складе {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Отсутствуют серийные номера для позиции {0} на складе {1}. Попробуйте сменить склад.,
+Fetched only {0} available serial numbers.,Получено только {0} доступных серийных номеров.,
+Switch Between Payment Modes,Переключение между режимами оплаты,
+Enter {0} amount.,Введите сумму {0}.,
+You don't have enough points to redeem.,У вас недостаточно очков для погашения.,
+You can redeem upto {0}.,Вы можете использовать до {0}.,
+Enter amount to be redeemed.,Введите сумму к выкупу.,
+You cannot redeem more than {0}.,Вы не можете обменять более {0}.,
+Open Form View,Открыть просмотр формы,
+POS invoice {0} created succesfully,Счет-фактура POS {0} успешно создана,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Недостаточно количества на складе для кода товара: {0} на складе {1}. Доступное количество {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Серийный номер: {0} уже был переведен в другой счет-фактуру торговой точки.,
+Balance Serial No,Серийный номер весов,
+Warehouse: {0} does not belong to {1},Склад: {0} не принадлежит {1},
+Please select batches for batched item {0},Выберите партии для товара {0},
+Please select quantity on row {0},Выберите количество в строке {0},
+Please enter serial numbers for serialized item {0},Введите серийные номера для номерного изделия {0},
+Batch {0} already selected.,Пакет {0} уже выбран.,
+Please select a warehouse to get available quantities,"Пожалуйста, выберите склад, чтобы получить доступное количество",
+"For transfer from source, selected quantity cannot be greater than available quantity",Для передачи из источника выбранное количество не может быть больше доступного количества.,
+Cannot find Item with this Barcode,Не удается найти товар с этим штрих-кодом,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},"{0} является обязательным. Возможно, запись обмена валют не создана для {1} - {2}",
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} отправил связанные с ним активы. Вам необходимо отменить активы, чтобы создать возврат покупки.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Невозможно отменить этот документ, поскольку он связан с отправленным объектом {0}. Пожалуйста, отмените его, чтобы продолжить.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,"Строка № {}: серийный номер {} уже переведен в другой счет-фактуру торговой точки. Пожалуйста, выберите действительный серийный номер.",
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,"Строка № {}: Серийные номера {} уже были переведены в другой счет-фактуру торговой точки. Пожалуйста, выберите действительный серийный номер.",
+Item Unavailable,Товар недоступен,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Строка № {}: Серийный номер {} не может быть возвращен, поскольку он не был указан в исходном счете-фактуре {}",
+Please set default Cash or Bank account in Mode of Payment {},Установите по умолчанию наличный или банковский счет в режиме оплаты {},
+Please set default Cash or Bank account in Mode of Payments {},Установите по умолчанию наличный или банковский счет в режиме оплаты {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Убедитесь, что счет {} является балансом. Вы можете изменить родительский счет на счет баланса или выбрать другой счет.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Убедитесь, что счет {} является счетом к оплате. Измените тип учетной записи на К оплате или выберите другую учетную запись.",
+Row {}: Expense Head changed to {} ,Строка {}: заголовок расхода изменен на {},
+because account {} is not linked to warehouse {} ,потому что аккаунт {} не связан со складом {},
+or it is not the default inventory account,или это не учетная запись инвентаря по умолчанию,
+Expense Head Changed,Расходная часть изменена,
+because expense is booked against this account in Purchase Receipt {},поскольку расходы регистрируются по этому счету в квитанции о покупке {},
+as no Purchase Receipt is created against Item {}. ,поскольку для элемента {} не создается квитанция о покупке.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Это сделано для обработки учета в тех случаях, когда квитанция о покупке создается после счета-фактуры.",
+Purchase Order Required for item {},Требуется заказ на покупку для товара {},
+To submit the invoice without purchase order please set {} ,"Чтобы отправить счет без заказа на покупку, установите {}",
+as {} in {},как в {},
+Mandatory Purchase Order,Обязательный заказ на поставку,
+Purchase Receipt Required for item {},Для товара требуется квитанция о покупке {},
+To submit the invoice without purchase receipt please set {} ,"Чтобы отправить счет без квитанции о покупке, установите {}",
+Mandatory Purchase Receipt,Квитанция об обязательной покупке,
+POS Profile {} does not belongs to company {},Профиль POS {} не принадлежит компании {},
+User {} is disabled. Please select valid user/cashier,Пользователь {} отключен. Выберите действующего пользователя / кассира,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Строка № {}: Исходный счет-фактура {} обратного счета-фактуры {}: {}.,
+Original invoice should be consolidated before or along with the return invoice.,Оригинальный счет-фактура должен быть объединен до или вместе с обратным счетом-фактурой.,
+You can add original invoice {} manually to proceed.,"Чтобы продолжить, вы можете добавить исходный счет {} вручную.",
+Please ensure {} account is a Balance Sheet account. ,"Убедитесь, что счет {} является балансом.",
+You can change the parent account to a Balance Sheet account or select a different account.,Вы можете изменить родительский счет на счет баланса или выбрать другой счет.,
+Please ensure {} account is a Receivable account. ,"Убедитесь, что счет {} является счетом дебиторской задолженности.",
+Change the account type to Receivable or select a different account.,Измените тип учетной записи на Дебиторскую задолженность или выберите другую учетную запись.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} не может быть отменен, так как заработанные очки лояльности были погашены. Сначала отмените {} Нет {}",
+already exists,уже существует,
+POS Closing Entry {} against {} between selected period,Закрытие торговой точки {} против {} между выбранным периодом,
+POS Invoice is {},Счет-фактура POS: {},
+POS Profile doesn't matches {},Профиль POS не соответствует {},
+POS Invoice is not {},Счет-фактура POS не {},
+POS Invoice isn't created by user {},Счет-фактура POS не создается пользователем {},
+Row #{}: {},Строка #{}: {},
+Invalid POS Invoices,Недействительные счета-фактуры POS,
+Please add the account to root level Company - {},"Пожалуйста, добавьте аккаунт в компанию корневого уровня - {}",
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","При создании аккаунта для дочерней компании {0} родительский аккаунт {1} не найден. Пожалуйста, создайте родительский аккаунт в соответствующем сертификате подлинности",
+Account Not Found,Аккаунт не найден,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",При создании аккаунта для дочерней компании {0} родительский аккаунт {1} обнаружен как счет главной книги.,
+Please convert the parent account in corresponding child company to a group account.,Преобразуйте родительскую учетную запись в соответствующей дочерней компании в групповую.,
+Invalid Parent Account,Неверный родительский аккаунт,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Переименование разрешено только через головную компанию {0}, чтобы избежать несоответствия.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Если вы {0} {1} количество товара {2}, схема {3} будет применена к товару.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Если вы {0} {1} оцениваете предмет {2}, к нему будет применена схема {3}.",
+"As the field {0} is enabled, the field {1} is mandatory.","Поскольку поле {0} включено, поле {1} является обязательным.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Поскольку поле {0} включено, значение поля {1} должно быть больше 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Невозможно доставить серийный номер {0} товара {1}, поскольку он зарезервирован для выполнения заказа на продажу {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Заказ на продажу {0} имеет резервирование для товара {1}, вы можете доставить только зарезервированный {1} для {0}.",
+{0} Serial No {1} cannot be delivered,{0} Серийный номер {1} не может быть доставлен,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Строка {0}: Субподрядный элемент является обязательным для сырья {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Поскольку сырья достаточно, запрос материалов для хранилища {0} не требуется.",
+" If you still want to proceed, please enable {0}.","Если вы все еще хотите продолжить, включите {0}.",
+The item referenced by {0} - {1} is already invoiced,"На товар, на который ссылается {0} - {1}, уже выставлен счет",
+Therapy Session overlaps with {0},Сеанс терапии совпадает с {0},
+Therapy Sessions Overlapping,Совмещение сеансов терапии,
+Therapy Plans,Планы терапии,
+"Item Code, warehouse, quantity are required on row {0}","Код товара, склад, количество требуются в строке {0}",
+Get Items from Material Requests against this Supplier,Получить товары из запросов материалов к этому поставщику,
+Enable European Access,Включить европейский доступ,
+Creating Purchase Order ...,Создание заказа на поставку ...,
+"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.","Выберите поставщика из списка поставщиков по умолчанию для позиций ниже. При выборе Заказ на поставку будет сделан в отношении товаров, принадлежащих только выбранному Поставщику.",
+Row #{}: You must select {} serial numbers for item {}.,Строка № {}: необходимо выбрать {} серийных номеров для позиции {}.,
diff --git a/erpnext/translations/rw.csv b/erpnext/translations/rw.csv
index b03f734..6459139 100644
--- a/erpnext/translations/rw.csv
+++ b/erpnext/translations/rw.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Ntushobora kugabanya igihe icyiciro ari &#39;Agaciro&#39; cyangwa &#39;Igiciro na Byose&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Ntushobora gusiba Serial No {0}, nkuko ikoreshwa mubikorwa byimigabane",
 Cannot enroll more than {0} students for this student group.,Ntushobora kwiyandikisha kurenza {0} kubanyeshuri b&#39;iri tsinda.,
-Cannot find Item with this barcode,Ntushobora kubona Ikintu hamwe niyi barcode,
 Cannot find active Leave Period,Ntushobora kubona Ikiruhuko gikora,
 Cannot produce more Item {0} than Sales Order quantity {1},Ntushobora kubyara Ikintu {0} kuruta kugurisha ibicuruzwa {1},
 Cannot promote Employee with status Left,Ntushobora kuzamura Umukozi ufite status Ibumoso,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Kurema no gucunga buri munsi, buri cyumweru na buri kwezi imeri.",
 Create customer quotes,Kora amagambo yatanzwe nabakiriya,
 Create rules to restrict transactions based on values.,Shiraho amategeko yo kugabanya ibikorwa bishingiye ku ndangagaciro.,
-Created By,Byaremwe na,
 Created {0} scorecards for {1} between: ,Hakozwe {0} amanota ya {1} hagati:,
 Creating Company and Importing Chart of Accounts,Gushiraho Isosiyete no Gutumiza Imbonerahamwe ya Konti,
 Creating Fees,Gushiraho Amafaranga,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Ku murongo {0}: Injira Qty Yateganijwe,
 "For {0}, only credit accounts can be linked against another debit entry","Kuri {0}, amakonte yinguzanyo yonyine arashobora guhuzwa nibindi byinjira",
 "For {0}, only debit accounts can be linked against another credit entry","Kuri {0}, konti zo kubikuza gusa zishobora guhuzwa nizindi nguzanyo",
-Form View,Ifishi Reba,
 Forum Activity,Ibikorwa bya Forumu,
 Free item code is not selected,Kode yubuntu ntabwo yatoranijwe,
 Freight and Forwarding Charges,Amafaranga yo gutwara no kohereza,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Ohereza ubutumwa bugufi kuri konti yawe,
 Sensitivity,Ibyiyumvo,
 Sent,Yoherejwe,
-Serial #,Serial #,
 Serial No and Batch,Serial Oya na Batch,
 Serial No is mandatory for Item {0},Serial Oya ni itegeko kubintu {0},
 Serial No {0} does not belong to Batch {1},Serial No {0} ntabwo ari iya Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Niki ukeneye ubufasha?,
 What does it do?,Ikora iki?,
 Where manufacturing operations are carried.,Aho ibikorwa byo gukora bikorerwa.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Mugihe cyo gukora konti yumuryango Company 0}, konti yababyeyi {1} ntabwo yabonetse. Nyamuneka kora konti yababyeyi muri COA ihuye",
 White,Cyera,
 Wire Transfer,Kwimura insinga,
 WooCommerce Products,WooCommerce Products,
@@ -3493,6 +3488,7 @@
 Merge with existing,Ihuze nibihari,
 Office,Ibiro,
 Orientation,Icyerekezo,
+Parent,Ababyeyi,
 Passive,Passive,
 Payment Failed,Kwishura byarananiranye,
 Percent,Ijanisha,
@@ -3543,6 +3539,7 @@
 Show {0},Erekana {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Inyuguti zidasanzwe usibye &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Na &quot;}&quot; ntibyemewe mu ruhererekane rwo kwita izina",
 Target Details,Intego Ibisobanuro,
+{0} already has a Parent Procedure {1}.,{0} isanzwe ifite uburyo bwababyeyi {1}.,
 API,API,
 Annual,Buri mwaka,
 Approved,Byemejwe,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Itariki yo kurangiriraho ntishobora kuba munsi yitariki yo gutangiriraho,
 For Default Supplier (Optional),Kubisanzwe Bitanga (Bihitamo),
 From date cannot be greater than To date,Kuva ku italiki ntishobora kurenza Kumunsi,
-Get items from,Shaka ibintu,
 Group by,Itsinda by,
 In stock,Mububiko,
 Item name,Izina ryikintu,
@@ -7558,10 +7554,6 @@
 Quality Goal,Intego nziza,
 Monitoring Frequency,Gukurikirana Inshuro,
 Weekday,Icyumweru,
-January-April-July-October,Mutarama-Mata-Nyakanga-Ukwakira,
-Revision and Revised On,Kuvugurura no gusubirwamo,
-Revision,Gusubiramo,
-Revised On,Yasubiwemo,
 Objectives,Intego,
 Quality Goal Objective,Intego nziza,
 Objective,Intego,
@@ -7574,7 +7566,6 @@
 Processes,Inzira,
 Quality Procedure Process,Inzira yuburyo bwiza,
 Process Description,Ibisobanuro,
-Child Procedure,Uburyo bw&#39;abana,
 Link existing Quality Procedure.,Huza uburyo bwiza buriho.,
 Additional Information,Amakuru yinyongera,
 Quality Review Objective,Intego yo gusuzuma ubuziranenge,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Kugura inyemezabwishyu,
 Purchase Register,Kwiyandikisha,
 Quotation Trends,Imirongo,
-Quoted Item Comparison,Kugereranya Ikintu Kugereranya,
 Received Items To Be Billed,Yakiriye Ibintu Byishyurwa,
 Qty to Order,Qty gutumiza,
 Requested Items To Be Transferred,Ibintu Byasabwe Kwimurwa,
@@ -9091,7 +9081,6 @@
 Absent Days,Iminsi idahari,
 Conditions and Formula variable and example,Imiterere na formula ihindagurika nurugero,
 Feedback By,Ibitekerezo By,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Igice cyo gukora,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Mburabuzi, Izina ryabakiriya ryashyizweho nkuko Izina ryuzuye ryinjiye. Niba ushaka ko abakiriya bitirirwa a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Kugena Ibiciro Byambere Urutonde mugihe ukora igicuruzwa gishya. Ibiciro byikintu bizakurwa kururu rutonde rwibiciro.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Impirimbanyi zabitswe,
 Uncleared Balance,Impirimbanyi idasobanutse,
 Payment related to {0} is not completed,Kwishura bijyanye na {0} ntabwo byuzuye,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Umurongo # {}: Serial No {}. .} yamaze guhindurwa muyindi fagitire ya POS. Nyamuneka hitamo urutonde rwemewe.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Umurongo # {}: Kode y&#39;Ikintu: {} ntabwo iboneka munsi yububiko {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Umurongo # {}: Umubare wimigabane ntabwo uhagije kubintu byingingo: {} munsi yububiko {}. Umubare uraboneka {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Umurongo # {}: Nyamuneka hitamo serial oya hanyuma utegure ikintu: {} cyangwa ukureho kugirango urangize ibikorwa.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Nyamuneka ushoboze Emerera ububiko bubi mumiterere yimigabane cyangwa ushireho ububiko bwimigabane kugirango ukomeze.,
 No Inpatient Record found against patient {0},Nta nyandiko y’indwara yabonetse irwanya umurwayi {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Icyemezo cyo gufata imiti idakira {0} kurwanya Guhura kw&#39;abarwayi {1} kimaze kubaho.,
+Allow In Returns,Emera kugaruka,
+Hide Unavailable Items,Hisha Ibintu bitaboneka,
+Apply Discount on Discounted Rate,Koresha Kugabanuka Kubiciro Byagabanijwe,
+Therapy Plan Template,Igishushanyo mbonera cyo kuvura,
+Fetching Template Details,Kubona Inyandikorugero Ibisobanuro,
+Linked Item Details,Guhuza Ikintu Ibisobanuro,
+Therapy Types,Ubwoko bwo kuvura,
+Therapy Plan Template Detail,Gahunda yo Kuvura Inyandikorugero irambuye,
+Non Conformance,Kutubahiriza,
+Process Owner,Nyir&#39;ibikorwa,
+Corrective Action,Igikorwa cyo Gukosora,
+Preventive Action,Igikorwa cyo gukumira,
+Problem,Ikibazo,
+Responsible,Ushinzwe,
+Completion By,Kurangiza By,
+Process Owner Full Name,Inzira nyirayo Izina ryuzuye,
+Right Index,Ironderero ry&#39;iburyo,
+Left Index,Ibumoso,
+Sub Procedure,Uburyo bukurikira,
+Passed,Yararenganye,
+Print Receipt,Inyemezabwishyu,
+Edit Receipt,Hindura inyemezabwishyu,
+Focus on search input,Wibande kubushakashatsi,
+Focus on Item Group filter,Wibande ku Ikintu Itsinda Ryungurura,
+Checkout Order / Submit Order / New Order,Iteka rya cheque / Tanga itegeko / Iteka rishya,
+Add Order Discount,Ongeraho kugabanyirizwa ibicuruzwa,
+Item Code: {0} is not available under warehouse {1}.,Kode yikintu: {0} ntabwo iboneka munsi yububiko {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Imibare ikurikirana itaboneka kubintu {0} munsi yububiko {1}. Nyamuneka gerageza guhindura ububiko.,
+Fetched only {0} available serial numbers.,Kubona {0} gusa nimero zikurikirana.,
+Switch Between Payment Modes,Hindura hagati yuburyo bwo kwishyura,
+Enter {0} amount.,Injiza {0} umubare.,
+You don't have enough points to redeem.,Ntabwo ufite ingingo zihagije zo gucungura.,
+You can redeem upto {0}.,Urashobora gucungura kugeza {0}.,
+Enter amount to be redeemed.,Injiza amafaranga yo gucungurwa.,
+You cannot redeem more than {0}.,Ntushobora gucungura ibirenze {0}.,
+Open Form View,Fungura Ifishi Reba,
+POS invoice {0} created succesfully,Inyemezabuguzi ya POS {0} yaremye neza,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Umubare wimigabane ntabwo uhagije kubintu byingingo: {0} munsi yububiko {1}. Umubare uraboneka {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serial No: {0} yamaze guhindurwa muyindi fagitire ya POS.,
+Balance Serial No,Kuringaniza Urutonde No.,
+Warehouse: {0} does not belong to {1},Ububiko: {0} ntabwo ari {1},
+Please select batches for batched item {0},Nyamuneka hitamo ibyiciro kubintu 0 {,
+Please select quantity on row {0},Nyamuneka hitamo ingano kumurongo {0},
+Please enter serial numbers for serialized item {0},Nyamuneka andika inomero zikurikirana kubintu byakurikiranye {0},
+Batch {0} already selected.,Batch {0} yamaze gutoranywa.,
+Please select a warehouse to get available quantities,Nyamuneka hitamo ububiko kugirango ubone umubare uhari,
+"For transfer from source, selected quantity cannot be greater than available quantity","Kwimura biva mu isoko, umubare watoranijwe ntushobora kurenza umubare uhari",
+Cannot find Item with this Barcode,Ntushobora kubona Ikintu hamwe niyi Barcode,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} ni itegeko. Ahari inyandiko yo kuvunja ntabwo yakozwe kuri {1} kugeza {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} yatanze umutungo ujyanye nayo. Ugomba guhagarika umutungo kugirango ugarure kugura.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Ntushobora guhagarika iyi nyandiko kuko ihujwe numutungo watanzwe {0}. Nyamuneka uhagarike kugirango ukomeze.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Umurongo # {}: Serial No {} yamaze guhindurwa muyindi fagitire ya POS. Nyamuneka hitamo urutonde rwemewe.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Umurongo # {}: Urutonde Nomero {} yamaze guhindurwa muyindi fagitire ya POS. Nyamuneka hitamo urutonde rwemewe.,
+Item Unavailable,Ikintu kitaboneka,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Umurongo # {}: Serial No {} ntishobora gusubizwa kuva itakozwe muri fagitire yumwimerere {},
+Please set default Cash or Bank account in Mode of Payment {},Nyamuneka shyira konte ya Cash cyangwa Banki muburyo bwo kwishyura {},
+Please set default Cash or Bank account in Mode of Payments {},Nyamuneka shyira konte ya Cash cyangwa Banki muburyo bwo kwishyura {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Nyamuneka wemeze {} konte ni urupapuro rwuzuye. Urashobora guhindura konte yababyeyi kuri konte yimpapuro cyangwa ugahitamo konti itandukanye.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Nyamuneka wemeze {} konte ni konti yishyuwe. Hindura ubwoko bwa konti kuri Kwishura cyangwa hitamo konti itandukanye.,
+Row {}: Expense Head changed to {} ,Umurongo {}: Umutwe Ukoresha wahinduwe kuri {},
+because account {} is not linked to warehouse {} ,kuberako konte {} ntaho ihuriye nububiko {},
+or it is not the default inventory account,cyangwa ntabwo ari konte yububiko,
+Expense Head Changed,Amafaranga yakoreshejwe Umutwe Yahinduwe,
+because expense is booked against this account in Purchase Receipt {},kuberako amafaranga yatanzwe kuri iyi konti mu nyemezabuguzi yo kugura {},
+as no Purchase Receipt is created against Item {}. ,nkuko nta nyemezabuguzi yo kugura yashizweho kurwanya Ikintu {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ibi bikorwa mugukemura ibaruramari mugihe inyemezabuguzi yubuguzi yashizweho nyuma ya fagitire yubuguzi,
+Purchase Order Required for item {},Kugura Ibicuruzwa bisabwa kubintu {},
+To submit the invoice without purchase order please set {} ,Gutanga inyemezabuguzi nta gutumiza kugura nyamuneka shiraho {},
+as {} in {},nka {} muri {},
+Mandatory Purchase Order,Icyemezo cyo kugura itegeko,
+Purchase Receipt Required for item {},Inyemezabuguzi yo kugura isabwa kubintu {},
+To submit the invoice without purchase receipt please set {} ,Gutanga inyemezabuguzi nta nyemezabuguzi yaguze nyamuneka shiraho {},
+Mandatory Purchase Receipt,Inyemezabuguzi yo kugura,
+POS Profile {} does not belongs to company {},Umwirondoro wa POS {} ntabwo ari uw&#39;isosiyete {},
+User {} is disabled. Please select valid user/cashier,Umukoresha {} arahagaritswe. Nyamuneka hitamo umukoresha wemewe,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Umurongo # {}: Inyemezabuguzi y&#39;umwimerere {} ya fagitire yo kugaruka {} ni {}.,
+Original invoice should be consolidated before or along with the return invoice.,Inyemezabuguzi yumwimerere igomba guhuzwa mbere cyangwa hamwe na fagitire yo kugaruka.,
+You can add original invoice {} manually to proceed.,Urashobora kongeramo inyemezabuguzi yumwimerere {} intoki kugirango ukomeze.,
+Please ensure {} account is a Balance Sheet account. ,Nyamuneka wemeze {} konte ni urupapuro rwuzuye.,
+You can change the parent account to a Balance Sheet account or select a different account.,Urashobora guhindura konte yababyeyi kuri konte yimpapuro cyangwa ugahitamo konti itandukanye.,
+Please ensure {} account is a Receivable account. ,Nyamuneka wemeze {} konte ni konti yakirwa.,
+Change the account type to Receivable or select a different account.,Hindura ubwoko bwa konti kuri Kwakirwa cyangwa hitamo konti itandukanye.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} ntishobora guhagarikwa kuva amanota yubudahemuka yabonye yacunguwe. Banza uhagarike {} Oya {},
+already exists,isanzweho,
+POS Closing Entry {} against {} between selected period,POS Gufunga Ibyinjira {} kurwanya {} hagati yigihe cyatoranijwe,
+POS Invoice is {},Inyemezabuguzi ya POS ni {},
+POS Profile doesn't matches {},Umwirondoro wa POS ntabwo uhuye {},
+POS Invoice is not {},Inyemezabuguzi ya POS ntabwo {},
+POS Invoice isn't created by user {},Inyemezabuguzi ya POS ntabwo yakozwe numukoresha {},
+Row #{}: {},Umurongo # {}: {},
+Invalid POS Invoices,Inyemezabuguzi za POS zitemewe,
+Please add the account to root level Company - {},Nyamuneka ongeraho konte kurwego rwimizi - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Mugihe ukora konti ya sosiyete y&#39;abana {0}, konti y&#39;ababyeyi {1} ntabwo yabonetse. Nyamuneka kora konti yababyeyi muri COA ihuye",
+Account Not Found,Konti Ntabonetse,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Mugihe cyo gukora konti ya societe yumwana {0}, konte yababyeyi {1} iboneka nka konte yigitabo.",
+Please convert the parent account in corresponding child company to a group account.,Nyamuneka hindura konte yababyeyi muri sosiyete ihuye na konte yitsinda.,
+Invalid Parent Account,Konti y&#39;ababyeyi itemewe,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Guhindura izina biremewe gusa binyuze mubigo byababyeyi {0}, kugirango wirinde kudahuza.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Niba {0} {1} ingano yikintu {2}, gahunda {3} izashyirwa kumurongo.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Niba ufite {0} {1} agaciro kikintu {2}, gahunda {3} izashyirwa mubikorwa.",
+"As the field {0} is enabled, the field {1} is mandatory.","Nkuko umurima {0} ushoboye, umurima {1} ni itegeko.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Nkuko umurima {0} ushoboye, agaciro k&#39;umurima {1} kagomba kuba karenze 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Ntushobora gutanga Serial No {0} yikintu {1} kuko yagenewe kuzuza ibicuruzwa byuzuye {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Ibicuruzwa byo kugurisha {0} bifite ububiko bwikintu {1}, urashobora gutanga gusa {1} wabitswe {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serial No {1} ntishobora gutangwa,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Umurongo {0}: Ikintu cyateganijwe ni itegeko kubikoresho fatizo {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Nkuko hari ibikoresho bibisi bihagije, Gusaba Ibikoresho ntibisabwa kububiko {0}.",
+" If you still want to proceed, please enable {0}.","Niba ugishaka gukomeza, nyamuneka ushoboze {0}.",
+The item referenced by {0} - {1} is already invoiced,Ikintu kivugwa na {0} - {1} kimaze gutangwa,
+Therapy Session overlaps with {0},Isomo ryo kuvura ryuzuzanya na {0},
+Therapy Sessions Overlapping,Amasomo yo kuvura,
+Therapy Plans,Gahunda yo kuvura,
+"Item Code, warehouse, quantity are required on row {0}","Kode yikintu, ububiko, ingano irakenewe kumurongo {0}",
+Get Items from Material Requests against this Supplier,Shakisha Ibintu Mubisabwa Ibikoresho Kurwanya Utanga isoko,
+Enable European Access,Gushoboza Uburayi,
+Creating Purchase Order ...,Gushiraho gahunda yo kugura ...,
+"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.","Hitamo Utanga isoko uhereye kubisanzwe bitanga ibintu hepfo. Muguhitamo, Iteka ryubuguzi rizakorwa kurwanya ibintu byatoranijwe gusa.",
+Row #{}: You must select {} serial numbers for item {}.,Umurongo # {}: Ugomba guhitamo {} nimero yuruhererekane kubintu {}.,
diff --git a/erpnext/translations/si.csv b/erpnext/translations/si.csv
index 3dddf54..690c473 100644
--- a/erpnext/translations/si.csv
+++ b/erpnext/translations/si.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',කාණ්ඩය තක්සේරු &#39;හෝ&#39; Vaulation හා පූර්ණ &#39;සඳහා වන විට අඩු කර නොහැකි,
 "Cannot delete Serial No {0}, as it is used in stock transactions","අනු අංකය මකා දැමිය නොහැකි {0}, එය කොටස් ගනුදෙනු සඳහා භාවිතා වන පරිදි",
 Cannot enroll more than {0} students for this student group.,{0} මෙම ශිෂ්ය කන්ඩායමක් සඳහා සිසුන් වඩා ලියාපදිංචි කල නොහැක.,
-Cannot find Item with this barcode,මෙම තීරු කේතය සමඟ අයිතමය සොයාගත නොහැක,
 Cannot find active Leave Period,ක්රියාකාරී නිවාඩු කාලයක් සොයා ගත නොහැක,
 Cannot produce more Item {0} than Sales Order quantity {1},විකුණුම් සාමය ප්රමාණය {1} වඩා වැඩි අයිතමය {0} බිහි කිරීමට නොහැක,
 Cannot promote Employee with status Left,සේවකයාගේ තත්වය වාමාංශය සමඟ ප්රවර්ධනය කළ නොහැක,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","නිර්මාණය හා දෛනික, කළමනාකරණය කිරීම, සතිපතා හා මාසික ඊ-තැපැල් digests.",
 Create customer quotes,පාරිභෝගික මිල කැඳවීම් නිර්මාණය,
 Create rules to restrict transactions based on values.,අගය පාදක කර ගනුදෙනු සීමා කිරීමට නීති රීති නිර්මාණය කරන්න.,
-Created By,නිර්මාණය කළේ,
 Created {0} scorecards for {1} between: ,{1} අතර {0} සඳහා සාධක කාඩ්පත් නිර්මාණය කරන ලදි:,
 Creating Company and Importing Chart of Accounts,සමාගමක් නිර්මාණය කිරීම සහ ගිණුම් වගුව ආනයනය කිරීම,
 Creating Fees,ගාස්තු සැකසීම,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,පේළි {0} සඳහා: සැලසුම්ගත qty ඇතුල් කරන්න,
 "For {0}, only credit accounts can be linked against another debit entry",{0} සඳහා පමණක් ණය ගිණුම් තවත් හර සටහන හා සම්බන්ධ කර ගත හැකි,
 "For {0}, only debit accounts can be linked against another credit entry","{0} සඳහා, ඩෙබිට් ගිණුම් වලට පමණක් තවත් ණය ප්රවේශය හා සම්බන්ධ කර ගත හැකි",
-Form View,Form View,
 Forum Activity,සංසද ක්රියාකාරිත්වය,
 Free item code is not selected,නොමිලේ අයිතම කේතය තෝරා නොමැත,
 Freight and Forwarding Charges,ගැල් පරිවහන හා භාණ්ඩ යොමු ගාස්තු,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,ඔබගේ සම්බන්ධතා මහජන SMS යවන්න,
 Sensitivity,සංවේදීතාව,
 Sent,එවා,
-Serial #,අනු #,
 Serial No and Batch,අනු අංකය හා කණ්ඩායම,
 Serial No is mandatory for Item {0},අනු අංකය අයිතමය {0} සඳහා අනිවාර්ය වේ,
 Serial No {0} does not belong to Batch {1},අනු අංකය අංක {0} කණ්ඩායමට අයත් නොවේ {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,ඔබ කුමක් උදව් අවශ්ය වන්නේ ඇයි?,
 What does it do?,එය කරන්නේ කුමක්ද?,
 Where manufacturing operations are carried.,නිෂ්පාදන මෙහෙයුම් සිදු කරනු ලැබේ කොහෙද.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",ළමා සමාගම {0} ගිණුමක් නිර්මාණය කරන අතර මාපිය ගිණුම {1} හමු නොවිනි. කරුණාකර අදාල ප්රභූවරයෙකුගේ මව්පියන්ගේ ගිණුමක් සාදන්න,
 White,සුදු,
 Wire Transfer,වයර් ට්රාන්ෆර්,
 WooCommerce Products,WooCommerce නිෂ්පාදන,
@@ -3493,6 +3488,7 @@
 Merge with existing,දැනට පවතින සමඟ ඒකාබද්ධ වීමේ,
 Office,කාර්යාල,
 Orientation,දිශානතිය,
+Parent,මව්,
 Passive,උදාසීන,
 Payment Failed,ගෙවීම් අසාර්ථක විය,
 Percent,සියයට,
@@ -3543,6 +3539,7 @@
 Show {0},{0 Show පෙන්වන්න,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; සහ &quot;}&quot; හැර විශේෂ අක්ෂර නම් කිරීමේ ශ්‍රේණියේ අවසර නැත",
 Target Details,ඉලක්ක විස්තර,
+{0} already has a Parent Procedure {1}.,{0} දැනටමත් දෙමාපිය ක්‍රියා පටිපාටියක් ඇත {1}.,
 API,API,
 Annual,වාර්ෂික,
 Approved,අනුමත,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,අවසන් දිනය ඇරඹුම් දිනය ඊට වඩා අඩු විය නොහැක,
 For Default Supplier (Optional),Default සැපයුම්කරු සඳහා (විකල්ප),
 From date cannot be greater than To date,දිනය සිට දිනට වඩා වැඩි විය නොහැක,
-Get items from,සිට භාණ්ඩ ලබා ගන්න,
 Group by,කණ්ඩායම විසින්,
 In stock,ගබඩාවේ ඇත,
 Item name,අයිතමය නම,
@@ -7558,10 +7554,6 @@
 Quality Goal,ගුණාත්මක ඉලක්කය,
 Monitoring Frequency,අධීක්ෂණ වාර ගණන,
 Weekday,සතියේ දිනය,
-January-April-July-October,ජනවාරි-අප්රේල්-ජූලි-ඔක්තෝබර්,
-Revision and Revised On,සංශෝධනය සහ සංශෝධිත,
-Revision,සංශෝධනය,
-Revised On,සංශෝධිත,
 Objectives,අරමුණු,
 Quality Goal Objective,ගුණාත්මක ඉලක්ක පරමාර්ථය,
 Objective,අරමුණ,
@@ -7574,7 +7566,6 @@
 Processes,ක්‍රියාවලි,
 Quality Procedure Process,තත්ත්ව පටිපාටි ක්‍රියාවලිය,
 Process Description,ක්‍රියාවලි විස්තරය,
-Child Procedure,ළමා පටිපාටිය,
 Link existing Quality Procedure.,පවතින තත්ත්ව ක්‍රියා පටිපාටිය සම්බන්ධ කරන්න.,
 Additional Information,අමතර තොරතුරු,
 Quality Review Objective,තත්ත්ව සමාලෝචන පරමාර්ථය,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,මිලදී ගැනීම රිසිට්පත ප්රවණතා,
 Purchase Register,මිලදී රෙජිස්ටර්,
 Quotation Trends,උද්ධෘත ප්රවණතා,
-Quoted Item Comparison,උපුටා අයිතමය සංසන්දනය,
 Received Items To Be Billed,ලැබී අයිතම බිල්පතක්,
 Qty to Order,ඇණවුම් යවන ලද,
 Requested Items To Be Transferred,ඉල්ලන අයිතම මාරු කර,
@@ -9091,7 +9081,6 @@
 Absent Days,නොපැමිණෙන දින,
 Conditions and Formula variable and example,කොන්දේසි සහ සූත්‍ර විචල්‍යය සහ උදාහරණය,
 Feedback By,ප්‍රතිපෝෂණය,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,නිෂ්පාදන අංශය,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","පෙරනිමියෙන්, ඇතුළත් කළ සම්පූර්ණ නමට අනුව පාරිභෝගිකයාගේ නම සකසා ඇත. ඔබට ගනුදෙනුකරුවන් නම් කිරීමට අවශ්‍ය නම් a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,නව විකුණුම් ගනුදෙනුවක් නිර්මාණය කිරීමේදී පෙරනිමි මිල ලැයිස්තුව වින්‍යාස කරන්න. අයිතමයේ මිල මෙම මිල ලැයිස්තුවෙන් ලබා ගනී.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,වෙන් කළ ශේෂය,
 Uncleared Balance,අපැහැදිලි ශේෂය,
 Payment related to {0} is not completed,{0 to ට අදාළ ගෙවීම් සම්පූර්ණ කර නැත,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,පේළිය # {}: අනුක්‍රමික අංකය {}. P already දැනටමත් වෙනත් POS ඉන්වොයිසියකට ගනුදෙනු කර ඇත. කරුණාකර වලංගු අනුක්‍රමික අංකය තෝරන්න.,
 Row #{}: Item Code: {} is not available under warehouse {}.,පේළිය # {}: අයිතම කේතය: {} ගබඩාව යටතේ නොමැත}}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,පේළිය # {}: අයිතම කේතය සඳහා තොග ප්‍රමාණය ප්‍රමාණවත් නොවේ: ගබඩාව යටතේ {}. ලබා ගත හැකි ප්‍රමාණය {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,පේළිය # {}: කරුණාකර අනුක්‍රමික අංකයක් තෝරා අයිතමයට එරෙහිව කණ්ඩායම් කරන්න: {} හෝ ගනුදෙනුව සම්පූර්ණ කිරීම සඳහා එය ඉවත් කරන්න.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,කරුණාකර කොටස් සැකසුම් තුළ සෘණ කොටස් වලට ඉඩ දෙන්න හෝ ඉදිරියට යාමට කොටස් ඇතුළත් කරන්න.,
 No Inpatient Record found against patient {0},Patient 0 patient රෝගියාට එරෙහිව නේවාසික රෝගී වාර්තාවක් හමු නොවීය,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,රෝගියාගේ එන්කවුන්ටර් {1 against ට එරෙහිව {0 In නේවාසික රෝගී ation ෂධ නියෝගයක් දැනටමත් පවතී.,
+Allow In Returns,ආපසු පැමිණීමට ඉඩ දෙන්න,
+Hide Unavailable Items,ලබා ගත නොහැකි අයිතම සඟවන්න,
+Apply Discount on Discounted Rate,වට්ටම් අනුපාතයට වට්ටම් අයදුම් කරන්න,
+Therapy Plan Template,චිකිත්සක සැලසුම් ආකෘතිය,
+Fetching Template Details,ආකෘති විස්තර ලබා ගැනීම,
+Linked Item Details,සම්බන්ධිත අයිතම විස්තර,
+Therapy Types,චිකිත්සක වර්ග,
+Therapy Plan Template Detail,චිකිත්සක සැලසුම් ආකෘති විස්තරය,
+Non Conformance,අනුකූල නොවන,
+Process Owner,ක්‍රියාවලි හිමිකරු,
+Corrective Action,නිවැරදි කිරීමේ ක්‍රියාව,
+Preventive Action,වැළැක්වීමේ ක්‍රියාව,
+Problem,ගැටලුව,
+Responsible,වගකිව,
+Completion By,සම්පුර්ණ කිරීම,
+Process Owner Full Name,ක්‍රියාවලි හිමිකරුගේ සම්පූර්ණ නම,
+Right Index,දකුණු දර්ශකය,
+Left Index,වම් දර්ශකය,
+Sub Procedure,උප පටිපාටිය,
+Passed,සමත් විය,
+Print Receipt,කුවිතාන්සිය මුද්‍රණය කරන්න,
+Edit Receipt,කුවිතාන්සිය සංස්කරණය කරන්න,
+Focus on search input,සෙවුම් ආදානය කෙරෙහි අවධානය යොමු කරන්න,
+Focus on Item Group filter,අයිතම කණ්ඩායම් පෙරණය කෙරෙහි අවධානය යොමු කරන්න,
+Checkout Order / Submit Order / New Order,පිටවීමේ නියෝගය / නියෝගය ඉදිරිපත් කිරීම / නව ඇණවුම,
+Add Order Discount,ඇණවුම් වට්ටම් එකතු කරන්න,
+Item Code: {0} is not available under warehouse {1}.,අයිතම කේතය: ගබඩාව under 1 under යටතේ {0 available ලබා ගත නොහැක.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,ගබඩාව {1 under යටතේ {0 item අයිතමය සඳහා අනුක්‍රමික අංක නොමැත. කරුණාකර ගබඩාව වෙනස් කිරීමට උත්සාහ කරන්න.,
+Fetched only {0} available serial numbers.,ලබා ගත හැකි අනුක්‍රමික අංක {0 only පමණි.,
+Switch Between Payment Modes,ගෙවීම් ක්‍රම අතර මාරු වන්න,
+Enter {0} amount.,{0} මුදල ඇතුළත් කරන්න.,
+You don't have enough points to redeem.,මුදවා ගැනීමට ඔබට ප්‍රමාණවත් ලකුණු නොමැත.,
+You can redeem upto {0}.,ඔබට {0 to දක්වා මුදවා ගත හැකිය.,
+Enter amount to be redeemed.,මුදවා ගත යුතු මුදල ඇතුළත් කරන්න.,
+You cannot redeem more than {0}.,ඔබට {0 than ට වඩා මුදවා ගත නොහැක.,
+Open Form View,පෝරම දර්ශනය විවෘත කරන්න,
+POS invoice {0} created succesfully,තැ.කා.සි.,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,අයිතම කේතය සඳහා තොග ප්‍රමාණය ප්‍රමාණවත් නොවේ: ගබඩාව {1 under යටතේ {0}. ලබා ගත හැකි ප්‍රමාණය {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,අනුක්‍රමික අංකය: P 0 already දැනටමත් වෙනත් POS ඉන්වොයිසියකට ගනුදෙනු කර ඇත.,
+Balance Serial No,ශේෂ අනුක්‍රමික අංකය,
+Warehouse: {0} does not belong to {1},ගබඩාව: {0} {1 to ට අයත් නොවේ,
+Please select batches for batched item {0},කරුණාකර ated 0 set බැච් අයිතමය සඳහා කණ්ඩායම් තෝරන්න,
+Please select quantity on row {0},කරුණාකර row 0 row පේළියේ ප්‍රමාණය තෝරන්න,
+Please enter serial numbers for serialized item {0},අනුක්‍රමික අයිතමය {0 for සඳහා කරුණාකර අනුක්‍රමික අංක ඇතුළත් කරන්න,
+Batch {0} already selected.,කණ්ඩායම {0} දැනටමත් තෝරාගෙන ඇත.,
+Please select a warehouse to get available quantities,ලබා ගත හැකි ප්‍රමාණ ලබා ගැනීමට කරුණාකර ගබඩාවක් තෝරන්න,
+"For transfer from source, selected quantity cannot be greater than available quantity","ප්‍රභවයෙන් මාරු කිරීම සඳහා, තෝරාගත් ප්‍රමාණය පවතින ප්‍රමාණයට වඩා වැඩි විය නොහැක",
+Cannot find Item with this Barcode,මෙම තීරු කේතය සමඟ අයිතමය සොයාගත නොහැක,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0 අනිවාර්ය වේ. සමහර විට මුදල් හුවමාරු වාර්තාව {1} සිට {2 for සඳහා නිර්මාණය නොවේ,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,to} එයට සම්බන්ධ වත්කම් ඉදිරිපත් කර ඇත. මිලදී ගැනීමේ ප්‍රතිලාභයක් නිර්මාණය කිරීම සඳහා ඔබ වත්කම් අවලංගු කළ යුතුය.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,ඉදිරිපත් කළ වත්කම {0 with සමඟ සම්බන්ධ වී ඇති බැවින් මෙම ලේඛනය අවලංගු කළ නොහැක. ඉදිරියට යාමට කරුණාකර එය අවලංගු කරන්න.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,පේළිය # {}: අනුක්‍රමික අංකය {} දැනටමත් වෙනත් POS ඉන්වොයිසියකට ගනුදෙනු කර ඇත. කරුණාකර වලංගු අනුක්‍රමික අංකය තෝරන්න.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,පේළිය # {}: අනුක්‍රමික අංක {already දැනටමත් වෙනත් POS ඉන්වොයිසියකට ගනුදෙනු කර ඇත. කරුණාකර වලංගු අනුක්‍රමික අංකය තෝරන්න.,
+Item Unavailable,අයිතමය නොමැත,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},පේළිය # {}: මුල් ඉන්වොයිසියෙහි ගනුදෙනු නොකළ බැවින් අනුක්‍රමික අංකය {return ආපසු ලබා දිය නොහැක {},
+Please set default Cash or Bank account in Mode of Payment {},කරුණාකර පෙරනිමි මුදල් හෝ බැංකු ගිණුම ගෙවීම් ක්‍රමයට සකසන්න {},
+Please set default Cash or Bank account in Mode of Payments {},කරුණාකර පෙරනිමි මුදල් හෝ බැංකු ගිණුම ගෙවීම් ක්‍රමයට සකසන්න {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,කරුණාකර {} ගිණුම ශේෂ පත්‍ර ගිණුමක් බව සහතික කරන්න. ඔබට මව් ගිණුම ශේෂ පත්‍ර ගිණුමකට වෙනස් කළ හැකිය හෝ වෙනත් ගිණුමක් තෝරා ගත හැකිය.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,කරුණාකර}} ගිණුම ගෙවිය යුතු ගිණුමක් බව සහතික කරන්න. ගෙවිය යුතු ගිණුම් වර්ගය වෙනස් කරන්න හෝ වෙනත් ගිණුමක් තෝරන්න.,
+Row {}: Expense Head changed to {} ,පේළිය}}: වියදම් ශීර්ෂය {to ලෙස වෙනස් කර ඇත,
+because account {} is not linked to warehouse {} ,ගිණුම {} ගබඩාවට සම්බන්ධ නොවන නිසා}},
+or it is not the default inventory account,නැතහොත් එය සුපුරුදු ඉන්වෙන්ටරි ගිණුම නොවේ,
+Expense Head Changed,වියදම් ශීර්ෂය වෙනස් කර ඇත,
+because expense is booked against this account in Purchase Receipt {},මිලදී ගැනීමේ කුවිතාන්සිය තුළ මෙම ගිණුමට එරෙහිව වියදම් වෙන් කර ඇති නිසා,
+as no Purchase Receipt is created against Item {}. ,Item item අයිතමයට එරෙහිව කිසිදු මිලදී ගැනීමේ කුවිතාන්සියක් නිර්මාණය නොවන බැවින්.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,මිලදී ගැනීමේ ඉන්වොයිසියෙන් පසු මිලදී ගැනීමේ කුවිතාන්සිය නිර්මාණය කරන විට නඩු සඳහා ගිණුම්කරණය හැසිරවීම සඳහා මෙය සිදු කෙරේ,
+Purchase Order Required for item {},Item item අයිතමය සඳහා මිලදී ගැනීමේ ඇණවුම අවශ්‍යයි,
+To submit the invoice without purchase order please set {} ,මිලදී ගැනීමේ ඇණවුමකින් තොරව ඉන්වොයිසිය ඉදිරිපත් කිරීමට කරුණාකර set set සකසන්න,
+as {} in {},{} හි {as ලෙස,
+Mandatory Purchase Order,අනිවාර්ය මිලදී ගැනීමේ නියෝගය,
+Purchase Receipt Required for item {},Item item අයිතමය සඳහා මිලදී ගැනීමේ කුවිතාන්සිය අවශ්‍යයි,
+To submit the invoice without purchase receipt please set {} ,මිලදී ගැනීමේ කුවිතාන්සියක් නොමැතිව ඉන්වොයිසිය ඉදිරිපත් කිරීමට කරුණාකර set set ලෙස සකසන්න,
+Mandatory Purchase Receipt,අනිවාර්ය මිලදී ගැනීමේ කුවිතාන්සිය,
+POS Profile {} does not belongs to company {},POS පැතිකඩ {company සමාගමට අයත් නොවේ {},
+User {} is disabled. Please select valid user/cashier,පරිශීලක {disabled අක්‍රීය කර ඇත. කරුණාකර වලංගු පරිශීලක / අයකැමි තෝරන්න,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,පේළිය # {}: ආපසු ඉන්වොයිසියේ මුල් ඉන්වොයිසිය {} {} වේ.,
+Original invoice should be consolidated before or along with the return invoice.,ආපසු එන ඉන්වොයිසියට පෙර හෝ ඒ සමඟ මුල් ඉන්වොයිසිය ඒකාබද්ධ කළ යුතුය.,
+You can add original invoice {} manually to proceed.,ඉදිරියට යාමට ඔබට මුල් ඉන්වොයිසිය add add අතින් එකතු කළ හැකිය.,
+Please ensure {} account is a Balance Sheet account. ,කරුණාකර {} ගිණුම ශේෂ පත්‍ර ගිණුමක් බව සහතික කරන්න.,
+You can change the parent account to a Balance Sheet account or select a different account.,ඔබට මව් ගිණුම ශේෂ පත්‍ර ගිණුමකට වෙනස් කළ හැකිය හෝ වෙනත් ගිණුමක් තෝරා ගත හැකිය.,
+Please ensure {} account is a Receivable account. ,කරුණාකර {} ගිණුම ලැබිය යුතු ගිණුමක් බව සහතික කරන්න.,
+Change the account type to Receivable or select a different account.,ලැබිය යුතු ගිණුම් වර්ගය වෙනස් කරන්න හෝ වෙනත් ගිණුමක් තෝරන්න.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},උපයන ලද ලෝයල්ටි පොයින්ට්ස් මුදාගත් බැවින් cancel අවලංගු කළ නොහැක. පළමුව අවලංගු කරන්න {} නැත {},
+already exists,දැනටමත් පවතී,
+POS Closing Entry {} against {} between selected period,POS වසා දැමීමේ ප්‍රවේශය {} ට එරෙහිව}} තෝරාගත් කාල සීමාව අතර,
+POS Invoice is {},POS ඉන්වොයිසිය {},
+POS Profile doesn't matches {},POS පැතිකඩ නොගැලපේ {},
+POS Invoice is not {},POS ඉන්වොයිසිය {not නොවේ,
+POS Invoice isn't created by user {},POS ඉන්වොයිසිය පරිශීලකයා විසින් නිර්මාණය නොකෙරේ {},
+Row #{}: {},පේළිය # {}: {},
+Invalid POS Invoices,අවලංගු POS ඉන්වොයිසි,
+Please add the account to root level Company - {},කරුණාකර ගිණුම මූල මට්ටමේ සමාගමට එක් කරන්න - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","ළමා සමාගම {0 for සඳහා ගිණුමක් නිර්මාණය කරන අතරතුර, මව් ගිණුම {1 found හමු නොවීය. කරුණාකර COA හි මව් ගිණුම සාදන්න",
+Account Not Found,ගිණුම් සොයාගත නොහැකි,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","ළමා සමාගම {0 for සඳහා ගිණුමක් නිර්මාණය කරන අතරේ, මව් ගිණුම {1 led ලෙජර ගිණුමක් ලෙස හමු විය.",
+Please convert the parent account in corresponding child company to a group account.,කරුණාකර අනුරූප ළමා සමාගමක ඇති මව් ගිණුම කණ්ඩායම් ගිණුමකට පරිවර්තනය කරන්න.,
+Invalid Parent Account,අවලංගු දෙමාපිය ගිණුම,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",නොගැලපීම වළක්වා ගැනීම සඳහා එය නැවත නම් කිරීම මව් සමාගම {0 via හරහා පමණි.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","ඔබ {2} අයිතමයේ {0} {1} ප්‍රමාණ නම්, {3 the යෝජනා ක්‍රමය අයිතමය මත යොදනු ලැබේ.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","ඔබ {2} වටිනා අයිතමය {2 If නම්, {3 the යෝජනා ක්‍රමය අයිතමය මත යොදනු ලැබේ.",
+"As the field {0} is enabled, the field {1} is mandatory.",ක්ෂේත්‍රය {0 සක්‍රීය කර ඇති බැවින් {1 field ක්ෂේත්‍රය අනිවාර්ය වේ.,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",{0 field ක්ෂේත්‍රය සක්‍රිය කර ඇති බැවින් {1 field ක්ෂේත්‍රයේ වටිනාකම 1 ට වඩා වැඩි විය යුතුය.,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Full 1 item අයිතමයේ අනුක්‍රමික අංක 0 deliver භාර දිය නොහැක, එය පූර්ණ පිරවුම් විකුණුම් ඇණවුම {2 to සඳහා වෙන් කර ඇත",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","විකුණුම් ඇණවුම {0 the සඳහා {1 item සඳහා වෙන් කිරීමක් ඇත, ඔබට ලබා දිය හැක්කේ {0 against ට එරෙහිව වෙන් කළ {1 only පමණි.",
+{0} Serial No {1} cannot be delivered,{0} අනුක්‍රමික අංකය {1 delivery ලබා දිය නොහැක,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},පේළිය {0}: අමුද්‍රව්‍ය {1 for සඳහා උප කොන්ත්‍රාත් අයිතමය අනිවාර්ය වේ,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",ප්‍රමාණවත් අමුද්‍රව්‍ය ඇති බැවින් ගබඩාව {0 for සඳහා ද්‍රව්‍යමය ඉල්ලීම අවශ්‍ය නොවේ.,
+" If you still want to proceed, please enable {0}.","ඔබට තවමත් ඉදිරියට යාමට අවශ්‍ය නම්, කරුණාකර {0 enable සක්‍රීය කරන්න.",
+The item referenced by {0} - {1} is already invoiced,{0} - {1 by විසින් සඳහන් කරන ලද අයිතමය දැනටමත් ඉන්වොයිස් කර ඇත,
+Therapy Session overlaps with {0},චිකිත්සක සැසිය {0 with සමඟ අතිච්ඡාදනය වේ,
+Therapy Sessions Overlapping,චිකිත්සක සැසි අතිච්ඡාදනය,
+Therapy Plans,චිකිත්සක සැලසුම්,
+"Item Code, warehouse, quantity are required on row {0}","Code 0 row පේළියේ අයිතම කේතය, ගබඩාව, ප්‍රමාණය අවශ්‍ය වේ",
+Get Items from Material Requests against this Supplier,මෙම සැපයුම්කරුට එරෙහිව ද්‍රව්‍යමය ඉල්ලීම් වලින් අයිතම ලබා ගන්න,
+Enable European Access,යුරෝපීය ප්‍රවේශය සක්‍රීය කරන්න,
+Creating Purchase Order ...,මිලදී ගැනීමේ ඇණවුමක් නිර්මාණය කිරීම ...,
+"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.","පහත අයිතමවල පෙරනිමි සැපයුම්කරුවන්ගෙන් සැපයුම්කරුවෙකු තෝරන්න. තෝරාගැනීමේදී, තෝරාගත් සැපයුම්කරුට පමණක් අයත් භාණ්ඩවලට එරෙහිව මිලදී ගැනීමේ නියෝගයක් කරනු ලැබේ.",
+Row #{}: You must select {} serial numbers for item {}.,පේළිය # {}: ඔබ item item අයිතමය සඳහා {} අනුක්‍රමික අංක තෝරාගත යුතුය.,
diff --git a/erpnext/translations/sk.csv b/erpnext/translations/sk.csv
index fd5403a..cb4a7fe 100644
--- a/erpnext/translations/sk.csv
+++ b/erpnext/translations/sk.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Nemôže odpočítať, ak kategória je pre &quot;ocenenie&quot; alebo &quot;Vaulation a Total&quot;",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Nemožno odstrániť Poradové číslo {0}, ktorý sa používa na sklade transakciách",
 Cannot enroll more than {0} students for this student group.,Nemôže prihlásiť viac ako {0} študentov na tejto študentské skupiny.,
-Cannot find Item with this barcode,Položku s týmto čiarovým kódom nemožno nájsť,
 Cannot find active Leave Period,Nedá sa nájsť aktívne obdobie neprítomnosti,
 Cannot produce more Item {0} than Sales Order quantity {1},Nie je možné vyrobiť viac Položiek {0} ako je množstvo na predajnej objednávke {1},
 Cannot promote Employee with status Left,Nemožno povýšiť zamestnanca so statusom odídený,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Tvorba a správa denných, týždenných a mesačných emailových spravodajcov",
 Create customer quotes,Vytvoriť zákaznícke ponuky,
 Create rules to restrict transactions based on values.,Vytvoření pravidla pro omezení transakce na základě hodnot.,
-Created By,Vytvorené (kým),
 Created {0} scorecards for {1} between: ,Vytvorili {0} scorecards pre {1} medzi:,
 Creating Company and Importing Chart of Accounts,Založenie spoločnosti a importná účtovná osnova,
 Creating Fees,Vytváranie poplatkov,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Pre riadok {0}: Zadajte naplánované množstvo,
 "For {0}, only credit accounts can be linked against another debit entry","Pro {0}, tak úvěrové účty mohou být propojeny na jinou položku debetní",
 "For {0}, only debit accounts can be linked against another credit entry","Pro {0}, tak debetní účty mohou být spojeny proti jinému připsání",
-Form View,Zobrazenie formulára,
 Forum Activity,Aktivita fóra,
 Free item code is not selected,Zadarmo kód položky nie je vybratý,
 Freight and Forwarding Charges,Nákladní a Spediční Poplatky,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Posílat hromadné SMS vašim kontaktům,
 Sensitivity,citlivosť,
 Sent,Odoslané,
-Serial #,Serial #,
 Serial No and Batch,Sériové číslo a Dávka,
 Serial No is mandatory for Item {0},Pořadové číslo je povinná k bodu {0},
 Serial No {0} does not belong to Batch {1},Sériové číslo {0} nepatrí do dávky {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,S čím potrebujete pomôcť?,
 What does it do?,Čím sa zaoberá?,
 Where manufacturing operations are carried.,"Tam, kde jsou výrobní operace prováděny.",
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Pri vytváraní účtu pre detskú spoločnosť {0} sa rodičovský účet {1} nenašiel. Vytvorte nadradený účet v príslušnom COA,
 White,Biela,
 Wire Transfer,Bankovní převod,
 WooCommerce Products,Produkty spoločnosti WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Zlúčiť s existujúcim,
 Office,Kancelář,
 Orientation,orientácia,
+Parent,Rodič,
 Passive,Pasívny,
 Payment Failed,platba zlyhala,
 Percent,Percento,
@@ -3543,6 +3539,7 @@
 Show {0},Zobraziť {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Špeciálne znaky s výnimkou „-“, „#“, „.“, „/“, „{“ A „}“ nie sú v názvových sériách povolené.",
 Target Details,Podrobnosti o cieli,
+{0} already has a Parent Procedure {1}.,{0} už má rodičovský postup {1}.,
 API,API,
 Annual,Roční,
 Approved,Schválený,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Dátum ukončenia nemôže byť menší ako dátum začiatku,
 For Default Supplier (Optional),Pre predvoleného dodávateľa (nepovinné),
 From date cannot be greater than To date,Dátum OD nemôže byť väčší ako dátum DO,
-Get items from,Získať predmety z,
 Group by,Seskupit podle,
 In stock,Skladom,
 Item name,Názov položky,
@@ -7558,10 +7554,6 @@
 Quality Goal,Cieľ kvality,
 Monitoring Frequency,Frekvencia monitorovania,
 Weekday,všedný deň,
-January-April-July-October,Január-apríl-júl-október,
-Revision and Revised On,Revízia a revízia dňa,
-Revision,opakovanie,
-Revised On,Revidované dňa,
 Objectives,ciele,
 Quality Goal Objective,Cieľ kvality,
 Objective,objektívny,
@@ -7574,7 +7566,6 @@
 Processes,Procesy,
 Quality Procedure Process,Proces kvality,
 Process Description,Popis procesu,
-Child Procedure,Postup dieťaťa,
 Link existing Quality Procedure.,Prepojiť existujúci postup kvality.,
 Additional Information,Ďalšie informácie,
 Quality Review Objective,Cieľ preskúmania kvality,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Doklad o koupi Trendy,
 Purchase Register,Nákup Register,
 Quotation Trends,Vývoje ponúk,
-Quoted Item Comparison,Citoval Položka Porovnanie,
 Received Items To Be Billed,"Přijaté položek, které mají být účtovány",
 Qty to Order,Množství k objednávce,
 Requested Items To Be Transferred,Požadované položky mají být převedeny,
@@ -9091,7 +9081,6 @@
 Absent Days,Neprítomné dni,
 Conditions and Formula variable and example,Premenná podmienok a príkladu a vzorec,
 Feedback By,Spätná väzba od,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.RRRR .-. MM .-. DD.-,
 Manufacturing Section,Výrobná sekcia,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Predvolene je meno zákazníka nastavené podľa zadaného celého mena. Ak chcete, aby boli zákazníci pomenovaní a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Pri vytváraní novej predajnej transakcie nakonfigurujte predvolený cenník. Ceny položiek sa načítajú z tohto cenníka.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Vyhradený zostatok,
 Uncleared Balance,Nevyúčtovaný zostatok,
 Payment related to {0} is not completed,Platba súvisiaca s účtom {0} nie je dokončená,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riadok # {}: Sériové číslo {}. {} už bol prevedený do inej POS faktúry. Vyberte prosím platné sériové číslo.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Riadok # {}: Kód položky: {} nie je k dispozícii v sklade {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Riadok # {}: Množstvo skladu nestačí na kód položky: {} v sklade {}. Dostupné množstvo {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Riadok č. {}: Vyberte sériové číslo a porovnajte položku s položkou: {} alebo ju odstráňte, čím dokončíte transakciu.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Ak chcete pokračovať, povoľte možnosť Povoliť zápornú akciu v nastaveniach skladu alebo vytvorte položku skladu.",
 No Inpatient Record found against patient {0},Proti pacientovi {0} sa nenašiel žiadny záznam o hospitalizácii,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Príkaz na hospitalizáciu {0} proti stretnutiu pacienta {1} už existuje.,
+Allow In Returns,Povoliť pri vrátení,
+Hide Unavailable Items,Skryť nedostupné položky,
+Apply Discount on Discounted Rate,Použite zľavu na zľavnenú sadzbu,
+Therapy Plan Template,Šablóna plánu terapie,
+Fetching Template Details,Načítavajú sa podrobnosti šablóny,
+Linked Item Details,Podrobnosti prepojenej položky,
+Therapy Types,Typy terapie,
+Therapy Plan Template Detail,Detail šablóny terapeutického plánu,
+Non Conformance,Nezhoda,
+Process Owner,Vlastník procesu,
+Corrective Action,Nápravné opatrenia,
+Preventive Action,Preventívna akcia,
+Problem,Problém,
+Responsible,Zodpovedný,
+Completion By,Dokončenie do,
+Process Owner Full Name,Celé meno vlastníka procesu,
+Right Index,Správny index,
+Left Index,Ľavý index,
+Sub Procedure,Čiastkový postup,
+Passed,Prešiel,
+Print Receipt,Tlač potvrdenky,
+Edit Receipt,Upraviť príjmový doklad,
+Focus on search input,Zamerajte sa na vstup vyhľadávania,
+Focus on Item Group filter,Zamerajte sa na filter Skupiny položiek,
+Checkout Order / Submit Order / New Order,Pokladňa Objednávka / Odoslať objednávku / Nová objednávka,
+Add Order Discount,Pridajte zľavu na objednávku,
+Item Code: {0} is not available under warehouse {1}.,Kód položky: {0} nie je k dispozícii v sklade {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Sériové čísla nie sú k dispozícii pre položku {0} v sklade {1}. Skúste zmeniť sklad.,
+Fetched only {0} available serial numbers.,Načítalo sa iba {0} dostupných sériových čísel.,
+Switch Between Payment Modes,Prepínanie medzi platobnými režimami,
+Enter {0} amount.,Zadajte sumu {0}.,
+You don't have enough points to redeem.,Nemáte dostatok bodov na uplatnenie.,
+You can redeem upto {0}.,Môžete uplatniť až {0}.,
+Enter amount to be redeemed.,"Zadajte sumu, ktorá sa má uplatniť.",
+You cannot redeem more than {0}.,Nemôžete uplatniť viac ako {0}.,
+Open Form View,Otvorte formulárové zobrazenie,
+POS invoice {0} created succesfully,POS faktúra {0} bola úspešne vytvorená,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Skladové množstvo nestačí na kód položky: {0} v sklade {1}. Dostupné množstvo {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Sériové číslo: {0} už bolo prevedené na inú POS faktúru.,
+Balance Serial No,Sériové číslo zostatku,
+Warehouse: {0} does not belong to {1},Sklad: {0} nepatrí k {1},
+Please select batches for batched item {0},Vyberte dávky pre dávkovú položku {0},
+Please select quantity on row {0},Vyberte množstvo v riadku {0},
+Please enter serial numbers for serialized item {0},Zadajte sériové čísla pre serializovanú položku {0},
+Batch {0} already selected.,Dávka {0} je už vybratá.,
+Please select a warehouse to get available quantities,"Vyberte si sklad, aby ste získali dostupné množstvá",
+"For transfer from source, selected quantity cannot be greater than available quantity",Pre prenos zo zdroja nemôže byť vybrané množstvo väčšie ako dostupné množstvo,
+Cannot find Item with this Barcode,Položka s týmto čiarovým kódom sa nedá nájsť,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} je povinné. Možno nie je vytvorený záznam výmeny mien od {1} do {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} odoslal diela s ním spojené. Ak chcete vytvoriť návratnosť nákupu, musíte aktíva zrušiť.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Tento dokument nie je možné zrušiť, pretože je prepojený s odoslaným dielom {0}. Ak chcete pokračovať, zrušte ich.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riadok # {}: Sériové číslo {} už bol prevedený na inú POS faktúru. Vyberte prosím platné sériové číslo.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Riadok # {}: Sériové čísla {} už bol prevedený na inú POS faktúru. Vyberte prosím platné sériové číslo.,
+Item Unavailable,Položka nie je k dispozícii,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Riadok č. {}: Sériové číslo {} nie je možné vrátiť, pretože nebol vykonaný v pôvodnej faktúre {}",
+Please set default Cash or Bank account in Mode of Payment {},V platobnom režime nastavte predvolenú hotovosť alebo bankový účet {},
+Please set default Cash or Bank account in Mode of Payments {},V platobnom režime nastavte predvolený hotovostný alebo bankový účet {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Zaistite, aby účet {} bol súvahovým účtom. Môžete zmeniť nadradený účet na súvahový alebo zvoliť iný účet.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Zaistite, aby účet {} bol platiteľským účtom. Zmeňte typ účtu na splatný alebo vyberte iný účet.",
+Row {}: Expense Head changed to {} ,Riadok {}: Výdavková hlava sa zmenila na {},
+because account {} is not linked to warehouse {} ,pretože účet {} nie je prepojený so skladom {},
+or it is not the default inventory account,alebo to nie je predvolený účet zásob,
+Expense Head Changed,Výdavková hlava zmenená,
+because expense is booked against this account in Purchase Receipt {},pretože náklady sú voči tomuto účtu zaúčtované v doklade o kúpe {},
+as no Purchase Receipt is created against Item {}. ,pretože s položkou {} sa nevytvára žiadny doklad o kúpe.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Toto sa vykonáva na spracovanie účtovníctva v prípadoch, keď sa po nákupnej faktúre vytvorí príjmový doklad",
+Purchase Order Required for item {},Pre položku {} je požadovaná objednávka,
+To submit the invoice without purchase order please set {} ,"Ak chcete odoslať faktúru bez objednávky, nastavte {}",
+as {} in {},ako v {},
+Mandatory Purchase Order,Povinná objednávka,
+Purchase Receipt Required for item {},Pre položku {} sa vyžaduje doklad o kúpe,
+To submit the invoice without purchase receipt please set {} ,"Ak chcete odoslať faktúru bez dokladu o kúpe, nastavte {}",
+Mandatory Purchase Receipt,Povinný doklad o kúpe,
+POS Profile {} does not belongs to company {},POS profil {} nepatrí spoločnosti {},
+User {} is disabled. Please select valid user/cashier,Používateľ {} je zakázaný. Vyberte platného používateľa / pokladníka,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Riadok č. {}: Pôvodná faktúra {} spätnej faktúry {} je {}.,
+Original invoice should be consolidated before or along with the return invoice.,Originál faktúry by mal byť konsolidovaný pred alebo spolu so spätnou faktúrou.,
+You can add original invoice {} manually to proceed.,"Ak chcete pokračovať, môžete originálnu faktúru pridať {} ručne.",
+Please ensure {} account is a Balance Sheet account. ,"Zaistite, aby účet {} bol súvahovým účtom.",
+You can change the parent account to a Balance Sheet account or select a different account.,Môžete zmeniť nadradený účet na súvahový alebo zvoliť iný účet.,
+Please ensure {} account is a Receivable account. ,"Zaistite, aby účet {} bol prijatým účtom.",
+Change the account type to Receivable or select a different account.,Zmeňte typ účtu na Pohľadávka alebo vyberte iný účet.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"Službu {} nie je možné zrušiť, pretože boli využité získané vernostné body. Najskôr zrušte {} Nie {}",
+already exists,už existuje,
+POS Closing Entry {} against {} between selected period,Uzávierka vstupu POS {} oproti {} medzi vybraným obdobím,
+POS Invoice is {},Faktúra POS je {},
+POS Profile doesn't matches {},POS profil sa nezhoduje s {},
+POS Invoice is not {},POS faktúra nie je {},
+POS Invoice isn't created by user {},POS faktúra nie je vytvorená používateľom {},
+Row #{}: {},Riadok č. {}: {},
+Invalid POS Invoices,Neplatné faktúry POS,
+Please add the account to root level Company - {},Pridajte účet do spoločnosti na koreňovej úrovni - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Pri vytváraní účtu pre detskú spoločnosť {0} sa rodičovský účet {1} nenašiel. Vytvorte nadradený účet v zodpovedajúcom COA,
+Account Not Found,Účet nebol nájdený,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Pri vytváraní účtu pre detskú spoločnosť {0} sa rodičovský účet {1} našiel ako účet hlavnej knihy.,
+Please convert the parent account in corresponding child company to a group account.,Konvertujte materský účet v príslušnej podradenej spoločnosti na skupinový účet.,
+Invalid Parent Account,Neplatný nadradený účet,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Premenovanie je povolené iba prostredníctvom materskej spoločnosti {0}, aby sa zabránilo nesúladu.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ak {0} {1} množstvá položky {2}, použije sa na ňu schéma {3}.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ak {0} {1} máte hodnotu položky {2}, použije sa na ňu schéma {3}.",
+"As the field {0} is enabled, the field {1} is mandatory.","Pretože je pole {0} povolené, je pole {1} povinné.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Keď je pole {0} povolené, hodnota poľa {1} by mala byť viac ako 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Nie je možné doručiť sériové číslo {0} položky {1}, pretože je rezervovaná na vyplnenie zákazky odberateľa {2}.",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Zákazka odberateľa {0} má rezerváciu pre položku {1}, môžete doručiť iba rezervované {1} oproti {0}.",
+{0} Serial No {1} cannot be delivered,{0} Sériové číslo {1} nie je možné doručiť,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Riadok {0}: Subdodávateľská položka je pre surovinu povinná {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Pretože je tu dostatok surovín, požiadavka na materiál sa v sklade {0} nevyžaduje.",
+" If you still want to proceed, please enable {0}.","Ak stále chcete pokračovať, povoľte {0}.",
+The item referenced by {0} - {1} is already invoiced,"Položka, na ktorú odkazuje {0} - {1}, je už fakturovaná",
+Therapy Session overlaps with {0},Terapeutické sedenie sa prekrýva s {0},
+Therapy Sessions Overlapping,Terapeutické sedenia sa prekrývajú,
+Therapy Plans,Terapeutické plány,
+"Item Code, warehouse, quantity are required on row {0}","V riadku {0} sa vyžaduje kód položky, sklad, množstvo",
+Get Items from Material Requests against this Supplier,Získajte položky z materiálových požiadaviek voči tomuto dodávateľovi,
+Enable European Access,Umožniť európsky prístup,
+Creating Purchase Order ...,Vytvára sa objednávka ...,
+"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.",Z predvolených dodávateľov nižšie uvedených položiek vyberte dodávateľa. Pri výbere sa uskutoční objednávka iba na položky patriace vybranému dodávateľovi.,
+Row #{}: You must select {} serial numbers for item {}.,Riadok č. {}: Musíte zvoliť {} sériové čísla pre položku {}.,
diff --git a/erpnext/translations/sl.csv b/erpnext/translations/sl.csv
index 9de9854..8beec6b 100644
--- a/erpnext/translations/sl.csv
+++ b/erpnext/translations/sl.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"ne more odbiti, če je kategorija za &quot;vrednotenje&quot; ali &quot;Vaulation in Total&quot;",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Ne morem izbrisati Serijska št {0}, saj je uporabljen v transakcijah zalogi",
 Cannot enroll more than {0} students for this student group.,ne more vpisati več kot {0} študentov za to študentsko skupino.,
-Cannot find Item with this barcode,Elementa ni mogoče najti s to črtno kodo,
 Cannot find active Leave Period,Aktivnega obdobja puščanja ni mogoče najti,
 Cannot produce more Item {0} than Sales Order quantity {1},Ne more proizvajati več item {0} od prodaje kol {1},
 Cannot promote Employee with status Left,Zaposlenca s statusom Levo ni mogoče spodbujati,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Ustvarjanje in upravljanje dnevne, tedenske in mesečne email prebavlja.",
 Create customer quotes,Ustvari ponudbe kupcev,
 Create rules to restrict transactions based on values.,"Ustvarite pravila za omejitev transakcije, ki temeljijo na vrednotah.",
-Created By,Ustvaril,
 Created {0} scorecards for {1} between: ,Ustvarjene {0} kazalnike za {1} med:,
 Creating Company and Importing Chart of Accounts,Ustvarjanje podjetja in uvoz računa,
 Creating Fees,Ustvarjanje pristojbin,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Za vrstico {0}: vnesite načrtovani qty,
 "For {0}, only credit accounts can be linked against another debit entry","Za {0}, lahko le kreditne račune povezati proti drugemu vstop trajnika",
 "For {0}, only debit accounts can be linked against another credit entry","Za {0}, lahko le debetne račune povezati proti drugemu knjiženje",
-Form View,Pogled obrazca,
 Forum Activity,Forumska dejavnost,
 Free item code is not selected,Brezplačna koda izdelka ni izbrana,
 Freight and Forwarding Charges,Tovorni in Forwarding Stroški,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Pošlji množično SMS vaših stikov,
 Sensitivity,Občutljivost,
 Sent,Pošlje,
-Serial #,Serial #,
 Serial No and Batch,Serijska številka in serije,
 Serial No is mandatory for Item {0},Zaporedna številka je obvezna za postavko {0},
 Serial No {0} does not belong to Batch {1},Serijska številka {0} ne sodi v paket {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Kaj potrebujete pomoč?,
 What does it do?,Kaj to naredi?,
 Where manufacturing operations are carried.,Kjer so proizvodni postopki.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Pri ustvarjanju računa za otroško podjetje {0}, nadrejenega računa {1} ni mogoče najti. Ustvarite nadrejeni račun v ustreznem COA",
 White,Bela,
 Wire Transfer,Wire Transfer,
 WooCommerce Products,Izdelki WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Združi z obstoječo,
 Office,Pisarna,
 Orientation,usmerjenost,
+Parent,Parent,
 Passive,Pasivna,
 Payment Failed,plačilo ni uspelo,
 Percent,Odstotek,
@@ -3543,6 +3539,7 @@
 Show {0},Prikaži {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Posebni znaki, razen &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; In &quot;}&quot; v poimenovanju ni dovoljen",
 Target Details,Podrobnosti cilja,
+{0} already has a Parent Procedure {1}.,{0} že ima nadrejeni postopek {1}.,
 API,API,
 Annual,Letno,
 Approved,Odobreno,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Datum konca ne sme biti krajši od začetnega datuma,
 For Default Supplier (Optional),Za privzeto dobavitelja (neobvezno),
 From date cannot be greater than To date,Od datuma ne more biti večje od datuma,
-Get items from,Pridobi artikle iz,
 Group by,Skupina avtorja,
 In stock,Na zalogi,
 Item name,Ime predmeta,
@@ -7558,10 +7554,6 @@
 Quality Goal,Cilj kakovosti,
 Monitoring Frequency,Spremljanje pogostosti,
 Weekday,Delovni dan,
-January-April-July-October,Januar-april-julij-oktober,
-Revision and Revised On,Revizija in revidirana dne,
-Revision,Revizija,
-Revised On,Revidirano dne,
 Objectives,Cilji,
 Quality Goal Objective,Cilj Kakovostni cilj,
 Objective,Cilj,
@@ -7574,7 +7566,6 @@
 Processes,Procesi,
 Quality Procedure Process,Postopek kakovosti postopka,
 Process Description,Opis postopka,
-Child Procedure,Otroški postopek,
 Link existing Quality Procedure.,Povezati obstoječi postopek kakovosti.,
 Additional Information,Dodatne informacije,
 Quality Review Objective,Cilj pregleda kakovosti,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Nakup Prejem Trendi,
 Purchase Register,Nakup Register,
 Quotation Trends,Trendi ponudb,
-Quoted Item Comparison,Citirano Točka Primerjava,
 Received Items To Be Billed,Prejete Postavke placevali,
 Qty to Order,Količina naročiti,
 Requested Items To Be Transferred,Zahtevane blago prenaša,
@@ -9091,7 +9081,6 @@
 Absent Days,Odsotni dnevi,
 Conditions and Formula variable and example,Pogoji in spremenljivka formule in primer,
 Feedback By,Povratne informacije avtorja,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.LLLL .-. MM .-. DD.-,
 Manufacturing Section,Oddelek za proizvodnjo,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Privzeto je ime stranke nastavljeno na vneseno polno ime. Če želite, da stranke imenuje",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurirajte privzeti cenik pri ustvarjanju nove prodajne transakcije. Cene izdelkov bodo pridobljene iz tega cenika.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Rezervirano stanje,
 Uncleared Balance,Nejasno ravnovesje,
 Payment related to {0} is not completed,Plačilo v zvezi z {0} ni zaključeno,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Vrstica # {}: zaporedna številka {}. {} je že izveden na drug račun za POS. Izberite veljavno serijsko št.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Vrstica # {}: Koda artikla: {} ni na voljo v skladišču {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Vrstica št. {}: Količina zaloge ni dovolj za kodo artikla: {} v skladišču {}. Razpoložljiva količina {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Vrstica # {}: izberite serijsko številko in paket proti elementu: {} ali jo odstranite, če želite dokončati transakcijo.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,V nadaljevanju omogočite možnost Dovoli negativne zaloge ali ustvarite vnos zalog.,
 No Inpatient Record found against patient {0},Za pacienta ni bil najden noben zapis o bolnišnici {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Nalog za bolnišnično zdravljenje {0} proti srečanju bolnika {1} že obstaja.,
+Allow In Returns,Dovoli vračila,
+Hide Unavailable Items,Skrij nedosegljive elemente,
+Apply Discount on Discounted Rate,Uporabite popust na popust,
+Therapy Plan Template,Predloga načrta terapije,
+Fetching Template Details,Pridobivanje podrobnosti o predlogi,
+Linked Item Details,Podrobnosti povezanih elementov,
+Therapy Types,Vrste terapije,
+Therapy Plan Template Detail,Podrobnosti predloge načrta terapije,
+Non Conformance,Neskladnost,
+Process Owner,Lastnik postopka,
+Corrective Action,Korektivni ukrepi,
+Preventive Action,Preventivna akcija,
+Problem,Težava,
+Responsible,Odgovorno,
+Completion By,Dokončanje:,
+Process Owner Full Name,Polno ime lastnika postopka,
+Right Index,Kazalo desno,
+Left Index,Levi kazalec,
+Sub Procedure,Podproces,
+Passed,Uspešno,
+Print Receipt,Potrdilo o tiskanju,
+Edit Receipt,Uredi potrdilo,
+Focus on search input,Osredotočite se na vnos iskanja,
+Focus on Item Group filter,Osredotočite se na filter skupine predmetov,
+Checkout Order / Submit Order / New Order,Naročilo za plačilo / oddajo naročila / novo naročilo,
+Add Order Discount,Dodajte popust za naročilo,
+Item Code: {0} is not available under warehouse {1}.,Koda artikla: {0} ni na voljo v skladišču {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serijske številke niso na voljo za izdelek {0} v skladišču {1}. Poskusite zamenjati skladišče.,
+Fetched only {0} available serial numbers.,Pridobljeno le {0} razpoložljivih serijskih številk.,
+Switch Between Payment Modes,Preklapljanje med načini plačila,
+Enter {0} amount.,Vnesite {0} znesek.,
+You don't have enough points to redeem.,Nimate dovolj točk za unovčenje.,
+You can redeem upto {0}.,Unovčite lahko do {0}.,
+Enter amount to be redeemed.,"Vnesite znesek, ki ga želite uveljaviti.",
+You cannot redeem more than {0}.,Ne morete unovčiti več kot {0}.,
+Open Form View,Odprite pogled obrazca,
+POS invoice {0} created succesfully,POS račun {0} je bil uspešno ustvarjen,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Zaloga ni dovolj za kodo artikla: {0} v skladišču {1}. Razpoložljiva količina {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serijska številka: {0} je že opravljena na drug račun POS.,
+Balance Serial No,Serijska št,
+Warehouse: {0} does not belong to {1},Skladišče: {0} ne pripada {1},
+Please select batches for batched item {0},Izberite serije za serijski izdelek {0},
+Please select quantity on row {0},Izberite količino v vrstici {0},
+Please enter serial numbers for serialized item {0},Vnesite serijske številke za zaporedni izdelek {0},
+Batch {0} already selected.,Paket {0} je že izbran.,
+Please select a warehouse to get available quantities,"Prosimo, izberite skladišče, da dobite razpoložljive količine",
+"For transfer from source, selected quantity cannot be greater than available quantity",Za prenos iz vira izbrana količina ne sme biti večja od razpoložljive količine,
+Cannot find Item with this Barcode,Elementa s to črtno kodo ni mogoče najti,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} je obvezen. Morda zapis menjalnice ni ustvarjen za obdobje od {1} do {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"Oseba {} je poslala sredstva, povezana z njo. Če želite ustvariti donos nakupa, morate preklicati sredstva.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Tega dokumenta ni mogoče preklicati, ker je povezan s predloženim sredstvom {0}. Za nadaljevanje ga prekinite.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Vrstica št. {}: Serijska številka {} je že bila prenesena na drug račun POS. Izberite veljavno serijsko št.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Vrstica št. {}: Zaporedne številke. {} Je že bila prenesena na drug račun POS. Izberite veljavno serijsko št.,
+Item Unavailable,Element ni na voljo,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Vrstica # {}: zaporedne številke {} ni mogoče vrniti, ker ni bila izvedena v prvotnem računu {}",
+Please set default Cash or Bank account in Mode of Payment {},V načinu plačila nastavite privzeti gotovinski ali bančni račun {},
+Please set default Cash or Bank account in Mode of Payments {},Nastavite privzeti gotovinski ali bančni račun v načinu plačila {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Preverite, ali je račun {} račun bilance stanja. Nadrejeni račun lahko spremenite v račun bilance stanja ali izberete drugega.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Preverite, ali je račun {} plačljiv račun. Spremenite vrsto računa na Plačljivo ali izberite drugega.",
+Row {}: Expense Head changed to {} ,Vrstica {}: Izdatna glava spremenjena v {},
+because account {} is not linked to warehouse {} ,ker račun {} ni povezan s skladiščem {},
+or it is not the default inventory account,ali ni privzeti račun zalog,
+Expense Head Changed,Spremenjena glava odhodka,
+because expense is booked against this account in Purchase Receipt {},ker so stroški knjiženi na ta račun v potrdilu o nakupu {},
+as no Purchase Receipt is created against Item {}. ,ker za artikel {} ni ustvarjen noben potrdilo o nakupu.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"To se naredi za obravnavanje primerov, ko je potrdilo o nakupu ustvarjeno po računu za nakup",
+Purchase Order Required for item {},Naročilo je obvezno za izdelek {},
+To submit the invoice without purchase order please set {} ,"Če želite oddati račun brez naročilnice, nastavite {}",
+as {} in {},kot v {},
+Mandatory Purchase Order,Obvezno naročilo,
+Purchase Receipt Required for item {},Za artikel {} je potrebno potrdilo o nakupu,
+To submit the invoice without purchase receipt please set {} ,"Če želite oddati račun brez potrdila o nakupu, nastavite {}",
+Mandatory Purchase Receipt,Obvezno potrdilo o nakupu,
+POS Profile {} does not belongs to company {},POS profil {} ne pripada podjetju {},
+User {} is disabled. Please select valid user/cashier,Uporabnik {} je onemogočen. Izberite veljavnega uporabnika / blagajnika,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Vrstica št. {}: Prvotni račun {} na računu za vračilo {} je {}.,
+Original invoice should be consolidated before or along with the return invoice.,Prvotni račun je treba konsolidirati pred računom za vračilo ali skupaj z njim.,
+You can add original invoice {} manually to proceed.,Za nadaljevanje lahko ročno dodate račun {}.,
+Please ensure {} account is a Balance Sheet account. ,"Preverite, ali je račun {} račun bilance stanja.",
+You can change the parent account to a Balance Sheet account or select a different account.,Nadrejeni račun lahko spremenite v račun bilance stanja ali izberete drugega.,
+Please ensure {} account is a Receivable account. ,"Preverite, ali je račun {} terjatev.",
+Change the account type to Receivable or select a different account.,Spremenite vrsto računa v Terjatev ali izberite drug račun.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} ni mogoče preklicati, ker so bile pridobljene točke zvestobe unovčene. Najprej prekličite {} Ne {}",
+already exists,že obstaja,
+POS Closing Entry {} against {} between selected period,POS zapiranje vnosa {} proti {} med izbranim obdobjem,
+POS Invoice is {},POS račun je {},
+POS Profile doesn't matches {},POS profil se ne ujema {},
+POS Invoice is not {},POS račun ni {},
+POS Invoice isn't created by user {},POS računa ne ustvari uporabnik {},
+Row #{}: {},Vrstica # {}: {},
+Invalid POS Invoices,Neveljavni računi POS,
+Please add the account to root level Company - {},"Prosimo, dodajte račun na korenski nivo podjetja - {}",
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Med ustvarjanjem računa za otroško podjetje {0} nadrejenega računa {1} ni mogoče najti. Prosimo, ustvarite nadrejeni račun v ustreznem potrdilu o pristnosti",
+Account Not Found,Računa ni mogoče najti,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Med ustvarjanjem računa za otroško podjetje {0} je bil nadrejeni račun {1} najden kot račun glavne knjige.,
+Please convert the parent account in corresponding child company to a group account.,"Prosimo, pretvorite starševski račun v ustreznem podrejenem podjetju v račun skupine.",
+Invalid Parent Account,Neveljaven starševski račun,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Preimenovanje je dovoljeno samo prek nadrejene družbe {0}, da se prepreči neskladje.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Če {0} {1} količine izdelka {2}, bo za izdelek uporabljena shema {3}.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Če ste {0} {1} vredni izdelka {2}, bo za izdelek uporabljena shema {3}.",
+"As the field {0} is enabled, the field {1} is mandatory.","Ker je polje {0} omogočeno, je polje {1} obvezno.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Ko je polje {0} omogočeno, mora biti vrednost polja {1} večja od 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Serijske številke {0} izdelka {1} ni mogoče dostaviti, ker je rezervirana za popolno prodajno naročilo {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Prodajno naročilo {0} ima rezervacijo za artikel {1}, rezervirano {1} lahko dostavite samo proti {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serijske številke {1} ni mogoče dostaviti,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Vrstica {0}: Izdelek s podizvajalci je obvezen za surovino {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Ker je dovolj surovin, zahteva za material za skladišče {0} ni potrebna.",
+" If you still want to proceed, please enable {0}.","Če še vedno želite nadaljevati, omogočite {0}.",
+The item referenced by {0} - {1} is already invoiced,"Element, na katerega se sklicuje {0} - {1}, je že fakturiran",
+Therapy Session overlaps with {0},Seja terapije se prekriva z {0},
+Therapy Sessions Overlapping,Terapijske seje se prekrivajo,
+Therapy Plans,Načrti terapije,
+"Item Code, warehouse, quantity are required on row {0}","Koda artikla, skladišče, količina so obvezni v vrstici {0}",
+Get Items from Material Requests against this Supplier,Pridobite izdelke iz materialnih zahtevkov pri tem dobavitelju,
+Enable European Access,Omogoči evropski dostop,
+Creating Purchase Order ...,Ustvarjanje naročilnice ...,
+"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.","Izberite dobavitelja med privzetimi dobavitelji spodnjih elementov. Po izbiri bo naročilnica narejena samo za izdelke, ki pripadajo izbranemu dobavitelju.",
+Row #{}: You must select {} serial numbers for item {}.,Vrstica # {}: Izbrati morate {} serijske številke za izdelek {}.,
diff --git a/erpnext/translations/sq.csv b/erpnext/translations/sq.csv
index daab8c8..05aefa3 100644
--- a/erpnext/translations/sq.csv
+++ b/erpnext/translations/sq.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Nuk mund të zbres kur kategori është për &#39;vlerësimin&#39; ose &#39;Vaulation dhe Total &quot;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Nuk mund të fshini serial {0}, ashtu siç është përdorur në transaksionet e aksioneve",
 Cannot enroll more than {0} students for this student group.,Nuk mund të regjistrohen më shumë se {0} nxënësve për këtë grup të studentëve.,
-Cannot find Item with this barcode,Nuk mund të gjesh Artikullin me këtë barkod,
 Cannot find active Leave Period,Nuk mund të gjesh periudhë aktive të pushimit,
 Cannot produce more Item {0} than Sales Order quantity {1},Nuk mund të prodhojë më shumë Item {0} se sasia Sales Rendit {1},
 Cannot promote Employee with status Left,Nuk mund të promovojë punonjës me statusin e majtë,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Krijuar dhe menaxhuar digests ditore, javore dhe mujore email.",
 Create customer quotes,Krijo kuotat konsumatorëve,
 Create rules to restrict transactions based on values.,Krijo rregulla për të kufizuar transaksionet në bazë të vlerave.,
-Created By,Krijuar nga,
 Created {0} scorecards for {1} between: ,Krijuar {0} tabelat e rezultateve për {1} midis:,
 Creating Company and Importing Chart of Accounts,Krijimi i Kompanisë dhe Grafiku Importues,
 Creating Fees,Krijimi i Tarifave,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Për rresht {0}: Shkruani Qty planifikuar,
 "For {0}, only credit accounts can be linked against another debit entry","Për {0}, vetëm llogaritë e kreditit mund të jetë i lidhur kundër një tjetër hyrje debiti",
 "For {0}, only debit accounts can be linked against another credit entry","Për {0}, vetëm llogaritë e debitit mund të jetë i lidhur kundër një tjetër hyrjes krediti",
-Form View,Shiko formularin,
 Forum Activity,Aktiviteti i forumit,
 Free item code is not selected,Kodi i artikullit falas nuk është zgjedhur,
 Freight and Forwarding Charges,Mallrave dhe Forwarding Pagesat,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Dërgo SMS në masë për kontaktet tuaja,
 Sensitivity,ndjeshmëri,
 Sent,Dërguar,
-Serial #,Serial #,
 Serial No and Batch,Pa serial dhe Batch,
 Serial No is mandatory for Item {0},Asnjë Serial është i detyrueshëm për Item {0},
 Serial No {0} does not belong to Batch {1},Serial No {0} nuk i përket Grumbullit {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Çfarë keni nevojë për ndihmë me?,
 What does it do?,Çfarë do të bëni?,
 Where manufacturing operations are carried.,Ku operacionet prodhuese janë kryer.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Ndërsa krijoni llogari për Ndërmarrjen për fëmijë {0}, llogaria e prindërve {1} nuk u gjet. Ju lutemi krijoni llogarinë mëmë në COA përkatëse",
 White,e bardhë,
 Wire Transfer,Wire Transfer,
 WooCommerce Products,Produkte WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Përziej me ekzistuese,
 Office,Zyrë,
 Orientation,Orientim,
+Parent,Prind,
 Passive,Pasiv,
 Payment Failed,pagesa Dështoi,
 Percent,Përqind,
@@ -3543,6 +3539,7 @@
 Show {0},Trego {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Karaktere speciale përveç &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Dhe &quot;}&quot; nuk lejohen në seritë emërtuese",
 Target Details,Detaje të synuara,
+{0} already has a Parent Procedure {1}.,{0} tashmë ka një procedurë prindërore {1}.,
 API,API,
 Annual,Vjetor,
 Approved,I miratuar,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Data e mbarimit nuk mund të jetë më e shkurtër se data fillestare,
 For Default Supplier (Optional),Për Furnizuesin e Parazgjedhur (fakultativ),
 From date cannot be greater than To date,Nga Data nuk mund të jetë më i madh se deri më sot,
-Get items from,Të marrë sendet nga,
 Group by,Grupi Nga,
 In stock,Në gjendje,
 Item name,Item Emri,
@@ -7558,10 +7554,6 @@
 Quality Goal,Qëllimi i cilësisë,
 Monitoring Frequency,Frekuenca e monitorimit,
 Weekday,ditë jave,
-January-April-July-October,Janar-Prill-Korrik-tetor,
-Revision and Revised On,Revizion dhe Rishikuar Në,
-Revision,rishikim,
-Revised On,Rishikuar më,
 Objectives,objektivat,
 Quality Goal Objective,Objektivi i qëllimit të cilësisë,
 Objective,Objektiv,
@@ -7574,7 +7566,6 @@
 Processes,proceset,
 Quality Procedure Process,Procesi i procedurës së cilësisë,
 Process Description,Përshkrimi i procesit,
-Child Procedure,Procedura e fëmijëve,
 Link existing Quality Procedure.,Lidh procedurën ekzistuese të cilësisë.,
 Additional Information,informacion shtese,
 Quality Review Objective,Objektivi i rishikimit të cilësisë,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Trendet Receipt Blerje,
 Purchase Register,Blerje Regjistrohu,
 Quotation Trends,Kuotimit Trendet,
-Quoted Item Comparison,Cituar Item Krahasimi,
 Received Items To Be Billed,Items marra Për të faturohet,
 Qty to Order,Qty të Rendit,
 Requested Items To Be Transferred,Items kërkuar të transferohet,
@@ -9091,7 +9081,6 @@
 Absent Days,Ditët e Munguara,
 Conditions and Formula variable and example,Kushtet dhe variabla e Formulës dhe shembulli,
 Feedback By,Komente nga,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.VVVV .-. MM .-. DD.-,
 Manufacturing Section,Seksioni i Prodhimit,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Si parazgjedhje, Emri i Klientit vendoset sipas Emrit të Plotë të futur. Nëse dëshironi që Klientët të emërohen nga a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfiguroni Listën e Çmimeve të paracaktuar kur krijoni një transaksion të ri Shitjeje. Çmimet e artikujve do të merren nga kjo Lista e Çmimeve.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Bilanci i rezervuar,
 Uncleared Balance,Bilanci i paqartë,
 Payment related to {0} is not completed,Pagesa në lidhje me {0} nuk ka përfunduar,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rreshti # {}: Jo serik {}. {} tashmë është transaksionuar në një Faturë tjetër POS. Ju lutemi zgjidhni nr serial të vlefshëm.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Rreshti # {}: Kodi i artikullit: {} nuk është i disponueshëm në depo {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rreshti # {}: Sasia e aksioneve nuk është e mjaftueshme për Kodin e Artikullit: {} nën depo {}. Sasia e disponueshme {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rreshti # {}: Ju lutemi zgjidhni një numër serial dhe një seri ndaj artikullit: {} ose hiqeni atë për të përfunduar transaksionin.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Ju lutemi aktivizoni Lejoni Stok Negativ në Cilësimet e Stokut ose krijoni Hyrjen e Aksioneve për të vazhduar.,
 No Inpatient Record found against patient {0},Nuk u gjet asnjë regjistër spitalor kundër pacientit {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Një Urdhër për Barna Spitalore {0} kundër Takimit të Pacientit {1} tashmë ekziston.,
+Allow In Returns,Lejo në kthim,
+Hide Unavailable Items,Fshih artikuj të padisponueshëm,
+Apply Discount on Discounted Rate,Aplikoni Zbritje në Tarifën e Zbritur,
+Therapy Plan Template,Modeli i Planit të Terapisë,
+Fetching Template Details,Marrja e detajeve të modelit,
+Linked Item Details,Detajet e Artikullit të Lidhur,
+Therapy Types,Llojet e terapisë,
+Therapy Plan Template Detail,Detaji i Modelit të Planit të Terapisë,
+Non Conformance,Pa pershtatje,
+Process Owner,Pronari i procesit,
+Corrective Action,Veprim korrigjues,
+Preventive Action,Veprimi parandalues,
+Problem,Problemi,
+Responsible,I përgjegjshëm,
+Completion By,Përfundimi nga,
+Process Owner Full Name,Emri i plotë i pronarit të procesit,
+Right Index,Indeksi i duhur,
+Left Index,Indeksi i majtë,
+Sub Procedure,Nën procedura,
+Passed,Kaloi,
+Print Receipt,Fatura e printimit,
+Edit Receipt,Redakto faturën,
+Focus on search input,Përqendrohuni në hyrjen e kërkimit,
+Focus on Item Group filter,Përqendrohuni në filtrin e Grupit të Artikujve,
+Checkout Order / Submit Order / New Order,Porosia e blerjes / Dorëzimi i porosisë / Porosia e re,
+Add Order Discount,Shto zbritje të porosisë,
+Item Code: {0} is not available under warehouse {1}.,Kodi i artikullit: {0} nuk është i disponueshëm nën depo {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Numrat serialë të padisponueshëm për Artikullin {0} nën depo {1}. Ju lutemi provoni të ndryshoni magazinën.,
+Fetched only {0} available serial numbers.,Merren vetëm {0} numrat serial të disponueshëm.,
+Switch Between Payment Modes,Kaloni midis mënyrave të pagesës,
+Enter {0} amount.,Vendos shumën {0}.,
+You don't have enough points to redeem.,Ju nuk keni pikë të mjaftueshme për të përdorur.,
+You can redeem upto {0}.,Ju mund të përdorni deri në {0}.,
+Enter amount to be redeemed.,Vendos shumën që do të blihet.,
+You cannot redeem more than {0}.,Ju nuk mund të përdorni më shumë se {0}.,
+Open Form View,Hapni Pamjen e Formës,
+POS invoice {0} created succesfully,Fatura POS {0} u krijua me sukses,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Sasia e aksioneve nuk është e mjaftueshme për Kodin e Artikullit: {0} nën depo {1}. Sasia e disponueshme {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Nr serial: {0} është transaksionuar tashmë në një Faturë tjetër POS.,
+Balance Serial No,Nr. I Serisë së Bilancit,
+Warehouse: {0} does not belong to {1},Magazina: {0} nuk i përket {1},
+Please select batches for batched item {0},Ju lutemi zgjidhni tufat për artikullin e grumbulluar {0},
+Please select quantity on row {0},Ju lutemi zgjidhni sasinë në rreshtin {0},
+Please enter serial numbers for serialized item {0},Ju lutemi vendosni numrat serialë për artikullin e serializuar {0},
+Batch {0} already selected.,Grumbulli {0} i zgjedhur tashmë.,
+Please select a warehouse to get available quantities,Ju lutemi zgjidhni një depo për të marrë sasitë në dispozicion,
+"For transfer from source, selected quantity cannot be greater than available quantity","Për transferim nga burimi, sasia e zgjedhur nuk mund të jetë më e madhe se sasia e disponueshme",
+Cannot find Item with this Barcode,Nuk mund të gjendet artikulli me këtë barkod,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} është i detyrueshëm. Ndoshta rekordi i këmbimit valutor nuk është krijuar për {1} për {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ka paraqitur asete të lidhura me të. Ju duhet të anuloni pasuritë për të krijuar kthimin e blerjes.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Ky dokument nuk mund të anulohet pasi është i lidhur me aktivin e paraqitur {0}. Ju lutemi anulojeni atë për të vazhduar.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rreshti # {}: Nr. I serisë {} është transaksionuar tashmë në një Faturë tjetër POS. Ju lutemi zgjidhni nr serial të vlefshëm.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rreshti # {}: Numrat Serialë. {} Tashmë është transaksionuar në një Faturë tjetër POS. Ju lutemi zgjidhni nr serial të vlefshëm.,
+Item Unavailable,Artikulli i padisponueshëm,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rreshti # {}: Jo Seriali {} nuk mund të kthehet pasi nuk është transaksionuar në faturën origjinale {},
+Please set default Cash or Bank account in Mode of Payment {},Ju lutemi vendosni para të gatshme ose llogari bankare në mënyrën e pagesës {},
+Please set default Cash or Bank account in Mode of Payments {},Ju lutemi vendosni para të gatshme ose llogari bankare në mënyrën e pagesave {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Sigurohuni që llogaria {} të jetë llogari e Bilancit. Ju mund ta ndryshoni llogarinë mëmë në një llogari të Bilancit ose të zgjidhni një llogari tjetër.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Sigurohuni që llogaria {} të jetë llogari e pagueshme. Ndryshoni llojin e llogarisë në Pagesë ose zgjidhni një llogari tjetër.,
+Row {}: Expense Head changed to {} ,Rreshti {}: Koka e shpenzimeve u ndryshua në {},
+because account {} is not linked to warehouse {} ,sepse llogaria {} nuk është e lidhur me depon {},
+or it is not the default inventory account,ose nuk është llogaria e paracaktuar e inventarit,
+Expense Head Changed,Koka e Shpenzimeve Ndryshuar,
+because expense is booked against this account in Purchase Receipt {},sepse shpenzimi është rezervuar kundrejt kësaj llogarie në Faturën e Blerjes {},
+as no Purchase Receipt is created against Item {}. ,pasi nuk krijohet asnjë Faturë Blerje kundrejt Artikullit {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Kjo është bërë për të trajtuar kontabilitetin për rastet kur Fatura e Blerjes krijohet pas Faturës së Blerjes,
+Purchase Order Required for item {},Kërkohet porosia e blerjes për artikullin {},
+To submit the invoice without purchase order please set {} ,"Për të dorëzuar faturën pa porosi të blerjes, ju lutemi vendosni {}",
+as {} in {},si në {},
+Mandatory Purchase Order,Urdhri i Blerjes së Detyrueshëm,
+Purchase Receipt Required for item {},Kërkohet fatura e blerjes për artikullin {},
+To submit the invoice without purchase receipt please set {} ,Për të dorëzuar faturën pa dëftesë blerjeje ju lutemi vendosni {},
+Mandatory Purchase Receipt,Fatura e Blerjes së Detyrueshme,
+POS Profile {} does not belongs to company {},Profili POS {} nuk i përket kompanisë {},
+User {} is disabled. Please select valid user/cashier,Përdoruesi {} është çaktivizuar. Ju lutemi zgjidhni përdoruesin / arkëtarin e vlefshëm,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Rreshti # {}: Fatura origjinale {} e faturës kthyese {} është {}.,
+Original invoice should be consolidated before or along with the return invoice.,Fatura origjinale duhet të konsolidohet para ose së bashku me faturën e kthimit.,
+You can add original invoice {} manually to proceed.,Ju mund të shtoni faturë origjinale {} manualisht për të vazhduar.,
+Please ensure {} account is a Balance Sheet account. ,Sigurohuni që llogaria {} të jetë llogari e Bilancit.,
+You can change the parent account to a Balance Sheet account or select a different account.,Ju mund ta ndryshoni llogarinë mëmë në një llogari të Bilancit ose të zgjidhni një llogari tjetër.,
+Please ensure {} account is a Receivable account. ,Sigurohuni që llogaria {} të jetë llogari e arkëtueshme.,
+Change the account type to Receivable or select a different account.,Ndryshoni llojin e llogarisë në të arkëtueshme ose zgjidhni një llogari tjetër.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} nuk mund të anulohet pasi Pikët e Besnikërisë së fituar janë shpenguar. Së pari anuloni {} Jo {},
+already exists,tashmë ekziston,
+POS Closing Entry {} against {} between selected period,Hyrja Mbyllëse e POS-it {} kundër {} midis periudhës së zgjedhur,
+POS Invoice is {},Fatura POS është {},
+POS Profile doesn't matches {},Profili POS nuk përputhet me {},
+POS Invoice is not {},Fatura POS nuk është {},
+POS Invoice isn't created by user {},Fatura POS nuk është krijuar nga përdoruesi {},
+Row #{}: {},Rreshti # {}: {},
+Invalid POS Invoices,Fatura të pavlefshme POS,
+Please add the account to root level Company - {},Ju lutemi shtoni llogarinë në nivelin e rrënjës Kompania - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Ndërsa krijoni llogari për Kompaninë e Fëmijëve {0}, llogaria prindërore {1} nuk u gjet. Ju lutemi krijoni llogarinë mëmë në COA përkatëse",
+Account Not Found,Llogaria nuk u gjet,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Ndërsa krijoni llogari për Child Company {0}, llogaria prindërore {1} u gjet si një llogari e librit kryesor.",
+Please convert the parent account in corresponding child company to a group account.,Ju lutemi shndërroni llogarinë mëmë në kompaninë përkatëse të fëmijëve në një llogari grupi.,
+Invalid Parent Account,Llogari e pavlefshme e prindit,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Riemërtimi i tij lejohet vetëm përmes kompanisë mëmë {0}, për të shmangur mospërputhjen.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Nëse keni {0} {1} sasi të artikullit {2}, skema {3} do të zbatohet në artikull.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Nëse {0} {1} ia vlen artikulli {2}, skema {3} do të zbatohet në artikull.",
+"As the field {0} is enabled, the field {1} is mandatory.","Ndërsa fusha {0} është e aktivizuar, fusha {1} është e detyrueshme.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Ndërsa fusha {0} është e aktivizuar, vlera e fushës {1} duhet të jetë më shumë se 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Nuk mund të dorëzojë numrin rendor {0} të artikullit {1} pasi është i rezervuar për plotësimin e plotë të porosisë së shitjes {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Urdhri i Shitjes {0} ka rezervim për artikullin {1}, ju mund të dorëzoni vetëm të rezervuar {1} kundrejt {0}.",
+{0} Serial No {1} cannot be delivered,{0} Nr serial {1} nuk mund të dorëzohet,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Rreshti {0}: Artikulli i nënkontraktuar është i detyrueshëm për lëndën e parë {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Meqenëse ka lëndë të parë të mjaftueshme, Kërkesa e Materialit nuk kërkohet për Magazinë {0}.",
+" If you still want to proceed, please enable {0}.","Nëse akoma dëshironi të vazhdoni, aktivizoni {0}.",
+The item referenced by {0} - {1} is already invoiced,Artikulli i referuar nga {0} - {1} është tashmë i faturuar,
+Therapy Session overlaps with {0},Sesioni i terapisë mbivendoset me {0},
+Therapy Sessions Overlapping,Seancat e Terapisë Mbivendosen,
+Therapy Plans,Planet e Terapisë,
+"Item Code, warehouse, quantity are required on row {0}","Kodi i artikullit, depoja, sasia kërkohen në rreshtin {0}",
+Get Items from Material Requests against this Supplier,Merrni Artikuj nga Kërkesat Materiale kundër këtij Furnizuesi,
+Enable European Access,Aktivizo Aksesin Evropian,
+Creating Purchase Order ...,Krijimi i urdhrit të blerjes ...,
+"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.","Zgjidhni një furnitor nga furnitorët e parazgjedhur të artikujve më poshtë. Gjatë zgjedhjes, një Urdhër Blerje do të bëhet vetëm kundër artikujve që i përkasin vetëm Furnizuesit të zgjedhur.",
+Row #{}: You must select {} serial numbers for item {}.,Rreshti # {}: Duhet të zgjidhni {} numrat rendorë për artikullin {}.,
diff --git a/erpnext/translations/sr.csv b/erpnext/translations/sr.csv
index 57dea49..b507f74 100644
--- a/erpnext/translations/sr.csv
+++ b/erpnext/translations/sr.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',не могу одбити када категорија је за &quot;процену вредности&quot; или &quot;Ваулатион и Тотал &#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Не могу да избришем серијски број {0}, као што се користи у промету акција",
 Cannot enroll more than {0} students for this student group.,Не могу уписати више од {0} студенте за ову студентској групи.,
-Cannot find Item with this barcode,Ставка са овим баркодом није пронађена,
 Cannot find active Leave Period,Не могу пронаћи активни период отпуста,
 Cannot produce more Item {0} than Sales Order quantity {1},"Не можете производить больше элемент {0} , чем количество продаж Заказать {1}",
 Cannot promote Employee with status Left,Не могу промовирати запосленика са статусом лево,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Создание и управление ежедневные , еженедельные и ежемесячные дайджесты новостей.",
 Create customer quotes,Створити цитате купаца,
 Create rules to restrict transactions based on values.,Создание правил для ограничения операций на основе значений .,
-Created By,Креирао,
 Created {0} scorecards for {1} between: ,Направљене {0} карте карте за {1} између:,
 Creating Company and Importing Chart of Accounts,Стварање предузећа и увоз рачуна,
 Creating Fees,Креирање накнада,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,За ред {0}: Унесите планирани број,
 "For {0}, only credit accounts can be linked against another debit entry","За {0}, само кредитне рачуни могу бити повезани против неке друге ставке дебитне",
 "For {0}, only debit accounts can be linked against another credit entry","За {0}, само дебитне рачуни могу бити повезани против другог кредитног уласка",
-Form View,Форм Виев,
 Forum Activity,Активност форума,
 Free item code is not selected,Бесплатни код артикла није одабран,
 Freight and Forwarding Charges,Грузовые и экспедиторские Сборы,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Пошаљи СМС масовне вашим контактима,
 Sensitivity,Осетљивост,
 Sent,Сент,
-Serial #,Сериал #,
 Serial No and Batch,Серијски број и партије,
 Serial No is mandatory for Item {0},Серийный номер является обязательным для п. {0},
 Serial No {0} does not belong to Batch {1},Серијски број {0} не припада Батцх {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,С чиме ти треба помоћ?,
 What does it do?,Шта он ради ?,
 Where manufacturing operations are carried.,Где се обавља производњу операције.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Док сте креирали налог за дечију компанију {0}, родитељски рачун {1} није пронађен. Направите матични рачун у одговарајућем ЦОА",
 White,бео,
 Wire Transfer,Вире Трансфер,
 WooCommerce Products,ВооЦоммерце производи,
@@ -3493,6 +3488,7 @@
 Merge with existing,Споји са постојећим,
 Office,Канцеларија,
 Orientation,оријентација,
+Parent,Родитељ,
 Passive,Пасиван,
 Payment Failed,Уплата није успела,
 Percent,Проценат,
@@ -3543,6 +3539,7 @@
 Show {0},Прикажи {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Посебни знакови осим &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; И &quot;}&quot; нису дозвољени у именовању серија",
 Target Details,Детаљи циља,
+{0} already has a Parent Procedure {1}.,{0} већ има родитељску процедуру {1}.,
 API,АПИ,
 Annual,годовой,
 Approved,Одобрено,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,"Дата окончания не может быть меньше , чем Дата начала",
 For Default Supplier (Optional),За подразумевани добављач,
 From date cannot be greater than To date,Од датума не може бити већа него до сада,
-Get items from,Гет ставке из,
 Group by,Група По,
 In stock,На лагеру,
 Item name,Назив,
@@ -7558,10 +7554,6 @@
 Quality Goal,Циљ квалитета,
 Monitoring Frequency,Мониторинг фреквенције,
 Weekday,Радним даном,
-January-April-July-October,Јануар-април-јул-октобар,
-Revision and Revised On,Ревизија и Ревизија даље,
-Revision,Ревизија,
-Revised On,Ревидирано дана,
 Objectives,Циљеви,
 Quality Goal Objective,Циљ квалитета квалитета,
 Objective,објективан,
@@ -7574,7 +7566,6 @@
 Processes,Процеси,
 Quality Procedure Process,Процес поступка квалитета,
 Process Description,Опис процеса,
-Child Procedure,Дечија процедура,
 Link existing Quality Procedure.,Повежите постојећу процедуру квалитета,
 Additional Information,Додатне Информације,
 Quality Review Objective,Циљ прегледа квалитета,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Куповина Трендови Пријем,
 Purchase Register,Куповина Регистрација,
 Quotation Trends,Котировочные тенденции,
-Quoted Item Comparison,Цитирано артикла Поређење,
 Received Items To Be Billed,Примљени артикала буду наплаћени,
 Qty to Order,Количина по поруџбини,
 Requested Items To Be Transferred,Тражени Артикли ће се пренети,
@@ -9091,7 +9081,6 @@
 Absent Days,Одсутни дани,
 Conditions and Formula variable and example,Услови и варијабла формуле и пример,
 Feedback By,Феедбацк Би,
-MTNG-.YYYY.-.MM.-.DD.-,МТНГ-.ГГГГ .-. ММ .-. ДД.-,
 Manufacturing Section,Одељење за производњу,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Подразумевано, Корисничко име је постављено према пуном имену. Ако желите да купце именује а",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Конфигуришите подразумевани ценовник приликом креирања нове продајне трансакције. Цене артикала биће преузете из овог ценовника.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Резервисано стање,
 Uncleared Balance,Неразјашњени биланс,
 Payment related to {0} is not completed,Уплата у вези са {0} није завршена,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ред # {}: серијски број {}. {} је већ пребачен у другу ПОС фактуру. Изаберите важећи серијски број.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Ред # {}: Шифра артикла: {} није доступан у складишту {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Ред # {}: Количина залиха није довољна за шифру артикла: {} испод складишта {}. Доступна количина {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Ред # {}: Изаберите серијски број и пакет према ставци: {} или га уклоните да бисте довршили трансакцију.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Омогућите Дозволи негативну залиху у подешавањима залиха или креирајте унос залиха да бисте наставили.,
 No Inpatient Record found against patient {0},Није пронађена стационарна евиденција пацијента {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Налог за стационарно лечење {0} против сусрета са пацијентима {1} већ постоји.,
+Allow In Returns,Дозволи повраћај,
+Hide Unavailable Items,Сакриј недоступне ставке,
+Apply Discount on Discounted Rate,Примени попуст на снижену стопу,
+Therapy Plan Template,Предложак плана терапије,
+Fetching Template Details,Преузимање детаља о предлошку,
+Linked Item Details,Повезани детаљи предмета,
+Therapy Types,Врсте терапије,
+Therapy Plan Template Detail,Детаљ предлошка плана терапије,
+Non Conformance,Не усаглашености,
+Process Owner,Власник процеса,
+Corrective Action,Корективне мере,
+Preventive Action,Превентивно деловање,
+Problem,Проблем,
+Responsible,Одговорно,
+Completion By,Завршетак,
+Process Owner Full Name,Пуно име власника процеса,
+Right Index,Прави индекс,
+Left Index,Леви индекс,
+Sub Procedure,Потпроцедура,
+Passed,Прошло је,
+Print Receipt,Одштампај признаницу,
+Edit Receipt,Измена признанице,
+Focus on search input,Фокусирајте се на унос претраге,
+Focus on Item Group filter,Фокусирајте се на филтер групе предмета,
+Checkout Order / Submit Order / New Order,Наруџба за плаћање / Подношење налога / Нова наруџба,
+Add Order Discount,Додајте попуст за наруџбину,
+Item Code: {0} is not available under warehouse {1}.,Код артикла: {0} није доступан у складишту {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Серијски бројеви нису доступни за артикал {0} у складишту {1}. Покушајте да промените складиште.,
+Fetched only {0} available serial numbers.,Доступно само {0} доступних серијских бројева.,
+Switch Between Payment Modes,Пребацујте се између начина плаћања,
+Enter {0} amount.,Унесите износ од {0}.,
+You don't have enough points to redeem.,Немате довољно бодова да бисте их искористили.,
+You can redeem upto {0}.,Можете да искористите до {0}.,
+Enter amount to be redeemed.,Унесите износ који треба искористити.,
+You cannot redeem more than {0}.,Не можете да искористите више од {0}.,
+Open Form View,Отворите приказ обрасца,
+POS invoice {0} created succesfully,ПОС фактура {0} је успешно направљена,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Количина залиха није довољна за код артикла: {0} испод складишта {1}. Доступна количина {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Серијски број: {0} је већ пребачен у другу ПОС фактуру.,
+Balance Serial No,Серијски бр,
+Warehouse: {0} does not belong to {1},Магацин: {0} не припада {1},
+Please select batches for batched item {0},Изаберите серије за серијску ставку {0},
+Please select quantity on row {0},Изаберите количину у реду {0},
+Please enter serial numbers for serialized item {0},Унесите серијске бројеве за серијску ставку {0},
+Batch {0} already selected.,Пакет {0} је већ изабран.,
+Please select a warehouse to get available quantities,Изаберите складиште да бисте добили доступне количине,
+"For transfer from source, selected quantity cannot be greater than available quantity","За пренос из извора, одабрана количина не може бити већа од доступне количине",
+Cannot find Item with this Barcode,Не могу да пронађем ставку са овим бар кодом,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} је обавезно. Можда евиденција размене валута није креирана за {1} до {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} је послао елементе повезане са њим. Морате отказати имовину да бисте створили поврат куповине.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Овај документ није могуће отказати јер је повезан са достављеним материјалом {0}. Откажите га да бисте наставили.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ред # {}: Серијски број {} је већ пребачен у другу ПОС фактуру. Изаберите важећи серијски број.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Ред # {}: Серијски бројеви. {} Је већ пребачен у другу ПОС фактуру. Изаберите важећи серијски број.,
+Item Unavailable,Предмет није доступан,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Ред # {}: Серијски број {} се не може вратити јер није извршен у оригиналној фактури {},
+Please set default Cash or Bank account in Mode of Payment {},Подесите подразумевани готовински или банковни рачун у начину плаћања {},
+Please set default Cash or Bank account in Mode of Payments {},Подесите подразумевани готовински или банковни рачун у начину плаћања {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Уверите се да је рачун {} рачун биланса стања. Можете да промените родитељски рачун у рачун биланса стања или да изаберете други рачун.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Уверите се да је рачун {} рачун који се плаћа. Промените врсту рачуна у Плативо или изаберите други рачун.,
+Row {}: Expense Head changed to {} ,Ред {}: Глава расхода промењена у {},
+because account {} is not linked to warehouse {} ,јер рачун {} није повезан са складиштем {},
+or it is not the default inventory account,или није подразумевани рачун залиха,
+Expense Head Changed,Промењена глава расхода,
+because expense is booked against this account in Purchase Receipt {},јер су трошкови књижени на овом рачуну у потврди о куповини {},
+as no Purchase Receipt is created against Item {}. ,пошто се према ставци {} не креира потврда о куповини.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Ово се ради ради обрачунавања случајева када се потврда о куповини креира након фактуре за куповину,
+Purchase Order Required for item {},Наруџбеница потребна за артикал {},
+To submit the invoice without purchase order please set {} ,"Да бисте предали рачун без наруџбенице, подесите {}",
+as {} in {},као у {},
+Mandatory Purchase Order,Обавезна наруџбеница,
+Purchase Receipt Required for item {},Потврда о куповини за ставку {},
+To submit the invoice without purchase receipt please set {} ,"Да бисте предали рачун без потврде о куповини, подесите {}",
+Mandatory Purchase Receipt,Обавезна потврда о куповини,
+POS Profile {} does not belongs to company {},ПОС профил {} не припада компанији {},
+User {} is disabled. Please select valid user/cashier,Корисник {} је онемогућен. Изаберите важећег корисника / благајника,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Ред # {}: Оригинална фактура {} фактуре за враћање {} је {}.,
+Original invoice should be consolidated before or along with the return invoice.,Оригиналну фактуру треба консолидовати пре или заједно са повратном фактуром.,
+You can add original invoice {} manually to proceed.,Можете да додате оригиналну фактуру {} ручно да бисте наставили.,
+Please ensure {} account is a Balance Sheet account. ,Уверите се да је рачун {} рачун биланса стања.,
+You can change the parent account to a Balance Sheet account or select a different account.,Можете да промените родитељски рачун у рачун биланса стања или да изаберете други рачун.,
+Please ensure {} account is a Receivable account. ,Уверите се да је рачун {} рачун који се може потражити.,
+Change the account type to Receivable or select a different account.,Промените тип рачуна у Потраживање или изаберите други рачун.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} се не може отказати пошто су искоришћени бодови за лојалност искоришћени. Прво откажите {} Не {},
+already exists,већ постоји,
+POS Closing Entry {} against {} between selected period,Затварање уноса ПОС-а {} против {} између изабраног периода,
+POS Invoice is {},ПОС рачун је {},
+POS Profile doesn't matches {},ПОС профил се не подудара са {},
+POS Invoice is not {},ПОС фактура није {},
+POS Invoice isn't created by user {},ПОС рачун не креира корисник {},
+Row #{}: {},Ред # {}: {},
+Invalid POS Invoices,Неважеће ПОС фактуре,
+Please add the account to root level Company - {},Додајте рачун у коријенски ниво компаније - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Приликом креирања налога за дете компаније {0}, надређени рачун {1} није пронађен. Отворите родитељски рачун у одговарајућем ЦОА",
+Account Not Found,Рачун није пронађен,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Приликом креирања налога за дете компаније {0}, родитељски рачун {1} је пронађен као главни рачун.",
+Please convert the parent account in corresponding child company to a group account.,Молимо конвертујте родитељски рачун у одговарајућем подређеном предузећу у групни рачун.,
+Invalid Parent Account,Неважећи родитељски рачун,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Преименовање је дозвољено само преко матичне компаније {0}, како би се избегло неслагање.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ако {0} {1} количину предмета {2}, на производ ће применити шему {3}.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ако {0} {1} вредите ставку {2}, шема {3} ће се применити на ставку.",
+"As the field {0} is enabled, the field {1} is mandatory.","Како је поље {0} омогућено, поље {1} је обавезно.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Како је поље {0} омогућено, вредност поља {1} треба да буде већа од 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Није могуће испоручити серијски број {0} ставке {1} јер је резервисан за пуни налог за продају {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Продајни налог {0} има резервацију за артикал {1}, а резервисани {1} можете испоручити само против {0}.",
+{0} Serial No {1} cannot be delivered,{0} Серијски број {1} не може да се испоручи,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Ред {0}: Предмет подуговарања је обавезан за сировину {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","С обзиром на то да постоји довољно сировина, захтев за материјал није потребан за Складиште {0}.",
+" If you still want to proceed, please enable {0}.","Ако и даље желите да наставите, омогућите {0}.",
+The item referenced by {0} - {1} is already invoiced,Ставка на коју се позива {0} - {1} већ је фактурисана,
+Therapy Session overlaps with {0},Сесија терапије се преклапа са {0},
+Therapy Sessions Overlapping,Преклапање сесија терапије,
+Therapy Plans,Планови терапије,
+"Item Code, warehouse, quantity are required on row {0}","Шифра артикла, складиште, количина су обавезни у реду {0}",
+Get Items from Material Requests against this Supplier,Узмите предмете од материјалних захтева против овог добављача,
+Enable European Access,Омогућити европски приступ,
+Creating Purchase Order ...,Креирање налога за куповину ...,
+"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.","Изаберите добављача од задатих добављача доле наведених ставки. Након одабира, наруџбеница ће се извршити само за производе који припадају изабраном добављачу.",
+Row #{}: You must select {} serial numbers for item {}.,Ред # {}: Морате одабрати {} серијске бројеве за ставку {}.,
diff --git a/erpnext/translations/sr_sp.csv b/erpnext/translations/sr_sp.csv
index 58dbf7b..5e7ae79 100644
--- a/erpnext/translations/sr_sp.csv
+++ b/erpnext/translations/sr_sp.csv
@@ -108,7 +108,6 @@
 "Create Employee records to manage leaves, expense claims and payroll","Kreiraj evidenciju o Zaposlenom kako bi upravljali odsustvom, potraživanjima za troškove i platnim spiskovima",
 Create Users,Kreiraj korisnike,
 Create customer quotes,Kreirajte bilješke kupca,
-Created By,Kreirao,
 Credit,Potražuje,
 Credit Balance,Stanje kredita,
 Credit Limit,Kreditni limit,
@@ -164,7 +163,6 @@
 Fiscal Year {0} not found,Fiskalna godina {0} nije pronađena,
 For Employee,Za Zaposlenog,
 For Warehouse,Za skladište,
-Form View,Prikaži kao formu,
 From,Od,
 From Delivery Note,Iz otpremnice,
 Full Name,Puno ime,
@@ -651,7 +649,6 @@
 Yes,Da,
 Chart of Accounts,Kontni plan,
 Customer database.,Korisnička baza podataka,
-Get items from,Dodaj stavke iz,
 Item name,Naziv artikla,
 No employee found,Zaposleni nije pronađen,
 Open Projects ,Otvoreni projekti,
diff --git a/erpnext/translations/sv.csv b/erpnext/translations/sv.csv
index 31bf89f..57e0279 100644
--- a/erpnext/translations/sv.csv
+++ b/erpnext/translations/sv.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Det går inte att dra när kategori är för &quot;Värdering&quot; eller &quot;Vaulation och Total&quot;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Kan inte ta bort Löpnummer {0}, eftersom det används i aktietransaktioner",
 Cannot enroll more than {0} students for this student group.,Det går inte att registrera mer än {0} studenter för denna elevgrupp.,
-Cannot find Item with this barcode,Det går inte att hitta objekt med den här streckkoden,
 Cannot find active Leave Period,Kan inte hitta aktiv lämningsperiod,
 Cannot produce more Item {0} than Sales Order quantity {1},Det går inte att producera mer artiklar {0} än kundorderns mängd {1},
 Cannot promote Employee with status Left,Kan inte marknadsföra Medarbetare med status Vänster,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Skapa och hantera dagliga, vecko- och månads epostflöden.",
 Create customer quotes,Skapa kund citat,
 Create rules to restrict transactions based on values.,Skapa regler för att begränsa transaktioner som grundar sig på värderingar.,
-Created By,Skapad Av,
 Created {0} scorecards for {1} between: ,Skapade {0} scorecards för {1} mellan:,
 Creating Company and Importing Chart of Accounts,Skapa företag och importera kontot,
 Creating Fees,Skapa avgifter,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,För rad {0}: Ange planerad mängd,
 "For {0}, only credit accounts can be linked against another debit entry",För {0} kan endast kreditkonton länkas mot en annan debitering,
 "For {0}, only debit accounts can be linked against another credit entry",För {0} kan bara debitkonton länkas mot en annan kreditering,
-Form View,Form View,
 Forum Activity,Forumaktivitet,
 Free item code is not selected,Gratis artikelkod är inte vald,
 Freight and Forwarding Charges,"Frakt, spedition Avgifter",
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Skicka mass SMS till dina kontakter,
 Sensitivity,Känslighet,
 Sent,Skickat,
-Serial #,Seriell #,
 Serial No and Batch,Löpnummer och Batch,
 Serial No is mandatory for Item {0},Löpnummer är obligatoriskt för punkt {0},
 Serial No {0} does not belong to Batch {1},Serienummer {0} hör inte till batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Vad behöver du hjälp med?,
 What does it do?,Vad gör den?,
 Where manufacturing operations are carried.,Där tillverkningsprocesser genomförs.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",När du skapar konto för barnföretag {0} hittades inte moderkonto {1}. Skapa det överordnade kontot i motsvarande COA,
 White,Vit,
 Wire Transfer,Elektronisk överföring,
 WooCommerce Products,WooCommerce-produkter,
@@ -3493,6 +3488,7 @@
 Merge with existing,Sammanfoga med befintlig,
 Office,Kontors,
 Orientation,Orientering,
+Parent,Förälder,
 Passive,Passiv,
 Payment Failed,Betalning misslyckades,
 Percent,Procent,
@@ -3543,6 +3539,7 @@
 Show {0},Visa {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Specialtecken utom &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Och &quot;}&quot; är inte tillåtna i namnserien",
 Target Details,Måldetaljer,
+{0} already has a Parent Procedure {1}.,{0} har redan en överordnad procedur {1}.,
 API,API,
 Annual,Årlig,
 Approved,Godkänd,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Slutdatum kan inte vara mindre än startdatum,
 For Default Supplier (Optional),För standardleverantör (tillval),
 From date cannot be greater than To date,Från datum kan inte vara större än till datum,
-Get items from,Få objekt från,
 Group by,Gruppera efter,
 In stock,I lager,
 Item name,Produktnamn,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kvalitetsmål,
 Monitoring Frequency,Övervaka frekvens,
 Weekday,Veckodag,
-January-April-July-October,Januari-april-juli-oktober,
-Revision and Revised On,Revision och omarbetad,
-Revision,Revision,
-Revised On,Reviderad den,
 Objectives,mål,
 Quality Goal Objective,Kvalitetsmål Mål,
 Objective,Mål,
@@ -7574,7 +7566,6 @@
 Processes,processer,
 Quality Procedure Process,Kvalitetsprocessprocess,
 Process Description,Metodbeskrivning,
-Child Procedure,Barnförfarande,
 Link existing Quality Procedure.,Länka befintligt kvalitetsförfarande.,
 Additional Information,ytterligare information,
 Quality Review Objective,Kvalitetsgranskningsmål,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Kvitto Trender,
 Purchase Register,Inköpsregistret,
 Quotation Trends,Offert Trender,
-Quoted Item Comparison,Citerade föremål Jämförelse,
 Received Items To Be Billed,Mottagna objekt som ska faktureras,
 Qty to Order,Antal till Ordern,
 Requested Items To Be Transferred,Efterfrågade artiklar som ska överföras,
@@ -9091,7 +9081,6 @@
 Absent Days,Frånvarande dagar,
 Conditions and Formula variable and example,Villkor och formelvariabel och exempel,
 Feedback By,Feedback av,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Tillverkningssektionen,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",Som standard är kundnamnet inställt enligt det angivna fullständiga namnet. Om du vill att kunder ska namnges av a,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Konfigurera standardprislistan när du skapar en ny försäljningstransaktion. Varupriser hämtas från denna prislista.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Reserverad saldo,
 Uncleared Balance,Oklarad balans,
 Payment related to {0} is not completed,Betalning relaterad till {0} har inte slutförts,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rad nr {}: Serienummer {}. {} har redan överförts till en annan POS-faktura. Välj giltigt serienummer.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Rad nr {}: Artikelkod: {} är inte tillgänglig under lager {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Rad nr {}: Lagerkvantitet räcker inte för artikelkod: {} under lager {}. Tillgänglig kvantitet {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Rad nr {}: Välj ett serienummer och ett parti mot artikel: {} eller ta bort det för att slutföra transaktionen.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Aktivera Tillåt negativt lager i lagerinställningar eller skapa lagerinmatning för att fortsätta.,
 No Inpatient Record found against patient {0},Ingen slutenvårdspost hittades mot patient {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Det finns redan ett läkemedelsbeställning för slutenvård {0} mot patientmötet {1}.,
+Allow In Returns,Tillåt Returer,
+Hide Unavailable Items,Dölj otillgängliga objekt,
+Apply Discount on Discounted Rate,Tillämpa rabatt på rabatterat pris,
+Therapy Plan Template,Terapiplanmall,
+Fetching Template Details,Hämtar mallinformation,
+Linked Item Details,Länkade artikeldetaljer,
+Therapy Types,Terapityper,
+Therapy Plan Template Detail,Behandlingsplan mall detalj,
+Non Conformance,Bristande överensstämmelse,
+Process Owner,Processägare,
+Corrective Action,Korrigerande åtgärder,
+Preventive Action,Förebyggande åtgärd,
+Problem,Problem,
+Responsible,Ansvarig,
+Completion By,Slutförande av,
+Process Owner Full Name,Processägarens fullständiga namn,
+Right Index,Rätt index,
+Left Index,Vänster index,
+Sub Procedure,Underförfarande,
+Passed,passerade,
+Print Receipt,Skriv ut kvitto,
+Edit Receipt,Redigera kvitto,
+Focus on search input,Fokusera på sökinmatning,
+Focus on Item Group filter,Fokusera på artikelgruppsfilter,
+Checkout Order / Submit Order / New Order,Kassa Order / Skicka order / Ny order,
+Add Order Discount,Lägg till beställningsrabatt,
+Item Code: {0} is not available under warehouse {1}.,Artikelkod: {0} finns inte under lager {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Serienummer är inte tillgängligt för artikel {0} under lager {1}. Försök byta lager.,
+Fetched only {0} available serial numbers.,Hämtade bara {0} tillgängliga serienummer.,
+Switch Between Payment Modes,Växla mellan betalningssätt,
+Enter {0} amount.,Ange {0} belopp.,
+You don't have enough points to redeem.,Du har inte tillräckligt med poäng för att lösa in.,
+You can redeem upto {0}.,Du kan lösa in upp till {0}.,
+Enter amount to be redeemed.,Ange belopp som ska lösas in.,
+You cannot redeem more than {0}.,Du kan inte lösa in mer än {0}.,
+Open Form View,Öppna formulärvy,
+POS invoice {0} created succesfully,POS-faktura {0} skapades framgångsrikt,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Lagerkvantitet räcker inte för artikelkod: {0} under lager {1}. Tillgängligt antal {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serienummer: {0} har redan överförts till en annan POS-faktura.,
+Balance Serial No,Balans Serienr,
+Warehouse: {0} does not belong to {1},Lager: {0} tillhör inte {1},
+Please select batches for batched item {0},Välj satser för satsvis artikel {0},
+Please select quantity on row {0},Välj antal på rad {0},
+Please enter serial numbers for serialized item {0},Ange serienummer för serienummer {0},
+Batch {0} already selected.,Batch {0} har redan valts.,
+Please select a warehouse to get available quantities,Välj ett lager för att få tillgängliga kvantiteter,
+"For transfer from source, selected quantity cannot be greater than available quantity",För överföring från källa kan vald kvantitet inte vara större än tillgänglig kvantitet,
+Cannot find Item with this Barcode,Det går inte att hitta objekt med denna streckkod,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} är obligatoriskt. Valutaväxlingspost skapas kanske inte för {1} till {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} har skickat tillgångar kopplade till den. Du måste avbryta tillgångarna för att skapa köpretur.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Det går inte att avbryta detta dokument eftersom det är länkat till inlämnad tillgång {0}. Avbryt det för att fortsätta.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rad nr {}: Serienr. {} Har redan överförts till en annan POS-faktura. Välj giltigt serienummer.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Rad nr {}: Serienummer. {} Har redan överförts till en annan POS-faktura. Välj giltigt serienummer.,
+Item Unavailable,Artikeln är inte tillgänglig,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Rad nr {}: Serienr {} kan inte returneras eftersom den inte transakterades i originalfakturan {},
+Please set default Cash or Bank account in Mode of Payment {},Ange standard kontant- eller bankkonto i betalningssätt {},
+Please set default Cash or Bank account in Mode of Payments {},Ange standard kontant- eller bankkonto i betalningssätt {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Se till att {} kontot är ett balansräkningskonto. Du kan ändra föräldrakontot till ett balansräkningskonto eller välja ett annat konto.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Se till att {} kontot är ett betalbart konto. Ändra kontotyp till Betalbar eller välj ett annat konto.,
+Row {}: Expense Head changed to {} ,Rad {}: Kostnadshuvud ändrat till {},
+because account {} is not linked to warehouse {} ,eftersom konto {} inte är länkat till lager {},
+or it is not the default inventory account,eller så är det inte standardlagerkontot,
+Expense Head Changed,Kostnadshuvud ändrat,
+because expense is booked against this account in Purchase Receipt {},eftersom kostnad bokförs mot detta konto i inköpskvittot {},
+as no Purchase Receipt is created against Item {}. ,eftersom inget köpskvitto skapas mot artikel {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Detta görs för att hantera redovisning av fall när inköpskvitto skapas efter inköpsfaktura,
+Purchase Order Required for item {},Inköpsorder krävs för artikel {},
+To submit the invoice without purchase order please set {} ,"För att skicka fakturan utan inköpsorder, ställ in {}",
+as {} in {},som i {},
+Mandatory Purchase Order,Obligatorisk inköpsorder,
+Purchase Receipt Required for item {},Inköpskvitton krävs för artikel {},
+To submit the invoice without purchase receipt please set {} ,"För att skicka fakturan utan köpskvitto, ställ in {}",
+Mandatory Purchase Receipt,Obligatoriskt inköpskvitto,
+POS Profile {} does not belongs to company {},POS-profil {} tillhör inte företaget {},
+User {} is disabled. Please select valid user/cashier,Användaren {} är inaktiverad. Välj giltig användare / kassör,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Rad nr {}: Originalfaktura {} för returfaktura {} är {}.,
+Original invoice should be consolidated before or along with the return invoice.,Originalfakturan ska konsolideras före eller tillsammans med returfakturan.,
+You can add original invoice {} manually to proceed.,Du kan lägga till originalfakturan {} manuellt för att fortsätta.,
+Please ensure {} account is a Balance Sheet account. ,Se till att {} kontot är ett balansräkningskonto.,
+You can change the parent account to a Balance Sheet account or select a different account.,Du kan ändra föräldrakontot till ett balansräkningskonto eller välja ett annat konto.,
+Please ensure {} account is a Receivable account. ,Se till att {} kontot är ett mottagbart konto.,
+Change the account type to Receivable or select a different account.,Ändra kontotyp till Mottagbar eller välj ett annat konto.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} kan inte annulleras eftersom intjänade lojalitetspoäng har lösts in. Avbryt först {} Nej {},
+already exists,existerar redan,
+POS Closing Entry {} against {} between selected period,POS-avslutningspost {} mot {} mellan vald period,
+POS Invoice is {},POS-faktura är {},
+POS Profile doesn't matches {},POS-profil matchar inte {},
+POS Invoice is not {},POS-faktura är inte {},
+POS Invoice isn't created by user {},POS-faktura skapas inte av användaren {},
+Row #{}: {},Rad #{}: {},
+Invalid POS Invoices,Ogiltiga POS-fakturor,
+Please add the account to root level Company - {},Lägg till kontot i rotnivåföretaget - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",När du skapade ett konto för Child Company {0} hittades inte föräldrakontot {1}. Skapa föräldrakontot i motsvarande COA,
+Account Not Found,Konto inte funnet,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",När du skapade ett konto för Child Company {0} hittades föräldrakontot {1} som ett huvudkontokonto.,
+Please convert the parent account in corresponding child company to a group account.,Konvertera moderbolaget i motsvarande barnföretag till ett gruppkonto.,
+Invalid Parent Account,Ogiltigt föräldrakonto,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Att byta namn på det är endast tillåtet via moderbolaget {0} för att undvika ojämnhet.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",Om du {0} {1} kvantiteter av artikeln {2} kommer schemat {3} att tillämpas på artikeln.,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",Om du {0} {1} värderar artikel {2} kommer schemat {3} att tillämpas på artikeln.,
+"As the field {0} is enabled, the field {1} is mandatory.",Eftersom fältet {0} är aktiverat är fältet {1} obligatoriskt.,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",Eftersom fältet {0} är aktiverat bör värdet för fältet {1} vara mer än 1.,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Det går inte att leverera serienummer {0} av artikeln {1} eftersom den är reserverad för fullständig försäljningsorder {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Försäljningsorder {0} har en reservation för artikeln {1}, du kan bara leverera reserverad {1} mot {0}.",
+{0} Serial No {1} cannot be delivered,{0} Serienummer {1} kan inte levereras,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Rad {0}: Underleverantörsobjekt är obligatoriskt för råvaran {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",Eftersom det finns tillräckligt med råvaror krävs inte materialförfrågan för lager {0}.,
+" If you still want to proceed, please enable {0}.",Om du fortfarande vill fortsätta aktiverar du {0}.,
+The item referenced by {0} - {1} is already invoiced,Varan som {0} - {1} refererar till faktureras redan,
+Therapy Session overlaps with {0},Terapisessionen överlappar med {0},
+Therapy Sessions Overlapping,Terapisessioner överlappar varandra,
+Therapy Plans,Terapiplaner,
+"Item Code, warehouse, quantity are required on row {0}","Artikelkod, lager, kvantitet krävs på rad {0}",
+Get Items from Material Requests against this Supplier,Få objekt från materialförfrågningar mot denna leverantör,
+Enable European Access,Aktivera europeisk åtkomst,
+Creating Purchase Order ...,Skapar inköpsorder ...,
+"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.",Välj en leverantör bland standardleverantörerna av artiklarna nedan. Vid val kommer en inköpsorder endast göras mot föremål som tillhör vald leverantör.,
+Row #{}: You must select {} serial numbers for item {}.,Rad nr {}: Du måste välja {} serienummer för artikeln {}.,
diff --git a/erpnext/translations/sw.csv b/erpnext/translations/sw.csv
index 50faa3c..3595727 100644
--- a/erpnext/translations/sw.csv
+++ b/erpnext/translations/sw.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Haiwezi kufuta wakati kiwanja ni kwa &#39;Valuation&#39; au &#39;Vikwazo na Jumla&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Haiwezi kufuta Serial No {0}, kama inatumiwa katika ushirikiano wa hisa",
 Cannot enroll more than {0} students for this student group.,Haiwezi kujiandikisha zaidi ya {0} wanafunzi kwa kikundi hiki cha wanafunzi.,
-Cannot find Item with this barcode,Huwezi kupata kipengee na barcode hii,
 Cannot find active Leave Period,Haiwezi kupata Kipindi cha Kuondoka,
 Cannot produce more Item {0} than Sales Order quantity {1},Haiwezi kuzalisha kipengee zaidi {0} kuliko kiasi cha Mauzo ya Mauzo {1},
 Cannot promote Employee with status Left,Haiwezi kukuza mfanyakazi na hali ya kushoto,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Unda na udhibiti majaribio ya barua pepe kila siku, kila wiki na kila mwezi.",
 Create customer quotes,Unda nukuu za wateja,
 Create rules to restrict transactions based on values.,Unda sheria ili kuzuia shughuli kulingana na maadili.,
-Created By,Imetengenezwa na,
 Created {0} scorecards for {1} between: ,Iliunda {0} alama za alama kwa {1} kati ya:,
 Creating Company and Importing Chart of Accounts,Kuunda Kampuni na Chati ya Kuingiza Akaunti,
 Creating Fees,Kujenga ada,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Kwa mstari {0}: Ingiza qty iliyopangwa,
 "For {0}, only credit accounts can be linked against another debit entry","Kwa {0}, akaunti za mikopo tu zinaweza kuunganishwa dhidi ya kuingia mwingine kwa debit",
 "For {0}, only debit accounts can be linked against another credit entry","Kwa {0}, akaunti za debit tu zinaweza kuunganishwa dhidi ya kuingizwa kwa mkopo mwingine",
-Form View,Tazama Fomu,
 Forum Activity,Shughuli ya Vikao,
 Free item code is not selected,Nambari ya bidhaa ya bure haijachaguliwa,
 Freight and Forwarding Charges,Mashtaka ya Mizigo na Usambazaji,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Tuma SMS ya wingi kwa anwani zako,
 Sensitivity,Sensitivity,
 Sent,Imepelekwa,
-Serial #,Serial #,
 Serial No and Batch,Serial Hakuna na Batch,
 Serial No is mandatory for Item {0},Hapana ya Serial ni ya lazima kwa Bidhaa {0},
 Serial No {0} does not belong to Batch {1},Serial Hakuna {0} si ya Kundi {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Unahitaji msaada gani?,
 What does it do?,Inafanya nini?,
 Where manufacturing operations are carried.,Ambapo shughuli za utengenezaji zinafanywa.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Wakati wa kuunda akaunti ya Kampuni ya watoto {0}, akaunti ya wazazi {1} haipatikani. Tafadhali unda akaunti ya mzazi katika COA inayolingana",
 White,Nyeupe,
 Wire Transfer,Uhamisho wa Wire,
 WooCommerce Products,Bidhaa za WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Unganisha na zilizopo,
 Office,Ofisi,
 Orientation,Mwelekeo,
+Parent,Mzazi,
 Passive,Passive,
 Payment Failed,Malipo Imeshindwa,
 Percent,Asilimia,
@@ -3543,6 +3539,7 @@
 Show {0},Onyesha {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Tabia maalum isipokuwa &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Na &quot;}&quot; hairuhusiwi katika kutaja mfululizo",
 Target Details,Maelezo ya Lengo,
+{0} already has a Parent Procedure {1}.,{0} tayari ina Utaratibu wa Mzazi {1}.,
 API,API,
 Annual,Kila mwaka,
 Approved,Imekubaliwa,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Tarehe ya Mwisho haiwezi kuwa chini ya Tarehe ya Mwanzo,
 For Default Supplier (Optional),Kwa Default Supplier (hiari),
 From date cannot be greater than To date,Kutoka Tarehe haiwezi kuwa kubwa kuliko Tarehe,
-Get items from,Pata vitu kutoka,
 Group by,Kikundi Kwa,
 In stock,Katika hisa,
 Item name,Jina la Kipengee,
@@ -7558,10 +7554,6 @@
 Quality Goal,Lengo la ubora,
 Monitoring Frequency,Ufuatiliaji wa Mara kwa mara,
 Weekday,Siku ya wiki,
-January-April-July-October,Januari-Aprili-Julai-Oktoba,
-Revision and Revised On,Marekebisho na Marekebisho ya,
-Revision,Marudio,
-Revised On,Iliyorekebishwa On,
 Objectives,Malengo,
 Quality Goal Objective,Lengo la shabaha ya shabaha,
 Objective,Lengo,
@@ -7574,7 +7566,6 @@
 Processes,Michakato,
 Quality Procedure Process,Utaratibu wa Utaratibu wa Ubora,
 Process Description,Maelezo ya Mchakato,
-Child Procedure,Utaratibu wa Mtoto,
 Link existing Quality Procedure.,Unganisha Utaratibu wa Ubora uliopo.,
 Additional Information,Taarifa za ziada,
 Quality Review Objective,Lengo la uhakiki wa ubora,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Ununuzi Mwelekeo wa Receipt,
 Purchase Register,Daftari ya Ununuzi,
 Quotation Trends,Mwelekeo wa Nukuu,
-Quoted Item Comparison,Ilipendekeza Kulinganishwa kwa Bidhaa,
 Received Items To Be Billed,Vipokee Vipokee vya Kulipwa,
 Qty to Order,Uchina kwa Amri,
 Requested Items To Be Transferred,Vitu Vilivyoombwa Ili Kuhamishwa,
@@ -9091,7 +9081,6 @@
 Absent Days,Siku ambazo hazipo,
 Conditions and Formula variable and example,Masharti na Mfumo kutofautiana na mfano,
 Feedback By,Maoni Na,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYYY .-. MM .-. DD-,
 Manufacturing Section,Sehemu ya Viwanda,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Kwa chaguo-msingi, Jina la Mteja linawekwa kulingana na Jina Kamili lililoingizwa. Ikiwa unataka Wateja watajwe na",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Sanidi Orodha ya Bei chaguomsingi wakati wa kuunda ununuzi mpya wa Mauzo. Bei ya bidhaa itachukuliwa kutoka kwenye Orodha hii ya Bei.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Mizani iliyohifadhiwa,
 Uncleared Balance,Mizani Isiyoondolewa,
 Payment related to {0} is not completed,Malipo yanayohusiana na {0} hayajakamilika,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Mstari # {}: Nambari ya siri {}. {} tayari imeshughulikiwa kuwa Ankara nyingine ya POS. Tafadhali chagua nambari halali halali.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Mstari # {}: Msimbo wa Bidhaa: {} haipatikani chini ya ghala {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Mstari # {}: Idadi ya hisa haitoshi kwa Msimbo wa Bidhaa: {} chini ya ghala {} Kiasi kinachopatikana {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Mstari # {}: Tafadhali chagua nambari tupu na fungu dhidi ya bidhaa: {} au uiondoe ili kukamilisha muamala.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Tafadhali wezesha Ruhusu Hisa hasi katika Mipangilio ya Hisa au unda Uingizaji wa Hisa ili kuendelea,
 No Inpatient Record found against patient {0},Hakuna Rekodi ya Wagonjwa Inayopatikana dhidi ya mgonjwa {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Amri ya Dawa ya Wagonjwa {0} dhidi ya Mkutano wa Wagonjwa {1} tayari ipo.,
+Allow In Returns,Ruhusu In Return,
+Hide Unavailable Items,Ficha Vitu ambavyo havipatikani,
+Apply Discount on Discounted Rate,Tumia Punguzo kwa Kiwango kilichopunguzwa,
+Therapy Plan Template,Kigezo cha Mpango wa Tiba,
+Fetching Template Details,Kuchota Maelezo ya Kiolezo,
+Linked Item Details,Maelezo ya Bidhaa Iliyounganishwa,
+Therapy Types,Aina za Tiba,
+Therapy Plan Template Detail,Maelezo ya Kiolezo cha Mpango wa Tiba,
+Non Conformance,Kutokubaliana,
+Process Owner,Mchakato wa Mmiliki,
+Corrective Action,Hatua ya Marekebisho,
+Preventive Action,Hatua ya Kinga,
+Problem,Shida,
+Responsible,Kuwajibika,
+Completion By,Kukamilisha Na,
+Process Owner Full Name,Mchakato Jina la Kamili la Mmiliki,
+Right Index,Kielelezo cha kulia,
+Left Index,Kielelezo cha Kushoto,
+Sub Procedure,Utaratibu mdogo,
+Passed,Imepita,
+Print Receipt,Risiti ya Kuchapisha,
+Edit Receipt,Hariri Stakabadhi,
+Focus on search input,Zingatia uingizaji wa utaftaji,
+Focus on Item Group filter,Zingatia kichujio cha Kikundi cha Bidhaa,
+Checkout Order / Submit Order / New Order,Agizo la Checkout / Tuma Agizo / Agizo Jipya,
+Add Order Discount,Ongeza Punguzo la Agizo,
+Item Code: {0} is not available under warehouse {1}.,Msimbo wa Bidhaa: {0} haipatikani chini ya ghala {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Nambari za mfululizo hazipatikani kwa Kipengee {0} chini ya ghala {1}. Tafadhali jaribu kubadilisha ghala.,
+Fetched only {0} available serial numbers.,Ilichukuliwa tu {0} nambari za serial zinazopatikana.,
+Switch Between Payment Modes,Badilisha kati ya Njia za Malipo,
+Enter {0} amount.,Ingiza {0} kiasi.,
+You don't have enough points to redeem.,Huna alama za kutosha za kukomboa.,
+You can redeem upto {0}.,Unaweza kukomboa hadi {0}.,
+Enter amount to be redeemed.,Ingiza kiasi cha kukombolewa.,
+You cannot redeem more than {0}.,Huwezi kukomboa zaidi ya {0}.,
+Open Form View,Fungua Mwonekano wa Fomu,
+POS invoice {0} created succesfully,Ankara ya POS {0} imeundwa kwa ufanisi,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Kiasi cha hisa hakitoshi kwa Msimbo wa Bidhaa: {0} chini ya ghala {1}. Kiasi kinachopatikana {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Nambari ya siri: {0} tayari imeshughulikiwa kuwa Ankara nyingine ya POS.,
+Balance Serial No,Mizani Serial Na,
+Warehouse: {0} does not belong to {1},Ghala: {0} sio la {1},
+Please select batches for batched item {0},Tafadhali chagua mafungu ya kipengee kilichopigwa {0},
+Please select quantity on row {0},Tafadhali chagua wingi kwenye safu mlalo {0},
+Please enter serial numbers for serialized item {0},Tafadhali ingiza nambari za mfululizo za kipengee kilichoorodheshwa {0},
+Batch {0} already selected.,Kundi {0} tayari limechaguliwa.,
+Please select a warehouse to get available quantities,Tafadhali chagua ghala ili upate idadi inayopatikana,
+"For transfer from source, selected quantity cannot be greater than available quantity","Kwa uhamisho kutoka kwa chanzo, idadi iliyochaguliwa haiwezi kuwa kubwa kuliko idadi inayopatikana",
+Cannot find Item with this Barcode,Haiwezi kupata kipengee na Nambari hii ya Msimbo,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} ni lazima. Labda rekodi ya Sarafu haikuundwa kwa {1} hadi {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} imewasilisha mali iliyounganishwa nayo. Unahitaji kughairi mali ili urejeshe ununuzi.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Haiwezi kughairi waraka huu kwani umeunganishwa na kipengee kilichowasilishwa {0}. Tafadhali ighairi ili uendelee.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Mstari # {}: Nambari ya Siri {} tayari imeshughulikiwa kuwa Ankara nyingine ya POS. Tafadhali chagua nambari halali halali.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Mstari # {}: Nambari za Siri. {} Tayari imeshughulikiwa kuwa Ankara nyingine ya POS. Tafadhali chagua nambari halali halali.,
+Item Unavailable,Bidhaa Haipatikani,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Safu mlalo # {}: Nambari ya siri {} haiwezi kurejeshwa kwa kuwa haikufikiwa katika ankara halisi {},
+Please set default Cash or Bank account in Mode of Payment {},Tafadhali weka akaunti chaguomsingi ya Fedha au Benki katika Njia ya Malipo {},
+Please set default Cash or Bank account in Mode of Payments {},Tafadhali weka akaunti chaguomsingi ya Fedha au Benki katika Njia ya Malipo {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Tafadhali hakikisha {} akaunti ni Akaunti ya Mizani. Unaweza kubadilisha akaunti ya mzazi kuwa Akaunti ya Mizani au kuchagua akaunti tofauti.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Tafadhali hakikisha {} akaunti ni akaunti inayolipwa. Badilisha aina ya akaunti iwe ya kulipwa au chagua akaunti tofauti.,
+Row {}: Expense Head changed to {} ,Safu mlalo {}: Kichwa cha Gharama kimebadilishwa kuwa {},
+because account {} is not linked to warehouse {} ,kwa sababu akaunti {} haijaunganishwa na ghala {},
+or it is not the default inventory account,au sio akaunti ya hesabu chaguomsingi,
+Expense Head Changed,Gharama Kichwa Kubadilishwa,
+because expense is booked against this account in Purchase Receipt {},kwa sababu gharama zimehifadhiwa dhidi ya akaunti hii katika Stakabadhi ya Ununuzi {},
+as no Purchase Receipt is created against Item {}. ,kwani hakuna Stakabadhi ya Ununuzi iliyoundwa dhidi ya Bidhaa {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Hii imefanywa kushughulikia uhasibu wa kesi wakati Stakabadhi ya Ununuzi imeundwa baada ya Ankara ya Ununuzi,
+Purchase Order Required for item {},Agizo la Ununuzi Linahitajika kwa bidhaa {},
+To submit the invoice without purchase order please set {} ,Ili kuwasilisha ankara bila agizo la ununuzi tafadhali weka {},
+as {} in {},kama {} katika {},
+Mandatory Purchase Order,Agizo la Ununuzi wa Lazima,
+Purchase Receipt Required for item {},Risiti ya Ununuzi Inahitajika kwa kipengee {},
+To submit the invoice without purchase receipt please set {} ,Ili kuwasilisha ankara bila stakabadhi ya ununuzi tafadhali weka {},
+Mandatory Purchase Receipt,Stakabadhi ya Ununuzi wa Lazima,
+POS Profile {} does not belongs to company {},Profaili ya POS {} sio ya kampuni {},
+User {} is disabled. Please select valid user/cashier,Mtumiaji {} amezimwa. Tafadhali chagua mtumiaji / mtunza fedha halali,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Safu mlalo # {}: Ankara halisi {} ya ankara ya kurudi {} ni {}.,
+Original invoice should be consolidated before or along with the return invoice.,Ankara halisi inapaswa kujumuishwa kabla au pamoja na ankara ya kurudi.,
+You can add original invoice {} manually to proceed.,Unaweza kuongeza ankara halisi {} mwenyewe ili kuendelea.,
+Please ensure {} account is a Balance Sheet account. ,Tafadhali hakikisha {} akaunti ni Akaunti ya Mizani.,
+You can change the parent account to a Balance Sheet account or select a different account.,Unaweza kubadilisha akaunti ya mzazi kuwa Akaunti ya Mizani au kuchagua akaunti tofauti.,
+Please ensure {} account is a Receivable account. ,Tafadhali hakikisha {} akaunti ni akaunti inayopokelewa.,
+Change the account type to Receivable or select a different account.,Badilisha aina ya akaunti iwe ya Kupokea au chagua akaunti tofauti.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} haiwezi kughairiwa kwa kuwa Pointi za Uaminifu zilizopatikana zimekombolewa. Kwanza ghairi {} Hapana {},
+already exists,tayari ipo,
+POS Closing Entry {} against {} between selected period,Kuingia kwa POS {} dhidi ya {} kati ya kipindi kilichochaguliwa,
+POS Invoice is {},Ankara ya POS ni {},
+POS Profile doesn't matches {},Profaili ya POS hailingani na {},
+POS Invoice is not {},Ankara ya POS sio {},
+POS Invoice isn't created by user {},Ankara ya POS haijaundwa na mtumiaji {},
+Row #{}: {},Safu mlalo # {}: {},
+Invalid POS Invoices,Ankara za POS batili,
+Please add the account to root level Company - {},Tafadhali ongeza akaunti kwenye Kampuni ya kiwango cha mizizi - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Wakati wa kuunda akaunti ya Kampuni ya Mtoto {0}, akaunti ya mzazi {1} haikupatikana. Tafadhali fungua akaunti ya mzazi katika COA inayofanana",
+Account Not Found,Akaunti Haikupatikana,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Wakati wa kuunda akaunti ya Kampuni ya Mtoto {0}, akaunti ya mzazi {1} inapatikana kama akaunti ya leja.",
+Please convert the parent account in corresponding child company to a group account.,Tafadhali badilisha akaunti ya mzazi katika kampuni inayolingana ya watoto kuwa akaunti ya kikundi.,
+Invalid Parent Account,Akaunti ya Mzazi si sahihi,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Kubadilisha jina kunaruhusiwa tu kupitia kampuni mama {0}, ili kuepuka kufanana.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Ikiwa wewe {0} {1} idadi ya kipengee {2}, mpango {3} utatumika kwenye bidhaa hiyo.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Ikiwa wewe {0} {1} una thamani ya bidhaa {2}, mpango {3} utatumika kwenye bidhaa hiyo.",
+"As the field {0} is enabled, the field {1} is mandatory.","Kama uwanja {0} umewezeshwa, sehemu {1} ni lazima.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Kama sehemu {0} imewezeshwa, thamani ya uwanja {1} inapaswa kuwa zaidi ya 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Haiwezi kutoa Nambari ya Siri {0} ya kipengee {1} kwani imehifadhiwa kujaza Agizo la Mauzo {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Agizo la Mauzo {0} limehifadhi nafasi ya bidhaa hiyo {1}, unaweza tu kuhifadhi {1} dhidi ya {0}.",
+{0} Serial No {1} cannot be delivered,{0} No Serial {1} haiwezi kutolewa,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Safu mlalo {0}: Bidhaa iliyodhibitiwa ni lazima kwa malighafi {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Kwa kuwa kuna malighafi ya kutosha, Ombi la Nyenzo halihitajiki kwa Ghala {0}.",
+" If you still want to proceed, please enable {0}.","Ikiwa bado unataka kuendelea, tafadhali washa {0}.",
+The item referenced by {0} - {1} is already invoiced,Bidhaa iliyorejelewa na {0} - {1} tayari imetumwa ankara,
+Therapy Session overlaps with {0},Kipindi cha Tiba hupishana na {0},
+Therapy Sessions Overlapping,Vikao vya Tiba vinaingiliana,
+Therapy Plans,Mipango ya Tiba,
+"Item Code, warehouse, quantity are required on row {0}","Nambari ya Bidhaa, ghala, idadi inahitajika kwenye safu mlalo {0}",
+Get Items from Material Requests against this Supplier,Pata Vitu kutoka kwa Maombi ya Nyenzo dhidi ya Muuzaji huyu,
+Enable European Access,Washa Ufikiaji wa Uropa,
+Creating Purchase Order ...,Inaunda Agizo la Ununuzi ...,
+"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.","Chagua Muuzaji kutoka kwa Wasambazaji Default wa vitu hapa chini. Wakati wa kuchagua, Agizo la Ununuzi litafanywa dhidi ya vitu vya Muuzaji aliyechaguliwa tu.",
+Row #{}: You must select {} serial numbers for item {}.,Mstari # {}: Lazima uchague {} nambari za serial za kipengee {}.,
diff --git a/erpnext/translations/ta.csv b/erpnext/translations/ta.csv
index ce5e947..100f0e9 100644
--- a/erpnext/translations/ta.csv
+++ b/erpnext/translations/ta.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',வகை &#39;மதிப்பீட்டு&#39; அல்லது &#39;Vaulation மற்றும் மொத்த&#39; க்கான போது கழித்து முடியாது,
 "Cannot delete Serial No {0}, as it is used in stock transactions","நீக்க முடியாது தொ.எ. {0}, அது பங்கு பரிவர்த்தனைகள் பயன்படுத்தப்படும் விதத்தில்",
 Cannot enroll more than {0} students for this student group.,{0} இந்த மாணவர் குழு மாணவர்கள் விட சேர முடியாது.,
-Cannot find Item with this barcode,இந்த பார்கோடு மூலம் உருப்படியைக் கண்டுபிடிக்க முடியவில்லை,
 Cannot find active Leave Period,செயலில் விடுப்பு காலம் கண்டுபிடிக்க முடியவில்லை,
 Cannot produce more Item {0} than Sales Order quantity {1},மேலும் பொருள் தயாரிக்க முடியாது {0} விட விற்பனை ஆணை அளவு {1},
 Cannot promote Employee with status Left,பணியாளர் நிலையை நிலை இடது பக்கம் ஊக்குவிக்க முடியாது,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","உருவாக்கவும் , தினசரி வாராந்திர மற்றும் மாதாந்திர மின்னஞ்சல் சுருக்கங்களின் நிர்வகிக்க .",
 Create customer quotes,வாடிக்கையாளர் மேற்கோள் உருவாக்கவும்,
 Create rules to restrict transactions based on values.,மதிப்புகள் அடிப்படையில் நடவடிக்கைகளை கட்டுப்படுத்த விதிகளை உருவாக்க .,
-Created By,மூலம் உருவாக்கப்பட்டது,
 Created {0} scorecards for {1} between: ,{0} க்கு இடையே {0} ஸ்கோட்கார்டுகள் உருவாக்கப்பட்டது:,
 Creating Company and Importing Chart of Accounts,நிறுவனத்தை உருவாக்குதல் மற்றும் கணக்குகளின் இறக்குமதி,
 Creating Fees,கட்டணம் உருவாக்குதல்,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,வரிசையில் {0}: திட்டமிட்ட qty ஐ உள்ளிடவும்,
 "For {0}, only credit accounts can be linked against another debit entry",{0} மட்டுமே கடன் கணக்குகள் மற்றொரு பற்று நுழைவு எதிராக இணைக்கப்பட்ட ஐந்து,
 "For {0}, only debit accounts can be linked against another credit entry",{0} மட்டுமே டெபிட் கணக்குகள் மற்றொரு கடன் நுழைவு எதிராக இணைக்கப்பட்ட ஐந்து,
-Form View,படிவம் காட்சி,
 Forum Activity,கருத்துக்களம் செயல்பாடு,
 Free item code is not selected,இலவச உருப்படி குறியீடு தேர்ந்தெடுக்கப்படவில்லை,
 Freight and Forwarding Charges,சரக்கு மற்றும் அனுப்புதல் கட்டணம்,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,உங்கள் தொடர்புகள் வெகுஜன எஸ்எம்எஸ் அனுப்ப,
 Sensitivity,உணர்திறன்,
 Sent,அனுப்பப்பட்டது,
-Serial #,தொடர் #,
 Serial No and Batch,தொ.எ. மற்றும் தொகுதி,
 Serial No is mandatory for Item {0},சீரியல் இல்லை பொருள் கட்டாய {0},
 Serial No {0} does not belong to Batch {1},சீரியல் இல்லை {0} தொகுதி {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,உனக்கு என்ன உதவி வேண்டும்?,
 What does it do?,அது என்ன?,
 Where manufacturing operations are carried.,உற்பத்தி இயக்கங்களை எங்கே கொண்டுவரப்படுகின்றன.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","குழந்தை நிறுவனத்தின் கணக்கை உருவாக்கும்போது {0}, பெற்றோர் கணக்கு {1} இல்லை. தயவுசெய்து பெற்றோரின் கணக்கை ஒத்த COA இல் உருவாக்கவும்",
 White,வெள்ளை,
 Wire Transfer,வயர் மாற்றம்,
 WooCommerce Products,WooCommerce தயாரிப்புகள்,
@@ -3493,6 +3488,7 @@
 Merge with existing,இருக்கும் இணைவதற்கு,
 Office,அலுவலகம்,
 Orientation,திசை,
+Parent,பெற்றோர்,
 Passive,மந்தமான,
 Payment Failed,கொடுப்பனவு தோல்வி,
 Percent,சதவீதம்,
@@ -3543,6 +3539,7 @@
 Show {0},{0 Show ஐக் காட்டு,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; மற்றும் &quot;}&quot; தவிர சிறப்பு எழுத்துக்கள் பெயரிடும் தொடரில் அனுமதிக்கப்படவில்லை",
 Target Details,இலக்கு விவரங்கள்,
+{0} already has a Parent Procedure {1}.,{0} ஏற்கனவே பெற்றோர் நடைமுறை {1 has ஐக் கொண்டுள்ளது.,
 API,ஏபிஐ,
 Annual,வருடாந்திர,
 Approved,ஏற்பளிக்கப்பட்ட,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,முடிவு தேதி தொடங்கும் நாள் விட குறைவாக இருக்க முடியாது,
 For Default Supplier (Optional),இயல்புநிலை வழங்குநருக்கு (விரும்பினால்),
 From date cannot be greater than To date,தேதி முதல் இன்று வரை விட முடியாது,
-Get items from,இருந்து பொருட்களை பெற,
 Group by,குழு மூலம்,
 In stock,கையிருப்பில்,
 Item name,பொருள் பெயர்,
@@ -7558,10 +7554,6 @@
 Quality Goal,தர இலக்கு,
 Monitoring Frequency,கண்காணிப்பு அதிர்வெண்,
 Weekday,வாரநாள்,
-January-April-July-October,ஜனவரி-ஏப்ரல்-ஜூலை-அக்டோபர்,
-Revision and Revised On,திருத்தம் மற்றும் திருத்தப்பட்டது,
-Revision,மறுபார்வை,
-Revised On,திருத்தப்பட்டது,
 Objectives,நோக்கங்கள்,
 Quality Goal Objective,தர இலக்கு குறிக்கோள்,
 Objective,குறிக்கோள்,
@@ -7574,7 +7566,6 @@
 Processes,செயல்முறைகள்,
 Quality Procedure Process,தர நடைமுறை செயல்முறை,
 Process Description,செயல்முறை விளக்கம்,
-Child Procedure,குழந்தை நடைமுறை,
 Link existing Quality Procedure.,இருக்கும் தர நடைமுறைகளை இணைக்கவும்.,
 Additional Information,கூடுதல் தகவல்,
 Quality Review Objective,தர மதிப்பாய்வு குறிக்கோள்,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,ரிசிப்ட் போக்குகள் வாங்குவதற்கு,
 Purchase Register,பதிவு வாங்குவதற்கு,
 Quotation Trends,மேற்கோள் போக்குகள்,
-Quoted Item Comparison,மேற்கோள் காட்டப்பட்டது பொருள் ஒப்பீட்டு,
 Received Items To Be Billed,கட்டணம் பெறப்படும் பொருட்கள்,
 Qty to Order,அளவு ஒழுங்கிற்கு,
 Requested Items To Be Transferred,மாற்றப்படுவதற்கு கோரப்பட்ட விடயங்கள்,
@@ -9091,7 +9081,6 @@
 Absent Days,இல்லாத நாட்கள்,
 Conditions and Formula variable and example,நிபந்தனைகள் மற்றும் ஃபார்முலா மாறி மற்றும் எடுத்துக்காட்டு,
 Feedback By,மூலம் கருத்து,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,உற்பத்தி பிரிவு,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","இயல்பாக, உள்ளிட்ட முழு பெயரின் படி வாடிக்கையாளர் பெயர் அமைக்கப்படுகிறது. வாடிக்கையாளர்களின் பெயரை நீங்கள் விரும்பினால் a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,புதிய விற்பனை பரிவர்த்தனையை உருவாக்கும்போது இயல்புநிலை விலை பட்டியலை உள்ளமைக்கவும். இந்த விலை பட்டியலிலிருந்து பொருள் விலைகள் பெறப்படும்.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,ஒதுக்கப்பட்ட இருப்பு,
 Uncleared Balance,தெளிவற்ற இருப்பு,
 Payment related to {0} is not completed,{0 to தொடர்பான கட்டணம் முடிக்கப்படவில்லை,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,வரிசை # {}: வரிசை எண் {}. P already ஏற்கனவே மற்றொரு பிஓஎஸ் விலைப்பட்டியலில் பரிவர்த்தனை செய்யப்பட்டுள்ளது. செல்லுபடியாகும் சீரியல் எண் என்பதைத் தேர்ந்தெடுக்கவும்.,
 Row #{}: Item Code: {} is not available under warehouse {}.,வரிசை # {}: பொருள் குறியீடு: w w கிடங்கின் கீழ் கிடைக்காது {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,வரிசை # {}: பொருள் குறியீட்டிற்கு பங்கு அளவு போதாது: ware w கிடங்கின் கீழ் {}. கிடைக்கும் அளவு {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,வரிசை # {}: தயவுசெய்து ஒரு வரிசை எண் ஒன்றைத் தேர்ந்தெடுத்து உருப்படிக்கு எதிராகத் தொகுக்கவும்: {} அல்லது பரிவர்த்தனை முடிக்க அதை அகற்றவும்.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,பங்கு அமைப்புகளில் எதிர்மறை பங்குகளை அனுமதிக்க தயவுசெய்து தொடரவும் அல்லது தொடர பங்கு உள்ளீட்டை உருவாக்கவும்.,
 No Inpatient Record found against patient {0},நோயாளிக்கு எதிராக உள்நோயாளிகள் பதிவு எதுவும் இல்லை {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,நோயாளி சந்திப்பு {1 against க்கு எதிராக உள்நோயாளி மருந்து ஆணை {0 already ஏற்கனவே உள்ளது.,
+Allow In Returns,வருமானத்தில் அனுமதி,
+Hide Unavailable Items,கிடைக்காத உருப்படிகளை மறைக்க,
+Apply Discount on Discounted Rate,தள்ளுபடி விகிதத்தில் தள்ளுபடியைப் பயன்படுத்துங்கள்,
+Therapy Plan Template,சிகிச்சை திட்டம் வார்ப்புரு,
+Fetching Template Details,வார்ப்புரு விவரங்களைப் பெறுதல்,
+Linked Item Details,இணைக்கப்பட்ட பொருள் விவரங்கள்,
+Therapy Types,சிகிச்சை வகைகள்,
+Therapy Plan Template Detail,சிகிச்சை திட்டம் வார்ப்புரு விவரம்,
+Non Conformance,இணக்கமற்றது,
+Process Owner,செயல்முறை உரிமையாளர்,
+Corrective Action,சரியான நடவடிக்கை,
+Preventive Action,தடுப்பு நடவடிக்கை,
+Problem,பிரச்சனை,
+Responsible,பொறுப்பு,
+Completion By,மூலம் நிறைவு,
+Process Owner Full Name,செயல்முறை உரிமையாளர் முழு பெயர்,
+Right Index,சரியான அட்டவணை,
+Left Index,இடது அட்டவணை,
+Sub Procedure,துணை நடைமுறை,
+Passed,தேர்ச்சி பெற்றது,
+Print Receipt,ரசீது அச்சிடுக,
+Edit Receipt,ரசீதைத் திருத்து,
+Focus on search input,தேடல் உள்ளீட்டில் கவனம் செலுத்துங்கள்,
+Focus on Item Group filter,உருப்படி குழு வடிப்பானில் கவனம் செலுத்துங்கள்,
+Checkout Order / Submit Order / New Order,புதுப்பித்து ஆணை / சமர்ப்பிக்கும் ஆணை / புதிய ஆர்டர்,
+Add Order Discount,ஆர்டர் தள்ளுபடி சேர்க்கவும்,
+Item Code: {0} is not available under warehouse {1}.,பொருள் குறியீடு: கிடங்கு {1 under இன் கீழ் {0} கிடைக்கவில்லை.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,கிடங்கு {1 under இன் கீழ் உருப்படி {0 for க்கு வரிசை எண்கள் கிடைக்கவில்லை. கிடங்கை மாற்ற முயற்சிக்கவும்.,
+Fetched only {0} available serial numbers.,{0} கிடைக்கும் வரிசை எண்களை மட்டுமே பெற்றது.,
+Switch Between Payment Modes,கட்டண முறைகளுக்கு இடையில் மாறவும்,
+Enter {0} amount.,{0} தொகையை உள்ளிடவும்.,
+You don't have enough points to redeem.,மீட்டெடுக்க உங்களுக்கு போதுமான புள்ளிகள் இல்லை.,
+You can redeem upto {0}.,நீங்கள் {0 to வரை மீட்டெடுக்கலாம்.,
+Enter amount to be redeemed.,மீட்டெடுக்க வேண்டிய தொகையை உள்ளிடவும்.,
+You cannot redeem more than {0}.,நீங்கள் {0 than க்கு மேல் மீட்டெடுக்க முடியாது.,
+Open Form View,படிவக் காட்சியைத் திறக்கவும்,
+POS invoice {0} created succesfully,பிஓஎஸ் விலைப்பட்டியல் {0 Suc வெற்றிகரமாக உருவாக்கப்பட்டது,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,பொருள் குறியீட்டிற்கு பங்கு அளவு போதாது: கிடங்கு {1 under இன் கீழ் {0}. கிடைக்கும் அளவு {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,வரிசை எண்: P 0 already ஏற்கனவே மற்றொரு பிஓஎஸ் விலைப்பட்டியலில் பரிவர்த்தனை செய்யப்பட்டுள்ளது.,
+Balance Serial No,இருப்பு வரிசை எண்,
+Warehouse: {0} does not belong to {1},கிடங்கு: {0} {1 to க்கு சொந்தமானது அல்ல,
+Please select batches for batched item {0},தொகுக்கப்பட்ட உருப்படி for 0 for க்கான தொகுப்புகளைத் தேர்ந்தெடுக்கவும்,
+Please select quantity on row {0},{0 row வரிசையில் அளவைத் தேர்ந்தெடுக்கவும்,
+Please enter serial numbers for serialized item {0},வரிசைப்படுத்தப்பட்ட உருப்படி {0 for க்கு வரிசை எண்களை உள்ளிடவும்,
+Batch {0} already selected.,தொகுதி {0} ஏற்கனவே தேர்ந்தெடுக்கப்பட்டது.,
+Please select a warehouse to get available quantities,கிடைக்கக்கூடிய அளவைப் பெற தயவுசெய்து ஒரு கிடங்கைத் தேர்ந்தெடுக்கவும்,
+"For transfer from source, selected quantity cannot be greater than available quantity","மூலத்திலிருந்து மாற்றுவதற்கு, தேர்ந்தெடுக்கப்பட்ட அளவு கிடைக்கக்கூடிய அளவை விட அதிகமாக இருக்கக்கூடாது",
+Cannot find Item with this Barcode,இந்த பார்கோடு மூலம் உருப்படியைக் கண்டுபிடிக்க முடியவில்லை,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} கட்டாயமாகும். நாணய பரிவர்த்தனை பதிவு {1} முதல் {2 for வரை உருவாக்கப்படவில்லை,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,with with அதனுடன் இணைக்கப்பட்ட சொத்துக்களை சமர்ப்பித்துள்ளது. கொள்முதல் வருவாயை உருவாக்க நீங்கள் சொத்துக்களை ரத்து செய்ய வேண்டும்.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,சமர்ப்பிக்கப்பட்ட சொத்து {0 with உடன் இணைக்கப்பட்டுள்ளதால் இந்த ஆவணத்தை ரத்து செய்ய முடியாது. தொடர அதை ரத்துசெய்க.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,வரிசை # {}: வரிசை எண் {another ஏற்கனவே மற்றொரு பிஓஎஸ் விலைப்பட்டியலில் பரிவர்த்தனை செய்யப்பட்டுள்ளது. செல்லுபடியாகும் சீரியல் எண் என்பதைத் தேர்ந்தெடுக்கவும்.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,வரிசை # {}: வரிசை எண்.} Already ஏற்கனவே மற்றொரு பிஓஎஸ் விலைப்பட்டியலில் பரிவர்த்தனை செய்யப்பட்டுள்ளது. செல்லுபடியாகும் சீரியல் எண் என்பதைத் தேர்ந்தெடுக்கவும்.,
+Item Unavailable,பொருள் கிடைக்கவில்லை,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},வரிசை # {}: அசல் விலைப்பட்டியலில் பரிவர்த்தனை செய்யப்படாததால் வரிசை எண் {return ஐ திருப்பித் தர முடியாது {},
+Please set default Cash or Bank account in Mode of Payment {},இயல்புநிலை ரொக்கம் அல்லது வங்கி கணக்கை கட்டண முறையில் அமைக்கவும் {},
+Please set default Cash or Bank account in Mode of Payments {},இயல்புநிலை ரொக்கம் அல்லது வங்கி கணக்கை பணம் செலுத்தும் முறையில் அமைக்கவும்}},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,{} கணக்கு இருப்புநிலைக் கணக்கு என்பதை உறுதிப்படுத்தவும். நீங்கள் பெற்றோர் கணக்கை இருப்புநிலைக் கணக்காக மாற்றலாம் அல்லது வேறு கணக்கைத் தேர்ந்தெடுக்கலாம்.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,{} கணக்கு செலுத்த வேண்டிய கணக்கு என்பதை உறுதிப்படுத்தவும். செலுத்த வேண்டிய கணக்கு வகையை மாற்றவும் அல்லது வேறு கணக்கைத் தேர்ந்தெடுக்கவும்.,
+Row {}: Expense Head changed to {} ,வரிசை {}: செலவுத் தலை {to ஆக மாற்றப்பட்டது,
+because account {} is not linked to warehouse {} ,ஏனெனில் கணக்கு} w கிடங்குடன் இணைக்கப்படவில்லை}},
+or it is not the default inventory account,அல்லது அது இயல்புநிலை சரக்கு கணக்கு அல்ல,
+Expense Head Changed,செலவு தலை மாற்றப்பட்டது,
+because expense is booked against this account in Purchase Receipt {},ஏனெனில் கொள்முதல் ரசீதில் இந்த கணக்கிற்கு எதிராக செலவு பதிவு செய்யப்பட்டுள்ளது}},
+as no Purchase Receipt is created against Item {}. ,உருப்படி against against க்கு எதிராக எந்த கொள்முதல் ரசீதும் உருவாக்கப்படவில்லை என்பதால்.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,கொள்முதல் விலைப்பட்டியலுக்குப் பிறகு கொள்முதல் ரசீது உருவாக்கப்படும் போது வழக்குகளுக்கான கணக்கீட்டைக் கையாள இது செய்யப்படுகிறது,
+Purchase Order Required for item {},உருப்படி for} க்கு கொள்முதல் ஆணை தேவை,
+To submit the invoice without purchase order please set {} ,கொள்முதல் ஆணை இல்லாமல் விலைப்பட்டியல் சமர்ப்பிக்க தயவுசெய்து set set ஐ அமைக்கவும்,
+as {} in {},{} இல் {as என,
+Mandatory Purchase Order,கட்டாய கொள்முதல் ஆணை,
+Purchase Receipt Required for item {},Item item உருப்படிக்கு கொள்முதல் ரசீது தேவை,
+To submit the invoice without purchase receipt please set {} ,கொள்முதல் ரசீது இல்லாமல் விலைப்பட்டியல் சமர்ப்பிக்க தயவுசெய்து set set ஐ அமைக்கவும்,
+Mandatory Purchase Receipt,கட்டாய கொள்முதல் ரசீது,
+POS Profile {} does not belongs to company {},POS சுயவிவரம் company company நிறுவனத்திற்கு சொந்தமானது அல்ல}},
+User {} is disabled. Please select valid user/cashier,பயனர்} disabled முடக்கப்பட்டுள்ளது. செல்லுபடியாகும் பயனர் / காசாளரைத் தேர்ந்தெடுக்கவும்,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,வரிசை # {}: வருவாய் விலைப்பட்டியலின் அசல் விலைப்பட்டியல் {} {}.,
+Original invoice should be consolidated before or along with the return invoice.,அசல் விலைப்பட்டியல் வருவாய் விலைப்பட்டியலுக்கு முன் அல்லது அதனுடன் ஒருங்கிணைக்கப்பட வேண்டும்.,
+You can add original invoice {} manually to proceed.,தொடர அசல் விலைப்பட்டியல்}} கைமுறையாக சேர்க்கலாம்.,
+Please ensure {} account is a Balance Sheet account. ,{} கணக்கு இருப்புநிலைக் கணக்கு என்பதை உறுதிப்படுத்தவும்.,
+You can change the parent account to a Balance Sheet account or select a different account.,நீங்கள் பெற்றோர் கணக்கை இருப்புநிலைக் கணக்காக மாற்றலாம் அல்லது வேறு கணக்கைத் தேர்ந்தெடுக்கலாம்.,
+Please ensure {} account is a Receivable account. ,{} கணக்கு பெறத்தக்க கணக்கு என்பதை உறுதிப்படுத்தவும்.,
+Change the account type to Receivable or select a different account.,கணக்கு வகையை பெறத்தக்கதாக மாற்றவும் அல்லது வேறு கணக்கைத் தேர்ந்தெடுக்கவும்.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},சம்பாதித்த விசுவாச புள்ளிகள் மீட்டெடுக்கப்பட்டதால்} cancel ரத்து செய்ய முடியாது. முதலில் {} இல்லை {cancel ஐ ரத்துசெய்,
+already exists,ஏற்கனவே இருக்கிறது,
+POS Closing Entry {} against {} between selected period,தேர்ந்தெடுக்கப்பட்ட காலத்திற்கு இடையில் POS} க்கு எதிராக POS மூடல் நுழைவு,
+POS Invoice is {},பிஓஎஸ் விலைப்பட்டியல் {},
+POS Profile doesn't matches {},POS சுயவிவரம் பொருந்தவில்லை {},
+POS Invoice is not {},பிஓஎஸ் விலைப்பட்டியல் {not அல்ல,
+POS Invoice isn't created by user {},POS விலைப்பட்டியல் பயனரால் உருவாக்கப்படவில்லை {},
+Row #{}: {},வரிசை # {}: {},
+Invalid POS Invoices,தவறான பிஓஎஸ் விலைப்பட்டியல்,
+Please add the account to root level Company - {},ரூட் லெவல் நிறுவனத்தில் கணக்கைச் சேர்க்கவும் - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","குழந்தை நிறுவனம் {0 for க்கான கணக்கை உருவாக்கும் போது, பெற்றோர் கணக்கு {1 found காணப்படவில்லை. தொடர்புடைய COA இல் பெற்றோர் கணக்கை உருவாக்கவும்",
+Account Not Found,கணக்கு கிடைக்கவில்லை,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","குழந்தை நிறுவனம் {0 for க்கான கணக்கை உருவாக்கும் போது, பெற்றோர் கணக்கு {1 a ஒரு லெட்ஜர் கணக்காகக் காணப்படுகிறது.",
+Please convert the parent account in corresponding child company to a group account.,தொடர்புடைய குழந்தை நிறுவனத்தில் பெற்றோர் கணக்கை குழு கணக்காக மாற்றவும்.,
+Invalid Parent Account,தவறான பெற்றோர் கணக்கு,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","பொருந்தாததைத் தவிர்க்க, மறுபெயரிடுவது பெற்றோர் நிறுவனம் {0 via வழியாக மட்டுமே அனுமதிக்கப்படுகிறது.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","நீங்கள் {2} உருப்படியின் {0} {1} அளவு என்றால், {3 the திட்டம் உருப்படியில் பயன்படுத்தப்படும்.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","நீங்கள் {0} {1} மதிப்புள்ள உருப்படி {2 If என்றால், {3 the திட்டம் உருப்படிக்கு பயன்படுத்தப்படும்.",
+"As the field {0} is enabled, the field {1} is mandatory.","புலம் {0} இயக்கப்பட்டிருப்பதால், {1 field புலம் கட்டாயமாகும்.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","புலம் {0} இயக்கப்பட்டிருப்பதால், {1 the புலத்தின் மதிப்பு 1 ஐ விட அதிகமாக இருக்க வேண்டும்.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"{1 item உருப்படியின் வரிசை எண் {0 deliver ஐ வழங்க முடியாது, ஏனெனில் இது விற்பனை நிரப்புதல் {2 full",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","விற்பனை ஆணை {0 the உருப்படிக்கு முன்பதிவு {1}, நீங்கள் ஒதுக்கப்பட்ட {1} ஐ {0 against க்கு எதிராக மட்டுமே வழங்க முடியும்.",
+{0} Serial No {1} cannot be delivered,{0} வரிசை எண் {1 delivery வழங்க முடியாது,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},வரிசை {0}: மூலப்பொருள் {1 for க்கு துணை ஒப்பந்தம் செய்யப்பட்ட பொருள் கட்டாயமாகும்,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","போதுமான மூலப்பொருட்கள் இருப்பதால், கிடங்கு {0 for க்கு பொருள் கோரிக்கை தேவையில்லை.",
+" If you still want to proceed, please enable {0}.","நீங்கள் இன்னும் தொடர விரும்பினால், தயவுசெய்து {0 enable ஐ இயக்கவும்.",
+The item referenced by {0} - {1} is already invoiced,{0} - {1 by ஆல் குறிப்பிடப்பட்ட உருப்படி ஏற்கனவே விலைப்பட்டியல்,
+Therapy Session overlaps with {0},சிகிச்சை அமர்வு {0 with உடன் ஒன்றுடன் ஒன்று,
+Therapy Sessions Overlapping,சிகிச்சை அமர்வுகள் ஒன்றுடன் ஒன்று,
+Therapy Plans,சிகிச்சை திட்டங்கள்,
+"Item Code, warehouse, quantity are required on row {0}","Code 0 row வரிசையில் உருப்படி குறியீடு, கிடங்கு, அளவு தேவை",
+Get Items from Material Requests against this Supplier,இந்த சப்ளையருக்கு எதிரான பொருள் கோரிக்கைகளிலிருந்து பொருட்களைப் பெறுங்கள்,
+Enable European Access,ஐரோப்பிய அணுகலை இயக்கு,
+Creating Purchase Order ...,கொள்முதல் ஆணையை உருவாக்குதல் ...,
+"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.","கீழே உள்ள பொருட்களின் இயல்புநிலை சப்ளையர்களிடமிருந்து ஒரு சப்ளையரைத் தேர்ந்தெடுக்கவும். தேர்ந்தெடுக்கும் போது, தேர்ந்தெடுக்கப்பட்ட சப்ளையருக்கு மட்டுமே சொந்தமான பொருட்களுக்கு எதிராக கொள்முதல் ஆணை செய்யப்படும்.",
+Row #{}: You must select {} serial numbers for item {}.,வரிசை # {}: நீங்கள் item item உருப்படிக்கு {} வரிசை எண்களைத் தேர்ந்தெடுக்க வேண்டும்.,
diff --git a/erpnext/translations/te.csv b/erpnext/translations/te.csv
index f3fd61d..047d077 100644
--- a/erpnext/translations/te.csv
+++ b/erpnext/translations/te.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',వర్గం &#39;మదింపు&#39; లేదా &#39;Vaulation మరియు మొత్తం&#39; కోసం ఉన్నప్పుడు తీసివేయు కాదు,
 "Cannot delete Serial No {0}, as it is used in stock transactions","తొలగించలేరు సీరియల్ లేవు {0}, ఇది స్టాక్ లావాదేవీలు ఉపయోగిస్తారు వంటి",
 Cannot enroll more than {0} students for this student group.,{0} ఈ విద్యార్థి సమూహం కోసం విద్యార్థులు కంటే మరింత నమోదు చేయలేరు.,
-Cannot find Item with this barcode,ఈ బార్కోడ్తో అంశం కనుగొనబడలేదు,
 Cannot find active Leave Period,క్రియాశీల సెలవు సమయాన్ని కనుగొనలేకపోయాము,
 Cannot produce more Item {0} than Sales Order quantity {1},అమ్మకాల ఆర్డర్ పరిమాణం కంటే ఎక్కువ అంశం {0} ఉత్పత్తి కాదు {1},
 Cannot promote Employee with status Left,స్థితి ఎడమవైపు ఉద్యోగిని ప్రోత్సహించలేరు,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",సృష్టించు మరియు రోజువారీ వార మరియు నెలసరి ఇమెయిల్ Digests నిర్వహించండి.,
 Create customer quotes,కస్టమర్ కోట్స్ సృష్టించు,
 Create rules to restrict transactions based on values.,విలువలు ఆధారంగా లావాదేవీలు పరిమితం చేయడానికి నిబంధనలు సృష్టించు.,
-Created By,రూపొందించినవారు,
 Created {0} scorecards for {1} between: ,{0} కోసం {0} స్కోర్కార్డ్లు సృష్టించబడ్డాయి:,
 Creating Company and Importing Chart of Accounts,కంపెనీని సృష్టించడం మరియు ఖాతాల చార్ట్ దిగుమతి,
 Creating Fees,రుసుము సృష్టిస్తోంది,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,వరుస కోసం {0}: అనుకున్న qty ను నమోదు చేయండి,
 "For {0}, only credit accounts can be linked against another debit entry","{0}, కేవలం క్రెడిట్ ఖాతాల మరొక డెబిట్ ప్రవేశం వ్యతిరేకంగా లింక్ చేయవచ్చు కోసం",
 "For {0}, only debit accounts can be linked against another credit entry","{0}, మాత్రమే డెబిట్ ఖాతాల మరో క్రెడిట్ ప్రవేశానికి వ్యతిరేకంగా లింక్ చేయవచ్చు కోసం",
-Form View,ఫారమ్ వీక్షణ,
 Forum Activity,ఫోరం కార్యాచరణ,
 Free item code is not selected,ఉచిత అంశం కోడ్ ఎంచుకోబడలేదు,
 Freight and Forwarding Charges,ఫ్రైట్ మరియు ఫార్వార్డింగ్ ఛార్జీలు,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,మాస్ SMS మీ పరిచయాలను పంపండి,
 Sensitivity,సున్నితత్వం,
 Sent,పంపిన,
-Serial #,సీరియల్ #,
 Serial No and Batch,సీరియల్ లేవు మరియు బ్యాచ్,
 Serial No is mandatory for Item {0},సీరియల్ అంశం ఏదీ తప్పనిసరి {0},
 Serial No {0} does not belong to Batch {1},సీరియల్ సంఖ్య {0 B బ్యాచ్ {1 to కి చెందినది కాదు,
@@ -3303,7 +3299,6 @@
 What do you need help with?,ఏం మీరు సహాయం చేయాలి?,
 What does it do?,ఇది ఏమి చేస్తుంది?,
 Where manufacturing operations are carried.,ఉత్పాదక కార్యకలాపాల ఎక్కడ నిర్వహిస్తున్నారు.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","పిల్లల కంపెనీ {0} కోసం ఖాతాని సృష్టించినప్పుడు, పేరెంట్ ఖాతా {1} దొరకలేదు. దయచేసి సంబంధిత COA లో తల్లిదండ్రుల ఖాతాను సృష్టించండి",
 White,వైట్,
 Wire Transfer,వైర్ ట్రాన్స్ఫర్,
 WooCommerce Products,WooCommerce ఉత్పత్తులు,
@@ -3493,6 +3488,7 @@
 Merge with existing,ఇప్పటికే విలీనం,
 Office,ఆఫీసు,
 Orientation,దిశ,
+Parent,మాతృ,
 Passive,నిష్క్రియాత్మక,
 Payment Failed,చెల్లింపు విఫలమైంది,
 Percent,శాతం,
@@ -3543,6 +3539,7 @@
 Show {0},{0 Show చూపించు,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; మరియు &quot;}&quot; మినహా ప్రత్యేక అక్షరాలు పేరు పెట్టే సిరీస్‌లో అనుమతించబడవు",
 Target Details,లక్ష్య వివరాలు,
+{0} already has a Parent Procedure {1}.,{0} ఇప్పటికే తల్లిదండ్రుల విధానం {1 has ను కలిగి ఉంది.,
 API,API,
 Annual,వార్షిక,
 Approved,ఆమోదించబడింది,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,ముగింపు తేదీ ప్రారంభ తేదీ కంటే తక్కువ ఉండకూడదు,
 For Default Supplier (Optional),డిఫాల్ట్ సరఫరాదారు (ఐచ్ఛిక) కోసం,
 From date cannot be greater than To date,తేదీ నుండి తేదీ వరకు ఎక్కువ ఉండకూడదు,
-Get items from,నుండి అంశాలను పొందండి,
 Group by,గ్రూప్ ద్వారా,
 In stock,అందుబాటులో ఉంది,
 Item name,అంశం పేరు,
@@ -7558,10 +7554,6 @@
 Quality Goal,నాణ్యమైన లక్ష్యం,
 Monitoring Frequency,పర్యవేక్షణ ఫ్రీక్వెన్సీ,
 Weekday,వారపు,
-January-April-July-October,జనవరి-ఏప్రిల్-జూలై-అక్టోబర్,
-Revision and Revised On,పునర్విమర్శ మరియు సవరించబడింది,
-Revision,పునర్విమర్శ,
-Revised On,సవరించబడింది,
 Objectives,లక్ష్యాలు,
 Quality Goal Objective,నాణ్యత లక్ష్యం లక్ష్యం,
 Objective,ఆబ్జెక్టివ్,
@@ -7574,7 +7566,6 @@
 Processes,ప్రాసెసెస్,
 Quality Procedure Process,నాణ్యమైన విధాన ప్రక్రియ,
 Process Description,ప్రాసెస్ వివరణ,
-Child Procedure,పిల్లల విధానం,
 Link existing Quality Procedure.,ఇప్పటికే ఉన్న నాణ్యతా విధానాన్ని లింక్ చేయండి.,
 Additional Information,అదనపు సమాచారం,
 Quality Review Objective,నాణ్యత సమీక్ష లక్ష్యం,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,కొనుగోలు రసీదులు ట్రెండ్లులో,
 Purchase Register,కొనుగోలు నమోదు,
 Quotation Trends,కొటేషన్ ట్రెండ్లులో,
-Quoted Item Comparison,ఉల్లేఖించిన అంశం పోలిక,
 Received Items To Be Billed,స్వీకరించిన అంశాలు బిల్ టు,
 Qty to Order,ఆర్డర్ చేయటం అంశాల,
 Requested Items To Be Transferred,అభ్యర్థించిన అంశాలు బదిలీ,
@@ -9091,7 +9081,6 @@
 Absent Days,లేని రోజులు,
 Conditions and Formula variable and example,షరతులు మరియు ఫార్ములా వేరియబుల్ మరియు ఉదాహరణ,
 Feedback By,ద్వారా అభిప్రాయం,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,తయారీ విభాగం,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","అప్రమేయంగా, ఎంటర్ చేసిన పూర్తి పేరు ప్రకారం కస్టమర్ పేరు సెట్ చేయబడుతుంది. మీరు కస్టమర్ల పేరు పెట్టాలనుకుంటే a",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,క్రొత్త అమ్మకపు లావాదేవీని సృష్టించేటప్పుడు డిఫాల్ట్ ధర జాబితాను కాన్ఫిగర్ చేయండి. ఈ ధరల జాబితా నుండి వస్తువు ధరలు పొందబడతాయి.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,రిజర్వు చేసిన బ్యాలెన్స్,
 Uncleared Balance,అస్పష్టమైన బ్యాలెన్స్,
 Payment related to {0} is not completed,{0 to కు సంబంధించిన చెల్లింపు పూర్తి కాలేదు,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,అడ్డు వరుస # {}: సీరియల్ సంఖ్య {}. P already ఇప్పటికే మరొక POS ఇన్‌వాయిస్‌లో లావాదేవీ చేయబడింది. దయచేసి చెల్లుబాటు అయ్యే సీరియల్ నెం.,
 Row #{}: Item Code: {} is not available under warehouse {}.,అడ్డు వరుస # {}: అంశం కోడ్: ware గిడ్డంగి under under క్రింద అందుబాటులో లేదు.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,అడ్డు వరుస # {}: ఐటెమ్ కోడ్‌కు స్టాక్ పరిమాణం సరిపోదు: ware గిడ్డంగి కింద}}. అందుబాటులో ఉన్న పరిమాణం {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,అడ్డు వరుస # {}: దయచేసి సీరియల్ నెం ఎంచుకోండి మరియు అంశానికి వ్యతిరేకంగా బ్యాచ్ చేయండి: {} లేదా లావాదేవీని పూర్తి చేయడానికి దాన్ని తొలగించండి.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,దయచేసి స్టాక్ సెట్టింగులలో నెగటివ్ స్టాక్‌ను అనుమతించు లేదా కొనసాగించడానికి స్టాక్ ఎంట్రీని సృష్టించండి.,
 No Inpatient Record found against patient {0},రోగి {0 against కు వ్యతిరేకంగా ఇన్‌పేషెంట్ రికార్డ్ కనుగొనబడలేదు,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,పేషెంట్ ఎన్‌కౌంటర్ {1 against కు వ్యతిరేకంగా ఇన్‌పేషెంట్ మెడికేషన్ ఆర్డర్ {0 already ఇప్పటికే ఉంది.,
+Allow In Returns,రిటర్న్స్‌లో అనుమతించు,
+Hide Unavailable Items,అందుబాటులో లేని అంశాలను దాచండి,
+Apply Discount on Discounted Rate,డిస్కౌంట్ రేటుపై డిస్కౌంట్ వర్తించండి,
+Therapy Plan Template,థెరపీ ప్లాన్ మూస,
+Fetching Template Details,మూస వివరాలను పొందడం,
+Linked Item Details,లింక్ చేసిన అంశం వివరాలు,
+Therapy Types,థెరపీ రకాలు,
+Therapy Plan Template Detail,థెరపీ ప్లాన్ మూస వివరాలు,
+Non Conformance,నాన్ కన్ఫార్మెన్స్,
+Process Owner,ప్రాసెస్ యజమాని,
+Corrective Action,దిద్దుబాటు చర్య,
+Preventive Action,నివారణ చర్య,
+Problem,సమస్య,
+Responsible,బాధ్యత,
+Completion By,ద్వారా పూర్తి,
+Process Owner Full Name,ప్రాసెస్ యజమాని పూర్తి పేరు,
+Right Index,కుడి సూచిక,
+Left Index,ఎడమ సూచిక,
+Sub Procedure,ఉప విధానం,
+Passed,ఉత్తీర్ణత,
+Print Receipt,రసీదును ముద్రించండి,
+Edit Receipt,రసీదుని సవరించండి,
+Focus on search input,శోధన ఇన్‌పుట్‌పై దృష్టి పెట్టండి,
+Focus on Item Group filter,ఐటెమ్ గ్రూప్ ఫిల్టర్‌పై దృష్టి పెట్టండి,
+Checkout Order / Submit Order / New Order,చెక్అవుట్ ఆర్డర్ / సమర్పించండి ఆర్డర్ / కొత్త ఆర్డర్,
+Add Order Discount,ఆర్డర్ డిస్కౌంట్ జోడించండి,
+Item Code: {0} is not available under warehouse {1}.,అంశం కోడ్: గిడ్డంగి {1 under కింద {0} అందుబాటులో లేదు.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,గిడ్డంగి {1 under కింద అంశం {0 for కోసం క్రమ సంఖ్యలు అందుబాటులో లేవు. దయచేసి గిడ్డంగిని మార్చడానికి ప్రయత్నించండి.,
+Fetched only {0} available serial numbers.,{0} అందుబాటులో ఉన్న క్రమ సంఖ్యలను మాత్రమే పొందారు.,
+Switch Between Payment Modes,చెల్లింపు మోడ్‌ల మధ్య మారండి,
+Enter {0} amount.,{0} మొత్తాన్ని నమోదు చేయండి.,
+You don't have enough points to redeem.,రీడీమ్ చేయడానికి మీకు తగినంత పాయింట్లు లేవు.,
+You can redeem upto {0}.,మీరు {0 to వరకు రీడీమ్ చేయవచ్చు.,
+Enter amount to be redeemed.,రీడీమ్ చేయవలసిన మొత్తాన్ని నమోదు చేయండి.,
+You cannot redeem more than {0}.,మీరు {0 than కన్నా ఎక్కువ రీడీమ్ చేయలేరు.,
+Open Form View,ఫారమ్ వీక్షణను తెరవండి,
+POS invoice {0} created succesfully,POS ఇన్వాయిస్ {0 Suc విజయవంతంగా సృష్టించబడింది,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,అంశం కోడ్ కోసం స్టాక్ పరిమాణం సరిపోదు: గిడ్డంగి {1 under కింద {0}. అందుబాటులో ఉన్న పరిమాణం {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,సీరియల్ నెం: P 0 already ఇప్పటికే మరొక POS ఇన్‌వాయిస్‌లో లావాదేవీ చేయబడింది.,
+Balance Serial No,బ్యాలెన్స్ సీరియల్ నం,
+Warehouse: {0} does not belong to {1},గిడ్డంగి: {0} {1 to కు చెందినది కాదు,
+Please select batches for batched item {0},దయచేసి బ్యాచ్ చేసిన అంశం {0 for కోసం బ్యాచ్‌లను ఎంచుకోండి,
+Please select quantity on row {0},దయచేసి row 0 row వరుసలో పరిమాణాన్ని ఎంచుకోండి,
+Please enter serial numbers for serialized item {0},దయచేసి సీరియలైజ్ చేసిన అంశం {0 ser కోసం క్రమ సంఖ్యలను నమోదు చేయండి,
+Batch {0} already selected.,బ్యాచ్ {0} ఇప్పటికే ఎంచుకోబడింది.,
+Please select a warehouse to get available quantities,అందుబాటులో ఉన్న పరిమాణాలను పొందడానికి దయచేసి గిడ్డంగిని ఎంచుకోండి,
+"For transfer from source, selected quantity cannot be greater than available quantity","మూలం నుండి బదిలీ కోసం, ఎంచుకున్న పరిమాణం అందుబాటులో ఉన్న పరిమాణం కంటే ఎక్కువగా ఉండకూడదు",
+Cannot find Item with this Barcode,ఈ బార్‌కోడ్‌తో అంశం కనుగొనబడలేదు,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0 తప్పనిసరి. కరెన్సీ ఎక్స్ఛేంజ్ రికార్డ్ {1} నుండి {2 for కోసం సృష్టించబడకపోవచ్చు,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,link} దీనికి లింక్ చేయబడిన ఆస్తులను సమర్పించింది. కొనుగోలు రాబడిని సృష్టించడానికి మీరు ఆస్తులను రద్దు చేయాలి.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,సమర్పించిన ఆస్తి {0 with తో అనుసంధానించబడినందున ఈ పత్రాన్ని రద్దు చేయలేరు. కొనసాగించడానికి దయచేసి దాన్ని రద్దు చేయండి.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,అడ్డు వరుస # {}: సీరియల్ నం {already ఇప్పటికే మరొక POS ఇన్‌వాయిస్‌లో లావాదేవీ చేయబడింది. దయచేసి చెల్లుబాటు అయ్యే సీరియల్ నెం.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,అడ్డు వరుస # {}: సీరియల్ సంఖ్య.} Already ఇప్పటికే మరొక POS ఇన్‌వాయిస్‌లో లావాదేవీ చేయబడింది. దయచేసి చెల్లుబాటు అయ్యే సీరియల్ నెం.,
+Item Unavailable,అంశం అందుబాటులో లేదు,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},అడ్డు వరుస # {}: అసలు ఇన్వాయిస్లో లావాదేవీలు చేయనందున సీరియల్ సంఖ్య {return తిరిగి ఇవ్వబడదు {},
+Please set default Cash or Bank account in Mode of Payment {},దయచేసి చెల్లింపు మోడ్‌లో డిఫాల్ట్ నగదు లేదా బ్యాంక్ ఖాతాను సెట్ చేయండి}},
+Please set default Cash or Bank account in Mode of Payments {},చెల్లింపుల మోడ్‌లో డిఫాల్ట్ నగదు లేదా బ్యాంక్ ఖాతాను సెట్ చేయండి {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,దయచేసి}} ఖాతా బ్యాలెన్స్ షీట్ ఖాతా అని నిర్ధారించుకోండి. మీరు పేరెంట్ ఖాతాను బ్యాలెన్స్ షీట్ ఖాతాకు మార్చవచ్చు లేదా వేరే ఖాతాను ఎంచుకోవచ్చు.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,దయచేసి pay} ఖాతా చెల్లించవలసిన ఖాతా అని నిర్ధారించుకోండి. ఖాతా రకాన్ని చెల్లించదగినదిగా మార్చండి లేదా వేరే ఖాతాను ఎంచుకోండి.,
+Row {}: Expense Head changed to {} ,అడ్డు వరుస}}: ఖర్చు హెడ్ {to కు మార్చబడింది,
+because account {} is not linked to warehouse {} ,ఖాతా {w గిడ్డంగికి లింక్ చేయబడనందున}},
+or it is not the default inventory account,లేదా ఇది డిఫాల్ట్ జాబితా ఖాతా కాదు,
+Expense Head Changed,ఖర్చు తల మార్చబడింది,
+because expense is booked against this account in Purchase Receipt {},కొనుగోలు రసీదు in in లో ఈ ఖాతాకు వ్యతిరేకంగా ఖర్చు బుక్ చేయబడింది,
+as no Purchase Receipt is created against Item {}. ,ఐటెమ్ against against కు వ్యతిరేకంగా కొనుగోలు రసీదు సృష్టించబడనందున.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,కొనుగోలు ఇన్వాయిస్ తర్వాత కొనుగోలు రసీదు సృష్టించబడినప్పుడు కేసుల అకౌంటింగ్‌ను నిర్వహించడానికి ఇది జరుగుతుంది,
+Purchase Order Required for item {},అంశం for కోసం కొనుగోలు ఆర్డర్ అవసరం,
+To submit the invoice without purchase order please set {} ,కొనుగోలు ఆర్డర్ లేకుండా ఇన్వాయిస్ సమర్పించడానికి దయచేసి set set సెట్ చేయండి,
+as {} in {},{} లో {as,
+Mandatory Purchase Order,తప్పనిసరి కొనుగోలు ఆర్డర్,
+Purchase Receipt Required for item {},అంశం for for కోసం కొనుగోలు రశీదు అవసరం,
+To submit the invoice without purchase receipt please set {} ,కొనుగోలు రశీదు లేకుండా ఇన్వాయిస్ సమర్పించడానికి దయచేసి set set సెట్ చేయండి,
+Mandatory Purchase Receipt,తప్పనిసరి కొనుగోలు రసీదు,
+POS Profile {} does not belongs to company {},POS ప్రొఫైల్ {company కంపెనీకి చెందినది కాదు}},
+User {} is disabled. Please select valid user/cashier,వాడుకరి} నిలిపివేయబడింది. దయచేసి చెల్లుబాటు అయ్యే వినియోగదారు / క్యాషియర్‌ను ఎంచుకోండి,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,అడ్డు వరుస # {}: రిటర్న్ ఇన్వాయిస్ యొక్క అసలు ఇన్వాయిస్ {} {}.,
+Original invoice should be consolidated before or along with the return invoice.,అసలు ఇన్వాయిస్ రిటర్న్ ఇన్వాయిస్కు ముందు లేదా దానితో పాటుగా ఏకీకృతం చేయాలి.,
+You can add original invoice {} manually to proceed.,కొనసాగడానికి మీరు అసలు ఇన్‌వాయిస్}} ను మానవీయంగా జోడించవచ్చు.,
+Please ensure {} account is a Balance Sheet account. ,దయచేసి}} ఖాతా బ్యాలెన్స్ షీట్ ఖాతా అని నిర్ధారించుకోండి.,
+You can change the parent account to a Balance Sheet account or select a different account.,మీరు పేరెంట్ ఖాతాను బ్యాలెన్స్ షీట్ ఖాతాకు మార్చవచ్చు లేదా వేరే ఖాతాను ఎంచుకోవచ్చు.,
+Please ensure {} account is a Receivable account. ,దయచేసి}} ఖాతా స్వీకరించదగిన ఖాతా అని నిర్ధారించుకోండి.,
+Change the account type to Receivable or select a different account.,ఖాతా రకాన్ని స్వీకరించదగినదిగా మార్చండి లేదా వేరే ఖాతాను ఎంచుకోండి.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},సంపాదించిన లాయల్టీ పాయింట్లు రీడీమ్ అయినందున} cancel రద్దు చేయలేము. మొదట cancel} లేదు {cancel రద్దు చేయండి,
+already exists,ఇప్పటికే ఉన్నది,
+POS Closing Entry {} against {} between selected period,ఎంచుకున్న వ్యవధి మధ్య {} కు వ్యతిరేకంగా POS మూసివేసే ఎంట్రీ,
+POS Invoice is {},POS ఇన్వాయిస్ {},
+POS Profile doesn't matches {},POS ప్రొఫైల్ సరిపోలలేదు {},
+POS Invoice is not {},POS ఇన్వాయిస్ {not కాదు,
+POS Invoice isn't created by user {},POS ఇన్వాయిస్ వినియోగదారు సృష్టించలేదు {},
+Row #{}: {},అడ్డు వరుస # {}: {},
+Invalid POS Invoices,చెల్లని POS ఇన్వాయిస్లు,
+Please add the account to root level Company - {},దయచేసి ఖాతాను రూట్ స్థాయి కంపెనీకి జోడించండి - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","చైల్డ్ కంపెనీ {0 for కోసం ఖాతాను సృష్టిస్తున్నప్పుడు, మాతృ ఖాతా {1 found కనుగొనబడలేదు. సంబంధిత COA లో మాతృ ఖాతాను సృష్టించండి",
+Account Not Found,ఖాతా కనుగొనబడలేదు,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","చైల్డ్ కంపెనీ {0 for కోసం ఖాతాను సృష్టించేటప్పుడు, మాతృ ఖాతా {1 a లెడ్జర్ ఖాతాగా కనుగొనబడింది.",
+Please convert the parent account in corresponding child company to a group account.,దయచేసి సంబంధిత పిల్లల సంస్థలోని మాతృ ఖాతాను సమూహ ఖాతాగా మార్చండి.,
+Invalid Parent Account,చెల్లని తల్లిదండ్రుల ఖాతా,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",అసమతుల్యతను నివారించడానికి పేరెంట్ కంపెనీ {0 via ద్వారా మాత్రమే పేరు మార్చడం అనుమతించబడుతుంది.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","మీరు {2} అంశం యొక్క {0} {1} పరిమాణాలను కలిగి ఉంటే, స్కీమ్ {3 the అంశంపై వర్తించబడుతుంది.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","మీరు {2} విలువైన అంశం {2 If అయితే, స్కీమ్ {3 item అంశంపై వర్తించబడుతుంది.",
+"As the field {0} is enabled, the field {1} is mandatory.","ఫీల్డ్ {0} ప్రారంభించబడినందున, {1 ఫీల్డ్ తప్పనిసరి.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","{0 the ఫీల్డ్ ప్రారంభించబడినందున, {1 the ఫీల్డ్ యొక్క విలువ 1 కన్నా ఎక్కువ ఉండాలి.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},ఐటెమ్ {1 of యొక్క సీరియల్ నంబర్ {0 deliver ను పూర్తిస్థాయిలో సేల్స్ ఆర్డర్ {2 to కు రిజర్వు చేయలేదు.,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","సేల్స్ ఆర్డర్ {0 the అంశం {1 the కోసం రిజర్వేషన్ కలిగి ఉంది, మీరు {0} కు వ్యతిరేకంగా రిజర్వు చేసిన {1 only మాత్రమే ఇవ్వగలరు.",
+{0} Serial No {1} cannot be delivered,{0} సీరియల్ లేవు {1} పంపలేము,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},అడ్డు వరుస {0}: ముడి పదార్థం {1 for కు ఉప కాంట్రాక్ట్ అంశం తప్పనిసరి,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","తగినంత ముడి పదార్థాలు ఉన్నందున, గిడ్డంగి {0 for కోసం మెటీరియల్ రిక్వెస్ట్ అవసరం లేదు.",
+" If you still want to proceed, please enable {0}.","మీరు ఇంకా కొనసాగాలనుకుంటే, దయచేసి {0 enable ను ప్రారంభించండి.",
+The item referenced by {0} - {1} is already invoiced,{0} - {1 by చే సూచించబడిన అంశం ఇప్పటికే ఇన్వాయిస్ చేయబడింది,
+Therapy Session overlaps with {0},థెరపీ సెషన్ {0 with తో అతివ్యాప్తి చెందుతుంది,
+Therapy Sessions Overlapping,థెరపీ సెషన్స్ అతివ్యాప్తి,
+Therapy Plans,చికిత్స ప్రణాళికలు,
+"Item Code, warehouse, quantity are required on row {0}","Code 0 row వరుసలో అంశం కోడ్, గిడ్డంగి, పరిమాణం అవసరం",
+Get Items from Material Requests against this Supplier,ఈ సరఫరాదారుకు వ్యతిరేకంగా మెటీరియల్ అభ్యర్థనల నుండి అంశాలను పొందండి,
+Enable European Access,యూరోపియన్ ప్రాప్యతను ప్రారంభించండి,
+Creating Purchase Order ...,కొనుగోలు క్రమాన్ని సృష్టిస్తోంది ...,
+"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.","దిగువ వస్తువుల డిఫాల్ట్ సరఫరాదారుల నుండి సరఫరాదారుని ఎంచుకోండి. ఎంపికపై, ఎంచుకున్న సరఫరాదారుకు చెందిన వస్తువులపై మాత్రమే కొనుగోలు ఆర్డర్ చేయబడుతుంది.",
+Row #{}: You must select {} serial numbers for item {}.,అడ్డు వరుస # {}: మీరు తప్పక item} అంశం కోసం {} క్రమ సంఖ్యలను ఎంచుకోవాలి.,
diff --git a/erpnext/translations/th.csv b/erpnext/translations/th.csv
index 9890a42..71233ec 100644
--- a/erpnext/translations/th.csv
+++ b/erpnext/translations/th.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',ไม่สามารถหักค่าใช้จ่ายเมื่อเป็นหมวดหมู่สำหรับ &#39;การประเมินค่า&#39; หรือ &#39;Vaulation และรวม,
 "Cannot delete Serial No {0}, as it is used in stock transactions",ไม่สามารถลบไม่มี Serial {0} เป็นมันถูกนำมาใช้ในการทำธุรกรรมหุ้น,
 Cannot enroll more than {0} students for this student group.,ไม่สามารถลงทะเบียนมากกว่า {0} นักเรียนสำหรับนักเรียนกลุ่มนี้,
-Cannot find Item with this barcode,ไม่สามารถค้นหารายการด้วยบาร์โค้ดนี้,
 Cannot find active Leave Period,ไม่สามารถหาช่วงเวลาที่ใช้งานได้,
 Cannot produce more Item {0} than Sales Order quantity {1},ไม่สามารถผลิต สินค้า ได้มากขึ้น {0} กว่าปริมาณ การขายสินค้า {1},
 Cannot promote Employee with status Left,ไม่สามารถส่งเสริมพนักงานที่มีสถานะเหลือ,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",การสร้างและจัดการ รายวันรายสัปดาห์ และรายเดือน ย่อยสลาย ทางอีเมล์,
 Create customer quotes,สร้างคำพูดของลูกค้า,
 Create rules to restrict transactions based on values.,สร้างกฎ เพื่อ จำกัด การ ทำธุรกรรม ตามค่า,
-Created By,สร้างโดย,
 Created {0} scorecards for {1} between: ,สร้าง {0} หน้าต่างสรุปสำหรับ {1} ระหว่าง:,
 Creating Company and Importing Chart of Accounts,การสร้าง บริษัท และการนำเข้าผังบัญชี,
 Creating Fees,การสร้างค่าธรรมเนียม,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,สำหรับแถว {0}: ป้อนจำนวนที่วางแผนไว้,
 "For {0}, only credit accounts can be linked against another debit entry",มีบัญชีประเภทเครดิตเท่านั้น ที่สามารถเชื่อมโยงกับรายการประเภทเดบิต สำหรับ {0},
 "For {0}, only debit accounts can be linked against another credit entry",มีบัญชีประเภทเดบิตเท่านั้น ที่สามารถเชื่อมโยงกับรายการประเภทเครดิต สำหรับ {0},
-Form View,มุมมองแบบฟอร์ม,
 Forum Activity,กิจกรรมฟอรั่ม,
 Free item code is not selected,ไม่ได้เลือกรหัสรายการฟรี,
 Freight and Forwarding Charges,การขนส่งสินค้าและ การส่งต่อ ค่าใช้จ่าย,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,ส่ง SMS มวลการติดต่อของคุณ,
 Sensitivity,ความไวแสง,
 Sent,ส่ง,
-Serial #,Serial #,
 Serial No and Batch,ไม่มี Serial และแบทช์,
 Serial No is mandatory for Item {0},อนุกรม ไม่มี ผลบังคับใช้สำหรับ รายการ {0},
 Serial No {0} does not belong to Batch {1},Serial No {0} ไม่ได้เป็นของ Batch {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,สิ่งใดที่คุณต้องการความช่วยเหลือ?,
 What does it do?,มัน ทำอะไรได้บ้าง,
 Where manufacturing operations are carried.,สถานที่ที่ดำเนินการผลิต,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",ขณะสร้างบัญชีสำหรับ บริษัท ย่อย {0} ไม่พบบัญชีหลัก {1} โปรดสร้างบัญชีหลักใน COA ที่เกี่ยวข้อง,
 White,ขาว,
 Wire Transfer,โอนเงิน,
 WooCommerce Products,ผลิตภัณฑ์ WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,รวมกับที่มีอยู่,
 Office,สำนักงาน,
 Orientation,ปฐมนิเทศ,
+Parent,ผู้ปกครอง,
 Passive,ไม่โต้ตอบ,
 Payment Failed,การชำระเงินล้มเหลว,
 Percent,เปอร์เซ็นต์,
@@ -3543,6 +3539,7 @@
 Show {0},แสดง {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","ห้ามใช้อักขระพิเศษยกเว้น &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; และ &quot;}&quot; ในซีรี่ส์",
 Target Details,รายละเอียดเป้าหมาย,
+{0} already has a Parent Procedure {1}.,{0} มี parent Parent {1} อยู่แล้ว,
 API,API,
 Annual,ประจำปี,
 Approved,ได้รับการอนุมัติ,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,วันที่สิ้นสุด ไม่สามารถ จะน้อยกว่า วันเริ่มต้น,
 For Default Supplier (Optional),สำหรับผู้จัดจำหน่ายเริ่มต้น (ตัวเลือก),
 From date cannot be greater than To date,จากวันที่ไม่สามารถมากกว่าวันที่,
-Get items from,รับรายการจาก,
 Group by,กลุ่มตาม,
 In stock,มีสินค้าในสต๊อก,
 Item name,ชื่อรายการ,
@@ -7558,10 +7554,6 @@
 Quality Goal,เป้าหมายคุณภาพ,
 Monitoring Frequency,การตรวจสอบความถี่,
 Weekday,วันธรรมดา,
-January-April-July-October,เดือนมกราคมถึงเดือนเมษายนถึงเดือนกรกฎาคมถึงเดือนตุลาคม,
-Revision and Revised On,แก้ไขและปรับปรุง,
-Revision,การทบทวน,
-Revised On,แก้ไขเมื่อ,
 Objectives,วัตถุประสงค์,
 Quality Goal Objective,เป้าหมายคุณภาพเป้าหมาย,
 Objective,วัตถุประสงค์,
@@ -7574,7 +7566,6 @@
 Processes,กระบวนการ,
 Quality Procedure Process,กระบวนการคุณภาพ,
 Process Description,คำอธิบายกระบวนการ,
-Child Procedure,ขั้นตอนเด็ก,
 Link existing Quality Procedure.,เชื่อมโยงกระบวนการคุณภาพที่มีอยู่,
 Additional Information,ข้อมูลเพิ่มเติม,
 Quality Review Objective,วัตถุประสงค์การตรวจสอบคุณภาพ,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,ซื้อแนวโน้มใบเสร็จรับเงิน,
 Purchase Register,สั่งซื้อสมัครสมาชิก,
 Quotation Trends,ใบเสนอราคา แนวโน้ม,
-Quoted Item Comparison,เปรียบเทียบรายการที่ยกมา,
 Received Items To Be Billed,รายการที่ได้รับจะถูกเรียกเก็บเงิน,
 Qty to Order,จำนวนการสั่งซื้อสินค้า,
 Requested Items To Be Transferred,รายการที่ได้รับการร้องขอจะถูกถ่ายโอน,
@@ -9091,7 +9081,6 @@
 Absent Days,วันที่ขาด,
 Conditions and Formula variable and example,เงื่อนไขและสูตรตัวแปรและตัวอย่าง,
 Feedback By,ข้อเสนอแนะโดย,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,แผนกการผลิต,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",โดยค่าเริ่มต้นชื่อลูกค้าจะถูกตั้งค่าตามชื่อเต็มที่ป้อน หากคุณต้องการให้ลูกค้าตั้งชื่อโดยก,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,กำหนดค่าราคาตลาดเริ่มต้นเมื่อสร้างธุรกรรมการขายใหม่ ราคาสินค้าจะถูกดึงมาจากรายการราคานี้,
@@ -9692,7 +9681,6 @@
 Reserved Balance,ยอดเงินสำรอง,
 Uncleared Balance,ยอดคงเหลือที่ไม่ชัดเจน,
 Payment related to {0} is not completed,การชำระเงินที่เกี่ยวข้องกับ {0} ไม่เสร็จสมบูรณ์,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,แถว # {}: หมายเลขซีเรียล {} {} ได้ถูกทำธุรกรรมเป็นใบแจ้งหนี้ POS อื่นแล้ว โปรดเลือกหมายเลขซีเรียลที่ถูกต้อง,
 Row #{}: Item Code: {} is not available under warehouse {}.,แถว # {}: รหัสสินค้า: {} ไม่สามารถใช้ได้ในคลังสินค้า {},
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,แถว # {}: ปริมาณสต็อกไม่เพียงพอสำหรับรหัสสินค้า: {} ภายใต้คลังสินค้า {} ปริมาณที่มีอยู่ {},
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,แถว # {}: โปรดเลือกหมายเลขซีเรียลและแบทช์กับรายการ: {} หรือลบออกเพื่อทำธุรกรรมให้เสร็จสมบูรณ์,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,โปรดเปิดใช้งาน Allow Negative Stock ใน Stock Settings หรือสร้าง Stock Entry เพื่อดำเนินการต่อ,
 No Inpatient Record found against patient {0},ไม่พบประวัติการรักษาผู้ป่วยใน {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,มีคำสั่งซื้อยาผู้ป่วยใน {0} ต่อต้านการเผชิญหน้าของผู้ป่วย {1} อยู่แล้ว,
+Allow In Returns,อนุญาตให้ส่งคืน,
+Hide Unavailable Items,ซ่อนรายการที่ไม่พร้อมใช้งาน,
+Apply Discount on Discounted Rate,ใช้ส่วนลดในอัตราลด,
+Therapy Plan Template,เทมเพลตแผนการบำบัด,
+Fetching Template Details,กำลังดึงรายละเอียดเทมเพลต,
+Linked Item Details,รายละเอียดรายการที่เชื่อมโยง,
+Therapy Types,ประเภทการบำบัด,
+Therapy Plan Template Detail,รายละเอียดเทมเพลตแผนการบำบัด,
+Non Conformance,ที่ไม่สอดคล้อง,
+Process Owner,เจ้าของกระบวนการ,
+Corrective Action,การดำเนินการแก้ไข,
+Preventive Action,การดำเนินการป้องกัน,
+Problem,ปัญหา,
+Responsible,มีความรับผิดชอบ,
+Completion By,เสร็จสิ้นโดย,
+Process Owner Full Name,ชื่อเต็มของเจ้าของกระบวนการ,
+Right Index,ดัชนีด้านขวา,
+Left Index,ดัชนีด้านซ้าย,
+Sub Procedure,ขั้นตอนย่อย,
+Passed,ผ่านไป,
+Print Receipt,พิมพ์ใบเสร็จ,
+Edit Receipt,แก้ไขใบเสร็จ,
+Focus on search input,เน้นที่การป้อนข้อมูลการค้นหา,
+Focus on Item Group filter,เน้นที่ตัวกรองกลุ่มสินค้า,
+Checkout Order / Submit Order / New Order,ชำระเงินคำสั่งซื้อ / ส่งคำสั่งซื้อ / คำสั่งซื้อใหม่,
+Add Order Discount,เพิ่มส่วนลดการสั่งซื้อ,
+Item Code: {0} is not available under warehouse {1}.,รหัสสินค้า: {0} ไม่สามารถใช้ได้ในคลังสินค้า {1},
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,หมายเลขซีเรียลไม่พร้อมใช้งานสำหรับสินค้า {0} ภายใต้คลังสินค้า {1} โปรดลองเปลี่ยนคลังสินค้า,
+Fetched only {0} available serial numbers.,ดึงเฉพาะหมายเลขซีเรียลที่ใช้ได้ {0} รายการ,
+Switch Between Payment Modes,สลับระหว่างโหมดการชำระเงิน,
+Enter {0} amount.,ป้อนจำนวนเงิน {0},
+You don't have enough points to redeem.,คุณมีคะแนนไม่เพียงพอที่จะแลก,
+You can redeem upto {0}.,คุณสามารถแลกได้ไม่เกิน {0},
+Enter amount to be redeemed.,ป้อนจำนวนเงินที่จะแลก,
+You cannot redeem more than {0}.,คุณไม่สามารถแลกได้มากกว่า {0},
+Open Form View,เปิดมุมมองแบบฟอร์ม,
+POS invoice {0} created succesfully,สร้างใบแจ้งหนี้ POS {0} สำเร็จ,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,ปริมาณสต็อกไม่เพียงพอสำหรับรหัสสินค้า: {0} ภายใต้คลังสินค้า {1} ปริมาณที่มีจำหน่าย {2},
+Serial No: {0} has already been transacted into another POS Invoice.,หมายเลขซีเรียล: {0} ได้ถูกทำธุรกรรมเป็นใบแจ้งหนี้ POS อื่นแล้ว,
+Balance Serial No,หมายเลขซีเรียลสมดุล,
+Warehouse: {0} does not belong to {1},คลังสินค้า: {0} ไม่ได้เป็นของ {1},
+Please select batches for batched item {0},โปรดเลือกชุดสำหรับรายการที่เป็นกลุ่ม {0},
+Please select quantity on row {0},โปรดเลือกปริมาณในแถว {0},
+Please enter serial numbers for serialized item {0},โปรดป้อนหมายเลขซีเรียลสำหรับรายการที่ต่อเนื่องกัน {0},
+Batch {0} already selected.,เลือกแบทช์ {0} แล้ว,
+Please select a warehouse to get available quantities,โปรดเลือกคลังสินค้าเพื่อรับปริมาณที่มีอยู่,
+"For transfer from source, selected quantity cannot be greater than available quantity",สำหรับการถ่ายโอนจากแหล่งที่มาปริมาณที่เลือกต้องไม่เกินปริมาณที่มีอยู่,
+Cannot find Item with this Barcode,ไม่พบรายการที่มีบาร์โค้ดนี้,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} เป็นข้อบังคับ อาจจะไม่มีการสร้างบันทึกการแลกเปลี่ยนเงินตราสำหรับ {1} ถึง {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} ได้ส่งเนื้อหาที่เชื่อมโยงกับมัน คุณต้องยกเลิกสินทรัพย์เพื่อสร้างผลตอบแทนการซื้อ,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,ไม่สามารถยกเลิกเอกสารนี้ได้เนื่องจากมีการเชื่อมโยงกับเนื้อหาที่ส่ง {0} โปรดยกเลิกเพื่อดำเนินการต่อ,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,แถว # {}: หมายเลขซีเรียล {} ได้ถูกเปลี่ยนเป็นใบแจ้งหนี้ POS อื่นแล้ว โปรดเลือกหมายเลขซีเรียลที่ถูกต้อง,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,แถว # {}: Serial Nos {} ได้ถูกทำธุรกรรมเป็นใบแจ้งหนี้ POS อื่นแล้ว โปรดเลือกหมายเลขซีเรียลที่ถูกต้อง,
+Item Unavailable,ไม่มีรายการ,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},แถว # {}: ไม่สามารถส่งคืนหมายเลขซีเรียล {} ได้เนื่องจากไม่ได้ทำธุรกรรมในใบแจ้งหนี้เดิม {},
+Please set default Cash or Bank account in Mode of Payment {},โปรดตั้งค่าเริ่มต้นเงินสดหรือบัญชีธนาคารในโหมดการชำระเงิน {},
+Please set default Cash or Bank account in Mode of Payments {},โปรดตั้งค่าเริ่มต้นเงินสดหรือบัญชีธนาคารในโหมดการชำระเงิน {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,โปรดตรวจสอบว่าบัญชี {} เป็นบัญชีงบดุล คุณสามารถเปลี่ยนบัญชีหลักเป็นบัญชีงบดุลหรือเลือกบัญชีอื่น,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,โปรดตรวจสอบว่าบัญชี {} เป็นบัญชีเจ้าหนี้ เปลี่ยนประเภทบัญชีเป็น Payable หรือเลือกบัญชีอื่น,
+Row {}: Expense Head changed to {} ,แถว {}: Expense Head เปลี่ยนเป็น {},
+because account {} is not linked to warehouse {} ,เนื่องจากบัญชี {} ไม่ได้เชื่อมโยงกับคลังสินค้า {},
+or it is not the default inventory account,หรือไม่ใช่บัญชีสินค้าคงคลังเริ่มต้น,
+Expense Head Changed,เปลี่ยนหัวหน้าค่าใช้จ่ายแล้ว,
+because expense is booked against this account in Purchase Receipt {},เนื่องจากมีการบันทึกค่าใช้จ่ายในบัญชีนี้ในใบเสร็จการซื้อ {},
+as no Purchase Receipt is created against Item {}. ,เนื่องจากไม่มีการสร้างใบเสร็จรับเงินสำหรับรายการ {},
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,สิ่งนี้ทำเพื่อจัดการการบัญชีสำหรับกรณีที่สร้างใบเสร็จรับเงินหลังจากใบแจ้งหนี้การซื้อ,
+Purchase Order Required for item {},ต้องมีใบสั่งซื้อสำหรับสินค้า {},
+To submit the invoice without purchase order please set {} ,หากต้องการส่งใบแจ้งหนี้โดยไม่มีใบสั่งซื้อโปรดตั้งค่า {},
+as {} in {},เป็น {} ใน {},
+Mandatory Purchase Order,ใบสั่งซื้อบังคับ,
+Purchase Receipt Required for item {},ต้องใช้ใบเสร็จรับเงินสำหรับสินค้า {},
+To submit the invoice without purchase receipt please set {} ,หากต้องการส่งใบแจ้งหนี้โดยไม่มีใบเสร็จการซื้อโปรดตั้งค่า {},
+Mandatory Purchase Receipt,ใบเสร็จการซื้อที่บังคับ,
+POS Profile {} does not belongs to company {},โปรไฟล์ POS {} ไม่ได้เป็นของ บริษัท {},
+User {} is disabled. Please select valid user/cashier,ผู้ใช้ {} ถูกปิดใช้งาน โปรดเลือกผู้ใช้ / แคชเชียร์ที่ถูกต้อง,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,แถว # {}: ใบแจ้งหนี้เดิม {} ของใบแจ้งหนี้คืนสินค้า {} คือ {},
+Original invoice should be consolidated before or along with the return invoice.,ควรรวมใบแจ้งหนี้เดิมก่อนหรือพร้อมกับใบแจ้งหนี้คืนสินค้า,
+You can add original invoice {} manually to proceed.,คุณสามารถเพิ่มใบแจ้งหนี้ต้นฉบับ {} ด้วยตนเองเพื่อดำเนินการต่อ,
+Please ensure {} account is a Balance Sheet account. ,โปรดตรวจสอบว่าบัญชี {} เป็นบัญชีงบดุล,
+You can change the parent account to a Balance Sheet account or select a different account.,คุณสามารถเปลี่ยนบัญชีหลักเป็นบัญชีงบดุลหรือเลือกบัญชีอื่น,
+Please ensure {} account is a Receivable account. ,โปรดตรวจสอบให้แน่ใจว่าบัญชี {} เป็นบัญชีลูกหนี้,
+Change the account type to Receivable or select a different account.,เปลี่ยนประเภทบัญชีเป็นลูกหนี้หรือเลือกบัญชีอื่น,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},{} ไม่สามารถยกเลิกได้เนื่องจากคะแนนความภักดีที่ได้รับถูกแลกไปแล้ว ก่อนอื่นให้ยกเลิก {} ไม่ {},
+already exists,มีอยู่แล้ว,
+POS Closing Entry {} against {} between selected period,รายการปิด POS {} เทียบกับ {} ระหว่างช่วงเวลาที่เลือก,
+POS Invoice is {},ใบแจ้งหนี้ POS คือ {},
+POS Profile doesn't matches {},โปรไฟล์ POS ไม่ตรงกับ {},
+POS Invoice is not {},ใบแจ้งหนี้ POS ไม่ใช่ {},
+POS Invoice isn't created by user {},ผู้ใช้ไม่ได้สร้างใบแจ้งหนี้ POS {},
+Row #{}: {},แถว # {}: {},
+Invalid POS Invoices,ใบแจ้งหนี้ POS ไม่ถูกต้อง,
+Please add the account to root level Company - {},โปรดเพิ่มบัญชีในระดับราก บริษัท - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",ในขณะที่สร้างบัญชีสำหรับ บริษัท ลูก {0} ไม่พบบัญชีหลัก {1} โปรดสร้างบัญชีหลักใน COA ที่เกี่ยวข้อง,
+Account Not Found,ไม่พบบัญชี,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",ในขณะที่สร้างบัญชีสำหรับ บริษัท ลูก {0} บัญชีหลัก {1} พบว่าเป็นบัญชีแยกประเภท,
+Please convert the parent account in corresponding child company to a group account.,โปรดแปลงบัญชีหลักใน บริษัท ย่อยที่เกี่ยวข้องเป็นบัญชีกลุ่ม,
+Invalid Parent Account,บัญชีหลักไม่ถูกต้อง,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",อนุญาตให้เปลี่ยนชื่อผ่าน บริษัท แม่เท่านั้น {0} เพื่อหลีกเลี่ยงความไม่ตรงกัน,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",หากคุณ {0} {1} ปริมาณสินค้า {2} แบบแผน {3} จะถูกนำไปใช้กับสินค้านั้น,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",หากคุณ {0} {1} ไอเท็มที่คุ้มค่า {2} ระบบจะใช้แบบแผน {3} กับสินค้า,
+"As the field {0} is enabled, the field {1} is mandatory.",เมื่อเปิดใช้งานฟิลด์ {0} ฟิลด์ {1} จึงมีผลบังคับใช้,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",เมื่อเปิดใช้งานฟิลด์ {0} ค่าของฟิลด์ {1} ควรมากกว่า 1,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},ไม่สามารถส่งหมายเลขซีเรียล {0} ของสินค้า {1} ได้เนื่องจากสงวนไว้สำหรับใบสั่งขายแบบเติมเต็ม {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",ใบสั่งขาย {0} มีการจองสำหรับสินค้า {1} คุณสามารถจัดส่งที่สงวนไว้ {1} ต่อ {0} เท่านั้น,
+{0} Serial No {1} cannot be delivered,ไม่สามารถส่ง {0} Serial No {1} ได้,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},แถว {0}: รายการที่รับเหมารายย่อยจำเป็นสำหรับวัตถุดิบ {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",เนื่องจากมีวัตถุดิบเพียงพอจึงไม่จำเป็นต้องขอวัสดุสำหรับคลังสินค้า {0},
+" If you still want to proceed, please enable {0}.",หากคุณยังต้องการดำเนินการต่อโปรดเปิดใช้งาน {0},
+The item referenced by {0} - {1} is already invoiced,รายการที่อ้างถึงโดย {0} - {1} ถูกออกใบแจ้งหนี้แล้ว,
+Therapy Session overlaps with {0},เซสชันการบำบัดทับซ้อนกับ {0},
+Therapy Sessions Overlapping,การบำบัดที่ทับซ้อนกัน,
+Therapy Plans,แผนการบำบัด,
+"Item Code, warehouse, quantity are required on row {0}",ต้องระบุรหัสสินค้าคลังสินค้าปริมาณในแถว {0},
+Get Items from Material Requests against this Supplier,รับรายการจากคำขอวัสดุกับซัพพลายเออร์นี้,
+Enable European Access,เปิดใช้งาน European Access,
+Creating Purchase Order ...,กำลังสร้างใบสั่งซื้อ ...,
+"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.",เลือกซัพพลายเออร์จากซัพพลายเออร์เริ่มต้นของรายการด้านล่าง ในการเลือกใบสั่งซื้อจะทำกับสินค้าที่เป็นของซัพพลายเออร์ที่เลือกเท่านั้น,
+Row #{}: You must select {} serial numbers for item {}.,แถว # {}: คุณต้องเลือก {} หมายเลขซีเรียลสำหรับรายการ {},
diff --git a/erpnext/translations/tr.csv b/erpnext/translations/tr.csv
index 1fe93c3..9e7ba4d 100644
--- a/erpnext/translations/tr.csv
+++ b/erpnext/translations/tr.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',kategori &#39;Değerleme&#39; veya &#39;Vaulation ve Toplam&#39; için ne zaman tenzil edemez,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Silinemiyor Seri No {0}, hisse senedi işlemlerinde kullanıldığı gibi",
 Cannot enroll more than {0} students for this student group.,Bu öğrenci grubu için {0} öğrencilere göre daha kayıt olamaz.,
-Cannot find Item with this barcode,Bu barkodla Öğe bulunamıyor,
 Cannot find active Leave Period,Aktif İzin Dönemi bulunamıyor,
 Cannot produce more Item {0} than Sales Order quantity {1},Satış Sipariş Miktarı {1} den fazla Ürün {0} üretilemez,
 Cannot promote Employee with status Left,Çalışan durumu solda tanıtılamaz,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Günlük, haftalık ve aylık e-posta özetleri oluştur.",
 Create customer quotes,Müşteri tırnak oluşturun,
 Create rules to restrict transactions based on values.,Değerlere dayalı işlemleri kısıtlamak için kurallar oluşturun.,
-Created By,Tarafından oluşturulan,
 Created {0} scorecards for {1} between: ,{1} için {0} puan kartını şu aralıklarla oluşturdu:,
 Creating Company and Importing Chart of Accounts,Şirket Kurmak ve Hesap Çizelgesi Alma,
 Creating Fees,Ücret Yaratmak,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,{0} satırı için: Planlanan Miktarı Girin,
 "For {0}, only credit accounts can be linked against another debit entry","{0}, sadece kredi hesapları başka bir ödeme girişine karşı bağlantılı olabilir için",
 "For {0}, only debit accounts can be linked against another credit entry","{0}, sadece banka hesapları başka bir kredi girişine karşı bağlantılı olabilir için",
-Form View,Form Görünümü,
 Forum Activity,Forum Etkinliği,
 Free item code is not selected,Ücretsiz ürün kodu seçilmedi,
 Freight and Forwarding Charges,Navlun ve Sevkiyat Ücretleri,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Kişilerinize toplu SMS Gönder,
 Sensitivity,Duyarlılık,
 Sent,Gönderilen,
-Serial #,Seri #,
 Serial No and Batch,Seri no ve toplu,
 Serial No is mandatory for Item {0},Ürün {0} için Seri no zorunludur,
 Serial No {0} does not belong to Batch {1},"{0} Seri Numarası, {1} Batch&#39;a ait değil",
@@ -3303,7 +3299,6 @@
 What do you need help with?,Ne konuda yardıma ihtiyacın var?,
 What does it do?,Ne yapar?,
 Where manufacturing operations are carried.,Üretim operasyonları nerede yapılmaktadır.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","{0} alt şirketi için hesap oluşturulurken, {1} üst hesabı bulunamadı. Lütfen ilgili COA’da ana hesap oluşturun",
 White,Beyaz,
 Wire Transfer,Elektronik transfer,
 WooCommerce Products,WooCommerce Ürünleri,
@@ -3493,6 +3488,7 @@
 Merge with existing,Mevcut Birleştirme,
 Office,Ofis,
 Orientation,Oryantasyon,
+Parent,Ana Kalem,
 Passive,Pasif,
 Payment Failed,Ödeme başarısız,
 Percent,Yüzde,
@@ -3543,6 +3539,7 @@
 Show {0},{0} göster,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Ve &quot;}&quot; dışındaki Özel Karakterler, seri dizisine izin verilmez",
 Target Details,Hedef Detayları,
+{0} already has a Parent Procedure {1}.,{0} zaten bir {1} veli prosedürüne sahip.,
 API,API,
 Annual,Yıllık,
 Approved,Onaylandı,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,"Bitiş Tarihi, Başlangıç Tarihinden daha az olamaz",
 For Default Supplier (Optional),Varsayılan Tedarikçi için (İsteğe bağlı),
 From date cannot be greater than To date,Tarihten itibaren tarihe kadardan ileride olamaz,
-Get items from,Öğeleri alın,
 Group by,Grup tarafından,
 In stock,Stokta var,
 Item name,Ürün Adı,
@@ -7558,10 +7554,6 @@
 Quality Goal,Kalite hedefi,
 Monitoring Frequency,Frekans İzleme,
 Weekday,çalışma günü,
-January-April-July-October,Ocak-Nisan-Temmuz-Ekim,
-Revision and Revised On,Düzeltme ve Düzeltme Tarihi,
-Revision,Revizyon,
-Revised On,Üzerinde revize edildi,
 Objectives,Hedefler,
 Quality Goal Objective,Kalite Hedef Amaç,
 Objective,Amaç,
@@ -7574,7 +7566,6 @@
 Processes,Süreçler,
 Quality Procedure Process,Kalite Prosedürü Süreci,
 Process Description,Süreç açıklaması,
-Child Procedure,Çocuk Prosedürü,
 Link existing Quality Procedure.,Mevcut Kalite Prosedürünü bağlayın.,
 Additional Information,ek bilgi,
 Quality Review Objective,Kalite İnceleme Amaç,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Satın Alma Teslim Alma Analizi,
 Purchase Register,Satın alma kaydı,
 Quotation Trends,Teklif Trendleri,
-Quoted Item Comparison,Kote Ürün Karşılaştırma,
 Received Items To Be Billed,Faturalanacak  Alınan Malzemeler,
 Qty to Order,Sipariş Miktarı,
 Requested Items To Be Transferred,Transfer edilmesi istenen Ürünler,
@@ -9091,7 +9081,6 @@
 Absent Days,Devamsızlık Günleri,
 Conditions and Formula variable and example,Koşullar ve Formül değişkeni ve örnek,
 Feedback By,Geri Bildirim Gönderen,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. GG.-,
 Manufacturing Section,Üretim Bölümü,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Varsayılan olarak, Müşteri Adı girilen Tam Ad&#39;a göre ayarlanır. Müşterilerin bir tarafından adlandırılmasını istiyorsanız",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Yeni bir Satış işlemi oluştururken varsayılan Fiyat Listesini yapılandırın. Ürün fiyatları bu Fiyat Listesinden alınacaktır.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Ayrılmış Bakiye,
 Uncleared Balance,Temizlenmemiş Bakiye,
 Payment related to {0} is not completed,{0} ile ilgili ödeme tamamlanmadı,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Satır # {}: Seri No {}. {} zaten başka bir POS Faturasına dönüştürüldü. Lütfen geçerli bir seri numarası seçin.,
 Row #{}: Item Code: {} is not available under warehouse {}.,"Satır # {}: Öğe Kodu: {}, {} deposunda kullanılamaz.",
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Satır # {}: Stok miktarı Ürün Kodu için yeterli değil: {} depo altında {}. Mevcut Miktarı {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Satır # {}: Lütfen bir seri numarası ve ürüne karşı parti seçin: {} veya işlemi tamamlamak için bunu kaldırın.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Devam etmek için lütfen Stok Ayarlarında Negatif Stoka İzin Ver&#39;i etkinleştirin veya Stok Girişi oluşturun.,
 No Inpatient Record found against patient {0},Hastaya karşı Yatan Hasta Kaydı bulunamadı {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Hasta Karşılaşmasına karşı {0} Yatarak Tedavi Emri {1} zaten mevcut.,
+Allow In Returns,İadelere İzin Ver,
+Hide Unavailable Items,Kullanılamayan Öğeleri Gizle,
+Apply Discount on Discounted Rate,İndirimli Fiyata İndirim Uygulayın,
+Therapy Plan Template,Tedavi Planı Şablonu,
+Fetching Template Details,Şablon Ayrıntılarını Alma,
+Linked Item Details,Bağlı Öğe Ayrıntıları,
+Therapy Types,Tedavi Türleri,
+Therapy Plan Template Detail,Tedavi Planı Şablon Detayı,
+Non Conformance,Uygunsuzluk,
+Process Owner,İşlem Sahibi,
+Corrective Action,Düzeltici eylem,
+Preventive Action,Önleyici eylem,
+Problem,Sorun,
+Responsible,Sorumluluk sahibi,
+Completion By,Tamamlayan,
+Process Owner Full Name,İşlem Sahibinin Tam Adı,
+Right Index,Sağ Dizin,
+Left Index,Sol Dizin,
+Sub Procedure,Alt Prosedür,
+Passed,Geçti,
+Print Receipt,Makbuzu yazdır,
+Edit Receipt,Makbuzu Düzenle,
+Focus on search input,Arama girdisine odaklanın,
+Focus on Item Group filter,Öğe Grubu filtresine odaklanın,
+Checkout Order / Submit Order / New Order,Ödeme Siparişi / Sipariş Gönder / Yeni Sipariş,
+Add Order Discount,Sipariş İndirimi Ekle,
+Item Code: {0} is not available under warehouse {1}.,"Ürün Kodu: {0}, {1} deposunda kullanılamaz.",
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,{1} deposu altındaki Öğe {0} için seri numaraları kullanılamıyor. Lütfen depoyu değiştirmeyi deneyin.,
+Fetched only {0} available serial numbers.,Yalnızca {0} kullanılabilir seri numarası getirildi.,
+Switch Between Payment Modes,Ödeme Modları Arasında Geçiş Yapın,
+Enter {0} amount.,{0} tutarı girin.,
+You don't have enough points to redeem.,Kullanmak için yeterli puanınız yok.,
+You can redeem upto {0}.,En çok {0} kullanabilirsiniz.,
+Enter amount to be redeemed.,Kullanılacak tutarı girin.,
+You cannot redeem more than {0}.,{0} adetten fazlasını kullanamazsınız.,
+Open Form View,Form Görünümünü Aç,
+POS invoice {0} created succesfully,POS faturası {0} başarıyla oluşturuldu,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Stok miktarı Ürün Kodu için yeterli değil: {0} depo altında {1}. Mevcut miktar {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Seri No: {0} zaten başka bir POS Faturasına dönüştürüldü.,
+Balance Serial No,Denge Seri No,
+Warehouse: {0} does not belong to {1},"Depo: {0}, {1} şirketine ait değil",
+Please select batches for batched item {0},Lütfen {0} toplu öğe için grupları seçin,
+Please select quantity on row {0},Lütfen {0}. Satırdaki miktarı seçin,
+Please enter serial numbers for serialized item {0},Lütfen serileştirilmiş öğe {0} için seri numaralarını girin,
+Batch {0} already selected.,{0} grubu zaten seçildi.,
+Please select a warehouse to get available quantities,Lütfen mevcut miktarları almak için bir depo seçin,
+"For transfer from source, selected quantity cannot be greater than available quantity","Kaynaktan transfer için, seçilen miktar mevcut miktardan büyük olamaz",
+Cannot find Item with this Barcode,Bu Barkoda Sahip Öğe Bulunamıyor,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} zorunludur. {1} - {2} için Para Birimi Değişimi kaydı oluşturulmamış olabilir,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} kendisine bağlı varlıklar gönderdi. Satın alma iadesi oluşturmak için varlıkları iptal etmeniz gerekir.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Gönderilen {0} varlığıyla bağlantılı olduğu için bu belge iptal edilemez. Devam etmek için lütfen iptal edin.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Satır # {}: Seri No. {} zaten başka bir POS Faturasına dönüştürüldü. Lütfen geçerli bir seri numarası seçin.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Satır # {}: Seri Numaraları {} zaten başka bir POS Faturasına dönüştürüldü. Lütfen geçerli bir seri numarası seçin.,
+Item Unavailable,Öğe Mevcut Değil,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Satır # {}: Orijinal faturada işlem görmediğinden Seri Numarası {} iade edilemez {},
+Please set default Cash or Bank account in Mode of Payment {},Lütfen Ödeme Modunda varsayılan Nakit veya Banka hesabını ayarlayın {},
+Please set default Cash or Bank account in Mode of Payments {},Lütfen Ödeme Modu&#39;nda varsayılan Nakit veya Banka hesabını ayarlayın {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Lütfen {} hesabının bir Bilanço hesabı olduğundan emin olun. Ana hesabı bir Bilanço hesabı olarak değiştirebilir veya farklı bir hesap seçebilirsiniz.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Lütfen {} hesabının Alacaklı bir hesap olduğundan emin olun. Hesap türünü Borçlu olarak değiştirin veya farklı bir hesap seçin.,
+Row {}: Expense Head changed to {} ,Satır {}: Gider Başlığı {} olarak değiştirildi,
+because account {} is not linked to warehouse {} ,çünkü {} hesabı {} deposuna bağlı değil,
+or it is not the default inventory account,veya varsayılan envanter hesabı değil,
+Expense Head Changed,Gider Başlığı Değiştirildi,
+because expense is booked against this account in Purchase Receipt {},çünkü Satın Alma Makbuzunda bu hesap için gider ayrılmıştır {},
+as no Purchase Receipt is created against Item {}. ,Öğe {} karşılığında Satın Alma Fişi oluşturulmadığından.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Bu, Satın Alma Faturasından sonra Satın Alma Makbuzunun oluşturulduğu durumlarda muhasebeyi işlemek için yapılır.",
+Purchase Order Required for item {},{} Öğesi için Satın Alma Siparişi Gerekli,
+To submit the invoice without purchase order please set {} ,Faturayı satın alma siparişi olmadan göndermek için lütfen {} ayarlayın,
+as {} in {},de olduğu gibi {},
+Mandatory Purchase Order,Zorunlu Satın Alma Siparişi,
+Purchase Receipt Required for item {},{} Öğesi için Satın Alma Fişi Gerekli,
+To submit the invoice without purchase receipt please set {} ,Faturayı satın alma makbuzu olmadan göndermek için lütfen {},
+Mandatory Purchase Receipt,Zorunlu Satın Alma Fişi,
+POS Profile {} does not belongs to company {},"POS Profili {}, {} şirketine ait değil",
+User {} is disabled. Please select valid user/cashier,Kullanıcı {} devre dışı bırakıldı. Lütfen geçerli kullanıcı / kasiyer seçin,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Satır # {}: İade faturasının {} Orijinal Faturası {}.,
+Original invoice should be consolidated before or along with the return invoice.,"Orijinal fatura, iade faturasıyla birlikte veya öncesinde konsolide edilmelidir.",
+You can add original invoice {} manually to proceed.,Devam etmek için orijinal faturayı {} manuel olarak ekleyebilirsiniz.,
+Please ensure {} account is a Balance Sheet account. ,Lütfen {} hesabının bir Bilanço hesabı olduğundan emin olun.,
+You can change the parent account to a Balance Sheet account or select a different account.,Ana hesabı bir Bilanço hesabı olarak değiştirebilir veya farklı bir hesap seçebilirsiniz.,
+Please ensure {} account is a Receivable account. ,Lütfen {} hesabının bir Alacak hesabı olduğundan emin olun.,
+Change the account type to Receivable or select a different account.,Hesap türünü Alacak olarak değiştirin veya farklı bir hesap seçin.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},Kazanılan Bağlılık Puanları kullanıldığından {} iptal edilemez. Önce {} Hayır {} &#39;ı iptal edin,
+already exists,zaten var,
+POS Closing Entry {} against {} between selected period,Seçilen dönem arasında {} karşısında POS Kapanış Girişi {},
+POS Invoice is {},POS Faturası {},
+POS Profile doesn't matches {},POS Profili {} ile eşleşmiyor,
+POS Invoice is not {},POS Faturası {} değil,
+POS Invoice isn't created by user {},POS Faturası kullanıcı tarafından oluşturulmaz {},
+Row #{}: {},Kürek çekmek #{}: {},
+Invalid POS Invoices,Geçersiz POS Faturaları,
+Please add the account to root level Company - {},Lütfen hesabı kök düzeyindeki Şirkete ekleyin - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Alt Şirket {0} için hesap oluşturulurken, {1} ebeveyn hesabı bulunamadı. Lütfen ilgili COA&#39;da üst hesabı oluşturun",
+Account Not Found,Hesap bulunamadı,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Alt Şirket {0} için hesap oluşturulurken, {1} ana hesap bir genel muhasebe hesabı olarak bulundu.",
+Please convert the parent account in corresponding child company to a group account.,Lütfen ilgili alt şirketteki ana hesabı bir grup hesabına dönüştürün.,
+Invalid Parent Account,Geçersiz Ebeveyn Hesabı,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Uyuşmazlığı önlemek için yeniden adlandırılmasına yalnızca ana şirket {0} aracılığıyla izin verilir.,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","{0} {1} Öğenin miktarları {2} ise, şema {3} öğeye uygulanacaktır.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","{0} {1} değerinde öğe {2} iseniz, şema {3} öğeye uygulanacaktır.",
+"As the field {0} is enabled, the field {1} is mandatory.","{0} alanı etkinleştirildiğinde, {1} alanı zorunludur.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","{0} alanı etkinleştirildiğinde, {1} alanının değeri 1&#39;den fazla olmalıdır.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Satış Siparişini tamamlamak için ayrıldığından {1} öğenin Seri Numarası {0} teslim edilemiyor {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Satış Siparişi {0}, {1} öğesi için rezervasyona sahip, yalnızca {0} karşılığında {1} ayrılmış olarak teslim edebilirsiniz.",
+{0} Serial No {1} cannot be delivered,{0} Seri No {1} teslim edilemiyor,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},"Satır {0}: Alt Sözleşmeli Öğe, hammadde {1} için zorunludur",
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Yeterli hammadde olduğundan, Depo {0} için Malzeme Talebi gerekli değildir.",
+" If you still want to proceed, please enable {0}.","Hala devam etmek istiyorsanız, lütfen {0} &#39;yi etkinleştirin.",
+The item referenced by {0} - {1} is already invoiced,{0} - {1} tarafından referans verilen öğe zaten faturalanmış,
+Therapy Session overlaps with {0},"Terapi Oturumu, {0} ile çakışıyor",
+Therapy Sessions Overlapping,Çakışan Terapi Seansları,
+Therapy Plans,Tedavi Planları,
+"Item Code, warehouse, quantity are required on row {0}","{0}. Satırda Öğe Kodu, depo, miktar gerekli",
+Get Items from Material Requests against this Supplier,Bu Tedarikçiye Karşı Malzeme Taleplerinden Ürün Alın,
+Enable European Access,Avrupa Erişimini Etkinleştir,
+Creating Purchase Order ...,Satın Alma Siparişi Oluşturuluyor ...,
+"Select a Supplier from the Default Suppliers of the items below. On selection, a Purchase Order will be made against items belonging to the selected Supplier only.","Aşağıdaki öğelerin Varsayılan Tedarikçilerinden bir Tedarikçi seçin. Seçim üzerine, yalnızca seçilen Tedarikçiye ait ürünler için bir Satın Alma Siparişi verilecektir.",
+Row #{}: You must select {} serial numbers for item {}.,Satır # {}: {} öğesi için {} seri numaralarını seçmelisiniz.,
diff --git a/erpnext/translations/uk.csv b/erpnext/translations/uk.csv
index e960a64..53e2df5 100644
--- a/erpnext/translations/uk.csv
+++ b/erpnext/translations/uk.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',"Чи не можете відняти, коли категорія для &quot;Оцінка&quot; або &quot;Vaulation і Total &#39;",
 "Cannot delete Serial No {0}, as it is used in stock transactions","Не вдається видалити Серійний номер {0}, оскільки він використовується у складських операціях",
 Cannot enroll more than {0} students for this student group.,Не зміг зареєструвати більш {0} студентів для цієї групи студентів.,
-Cannot find Item with this barcode,Неможливо знайти елемент із цим штрих-кодом,
 Cannot find active Leave Period,Не вдається знайти активний період залишення,
 Cannot produce more Item {0} than Sales Order quantity {1},"Не можете виробляти більше Пункт {0}, ніж кількість продажів Замовити {1}",
 Cannot promote Employee with status Left,Неможливо рекламувати працівника зі статусом &quot;ліворуч&quot;,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Створення і управління щоденні, щотижневі та щомісячні дайджести новин.",
 Create customer quotes,Створення котирування клієнтів,
 Create rules to restrict transactions based on values.,Створення правил по обмеженню угод на основі значень.,
-Created By,Створений,
 Created {0} scorecards for {1} between: ,Створено {0} показників для {1} між:,
 Creating Company and Importing Chart of Accounts,Створення компанії та імпорт рахунків рахунків,
 Creating Fees,Створення комісійних,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Для рядка {0}: введіть заплановане число,
 "For {0}, only credit accounts can be linked against another debit entry","Для {0}, тільки кредитні рахунки можуть бути пов&#39;язані з іншою дебету",
 "For {0}, only debit accounts can be linked against another credit entry","Для {0}, тільки дебетові рахунки можуть бути пов&#39;язані з іншою кредитною вступу",
-Form View,Вид форми,
 Forum Activity,Діяльність форуму,
 Free item code is not selected,Безкоштовний код товару не обраний,
 Freight and Forwarding Charges,Вантажні та експедиторські збори,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Відправити SMS масового вашим контактам,
 Sensitivity,Чутливість,
 Sent,Надісланий,
-Serial #,Серійний #,
 Serial No and Batch,Серійний номер та партія,
 Serial No is mandatory for Item {0},Серійний номер є обов'язковим для позиції {0},
 Serial No {0} does not belong to Batch {1},Серійний номер {0} не належить до партії {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,З чим вам допомогти?,
 What does it do?,Чим займається?,
 Where manufacturing operations are carried.,Де проводяться виробничі операції.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",Під час створення облікового запису дочірньої компанії {0} батьківський рахунок {1} не знайдено. Створіть батьківський обліковий запис у відповідному сертифікаті сертифікації,
 White,Білий,
 Wire Transfer,Банківський переказ,
 WooCommerce Products,Продукти WooCommerce,
@@ -3493,6 +3488,7 @@
 Merge with existing,Злиття з існуючими,
 Office,Офіс,
 Orientation,орієнтація,
+Parent,Батько,
 Passive,Пасивний,
 Payment Failed,Помилка оплати,
 Percent,Відсотків,
@@ -3543,6 +3539,7 @@
 Show {0},Показати {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Спеціальні символи, окрім &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Та &quot;}&quot;, не дозволяються в іменуванні серій",
 Target Details,Деталі цілі,
+{0} already has a Parent Procedure {1}.,{0} вже має батьківську процедуру {1}.,
 API,API,
 Annual,Річний,
 Approved,Затверджений,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,"Дата завершення не може бути меншою, ніж Дата початку",
 For Default Supplier (Optional),Для постачальника за замовчуванням (необов&#39;язково),
 From date cannot be greater than To date,"Від дати не може бути більше, ніж Дата",
-Get items from,Отримати елементи з,
 Group by,Групувати за,
 In stock,В наявності,
 Item name,Назва виробу,
@@ -7558,10 +7554,6 @@
 Quality Goal,Ціль якості,
 Monitoring Frequency,Частота моніторингу,
 Weekday,Будній день,
-January-April-July-October,Січень-квітень-липень-жовтень,
-Revision and Revised On,Перегляд та переглянуто далі,
-Revision,Перегляд,
-Revised On,Переглянуто від,
 Objectives,Цілі,
 Quality Goal Objective,Мета якості,
 Objective,Об&#39;єктивна,
@@ -7574,7 +7566,6 @@
 Processes,Процеси,
 Quality Procedure Process,Процес якості якості,
 Process Description,Опис процесу,
-Child Procedure,Дитяча процедура,
 Link existing Quality Procedure.,Пов’язати існуючу процедуру якості.,
 Additional Information,Додаткова інформація,
 Quality Review Objective,Мета перевірки якості,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Тренд прихідних накладних,
 Purchase Register,Реєстр закупівель,
 Quotation Trends,Тренд пропозицій,
-Quoted Item Comparison,Цитується Порівняння товару,
 Received Items To Be Billed,"Отримані позиції, на які не виставлені рахунки",
 Qty to Order,К-сть для замовлення,
 Requested Items To Be Transferred,"Номенклатура, що ми замовили але не отримали",
@@ -9091,7 +9081,6 @@
 Absent Days,Відсутні дні,
 Conditions and Formula variable and example,Умови та формула змінна та приклад,
 Feedback By,Відгук від,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.РРРР .-. MM .-. DD.-,
 Manufacturing Section,Виробнича секція,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","За замовчуванням ім&#39;я клієнта встановлюється відповідно до повного імені. Якщо ви хочете, щоб Клієнтів називали",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Налаштуйте прайс-лист за замовчуванням під час створення нової транзакції продажу. Ціни на товари будуть отримані з цього прайс-листа.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Зарезервований баланс,
 Uncleared Balance,Незрозумілий баланс,
 Payment related to {0} is not completed,"Оплата, пов’язана з {0}, не виконана",
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Рядок № {}: Серійний номер {}. {} вже здійснено транзакцію на інший рахунок-фактуру. Виберіть дійсний серійний номер.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Рядок № {}: Код товару: {} недоступний на складі {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Рядок № {}: Кількість запасу недостатня для коду товару: {} на складі {}. Доступна кількість {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"Рядок № {}: Виберіть серійний номер та партію товару: {} або видаліть його, щоб завершити транзакцію.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Будь ласка, увімкніть Дозволити від’ємний запас у налаштуваннях запасів або створіть запис про запас, щоб продовжити.",
 No Inpatient Record found against patient {0},Не знайдено стаціонарних записів щодо пацієнта {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Наказ про стаціонарне лікування {0} проти зустрічі з пацієнтом {1} уже існує.,
+Allow In Returns,Дозволити повернення,
+Hide Unavailable Items,Сховати недоступні елементи,
+Apply Discount on Discounted Rate,Застосувати знижку на знижку,
+Therapy Plan Template,Шаблон плану терапії,
+Fetching Template Details,Отримання деталей шаблону,
+Linked Item Details,Деталі пов&#39;язаних елементів,
+Therapy Types,Типи терапії,
+Therapy Plan Template Detail,Деталь шаблону плану терапії,
+Non Conformance,Невідповідність,
+Process Owner,Власник процесу,
+Corrective Action,Коригувальні дії,
+Preventive Action,Профілактична дія,
+Problem,Проблема,
+Responsible,Відповідальний,
+Completion By,Завершення,
+Process Owner Full Name,Повне ім’я власника процесу,
+Right Index,Правий покажчик,
+Left Index,Лівий покажчик,
+Sub Procedure,Підпроцедура,
+Passed,Пройшов,
+Print Receipt,Друк квитанції,
+Edit Receipt,Редагувати квитанцію,
+Focus on search input,Зосередьтеся на пошуковому запиті,
+Focus on Item Group filter,Зосередьтеся на фільтрі групи предметів,
+Checkout Order / Submit Order / New Order,Замовлення замовлення / Надіслати замовлення / Нове замовлення,
+Add Order Discount,Додати знижку на замовлення,
+Item Code: {0} is not available under warehouse {1}.,Код товару: {0} недоступний на складі {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,"Серійні номери недоступні для товару {0} на складі {1}. Будь ласка, спробуйте змінити склад.",
+Fetched only {0} available serial numbers.,Отримано лише {0} доступних серійних номерів.,
+Switch Between Payment Modes,Перемикання між режимами оплати,
+Enter {0} amount.,Введіть {0} суму.,
+You don't have enough points to redeem.,"Вам не вистачає очок, щоб використати.",
+You can redeem upto {0}.,Ви можете активувати до {0}.,
+Enter amount to be redeemed.,"Введіть суму, яку потрібно погасити.",
+You cannot redeem more than {0}.,Ви не можете отоварити більше ніж {0}.,
+Open Form View,Відкрийте подання форми,
+POS invoice {0} created succesfully,POS-рахунок-фактуру {0} створено успішно,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Кількості запасу недостатньо для коду товару: {0} під складом {1}. Доступна кількість {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Серійний номер: {0} уже здійснено транзакцію на інший рахунок-фактуру.,
+Balance Serial No,Серійний номер балансу,
+Warehouse: {0} does not belong to {1},Склад: {0} не належить {1},
+Please select batches for batched item {0},Виберіть партії для пакетного товару {0},
+Please select quantity on row {0},Виберіть кількість у рядку {0},
+Please enter serial numbers for serialized item {0},Введіть серійні номери для серіалізованого товару {0},
+Batch {0} already selected.,Пакет {0} уже вибрано.,
+Please select a warehouse to get available quantities,"Будь ласка, виберіть склад, щоб отримати доступні кількості",
+"For transfer from source, selected quantity cannot be greater than available quantity",Для передачі з джерела вибрана кількість не може бути більшою за доступну,
+Cannot find Item with this Barcode,Не вдається знайти товар із цим штрих-кодом,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},"{0} є обов’язковим. Можливо, запис обміну валют не створений для {1} - {2}",
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,"{} надіслав пов’язані з ним об’єкти. Вам потрібно скасувати активи, щоб створити повернення покупки.",
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Не вдається скасувати цей документ, оскільки він пов’язаний із надісланим об’єктом {0}. Будь ласка, скасуйте його, щоб продовжити.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Рядок № {}: Серійний номер {} вже переведено на інший рахунок-фактуру. Виберіть дійсний серійний номер.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Рядок № {}: Серійні номери {} вже переведені на інший рахунок-фактуру. Виберіть дійсний серійний номер.,
+Item Unavailable,Елемент недоступний,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Рядок № {}: серійний номер {} повернути не можна, оскільки він не був здійснений у первісному рахунку-фактурі {}",
+Please set default Cash or Bank account in Mode of Payment {},Встановіть за умовчанням готівковий або банківський рахунок у режимі оплати {},
+Please set default Cash or Bank account in Mode of Payments {},"Будь ласка, встановіть Касовий або банківський рахунок за замовчуванням у режимі платежів {}",
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,"Переконайтесь, що обліковий запис {} є рахунком на балансі. Ви можете змінити батьківський рахунок на рахунок балансу або вибрати інший.",
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Переконайтесь, що обліковий запис {} є платником. Змініть тип рахунку на Платежна або виберіть інший.",
+Row {}: Expense Head changed to {} ,Рядок {}: Витратну головку змінено на {},
+because account {} is not linked to warehouse {} ,оскільки обліковий запис {} не пов’язаний зі складом {},
+or it is not the default inventory account,або це не інвентарний рахунок за замовчуванням,
+Expense Head Changed,Змінено головку витрат,
+because expense is booked against this account in Purchase Receipt {},оскільки витрати заброньовані на цей рахунок у квитанції про придбання {},
+as no Purchase Receipt is created against Item {}. ,оскільки квитанція про купівлю щодо товару {} не створюється.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,"Це робиться для ведення обліку випадків, коли квитанція про придбання створюється після рахунку-фактури",
+Purchase Order Required for item {},Замовлення на придбання потрібне для товару {},
+To submit the invoice without purchase order please set {} ,"Щоб подати рахунок-фактуру без замовлення на придбання, встановіть {}",
+as {} in {},як і в {},
+Mandatory Purchase Order,Обов’язкове замовлення на придбання,
+Purchase Receipt Required for item {},Квитанція про покупку потрібна для товару {},
+To submit the invoice without purchase receipt please set {} ,"Щоб подати рахунок-фактуру без квитанції про покупку, встановіть {}",
+Mandatory Purchase Receipt,Обов’язкова квитанція про купівлю,
+POS Profile {} does not belongs to company {},Профіль POS {} не належить компанії {},
+User {} is disabled. Please select valid user/cashier,Користувача {} вимкнено. Виберіть дійсного користувача / касира,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Рядок № {}: Оригінальний рахунок-фактура {} зворотного рахунку-фактури {} - {}.,
+Original invoice should be consolidated before or along with the return invoice.,"Оригінальний рахунок-фактура повинен бути зведений до або разом із фактурою, що повертається.",
+You can add original invoice {} manually to proceed.,"Ви можете додати оригінальний рахунок-фактуру {} вручну, щоб продовжити.",
+Please ensure {} account is a Balance Sheet account. ,"Переконайтесь, що обліковий запис {} є рахунком на балансі.",
+You can change the parent account to a Balance Sheet account or select a different account.,Ви можете змінити батьківський рахунок на рахунок балансу або вибрати інший.,
+Please ensure {} account is a Receivable account. ,"Переконайтесь, що обліковий запис {} - це рахунок, який можна отримати.",
+Change the account type to Receivable or select a different account.,Змініть тип рахунку на Дебіторська або виберіть інший.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"{} не можна скасувати, оскільки отримані бали лояльності були використані. Спочатку скасуйте {} Ні {}",
+already exists,вже існує,
+POS Closing Entry {} against {} between selected period,Закриття запису POS {} проти {} між вибраним періодом,
+POS Invoice is {},Рахунок-фактура POS становить {},
+POS Profile doesn't matches {},POS-профіль не відповідає {},
+POS Invoice is not {},Рахунок-фактура POS не {},
+POS Invoice isn't created by user {},Рахунок-фактура POS не створюється користувачем {},
+Row #{}: {},Рядок № {}: {},
+Invalid POS Invoices,Недійсні рахунки POS,
+Please add the account to root level Company - {},"Будь ласка, додайте обліковий запис до корпоративного рівня компанії - {}",
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Під час створення облікового запису для дочірньої компанії {0} батьківський обліковий запис {1} не знайдено. Будь ласка, створіть батьківський обліковий запис у відповідному сертифікаті автентичності",
+Account Not Found,Обліковий запис не знайдено,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Під час створення облікового запису для дочірньої компанії {0} батьківський обліковий запис {1} знаходився як обліковий запис книги.,
+Please convert the parent account in corresponding child company to a group account.,"Будь ласка, перетворіть батьківський рахунок у відповідній дочірній компанії на груповий.",
+Invalid Parent Account,Недійсний батьківський рахунок,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Перейменувати його дозволено лише через материнську компанію {0}, щоб уникнути невідповідності.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Якщо ви {0} {1} кількість товару {2}, схема {3} буде застосована до товару.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Якщо ви {0} {1} вартуєте товар {2}, схема {3} буде застосована до товару.",
+"As the field {0} is enabled, the field {1} is mandatory.","Оскільки поле {0} ввімкнено, поле {1} є обов’язковим.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Оскільки поле {0} ввімкнено, значення поля {1} має бути більше 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"Не вдається доставити серійний номер {0} товару {1}, оскільки він зарезервований для повного заповнення замовлення на продаж {2}",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Замовлення на продаж {0} має замовлення на товар {1}, ви можете доставити лише зарезервоване {1} проти {0}.",
+{0} Serial No {1} cannot be delivered,{0} Серійний номер {1} не може бути доставлений,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Рядок {0}: Субпідрядний елемент є обов’язковим для сировини {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Оскільки сировини достатньо, запит на матеріали не потрібен для складу {0}.",
+" If you still want to proceed, please enable {0}.","Якщо ви все ще хочете продовжити, увімкніть {0}.",
+The item referenced by {0} - {1} is already invoiced,"Позиція, на яку посилається {0} - {1}, вже виставлена",
+Therapy Session overlaps with {0},Сеанс терапії накладається на {0},
+Therapy Sessions Overlapping,"Сеанси терапії, що перекриваються",
+Therapy Plans,Плани терапії,
+"Item Code, warehouse, quantity are required on row {0}","Код товару, склад, кількість вказуються в рядку {0}",
+Get Items from Material Requests against this Supplier,Отримуйте предмети від матеріальних запитів у цього постачальника,
+Enable European Access,Увімкнути європейський доступ,
+Creating Purchase Order ...,Створення замовлення на придбання ...,
+"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.","Виберіть постачальника з постачальників за замовчуванням із наведених нижче пунктів. При виборі замовлення на замовлення буде зроблено лише щодо товарів, що належать обраному Постачальнику.",
+Row #{}: You must select {} serial numbers for item {}.,Рядок № {}: Ви повинні вибрати {} серійні номери для товару {}.,
diff --git a/erpnext/translations/ur.csv b/erpnext/translations/ur.csv
index 5e6fa6a..aaaef58 100644
--- a/erpnext/translations/ur.csv
+++ b/erpnext/translations/ur.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',زمرہ &#39;تشخیص&#39; یا &#39;Vaulation اور کل&#39; کے لیے ہے جب کٹوتی نہیں کی جا سکتی,
 "Cannot delete Serial No {0}, as it is used in stock transactions",حذف نہیں کرسکتے ہیں سیریل کوئی {0}، یہ اسٹاک لین دین میں استعمال کیا جاتا ہے کے طور پر,
 Cannot enroll more than {0} students for this student group.,{0} اس طالب علم گروپ کے لیے طالب علموں کو داخلہ سے زیادہ نہیں ہوسکتی.,
-Cannot find Item with this barcode,اس بار کوڈ کے ساتھ آئٹم نہیں ڈھونڈ سکتا۔,
 Cannot find active Leave Period,فعال چھوڑ مدت نہیں مل سکا,
 Cannot produce more Item {0} than Sales Order quantity {1},سیلز آرڈر کی مقدار سے زیادہ آئٹم {0} پیدا نہیں کر سکتے ہیں {1},
 Cannot promote Employee with status Left,اسٹیٹ بائیں کے ساتھ ملازم کو فروغ نہیں دے سکتا,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",بنائیں اور، یومیہ، ہفتہ وار اور ماہانہ ای میل ڈائجسٹ کا انتظام.,
 Create customer quotes,کسٹمر کی قیمت درج بنائیں,
 Create rules to restrict transactions based on values.,اقدار پر مبنی لین دین کو محدود کرنے کے قوانین تشکیل دیں.,
-Created By,بنائی گئی,
 Created {0} scorecards for {1} between: ,{1} کے لئے {1} اسکورकार्डز کے درمیان بنائیں:,
 Creating Company and Importing Chart of Accounts,کمپنی بنانا اور اکاؤنٹ کا درآمد چارٹ کرنا۔,
 Creating Fees,فیس تخلیق,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,قطار {0} کے لئے: منصوبہ بندی کی مقدار درج کریں,
 "For {0}, only credit accounts can be linked against another debit entry",{0}، صرف کریڈٹ اکاؤنٹس ایک ڈیبٹ داخلے کے خلاف منسلک کیا جا سکتا ہے,
 "For {0}, only debit accounts can be linked against another credit entry",{0}، صرف ڈیبٹ اکاؤنٹس دوسرے کریڈٹ داخلے کے خلاف منسلک کیا جا سکتا ہے,
-Form View,فارم دیکھیں,
 Forum Activity,فورم سرگرمی,
 Free item code is not selected,مفت آئٹم کوڈ منتخب نہیں کیا گیا ہے۔,
 Freight and Forwarding Charges,فریٹ فارورڈنگ اور چارجز,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,بڑے پیمانے پر ایس ایم ایس اپنے رابطوں کو بھیجیں,
 Sensitivity,حساسیت,
 Sent,بھیجا,
-Serial #,سیریل نمبر,
 Serial No and Batch,سیریل نمبر اور بیچ,
 Serial No is mandatory for Item {0},سیریل کوئی آئٹم کے لئے لازمی ہے {0},
 Serial No {0} does not belong to Batch {1},سیریل نمبر {0} بیچ سے تعلق نہیں ہے {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,کیا آپ کے ساتھ مدد کی ضرورت ہے؟,
 What does it do?,یہ کیا کرتا ہے؟,
 Where manufacturing operations are carried.,مینوفیکچرنگ آپریشنز کہاں کئے جاتے ہیں.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",بچے کمپنی {0} کا اکاؤنٹ بناتے ہوئے، والدین اکاؤنٹ {1} نہیں مل سکا. براہ کرم متعلقہ COA میں والدین اکاؤنٹ بنائیں,
 White,وائٹ,
 Wire Transfer,وائر ٹرانسفر,
 WooCommerce Products,WooCommerce مصنوعات,
@@ -3493,6 +3488,7 @@
 Merge with existing,موجودہ کے ساتھ ضم,
 Office,آفس,
 Orientation,واقفیت,
+Parent,والدین,
 Passive,غیر فعال,
 Payment Failed,ادائیگی ناکام ہو گیا,
 Percent,فیصد,
@@ -3543,6 +3539,7 @@
 Show {0},دکھائیں {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series",&quot;-&quot; ، &quot;#&quot; ، &quot;.&quot; ، &quot;/&quot; ، &quot;{&quot; اور &quot;}&quot; سوائے خصوصی حروف کی نام بندی سیریز میں اجازت نہیں ہے,
 Target Details,ہدف کی تفصیلات۔,
+{0} already has a Parent Procedure {1}.,{0} پہلے سے ہی والدین کا طریقہ کار {1} ہے.,
 API,API,
 Annual,سالانہ,
 Approved,منظور,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,ختم ہونے کی تاریخ شروع کرنے کی تاریخ کے مقابلے میں کم نہیں ہو سکتا,
 For Default Supplier (Optional),ڈیفالٹ سپلائر کے لئے (اختیاری),
 From date cannot be greater than To date,تاریخ سے تاریخ سے زیادہ نہیں ہوسکتی ہے,
-Get items from,سے اشیاء حاصل,
 Group by,گروپ سے,
 In stock,اسٹاک میں,
 Item name,نام شے,
@@ -7558,10 +7554,6 @@
 Quality Goal,کوالٹی گول۔,
 Monitoring Frequency,مانیٹرنگ فریکوئینسی۔,
 Weekday,ہفتہ کا دن۔,
-January-April-July-October,جنوری۔ اپریل جولائی۔ اکتوبر۔,
-Revision and Revised On,نظر ثانی اور پر نظر ثانی کی,
-Revision,نظرثانی,
-Revised On,نظر ثانی شدہ,
 Objectives,مقاصد۔,
 Quality Goal Objective,کوالٹی گول کا مقصد۔,
 Objective,مقصد۔,
@@ -7574,7 +7566,6 @@
 Processes,عمل,
 Quality Procedure Process,کوالٹی پروسیسر کا عمل۔,
 Process Description,عمل کی تفصیل,
-Child Procedure,بچوں کا طریقہ کار,
 Link existing Quality Procedure.,موجودہ کوالٹی پروسیجر کو لنک کریں۔,
 Additional Information,اضافی معلومات,
 Quality Review Objective,کوالٹی ریویو کا مقصد۔,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,خریداری کی رسید رجحانات,
 Purchase Register,خریداری رجسٹر,
 Quotation Trends,کوٹیشن رجحانات,
-Quoted Item Comparison,نقل آئٹم موازنہ,
 Received Items To Be Billed,موصول ہونے والی اشیاء بل بھیجا جائے کرنے کے لئے,
 Qty to Order,آرڈر کی مقدار,
 Requested Items To Be Transferred,درخواست کی اشیاء منتقل کیا جائے,
@@ -9091,7 +9081,6 @@
 Absent Days,غائب دن,
 Conditions and Formula variable and example,ضوابط اور فارمولہ متغیر اور مثال,
 Feedback By,تاثرات,
-MTNG-.YYYY.-.MM.-.DD.-,ایم ٹی این جی ۔YYYY .-. MM .-. DD.-,
 Manufacturing Section,مینوفیکچرنگ سیکشن,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",پہلے سے طے شدہ طور پر ، درج کردہ پورے نام کے مطابق کسٹمر کا نام سیٹ کیا جاتا ہے۔ اگر آپ چاہتے ہیں کہ گاہک ایک کے ذریعہ نامزد ہوں,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,نیا سیلز ٹرانزیکشن بناتے وقت طے شدہ قیمت کی فہرست تشکیل دیں۔ اس قیمت کی فہرست سے آئٹم کی قیمتیں لائی جائیں گی۔,
@@ -9692,7 +9681,6 @@
 Reserved Balance,محفوظ توازن,
 Uncleared Balance,غیرمتوازن توازن,
 Payment related to {0} is not completed,{0} سے متعلق ادائیگی مکمل نہیں ہوئی ہے,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,قطار # {}: سیریل نمبر {} نہیں۔ {already کا پہلے ہی کسی دوسرے POS انوائس میں لین دین ہوچکا ہے۔ براہ کرم درست سیریل نمبر منتخب کریں۔,
 Row #{}: Item Code: {} is not available under warehouse {}.,قطار # {}: آئٹم کوڈ: {w گودام under} کے تحت دستیاب نہیں ہے۔,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,قطار # {}: آئٹم کوڈ کے لئے اسٹاک کی مقدار کافی نہیں ہے: {w گودام}} کے تحت۔ دستیاب مقدار {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,قطار # {}: براہ کرم آئٹم کے خلاف سیریل نمبر اور بیچ منتخب کریں: {} یا لین دین کو مکمل کرنے کیلئے اسے ہٹا دیں۔,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,براہ کرم اسٹاک کی ترتیبات میں منفی اسٹاک کی اجازت دیں یا آگے بڑھنے کے لئے اسٹاک اندراج تشکیل دیں۔,
 No Inpatient Record found against patient {0},مریض against 0 against کے خلاف کوئی مریض مریض نہیں ملا,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,مریض انکاؤنٹر} 1} کے خلاف ایک مریض مریض دوائی آرڈر {0} پہلے سے موجود ہے۔,
+Allow In Returns,واپسی میں اجازت دیں,
+Hide Unavailable Items,دستیاب چیزیں چھپائیں,
+Apply Discount on Discounted Rate,چھوٹ کی شرح پر چھوٹ لگائیں,
+Therapy Plan Template,تھراپی پلان سانچہ,
+Fetching Template Details,سانچے کی تفصیلات کی بازیافت,
+Linked Item Details,منسلک آئٹم کی تفصیلات,
+Therapy Types,تھراپی کی اقسام,
+Therapy Plan Template Detail,تھراپی پلان سانچہ تفصیل,
+Non Conformance,غیر ہم آہنگی,
+Process Owner,عمل مالک,
+Corrective Action,درست عمل,
+Preventive Action,احتیاطی کارروائی,
+Problem,مسئلہ,
+Responsible,ذمہ دار,
+Completion By,تکمیل بذریعہ,
+Process Owner Full Name,پراسیس مالک کا پورا نام,
+Right Index,حق اشاریہ,
+Left Index,بایاں اشاریہ,
+Sub Procedure,ذیلی طریقہ کار,
+Passed,پاس ہوا,
+Print Receipt,رسید وصول کریں,
+Edit Receipt,رسید میں ترمیم کریں,
+Focus on search input,تلاش کے ان پٹ پر توجہ دیں,
+Focus on Item Group filter,آئٹم گروپ کے فلٹر پر توجہ دیں,
+Checkout Order / Submit Order / New Order,چیک آؤٹ آرڈر / آرڈر / نیا آرڈر جمع کروائیں,
+Add Order Discount,آرڈر ڈسکاؤنٹ شامل کریں,
+Item Code: {0} is not available under warehouse {1}.,آئٹم کوڈ: are 0 w گودام under 1} کے تحت دستیاب نہیں ہے۔,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,گودام {1} کے تحت آئٹم {0} کے لئے سیریل نمبرز دستیاب نہیں ہیں۔ برائے مہربانی گودام تبدیل کرنے کی کوشش کریں۔,
+Fetched only {0} available serial numbers.,صرف {0} دستیاب سیریل نمبر لے آئے۔,
+Switch Between Payment Modes,ادائیگی کے طریقوں کے درمیان سوئچ کریں,
+Enter {0} amount.,{0} رقم درج کریں۔,
+You don't have enough points to redeem.,آپ کے پاس چھڑانے کے لئے اتنے پوائنٹس نہیں ہیں۔,
+You can redeem upto {0}.,آپ {0 to تک تلافی کرسکتے ہیں۔,
+Enter amount to be redeemed.,چھڑانے کے لئے رقم درج کریں۔,
+You cannot redeem more than {0}.,آپ {0 than سے زیادہ کو چھڑا نہیں سکتے۔,
+Open Form View,فارم کا نظارہ کھولیں,
+POS invoice {0} created succesfully,POS انوائس {0 suc کامیابی کے ساتھ تشکیل دیا گیا,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,آئٹم کوڈ کے لئے اسٹاک کی مقدار کافی نہیں ہے: are 0 w گودام} 1} کے تحت۔ دستیاب مقدار {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,سیریل نمبر: {0 already پہلے ہی کسی دوسرے POS انوائس میں لین دین ہوچکا ہے۔,
+Balance Serial No,بیلنس سیریل نمبر,
+Warehouse: {0} does not belong to {1},گودام: {0} کا تعلق {1} سے نہیں ہے,
+Please select batches for batched item {0},براہ کرم بیچ والے آئٹم کے لئے بیچ منتخب کریں {0},
+Please select quantity on row {0},براہ کرم قطار quantity 0 quantity پر مقدار منتخب کریں,
+Please enter serial numbers for serialized item {0},براہ کرم سیریلائزڈ آئٹم کے لئے سیریل نمبر درج کریں serial 0},
+Batch {0} already selected.,بیچ {0} پہلے ہی منتخب ہے۔,
+Please select a warehouse to get available quantities,براہ کرم دستیاب مقدار کو حاصل کرنے کے لئے کوئی گودام منتخب کریں,
+"For transfer from source, selected quantity cannot be greater than available quantity",ماخذ سے منتقلی کے لئے ، منتخب شدہ مقدار دستیاب مقدار سے زیادہ نہیں ہوسکتی ہے,
+Cannot find Item with this Barcode,اس بار کوڈ کے ساتھ آئٹم نہیں مل پائے,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0 mand لازمی ہے۔ ہوسکتا ہے کہ کرنسی ایکسچینج کا ریکارڈ {1} سے {2 for کے لئے نہیں بنایا گیا ہو,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{نے اس سے منسلک اثاثے جمع کروائے ہیں۔ خریداری کی واپسی کو بنانے کے ل You آپ کو اثاثے منسوخ کرنے کی ضرورت ہے۔,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,اس دستاویز کو منسوخ نہیں کیا جاسکتا ہے کیونکہ یہ جمع شدہ اثاثہ {0 with سے منسلک ہے۔ براہ کرم جاری رکھنے کے لئے اسے منسوخ کریں۔,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,قطار # {}: سیریل نمبر {already پہلے ہی کسی دوسرے POS انوائس میں لین دین ہوچکا ہے۔ براہ کرم درست سیریل نمبر منتخب کریں۔,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,قطار # {}: سیریل نمبر براہ کرم درست سیریل نمبر منتخب کریں۔,
+Item Unavailable,آئٹم دستیاب نہیں ہے,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},قطار # {}: سیریل نمبر {be واپس نہیں آسکتی ہے کیونکہ اس کا اصل انوائس میں ٹرانزیکشن نہیں ہوا تھا {},
+Please set default Cash or Bank account in Mode of Payment {},براہ کرم ادائیگی کے انداز میں پہلے سے طے شدہ نقد یا بینک اکاؤنٹ مقرر کریں set,
+Please set default Cash or Bank account in Mode of Payments {},براہ کرم ادائیگی کے انداز میں پہلے سے طے شدہ نقد یا بینک اکاؤنٹ مقرر کریں {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,براہ کرم یقینی بنائیں کہ}} اکاؤنٹ بیلنس شیٹ اکاؤنٹ ہے۔ آپ پیرنٹ اکاؤنٹ کو بیلنس شیٹ اکاؤنٹ میں تبدیل کرسکتے ہیں یا کوئی مختلف اکاؤنٹ منتخب کرسکتے ہیں۔,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,براہ کرم یقینی بنائیں کہ {} اکاؤنٹ قابل ادائیگی والا اکاؤنٹ ہے۔ اکاؤنٹ کی قسم ادائیگی کیلئے تبدیل کریں یا ایک مختلف اکاؤنٹ منتخب کریں۔,
+Row {}: Expense Head changed to {} ,قطار {}: اخراجات کا سر changed to میں بدل گیا,
+because account {} is not linked to warehouse {} ,کیونکہ اکاؤنٹ {w گودام سے منسلک نہیں ہے}},
+or it is not the default inventory account,یا یہ پہلے سے طے شدہ انوینٹری اکاؤنٹ نہیں ہے,
+Expense Head Changed,اخراجات کا سر بدلا,
+because expense is booked against this account in Purchase Receipt {},کیونکہ خریداری کی رسید in in میں اس اکاؤنٹ کے خلاف اخراجات درج ہیں,
+as no Purchase Receipt is created against Item {}. ,چونکہ آئٹم against against کے خلاف خریداری کی رسید تخلیق نہیں ہوتی ہے۔,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,جب خریداری کی رسید خریداری کی رسید کے بعد بنائی جاتی ہے تو معاملات کا حساب کتاب سنبھالنے کے لئے یہ کیا جاتا ہے,
+Purchase Order Required for item {},آئٹم for for کے لئے خریداری کا آرڈر ضروری ہے,
+To submit the invoice without purchase order please set {} ,خریداری کے آرڈر کے بغیر انوائس جمع کروانے کے لئے براہ کرم set set سیٹ کریں,
+as {} in {},جیسا کہ {} میں {,
+Mandatory Purchase Order,لازمی خریداری کا آرڈر,
+Purchase Receipt Required for item {},آئٹم for item کے لئے خریداری کی رسید درکار ہے,
+To submit the invoice without purchase receipt please set {} ,خریداری کی رسید کے بغیر انوائس جمع کروانے کے لئے براہ کرم set set سیٹ کریں,
+Mandatory Purchase Receipt,لازمی خریداری کی رسید,
+POS Profile {} does not belongs to company {},POS پروفائل {company کمپنی سے تعلق نہیں رکھتا ہے {},
+User {} is disabled. Please select valid user/cashier,صارف} disabled غیر فعال ہے۔ براہ کرم درست صارف / کیشیئر منتخب کریں,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,قطار # {}: اصل انوائس {return واپسی انوائس کا {} {} ہے۔,
+Original invoice should be consolidated before or along with the return invoice.,واپسی انوائس سے پہلے یا اس کے ساتھ اصل انوائس کو مستحکم کیا جانا چاہئے۔,
+You can add original invoice {} manually to proceed.,آپ آگے بڑھنے کے لئے دستی طور پر اصل انوائس {add شامل کرسکتے ہیں۔,
+Please ensure {} account is a Balance Sheet account. ,براہ کرم یقینی بنائیں کہ}} اکاؤنٹ بیلنس شیٹ اکاؤنٹ ہے۔,
+You can change the parent account to a Balance Sheet account or select a different account.,آپ پیرنٹ اکاؤنٹ کو بیلنس شیٹ اکاؤنٹ میں تبدیل کرسکتے ہیں یا کوئی مختلف اکاؤنٹ منتخب کرسکتے ہیں۔,
+Please ensure {} account is a Receivable account. ,براہ کرم یقینی بنائیں کہ}} اکاؤنٹ قابل وصول اکاؤنٹ ہے۔,
+Change the account type to Receivable or select a different account.,اکاؤنٹ کی قسم کو قابل وصول میں تبدیل کریں یا ایک مختلف اکاؤنٹ منتخب کریں۔,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},earned canceled کو منسوخ نہیں کیا جاسکتا ہے کیوں کہ حاصل کردہ وفاداری پوائنٹس کو چھڑا لیا گیا ہے۔ پہلے {} نہیں {cancel کو منسوخ کریں,
+already exists,پہلے سے موجود ہے,
+POS Closing Entry {} against {} between selected period,POS اختتامی اندراج selected} کے خلاف selected selected منتخب مدت کے درمیان,
+POS Invoice is {},POS انوائس {is ہے,
+POS Profile doesn't matches {},POS پروفائل matches matches سے مماثل نہیں ہے,
+POS Invoice is not {},POS انوائس {is نہیں ہے,
+POS Invoice isn't created by user {},POS انوائس صارف by by کے ذریعہ نہیں بنایا گیا ہے,
+Row #{}: {},قطار # {}: {,
+Invalid POS Invoices,غلط POS رسیدیں,
+Please add the account to root level Company - {},براہ کرم اکاؤنٹ کو روٹ لیول کمپنی میں شامل کریں - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",چائلڈ کمپنی for 0 for کے لئے اکاؤنٹ بنانے کے دوران ، والدین کا اکاؤنٹ {1 found نہیں ملا۔ براہ کرم متعلقہ COA میں پیرنٹ اکاؤنٹ بنائیں,
+Account Not Found,اکاؤنٹ نہیں پایا,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",چائلڈ کمپنی account 0 for کے لئے اکاؤنٹ بناتے وقت ، والدین اکاؤنٹ} 1 a ایک لیجر اکاؤنٹ کے بطور ملا۔,
+Please convert the parent account in corresponding child company to a group account.,براہ کرم متعلقہ چائلڈ کمپنی میں پیرنٹ اکاؤنٹ کو کسی گروپ اکاؤنٹ میں تبدیل کریں۔,
+Invalid Parent Account,غلط پیرنٹ اکاؤنٹ,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",بدعنوانی سے بچنے کے لئے اس کا نام تبدیل کرنے کی اجازت صرف پیرنٹ کمپنی via 0} کے توسط سے ہے۔,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",اگر آپ {0} {1} مقدار کی مقدار {2} ، اسکیم {3 the کا اطلاق آئٹم پر کیا جائے گا۔,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",اگر آپ item 0} {1} قابل آئٹم {2} ہیں تو ، اس اسکیم scheme 3 the کا اطلاق آئٹم پر ہوگا۔,
+"As the field {0} is enabled, the field {1} is mandatory.",چونکہ فیلڈ {0} فعال ہے ، فیلڈ {1} لازمی ہے۔,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",چونکہ فیلڈ {0} فعال ہے ، اس فیلڈ کی قیمت 1} 1 سے زیادہ ہونی چاہئے۔,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},آئٹم {1} کے سیریل نمبر {0 deliver کی فراہمی نہیں کی جاسکتی ہے کیونکہ یہ سیلز آرڈر f 2 full کے ساتھ مکمل ہے۔,
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",سیلز آرڈر {0} میں آئٹم {1} کے لئے بکنگ ہے ، آپ صرف {0} کے مقابلہ میں محفوظ {1 deliver فراہم کرسکتے ہیں۔,
+{0} Serial No {1} cannot be delivered,{0} سیریل نمبر {1} کی فراہمی نہیں ہوسکتی ہے,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},قطار {0}: خام مال for 1 for کے لئے ضمنی معاہدہ آئٹم لازمی ہے,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",چونکہ کافی خام مال موجود ہیں ، لہذا گودام {0} کے لئے مٹیریل ریکوسٹ کی ضرورت نہیں ہے۔,
+" If you still want to proceed, please enable {0}.",اگر آپ اب بھی آگے بڑھنا چاہتے ہیں تو ، براہ کرم {0 enable کو فعال کریں۔,
+The item referenced by {0} - {1} is already invoiced,جس شے کا حوالہ {0} - {1} ہے پہلے ہی انوائس کیا گیا ہے,
+Therapy Session overlaps with {0},تھراپی سیشن {0 with کے ساتھ اوورلیپ ہوتا ہے,
+Therapy Sessions Overlapping,تھراپی سیشن اوور لیپنگ,
+Therapy Plans,تھراپی کے منصوبے,
+"Item Code, warehouse, quantity are required on row {0}",آئٹم کوڈ ، گودام ، مقدار قطار میں ضروری ہے {0},
+Get Items from Material Requests against this Supplier,اس سپلائر کے خلاف مادی درخواستوں سے اشیا حاصل کریں,
+Enable European Access,یورپی رسائی کو فعال کریں,
+Creating Purchase Order ...,خریداری کا آرڈر تشکیل دے رہا ہے…,
+"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.",ذیل میں آئٹمز کے ڈیفالٹ سپلائرز میں سے ایک سپلائر منتخب کریں۔ انتخاب پر ، خریداری کا آرڈر صرف منتخب کردہ سپلائر سے متعلقہ اشیاء کے خلاف کیا جائے گا۔,
+Row #{}: You must select {} serial numbers for item {}.,قطار # {}: آپ کو آئٹم for for کے لئے}} سیریل نمبرز منتخب کرنا ہوں گے۔,
diff --git a/erpnext/translations/uz.csv b/erpnext/translations/uz.csv
index 9287ff7..c983797 100644
--- a/erpnext/translations/uz.csv
+++ b/erpnext/translations/uz.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',Qaysi kategoriya uchun &quot;Baholash&quot; yoki &quot;Vaulusiya va jami&quot;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Serial No {0} o&#39;chirib tashlanmaydi, chunki u birja bitimlarida qo&#39;llaniladi",
 Cannot enroll more than {0} students for this student group.,Ushbu talabalar guruhida {0} dan ortiq talabalarni ro&#39;yxatdan o&#39;tkazib bo&#39;lmaydi.,
-Cannot find Item with this barcode,Ushbu shtrix-kod yordamida elementni topib bo&#39;lmaydi,
 Cannot find active Leave Period,Faol chiqish davri topilmadi,
 Cannot produce more Item {0} than Sales Order quantity {1},{0} Savdo buyurtma miqdoridan ko&#39;proq {0} mahsulot ishlab chiqarish mumkin emas.,
 Cannot promote Employee with status Left,Ishtirokchi maqomini chapga targ&#39;ib qila olmaydi,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Kundalik, haftalik va oylik elektron pochta digestlarini yarating va boshqaring.",
 Create customer quotes,Xaridor taklifini yarating,
 Create rules to restrict transactions based on values.,Jarayonlarni qadriyatlar asosida cheklash uchun qoidalar yarating.,
-Created By,Tomonidan yaratilgan,
 Created {0} scorecards for {1} between: ,{1} uchun {0} ko&#39;rsatkichlar jadvalini yaratdi:,
 Creating Company and Importing Chart of Accounts,Kompaniyani yaratish va hisoblar jadvalini import qilish,
 Creating Fees,Narxlarni yaratish,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,{0} qatoriga: rejali qty kiriting,
 "For {0}, only credit accounts can be linked against another debit entry",{0} uchun faqat kredit hisoblari boshqa to&#39;lov usullariga bog&#39;liq bo&#39;lishi mumkin,
 "For {0}, only debit accounts can be linked against another credit entry",{0} uchun faqat bank hisoblari boshqa kredit yozuvlari bilan bog&#39;lanishi mumkin,
-Form View,Formasi ko&#39;rinishi,
 Forum Activity,Forum faoliyati,
 Free item code is not selected,Bepul mahsulot kodi tanlanmagan,
 Freight and Forwarding Charges,Yuk va ekspeditorlik xarajatlari,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Kontaktlaringizga ommaviy SMS yuboring,
 Sensitivity,Ta&#39;sirchanlik,
 Sent,Yuborildi,
-Serial #,Seriya #,
 Serial No and Batch,Seriya raqami va to&#39;plami,
 Serial No is mandatory for Item {0},Serial No {0} uchun majburiy emas,
 Serial No {0} does not belong to Batch {1},No {0} ketma-ketligi {1} guruhiga tegishli emas,
@@ -3303,7 +3299,6 @@
 What do you need help with?,Sizga nima yordam kerak?,
 What does it do?,U nima qiladi?,
 Where manufacturing operations are carried.,Ishlab chiqarish operatsiyalari olib borilayotgan joylarda.,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","{0} bolalar kompaniyasida hisob yaratishda {1} ota-ona hisobi topilmadi. Iltimos, tegishli COAda ota-ona hisobini yarating",
 White,Oq rang,
 Wire Transfer,Telegraf ko&#39;chirmasi,
 WooCommerce Products,WooCommerce mahsulotlari,
@@ -3493,6 +3488,7 @@
 Merge with existing,Mavjud bilan birlashtirilsin,
 Office,Ofis,
 Orientation,Yo&#39;nalish,
+Parent,Ota-onalar,
 Passive,Passiv,
 Payment Failed,To&#39;lov amalga oshmadi,
 Percent,Foiz,
@@ -3543,6 +3539,7 @@
 Show {0},{0} ni ko&#39;rsatish,
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","&quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Va &quot;}&quot; belgilaridan tashqari maxsus belgilarga ruxsat berilmaydi.",
 Target Details,Maqsad tafsilotlari,
+{0} already has a Parent Procedure {1}.,{0} allaqachon Ota-ona tartibiga ega {1}.,
 API,API,
 Annual,Yillik,
 Approved,Tasdiqlandi,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Tugash sanasi Boshlanish sanasidan past bo&#39;lishi mumkin emas,
 For Default Supplier (Optional),Standart yetkazib beruvchi (ixtiyoriy),
 From date cannot be greater than To date,Sana Sana Sana uchun katta bo&#39;lishi mumkin emas,
-Get items from,Elementlarni oling,
 Group by,Guruh tomonidan,
 In stock,Omborda mavjud; sotuvda mavjud,
 Item name,Mavzu nomi,
@@ -7558,10 +7554,6 @@
 Quality Goal,Sifat maqsadi,
 Monitoring Frequency,Monitoring chastotasi,
 Weekday,Hafta kuni,
-January-April-July-October,Yanvar-aprel-iyul-iyul-oktyabr,
-Revision and Revised On,Qayta ko&#39;rib chiqilgan va qayta ko&#39;rib chiqilgan,
-Revision,Tuzatish,
-Revised On,Qayta ishlangan,
 Objectives,Maqsadlar,
 Quality Goal Objective,Sifat maqsadi,
 Objective,Maqsad,
@@ -7574,7 +7566,6 @@
 Processes,Jarayonlar,
 Quality Procedure Process,Sifat jarayoni,
 Process Description,Jarayon tavsifi,
-Child Procedure,Bolalar protsedurasi,
 Link existing Quality Procedure.,Mavjud sifat tartibini bog&#39;lang.,
 Additional Information,Qo&#39;shimcha ma&#39;lumot,
 Quality Review Objective,Sifatni tekshirish maqsadi,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Qabul rejasi xaridlari,
 Purchase Register,Xarid qilish Register,
 Quotation Trends,Iqtiboslar tendentsiyalari,
-Quoted Item Comparison,Qisqartirilgan ob&#39;ektni solishtirish,
 Received Items To Be Billed,Qabul qilinadigan buyumlar,
 Qty to Order,Buyurtma miqdori,
 Requested Items To Be Transferred,Talab qilingan narsalarni yuborish,
@@ -9091,7 +9081,6 @@
 Absent Days,Yo&#39;q kunlar,
 Conditions and Formula variable and example,Shartlar va formulalar o&#39;zgaruvchisi va misol,
 Feedback By,Fikr-mulohaza,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYYY .-. MM .-. DD.-,
 Manufacturing Section,Ishlab chiqarish bo&#39;limi,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Odatiy bo&#39;lib, mijozning ismi kiritilgan to&#39;liq ismga binoan o&#39;rnatiladi. Agar siz mijozlar a tomonidan nomlanishini istasangiz",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Yangi savdo operatsiyasini yaratishda standart narxlar ro&#39;yxatini sozlang. Mahsulotlar narxi ushbu narxlar ro&#39;yxatidan olinadi.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Zaxira qoldig&#39;i,
 Uncleared Balance,Tozalanmagan qoldiq,
 Payment related to {0} is not completed,{0} bilan bog&#39;liq to&#39;lov tugallanmagan,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,"Qator # {}: ketma-ketlik {}. {} allaqachon boshqa POS-fakturaga o&#39;tkazilgan. Iltimos, tegishli seriya raqamini tanlang.",
 Row #{}: Item Code: {} is not available under warehouse {}.,№ {} qator: Mahsulot kodi: {} omborxonada mavjud emas {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Qator # {}: Mahsulot kodi uchun zaxira miqdori etarli emas: {} omborxonada {}. Mavjud miqdor {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,"№ {} qator: Iltimos, ketma-ketlikni tanlang va bitimni tanlang: {} yoki tranzaktsiyani yakunlash uchun uni olib tashlang.",
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,"Iltimos, &quot;Stok&quot; sozlamalarida &quot;Negative Stock&quot; ga ruxsat bering yoki &quot;Stock Entry&quot; yozuvini yarating.",
 No Inpatient Record found against patient {0},Bemorga qarshi statsionar yozuvlar topilmadi {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,{0} Bemor bilan uchrashishga qarshi {1} statsionar davolanish to&#39;g&#39;risida buyruq allaqachon mavjud.,
+Allow In Returns,Qaytishga ruxsat berish,
+Hide Unavailable Items,Mavjud bo&#39;lmagan narsalarni yashirish,
+Apply Discount on Discounted Rate,Chegirmali narx bo&#39;yicha chegirma qo&#39;llang,
+Therapy Plan Template,Terapiya rejasi shabloni,
+Fetching Template Details,Andoza tafsilotlari olinmoqda,
+Linked Item Details,Bog&#39;langan element tafsilotlari,
+Therapy Types,Terapiya turlari,
+Therapy Plan Template Detail,Terapiya rejasi shablonining tafsiloti,
+Non Conformance,Mos kelmaslik,
+Process Owner,Jarayon egasi,
+Corrective Action,Tuzatuv,
+Preventive Action,Profilaktik harakatlar,
+Problem,Muammo,
+Responsible,Mas&#39;ul,
+Completion By,Tugatish vaqti bilan,
+Process Owner Full Name,Jarayon egasining to&#39;liq ismi,
+Right Index,O&#39;ng indeks,
+Left Index,Chap ko&#39;rsatkich,
+Sub Procedure,Sub protsedura,
+Passed,O&#39;tdi,
+Print Receipt,Kvitansiyani chop etish,
+Edit Receipt,Kvitansiyani tahrirlash,
+Focus on search input,Qidiruv kiritishga e&#39;tiboringizni qarating,
+Focus on Item Group filter,Element guruhi filtriga e&#39;tiboringizni qarating,
+Checkout Order / Submit Order / New Order,Chiqish tartibi / Buyurtmani topshirish / Yangi buyurtma,
+Add Order Discount,Buyurtma uchun chegirma qo&#39;shing,
+Item Code: {0} is not available under warehouse {1}.,Mahsulot kodi: {0} omborxonada mavjud emas {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,"{0} omborxonada {1} seriya raqamlari mavjud emas. Iltimos, omborni o&#39;zgartirishga harakat qiling.",
+Fetched only {0} available serial numbers.,Faqat mavjud bo&#39;lgan {0} seriya raqamlarini olib keldilar.,
+Switch Between Payment Modes,To&#39;lov rejimlari o&#39;rtasida almashinish,
+Enter {0} amount.,{0} miqdorini kiriting.,
+You don't have enough points to redeem.,Sizda sotib olish uchun yetarli ball yo‘q.,
+You can redeem upto {0}.,Siz {0} ga qadar foydalanishingiz mumkin.,
+Enter amount to be redeemed.,Qabul qilinadigan summani kiriting.,
+You cannot redeem more than {0}.,Siz {0} dan ortiq mablag&#39;ni ishlata olmaysiz.,
+Open Form View,Shakl ko&#39;rinishini oching,
+POS invoice {0} created succesfully,POS-faktura {0} muvaffaqiyatli yaratildi,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Birja miqdori mahsulot kodi uchun etarli emas: {0} omborxonada {1}. Mavjud miqdor {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Seriya raqami: {0} allaqachon boshqa POS-fakturaga o&#39;tkazilgan.,
+Balance Serial No,Balans seriyasi №,
+Warehouse: {0} does not belong to {1},Ombor: {0} {1} ga tegishli emas,
+Please select batches for batched item {0},Paketlangan element uchun partiyalarni tanlang {0},
+Please select quantity on row {0},{0} qatoridagi miqdorni tanlang,
+Please enter serial numbers for serialized item {0},Seriallangan element uchun seriya raqamlarini kiriting {0},
+Batch {0} already selected.,{0} partiyasi allaqachon tanlangan.,
+Please select a warehouse to get available quantities,"Iltimos, mavjud miqdorni olish uchun omborni tanlang",
+"For transfer from source, selected quantity cannot be greater than available quantity",Manbadan o&#39;tkazish uchun tanlangan miqdor mavjud miqdordan katta bo&#39;lishi mumkin emas,
+Cannot find Item with this Barcode,Ushbu shtrix-kod bilan element topilmadi,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},"{0} majburiydir. Ehtimol, {1} dan {2} gacha valyuta almashinuvi bo&#39;yicha yozuv yaratilmagan bo&#39;lishi mumkin",
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} unga bog&#39;langan aktivlarni taqdim etdi. Xaridni qaytarish uchun aktivlarni bekor qilishingiz kerak.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,"Ushbu hujjatni bekor qilish mumkin emas, chunki u taqdim etilgan aktiv ({0}) bilan bog&#39;langan. Davom etish uchun uni bekor qiling.",
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,"Qator # {}: Seriya raqami {} allaqachon boshqa POS-fakturaga o&#39;tkazilgan. Iltimos, tegishli seriya raqamini tanlang.",
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,"№ {} qator: Seriya raqami. {} Allaqachon boshqa POS-fakturaga o&#39;tkazilgan. Iltimos, tegishli seriya raqamini tanlang.",
+Item Unavailable,Mahsulot mavjud emas,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},"Qator # {}: Seriya No {} ni qaytarib bo&#39;lmaydi, chunki u asl fakturada ishlamagan {}",
+Please set default Cash or Bank account in Mode of Payment {},"Iltimos, to&#39;lov usulida birlamchi naqd yoki bank hisobini o&#39;rnating {}",
+Please set default Cash or Bank account in Mode of Payments {},"Iltimos, To&#39;lov rejimida birlamchi naqd yoki bank hisobini o&#39;rnating {}",
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,{} Hisobining Balans hisobi ekanligini tekshiring. Siz ota-ona hisobini Balans hisobvarag&#39;iga o&#39;zgartirishingiz yoki boshqa hisobni tanlashingiz mumkin.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,"Iltimos, {} hisobining to&#39;lanadigan hisob ekanligini tekshiring. Hisob turini &quot;To&#39;lanadigan&quot; ga o&#39;zgartiring yoki boshqa hisob qaydnomasini tanlang.",
+Row {}: Expense Head changed to {} ,{} Qatori: Xarajat boshi {} ga o&#39;zgartirildi,
+because account {} is not linked to warehouse {} ,chunki {} hisob omborga ulanmagan {},
+or it is not the default inventory account,yoki bu standart inventarizatsiya hisobi emas,
+Expense Head Changed,Xarajat boshi o&#39;zgartirildi,
+because expense is booked against this account in Purchase Receipt {},chunki ushbu hisobvarag&#39;i uchun Xarid kvitansiyasida xarajatlar belgilanadi {},
+as no Purchase Receipt is created against Item {}. ,chunki {} bandiga muvofiq sotib olish kvitansiyasi yaratilmagan.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Bu Sotib olish to&#39;g&#39;risida hisobvaraqdan keyin Sotib olish to&#39;g&#39;risida kvitansiya tuzilgan holatlarni hisobga olish uchun amalga oshiriladi,
+Purchase Order Required for item {},{} Elementi uchun buyurtma talab qilinadi,
+To submit the invoice without purchase order please set {} ,Hisob-fakturani sotib olish buyurtmasisiz topshirish uchun {} ni o&#39;rnating.,
+as {} in {},{} ichida {},
+Mandatory Purchase Order,Majburiy sotib olish buyurtmasi,
+Purchase Receipt Required for item {},{} Elementi uchun sotib olish kvitansiyasi talab qilinadi,
+To submit the invoice without purchase receipt please set {} ,Hisob-fakturani xarid kvitansiyasiz topshirish uchun {} ni o&#39;rnating.,
+Mandatory Purchase Receipt,Majburiy sotib olish kvitansiyasi,
+POS Profile {} does not belongs to company {},POS profili {} kompaniyaga tegishli emas {},
+User {} is disabled. Please select valid user/cashier,"{} Foydalanuvchisi o&#39;chirilgan. Iltimos, haqiqiy foydalanuvchi / kassirni tanlang",
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Qator # {}: Hisob-fakturaning asl nusxasi {} qaytariladigan hisob-fakturasi {}: {}.,
+Original invoice should be consolidated before or along with the return invoice.,Hisob-fakturaning asl nusxasi qaytarib yuborilgan schyotdan oldin yoki birga to&#39;plangan bo&#39;lishi kerak.,
+You can add original invoice {} manually to proceed.,Davom etish uchun asl fakturani {} qo&#39;lda qo&#39;shishingiz mumkin.,
+Please ensure {} account is a Balance Sheet account. ,{} Hisobining Balans hisobi ekanligini tekshiring.,
+You can change the parent account to a Balance Sheet account or select a different account.,Siz ota-ona hisobini Balans hisobvarag&#39;iga o&#39;zgartirishingiz yoki boshqa hisobni tanlashingiz mumkin.,
+Please ensure {} account is a Receivable account. ,"Iltimos, {} hisobining debitorlik hisobi ekanligiga ishonch hosil qiling.",
+Change the account type to Receivable or select a different account.,Hisob turini &quot;Qabul qilinadigan&quot; deb o&#39;zgartiring yoki boshqa hisob qaydnomasini tanlang.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"Sodiqlik ballari ishlatilganligi sababli, {} bekor qilinmaydi. Avval {} Yo&#39;q {} ni bekor qiling",
+already exists,allaqachon mavjud,
+POS Closing Entry {} against {} between selected period,Belgilangan davr oralig&#39;ida POS yopilish usuli {} qarshi {},
+POS Invoice is {},POS-faktura: {},
+POS Profile doesn't matches {},POS profili mos kelmadi {},
+POS Invoice is not {},POS-faktura {} emas,
+POS Invoice isn't created by user {},POS-fakturani foydalanuvchi yaratmagan {},
+Row #{}: {},Qator # {}: {},
+Invalid POS Invoices,Noto&#39;g&#39;ri POS-fakturalar,
+Please add the account to root level Company - {},"Iltimos, hisobni root level Company-ga qo&#39;shing - {}",
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Child Company {0} uchun hisob yaratishda ota-ona hisobi {1} topilmadi. Iltimos, tegishli COA-da ota-ona hisobini yarating",
+Account Not Found,Hisob topilmadi,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",Child Company {0} uchun hisob yaratishda ota-ona hisobi {1} buxgalteriya hisobi sifatida topilgan.,
+Please convert the parent account in corresponding child company to a group account.,"Iltimos, tegishli bolalar kompaniyasidagi ota-ona hisobini guruh hisobiga o&#39;zgartiring.",
+Invalid Parent Account,Ota-ona hisobi yaroqsiz,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",Mos kelmaslik uchun uni qayta nomlash faqat bosh kompaniya orqali amalga oshiriladi ({0}).,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Agar siz {0} {1} elementning miqdori {2} bo&#39;lsa, unda {3} sxemasi qo&#39;llaniladi.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Agar siz {0} {1} elementga arziydigan bo&#39;lsangiz {2}, {3} sxemasi buyumda qo&#39;llaniladi.",
+"As the field {0} is enabled, the field {1} is mandatory.","{0} maydoni yoqilganligi sababli, {1} maydoni majburiy hisoblanadi.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","{0} maydoni yoqilganligi sababli, {1} maydonining qiymati 1 dan ortiq bo&#39;lishi kerak.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},"{1} bandning {0} ketma-ketligini etkazib berolmayman, chunki u {2} savdo buyurtmalarini to&#39;ldirish uchun mo&#39;ljallangan.",
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Sotish uchun buyurtma {0} - {1} bandi uchun buyurtma mavjud, siz faqat {1} ga qarshi buyurtmani {0} qarshi etkazib berishingiz mumkin.",
+{0} Serial No {1} cannot be delivered,{0} Seriya № {1} yetkazib berilmaydi,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},{0} qatori: Xom ashyo uchun subpudrat shartnomasi majburiydir {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Xom ashyo etarli bo&#39;lganligi sababli, {0} omborxonasi uchun material talab qilinmaydi.",
+" If you still want to proceed, please enable {0}.","Agar davom etishni xohlasangiz, iltimos, {0} ni yoqing.",
+The item referenced by {0} - {1} is already invoiced,{0} - {1} tomonidan havola qilingan element allaqachon hisob-fakturaga ega,
+Therapy Session overlaps with {0},Terapiya mashg&#39;uloti {0} bilan takrorlanadi,
+Therapy Sessions Overlapping,Terapiya mashg&#39;ulotlari bir-birini qoplaydi,
+Therapy Plans,Terapiya rejalari,
+"Item Code, warehouse, quantity are required on row {0}","Mahsulot kodi, ombor, miqdori {0} qatorida talab qilinadi",
+Get Items from Material Requests against this Supplier,Ushbu etkazib beruvchiga qarshi material talablaridan narsalarni oling,
+Enable European Access,Evropaga kirishni yoqish,
+Creating Purchase Order ...,Xarid buyurtmasi yaratilmoqda ...,
+"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.","Quyidagi mahsulotlarning standart etkazib beruvchilardan etkazib beruvchini tanlang. Tanlovda, faqat tanlangan etkazib beruvchiga tegishli buyumlarga qarshi Sotib olish to&#39;g&#39;risida buyurtma beriladi.",
+Row #{}: You must select {} serial numbers for item {}.,Qator # {}: Siz {} element uchun seriya raqamlarini {} tanlashingiz kerak.,
diff --git a/erpnext/translations/vi.csv b/erpnext/translations/vi.csv
index b7e67b9..03ff2cc 100644
--- a/erpnext/translations/vi.csv
+++ b/erpnext/translations/vi.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',không thể trừ khi mục là cho &#39;định giá&#39; hoặc &#39;Vaulation và Total&#39;,
 "Cannot delete Serial No {0}, as it is used in stock transactions","Không thể xóa số Seri {0}, vì nó được sử dụng trong các giao dịch hàng tồn kho",
 Cannot enroll more than {0} students for this student group.,Không thể ghi danh hơn {0} sinh viên cho nhóm sinh viên này.,
-Cannot find Item with this barcode,Không thể tìm thấy mục có mã vạch này,
 Cannot find active Leave Period,Không thể tìm thấy Khoảng thời gian rời khỏi hoạt động,
 Cannot produce more Item {0} than Sales Order quantity {1},Không thể sản xuất {0} nhiều hơn số lượng trên đơn đặt hàng {1},
 Cannot promote Employee with status Left,Không thể quảng bá Nhân viên có trạng thái Trái,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.","Tạo và quản lý hàng ngày, hàng tuần và hàng tháng tiêu hóa email.",
 Create customer quotes,Tạo dấu ngoặc kép của khách hàng,
 Create rules to restrict transactions based on values.,Tạo các quy tắc để hạn chế các giao dịch dựa trên giá trị.,
-Created By,Tạo ra bởi,
 Created {0} scorecards for {1} between: ,Đã tạo {0} phiếu ghi điểm cho {1} giữa:,
 Creating Company and Importing Chart of Accounts,Tạo công ty và nhập biểu đồ tài khoản,
 Creating Fees,Tạo các khoản phí,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,Đối với hàng {0}: Nhập số lượng dự kiến,
 "For {0}, only credit accounts can be linked against another debit entry","Đối với {0}, tài khoản có chỉ có thể được liên kết chống lại mục nợ khác",
 "For {0}, only debit accounts can be linked against another credit entry","Đối với {0}, chỉ tài khoản ghi nợ có thể được liên kết với mục nợ khác",
-Form View,Xem Mẫu,
 Forum Activity,Hoạt động diễn đàn,
 Free item code is not selected,Mã mặt hàng miễn phí không được chọn,
 Freight and Forwarding Charges,Vận tải hàng hóa và chuyển tiếp phí,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,Gửi SMS hàng loạt tới các liên hệ của bạn,
 Sensitivity,Nhạy cảm,
 Sent,Đã gửi,
-Serial #,Serial #,
 Serial No and Batch,Số thứ tự và hàng loạt,
 Serial No is mandatory for Item {0},Không nối tiếp là bắt buộc đối với hàng {0},
 Serial No {0} does not belong to Batch {1},Số sê-ri {0} không thuộc về Lô {1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,Bạn cần giúp về vấn đề gì ?,
 What does it do?,Làm gì ?,
 Where manufacturing operations are carried.,Nơi các hoạt động sản xuất đang được thực hiện,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Trong khi tạo tài khoản cho Công ty con {0}, không tìm thấy tài khoản mẹ {1}. Vui lòng tạo tài khoản mẹ trong COA tương ứng",
 White,trắng,
 Wire Transfer,Chuyển khoản,
 WooCommerce Products,Sản phẩm thương mại Woo,
@@ -3493,6 +3488,7 @@
 Merge with existing,Kết hợp với hiện tại,
 Office,Văn phòng,
 Orientation,Sự định hướng,
+Parent,Nguồn gốc,
 Passive,Thụ động,
 Payment Failed,Thanh toán không thành công,
 Percent,Phần trăm,
@@ -3543,6 +3539,7 @@
 Show {0},Hiển thị {0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series","Các ký tự đặc biệt ngoại trừ &quot;-&quot;, &quot;#&quot;, &quot;.&quot;, &quot;/&quot;, &quot;{&quot; Và &quot;}&quot; không được phép trong chuỗi đặt tên",
 Target Details,Chi tiết mục tiêu,
+{0} already has a Parent Procedure {1}.,{0} đã có Quy trình dành cho phụ huynh {1}.,
 API,API,
 Annual,Hàng năm,
 Approved,Đã được phê duyệt,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,Ngày kết thúc không thể nhỏ hơn Bắt đầu ngày,
 For Default Supplier (Optional),Đối với nhà cung cấp mặc định (Tùy chọn),
 From date cannot be greater than To date,"""Từ ngày"" không có thể lớn hơn ""Đến ngày""",
-Get items from,Lấy dữ liệu từ,
 Group by,Nhóm theo,
 In stock,Trong kho,
 Item name,Tên hàng,
@@ -7558,10 +7554,6 @@
 Quality Goal,Mục tiêu chất lượng,
 Monitoring Frequency,Tần suất giám sát,
 Weekday,Các ngày trong tuần,
-January-April-July-October,Tháng 1-Tháng 4-Tháng 10-Tháng 10,
-Revision and Revised On,Sửa đổi và sửa đổi vào,
-Revision,Sửa đổi,
-Revised On,Sửa đổi vào,
 Objectives,Mục tiêu,
 Quality Goal Objective,Mục tiêu chất lượng,
 Objective,Mục tiêu,
@@ -7574,7 +7566,6 @@
 Processes,Quy trình,
 Quality Procedure Process,Quy trình thủ tục chất lượng,
 Process Description,Miêu tả quá trình,
-Child Procedure,Thủ tục Trẻ em,
 Link existing Quality Procedure.,Liên kết Thủ tục chất lượng hiện có.,
 Additional Information,thông tin thêm,
 Quality Review Objective,Mục tiêu đánh giá chất lượng,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,Xu hướng của biên lai nhận hàng,
 Purchase Register,Đăng ký mua,
 Quotation Trends,Các Xu hướng dự kê giá,
-Quoted Item Comparison,So sánh mẫu hàng đã được báo giá,
 Received Items To Be Billed,Những mẫu hàng nhận được để lập hóa đơn,
 Qty to Order,Số lượng đặt hàng,
 Requested Items To Be Transferred,Mục yêu cầu được chuyển giao,
@@ -9091,7 +9081,6 @@
 Absent Days,Ngày vắng mặt,
 Conditions and Formula variable and example,Điều kiện và biến công thức và ví dụ,
 Feedback By,Phản hồi bởi,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-. MM .-. DD.-,
 Manufacturing Section,Bộ phận sản xuất,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ","Theo mặc định, Tên khách hàng được đặt theo Tên đầy đủ đã nhập. Nếu bạn muốn Khách hàng được đặt tên bởi",
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,Định cấu hình Bảng giá mặc định khi tạo giao dịch Bán hàng mới. Giá mặt hàng sẽ được lấy từ Bảng giá này.,
@@ -9692,7 +9681,6 @@
 Reserved Balance,Số dư dự trữ,
 Uncleared Balance,Số dư không rõ ràng,
 Payment related to {0} is not completed,Thanh toán liên quan đến {0} chưa hoàn tất,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,Hàng # {}: Số Sê-ri {}. {} đã được giao dịch thành một Hóa đơn POS khác. Vui lòng chọn số sê-ri hợp lệ.,
 Row #{}: Item Code: {} is not available under warehouse {}.,Hàng # {}: Mã hàng: {} không có sẵn trong kho {}.,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,Hàng # {}: Số lượng hàng không đủ cho Mã hàng: {} dưới kho {}. Số lượng có sẵn {}.,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,Hàng # {}: Vui lòng chọn số sê-ri và hàng loạt đối với mặt hàng: {} hoặc xóa nó để hoàn tất giao dịch.,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,Vui lòng kích hoạt Cho phép hàng âm trong Cài đặt kho hoặc tạo Mục nhập kho để tiếp tục.,
 No Inpatient Record found against patient {0},Không tìm thấy hồ sơ bệnh nhân nội trú nào đối với bệnh nhân {0},
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,Đơn đặt hàng Thuốc cho Bệnh nhân Nội trú {0} chống lại Cuộc Gặp gỡ Bệnh nhân {1} đã tồn tại.,
+Allow In Returns,Cho phép Trả hàng,
+Hide Unavailable Items,Ẩn các mục không có sẵn,
+Apply Discount on Discounted Rate,Áp dụng chiết khấu trên tỷ lệ chiết khấu,
+Therapy Plan Template,Mẫu kế hoạch trị liệu,
+Fetching Template Details,Tìm nạp chi tiết mẫu,
+Linked Item Details,Chi tiết mặt hàng được liên kết,
+Therapy Types,Các loại trị liệu,
+Therapy Plan Template Detail,Chi tiết Mẫu Kế hoạch Trị liệu,
+Non Conformance,Không phù hợp,
+Process Owner,Chủ sở hữu quy trình,
+Corrective Action,Hành động sửa chữa,
+Preventive Action,Hành động phòng ngừa,
+Problem,Vấn đề,
+Responsible,Chịu trách nhiệm,
+Completion By,Hoàn thành bởi,
+Process Owner Full Name,Tên đầy đủ của chủ sở hữu quy trình,
+Right Index,Chỉ mục bên phải,
+Left Index,Chỉ mục bên trái,
+Sub Procedure,Thủ tục phụ,
+Passed,Thông qua,
+Print Receipt,In biên nhận,
+Edit Receipt,Chỉnh sửa biên nhận,
+Focus on search input,Tập trung vào đầu vào tìm kiếm,
+Focus on Item Group filter,Tập trung vào bộ lọc Nhóm mặt hàng,
+Checkout Order / Submit Order / New Order,Kiểm tra đơn đặt hàng / Gửi đơn đặt hàng / Đơn đặt hàng mới,
+Add Order Discount,Thêm đơn hàng giảm giá,
+Item Code: {0} is not available under warehouse {1}.,Mã hàng: {0} không có sẵn trong kho {1}.,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,Số sê-ri không có sẵn cho Mặt hàng {0} trong kho {1}. Vui lòng thử thay đổi kho hàng.,
+Fetched only {0} available serial numbers.,Chỉ tìm nạp {0} số sê-ri có sẵn.,
+Switch Between Payment Modes,Chuyển đổi giữa các phương thức thanh toán,
+Enter {0} amount.,Nhập số tiền {0}.,
+You don't have enough points to redeem.,Bạn không có đủ điểm để đổi.,
+You can redeem upto {0}.,Bạn có thể đổi tối đa {0}.,
+Enter amount to be redeemed.,Nhập số tiền được đổi.,
+You cannot redeem more than {0}.,Bạn không thể đổi nhiều hơn {0}.,
+Open Form View,Mở Dạng xem Biểu mẫu,
+POS invoice {0} created succesfully,Hóa đơn POS {0} đã được tạo thành công,
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,Số lượng hàng không đủ cho Mã hàng: {0} dưới kho {1}. Số lượng có sẵn {2}.,
+Serial No: {0} has already been transacted into another POS Invoice.,Serial No: {0} đã được giao dịch thành một Hóa đơn POS khác.,
+Balance Serial No,Số dư Serial No,
+Warehouse: {0} does not belong to {1},Kho: {0} không thuộc về {1},
+Please select batches for batched item {0},Vui lòng chọn lô cho mặt hàng theo lô {0},
+Please select quantity on row {0},Vui lòng chọn số lượng trên hàng {0},
+Please enter serial numbers for serialized item {0},Vui lòng nhập số sê-ri cho mặt hàng được đánh số sê-ri {0},
+Batch {0} already selected.,Hàng loạt {0} đã được chọn.,
+Please select a warehouse to get available quantities,Vui lòng chọn kho để lấy số lượng có sẵn,
+"For transfer from source, selected quantity cannot be greater than available quantity","Đối với chuyển từ nguồn, số lượng đã chọn không được lớn hơn số lượng có sẵn",
+Cannot find Item with this Barcode,Không thể tìm thấy Mặt hàng có Mã vạch này,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0} là bắt buộc. Có thể bản ghi Đổi tiền tệ không được tạo cho {1} đến {2},
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{} đã gửi nội dung được liên kết với nó. Bạn cần hủy nội dung để tạo lợi nhuận mua hàng.,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,Không thể hủy tài liệu này vì nó được liên kết với nội dung đã gửi {0}. Vui lòng hủy nó để tiếp tục.,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,Hàng # {}: Số sê-ri {} đã được giao dịch thành một Hóa đơn POS khác. Vui lòng chọn số sê-ri hợp lệ.,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,Hàng # {}: Số sê-ri. {} Đã được giao dịch thành một Hóa đơn POS khác. Vui lòng chọn số sê-ri hợp lệ.,
+Item Unavailable,Mặt hàng không có sẵn,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},Hàng # {}: Serial No {} không thể được trả lại vì nó không được giao dịch trong hóa đơn gốc {},
+Please set default Cash or Bank account in Mode of Payment {},Vui lòng đặt tiền mặt hoặc tài khoản ngân hàng mặc định trong Phương thức thanh toán {},
+Please set default Cash or Bank account in Mode of Payments {},Vui lòng đặt tiền mặt hoặc tài khoản ngân hàng mặc định trong Phương thức thanh toán {},
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,Vui lòng đảm bảo tài khoản {} là tài khoản Bảng Cân đối. Bạn có thể thay đổi tài khoản mẹ thành tài khoản Bảng cân đối kế toán hoặc chọn một tài khoản khác.,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,Hãy đảm bảo tài khoản {} là tài khoản Phải trả. Thay đổi loại tài khoản thành Có thể thanh toán hoặc chọn một tài khoản khác.,
+Row {}: Expense Head changed to {} ,Hàng {}: Đầu Chi phí được thay đổi thành {},
+because account {} is not linked to warehouse {} ,bởi vì tài khoản {} không được liên kết với kho {},
+or it is not the default inventory account,hoặc nó không phải là tài khoản hàng tồn kho mặc định,
+Expense Head Changed,Đầu chi phí đã thay đổi,
+because expense is booked against this account in Purchase Receipt {},vì chi phí được ghi vào tài khoản này trong Biên lai mua hàng {},
+as no Purchase Receipt is created against Item {}. ,vì không có Biên lai mua hàng nào được tạo đối với Mặt hàng {}.,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,Điều này được thực hiện để xử lý kế toán cho các trường hợp khi Biên lai mua hàng được tạo sau Hóa đơn mua hàng,
+Purchase Order Required for item {},Yêu cầu đơn đặt hàng cho mặt hàng {},
+To submit the invoice without purchase order please set {} ,"Để gửi hóa đơn mà không có đơn đặt hàng, vui lòng đặt {}",
+as {} in {},như {} trong {},
+Mandatory Purchase Order,Đơn đặt hàng bắt buộc,
+Purchase Receipt Required for item {},Cần có Biên lai Mua hàng cho mặt hàng {},
+To submit the invoice without purchase receipt please set {} ,"Để gửi hóa đơn mà không có biên lai mua hàng, vui lòng đặt {}",
+Mandatory Purchase Receipt,Biên lai mua hàng bắt buộc,
+POS Profile {} does not belongs to company {},Hồ sơ POS {} không thuộc về công ty {},
+User {} is disabled. Please select valid user/cashier,Người dùng {} bị vô hiệu hóa. Vui lòng chọn người dùng / thu ngân hợp lệ,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,Hàng # {}: Hóa đơn gốc {} của hóa đơn trả lại {} là {}.,
+Original invoice should be consolidated before or along with the return invoice.,Hóa đơn gốc phải được tổng hợp trước hoặc cùng với hóa đơn trả hàng.,
+You can add original invoice {} manually to proceed.,Bạn có thể thêm hóa đơn gốc {} theo cách thủ công để tiếp tục.,
+Please ensure {} account is a Balance Sheet account. ,Vui lòng đảm bảo tài khoản {} là tài khoản Bảng Cân đối.,
+You can change the parent account to a Balance Sheet account or select a different account.,Bạn có thể thay đổi tài khoản mẹ thành tài khoản Bảng cân đối kế toán hoặc chọn một tài khoản khác.,
+Please ensure {} account is a Receivable account. ,Hãy đảm bảo tài khoản {} là tài khoản Phải thu.,
+Change the account type to Receivable or select a different account.,Thay đổi loại tài khoản thành Phải thu hoặc chọn một tài khoản khác.,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},"Không thể hủy {} vì Điểm trung thành kiếm được đã được đổi. Trước tiên, hãy hủy thông báo {} Không {}",
+already exists,đã tồn tại,
+POS Closing Entry {} against {} between selected period,Mục nhập đóng POS {} so với {} giữa khoảng thời gian đã chọn,
+POS Invoice is {},Hóa đơn POS là {},
+POS Profile doesn't matches {},Cấu hình POS không khớp với {},
+POS Invoice is not {},Hóa đơn POS không phải là {},
+POS Invoice isn't created by user {},Hóa đơn POS không phải do người dùng tạo {},
+Row #{}: {},Hàng #{}: {},
+Invalid POS Invoices,Hóa đơn POS không hợp lệ,
+Please add the account to root level Company - {},Vui lòng thêm tài khoản vào Công ty cấp cơ sở - {},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA","Trong khi tạo tài khoản cho Công ty con {0}, không tìm thấy tài khoản mẹ {1}. Vui lòng tạo tài khoản chính trong COA tương ứng",
+Account Not Found,Tài khoản không được tìm thấy,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.","Trong khi tạo tài khoản cho Công ty con {0}, tài khoản mẹ {1} được tìm thấy dưới dạng tài khoản sổ cái.",
+Please convert the parent account in corresponding child company to a group account.,Vui lòng chuyển đổi tài khoản mẹ trong công ty con tương ứng thành tài khoản nhóm.,
+Invalid Parent Account,Tài khoản mẹ không hợp lệ,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.","Việc đổi tên nó chỉ được phép thông qua công ty mẹ {0}, để tránh không khớp.",
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.","Nếu bạn {0} {1} số lượng mặt hàng {2}, sơ đồ {3} sẽ được áp dụng cho mặt hàng.",
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.","Nếu bạn {0} {1} mặt hàng có giá trị {2}, kế hoạch {3} sẽ được áp dụng cho mặt hàng đó.",
+"As the field {0} is enabled, the field {1} is mandatory.","Khi trường {0} được bật, trường {1} là trường bắt buộc.",
+"As the field {0} is enabled, the value of the field {1} should be more than 1.","Khi trường {0} được bật, giá trị của trường {1} phải lớn hơn 1.",
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},Không thể gửi Serial No {0} của mặt hàng {1} vì nó được dành riêng để điền đầy đủ Đơn đặt hàng bán hàng {2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.","Đơn đặt hàng bán hàng {0} có đặt trước cho mặt hàng {1}, bạn chỉ có thể giao hàng đã đặt trước {1} so với {0}.",
+{0} Serial No {1} cannot be delivered,Không thể gửi {0} Serial No {1},
+Row {0}: Subcontracted Item is mandatory for the raw material {1},Hàng {0}: Mặt hàng được ký hợp đồng phụ là bắt buộc đối với nguyên liệu thô {1},
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.","Vì có đủ nguyên liệu thô, Yêu cầu Nguyên liệu không bắt buộc đối với Kho {0}.",
+" If you still want to proceed, please enable {0}.","Nếu bạn vẫn muốn tiếp tục, hãy bật {0}.",
+The item referenced by {0} - {1} is already invoiced,Mặt hàng được tham chiếu bởi {0} - {1} đã được lập hóa đơn,
+Therapy Session overlaps with {0},Phiên trị liệu trùng lặp với {0},
+Therapy Sessions Overlapping,Các phiên trị liệu chồng chéo,
+Therapy Plans,Kế hoạch trị liệu,
+"Item Code, warehouse, quantity are required on row {0}","Mã hàng, kho, số lượng là bắt buộc trên hàng {0}",
+Get Items from Material Requests against this Supplier,Nhận các mặt hàng từ các Yêu cầu Vật liệu đối với Nhà cung cấp này,
+Enable European Access,Bật quyền truy cập Châu Âu,
+Creating Purchase Order ...,Tạo Đơn đặt hàng ...,
+"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.","Chọn Nhà cung cấp từ các Nhà cung cấp mặc định của các mục dưới đây. Khi lựa chọn, Đơn đặt hàng sẽ được thực hiện đối với các mặt hàng chỉ thuộc về Nhà cung cấp đã chọn.",
+Row #{}: You must select {} serial numbers for item {}.,Hàng # {}: Bạn phải chọn {} số sê-ri cho mặt hàng {}.,
diff --git a/erpnext/translations/zh.csv b/erpnext/translations/zh.csv
index 4bef26e..716f1f2 100644
--- a/erpnext/translations/zh.csv
+++ b/erpnext/translations/zh.csv
@@ -473,7 +473,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',当类是“估值”或“Vaulation和总&#39;不能扣除,
 "Cannot delete Serial No {0}, as it is used in stock transactions",无法删除序列号{0}，因为它已被库存活动使用,
 Cannot enroll more than {0} students for this student group.,不能注册超过{0}学生到该学生群体。,
-Cannot find Item with this barcode,找不到包含此条形码的物品,
 Cannot find active Leave Period,找不到有效的休假期间,
 Cannot produce more Item {0} than Sales Order quantity {1},不能生产超过销售订单数量{1}的物料{0},
 Cannot promote Employee with status Left,状态为已离职的员工不能晋升,
@@ -690,7 +689,6 @@
 "Create and manage daily, weekly and monthly email digests.",创建和管理每日，每周和每月的电子邮件摘要。,
 Create customer quotes,创建客户报价,
 Create rules to restrict transactions based on values.,创建规则，根据属性值来限制交易。,
-Created By,创建人,
 Created {0} scorecards for {1} between: ,为{1}创建{0}记分卡：,
 Creating Company and Importing Chart of Accounts,创建公司并导入会计科目表,
 Creating Fees,创造费用,
@@ -1078,7 +1076,6 @@
 For row {0}: Enter Planned Qty,对于行{0}：输入计划的数量,
 "For {0}, only credit accounts can be linked against another debit entry",对于{0}，只有贷方分录可以与另一个贷方科目链接,
 "For {0}, only debit accounts can be linked against another credit entry",对于{0}，只有借方分录可以与另一个借方科目链接,
-Form View,表单视图,
 Forum Activity,论坛活动,
 Free item code is not selected,未选择免费商品代码,
 Freight and Forwarding Charges,货运及转运费用,
@@ -2638,7 +2635,6 @@
 Send mass SMS to your contacts,向你的联系人群发短信。,
 Sensitivity,灵敏度,
 Sent,已发送,
-Serial #,序列号,
 Serial No and Batch,序列号和批次,
 Serial No is mandatory for Item {0},序列号是物料{0}的必须项,
 Serial No {0} does not belong to Batch {1},序列号{0}不属于批次{1},
@@ -3303,7 +3299,6 @@
 What do you need help with?,你有什么需要帮助的？,
 What does it do?,贵公司的做什么,
 Where manufacturing operations are carried.,生产流程进行的地方。,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",在为子公司{0}创建帐户时，找不到父帐户{1}。请在相应的COA中创建父帐户,
 White,白,
 Wire Transfer,电汇,
 WooCommerce Products,WooCommerce产品,
@@ -3493,6 +3488,7 @@
 Merge with existing,与现有合并,
 Office,办公室,
 Orientation,方向,
+Parent,上级,
 Passive,被动,
 Payment Failed,支付失败,
 Percent,百分之,
@@ -3543,6 +3539,7 @@
 Show {0},显示{0},
 "Special Characters except ""-"", ""#"", ""."", ""/"", ""{"" and ""}"" not allowed in naming series",命名系列中不允许使用除“ - ”，“＃”，“。”，“/”，“{”和“}”之外的特殊字符,
 Target Details,目标细节,
+{0} already has a Parent Procedure {1}.,{0}已有父程序{1}。,
 API,应用程序界面,
 Annual,全年,
 Approved,已批准,
@@ -4241,7 +4238,6 @@
 End date can not be less than start date,结束日期不能小于开始日期,
 For Default Supplier (Optional),对于默认供应商（可选）,
 From date cannot be greater than To date,从日期不能大于到日期,
-Get items from,从...获取物料,
 Group by,分组基于,
 In stock,有现货,
 Item name,物料名称,
@@ -7558,10 +7554,6 @@
 Quality Goal,质量目标,
 Monitoring Frequency,监测频率,
 Weekday,平日,
-January-April-July-October,1至4月，7- 10月,
-Revision and Revised On,修订和修订,
-Revision,调整,
-Revised On,修订版,
 Objectives,目标,
 Quality Goal Objective,质量目标,
 Objective,目的,
@@ -7574,7 +7566,6 @@
 Processes,流程,
 Quality Procedure Process,质量程序流程,
 Process Description,进度解析,
-Child Procedure,儿童程序,
 Link existing Quality Procedure.,链接现有的质量程序。,
 Additional Information,附加信息,
 Quality Review Objective,质量审查目标,
@@ -8557,7 +8548,6 @@
 Purchase Receipt Trends,采购收货趋势,
 Purchase Register,采购台帐,
 Quotation Trends,报价趋势,
-Quoted Item Comparison,项目报价比较,
 Received Items To Be Billed,待开费用清单已收货物料,
 Qty to Order,待下单数量,
 Requested Items To Be Transferred,已申请待移转物料,
@@ -9091,7 +9081,6 @@
 Absent Days,缺席天数,
 Conditions and Formula variable and example,条件和公式变量以及示例,
 Feedback By,反馈者,
-MTNG-.YYYY.-.MM.-.DD.-,MTNG-.YYYY .-。MM .-。DD.-,
 Manufacturing Section,制造部,
 "By default, the Customer Name is set as per the Full Name entered. If you want Customers to be named by a ",默认情况下，根据输入的全名设置客户名。如果您希望客户以,
 Configure the default Price List when creating a new Sales transaction. Item prices will be fetched from this Price List.,在创建新的销售交易时配置默认的价目表。项目价格将从此价格表中获取。,
@@ -9692,7 +9681,6 @@
 Reserved Balance,预留余额,
 Uncleared Balance,未结余额,
 Payment related to {0} is not completed,与{0}相关的付款尚未完成,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,行号{}：序列号{}。 {}已被交易到另一个POS发票。请选择有效的序列号,
 Row #{}: Item Code: {} is not available under warehouse {}.,第{}行：项目代码：{}在仓库{}下不可用。,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,第＃{}行：仓库{}下的库存数量不足以用于项目代码{}。可用数量{}。,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,第{}行：请选择一个序列号，并针对{}进行批处理或将其删除以完成交易。,
@@ -9732,3 +9720,121 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,请启用“允许库存设置中的负库存”或创建“库存输入”以继续。,
 No Inpatient Record found against patient {0},找不到针对患者{0}的住院记录,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,针对患者遭遇{1}的住院药物命令{0}已存在。,
+Allow In Returns,允许退货,
+Hide Unavailable Items,隐藏不可用的物品,
+Apply Discount on Discounted Rate,对折现率应用折扣,
+Therapy Plan Template,治疗计划模板,
+Fetching Template Details,提取模板详细信息,
+Linked Item Details,链接项目详细信息,
+Therapy Types,治疗类型,
+Therapy Plan Template Detail,治疗计划模板详细信息,
+Non Conformance,不合格,
+Process Owner,流程负责人,
+Corrective Action,纠正措施,
+Preventive Action,预防措施,
+Problem,问题,
+Responsible,负责任的,
+Completion By,完成方式,
+Process Owner Full Name,流程所有者全名,
+Right Index,正确的索引,
+Left Index,左索引,
+Sub Procedure,子程序,
+Passed,已通过,
+Print Receipt,打印收据,
+Edit Receipt,编辑收据,
+Focus on search input,专注于搜索输入,
+Focus on Item Group filter,专注于项目组过滤器,
+Checkout Order / Submit Order / New Order,结帐订单/提交订单/新订单,
+Add Order Discount,添加订单折扣,
+Item Code: {0} is not available under warehouse {1}.,项目代码：{0}在仓库{1}下不可用。,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,仓库{1}下项目{0}的序列号不可用。请尝试更换仓库。,
+Fetched only {0} available serial numbers.,仅获取了{0}个可用序列号。,
+Switch Between Payment Modes,在付款模式之间切换,
+Enter {0} amount.,输入{0}金额。,
+You don't have enough points to redeem.,您的积分不足以兑换。,
+You can redeem upto {0}.,您最多可以兑换{0}。,
+Enter amount to be redeemed.,输入要兑换的金额。,
+You cannot redeem more than {0}.,您最多只能兑换{0}个。,
+Open Form View,打开表单视图,
+POS invoice {0} created succesfully,成功创建POS发票{0},
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,仓库{1}下的存货数量不足以用于物料代码{0}。可用数量{2}。,
+Serial No: {0} has already been transacted into another POS Invoice.,序列号：{0}已被交易到另一个POS发票中。,
+Balance Serial No,天平序列号,
+Warehouse: {0} does not belong to {1},仓库：{0}不属于{1},
+Please select batches for batched item {0},请为批次项目{0}选择批次,
+Please select quantity on row {0},请在第{0}行上选择数量,
+Please enter serial numbers for serialized item {0},请输入序列化项目{0}的序列号,
+Batch {0} already selected.,已选择批次{0}。,
+Please select a warehouse to get available quantities,请选择一个仓库以获取可用数量,
+"For transfer from source, selected quantity cannot be greater than available quantity",对于从源转移，所选数量不能大于可用数量,
+Cannot find Item with this Barcode,用此条形码找不到物品,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0}是必需的。也许没有为{1}至{2}创建货币兑换记录,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{}已提交与其关联的资产。您需要取消资产以创建购买退货。,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,由于该文档与已提交的资产{0}链接，因此无法取消。请取消它以继续。,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,第{}行：序列号{}已被交易到另一个POS发票中。请选择有效的序列号,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,第{}行：序列号{}已被交易到另一个POS发票中。请选择有效的序列号,
+Item Unavailable,物品不可用,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},第＃{}行：由于未在原始发票{}中进行交易，因此无法返回序列号{},
+Please set default Cash or Bank account in Mode of Payment {},请在付款方式{}中设置默认的现金或银行帐户,
+Please set default Cash or Bank account in Mode of Payments {},请在付款方式{}中设置默认的现金或银行帐户,
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,请确保{}帐户是资产负债表帐户。您可以将父帐户更改为资产负债表帐户，也可以选择其他帐户。,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,请确保{}帐户是应付帐户。将帐户类型更改为“应付帐款”或选择其他帐户。,
+Row {}: Expense Head changed to {} ,第{}行：费用总目已更改为{},
+because account {} is not linked to warehouse {} ,因为帐户{}未链接到仓库{},
+or it is not the default inventory account,或它不是默认的库存帐户,
+Expense Head Changed,费用总目已更改,
+because expense is booked against this account in Purchase Receipt {},因为费用是在采购收据{}中为此帐户预订的,
+as no Purchase Receipt is created against Item {}. ,因为没有针对物料{}创建采购收据。,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,这样做是为了处理在采购发票后创建采购收货的情况,
+Purchase Order Required for item {},项目{}所需的采购订单,
+To submit the invoice without purchase order please set {} ,要提交不含采购订单的发票，请设置{},
+as {} in {},如{}中的{},
+Mandatory Purchase Order,强制性采购订单,
+Purchase Receipt Required for item {},项目{}的采购收据,
+To submit the invoice without purchase receipt please set {} ,要提交没有购买收据的发票，请设置{},
+Mandatory Purchase Receipt,强制性收货,
+POS Profile {} does not belongs to company {},POS个人资料{}不属于公司{},
+User {} is disabled. Please select valid user/cashier,用户{}被禁用。请选择有效的用户/出纳员,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,第＃{}行：退货发票{}的原始发票{}为{}。,
+Original invoice should be consolidated before or along with the return invoice.,原始发票应在退货发票之前或与之合并。,
+You can add original invoice {} manually to proceed.,您可以手动添加原始发票{}以继续。,
+Please ensure {} account is a Balance Sheet account. ,请确保{}帐户是资产负债表帐户。,
+You can change the parent account to a Balance Sheet account or select a different account.,您可以将父帐户更改为资产负债表帐户，也可以选择其他帐户。,
+Please ensure {} account is a Receivable account. ,请确保{}帐户是应收帐款帐户。,
+Change the account type to Receivable or select a different account.,将帐户类型更改为“应收帐款”或选择其他帐户。,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},由于所赚取的忠诚度积分已被兑换，因此无法取消{}。首先取消{}否{},
+already exists,已经存在,
+POS Closing Entry {} against {} between selected period,选定期间之间的POS关闭条目{}对{},
+POS Invoice is {},POS发票为{},
+POS Profile doesn't matches {},POS个人资料与{}不匹配,
+POS Invoice is not {},POS发票不是{},
+POS Invoice isn't created by user {},POS发票不是由用户{}创建的,
+Row #{}: {},第＃{}行：{},
+Invalid POS Invoices,无效的POS发票,
+Please add the account to root level Company - {},请将帐户添加到根级别的公司-{},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",为子公司{0}创建帐户时，找不到父帐户{1}。请在相应的COA中创建上级帐户,
+Account Not Found,找不到帐户,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",在为子公司{0}创建帐户时，发现父帐户{1}是分类帐。,
+Please convert the parent account in corresponding child company to a group account.,请将相应子公司中的母公司帐户转换为组帐户。,
+Invalid Parent Account,无效的上级帐户,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",重命名仅允许通过母公司{0}进行，以避免不匹配。,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",如果您{0} {1}数量的项目{2}，则方案{3}将应用于该项目。,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",如果您{0} {1}值得项目{2}，则方案{3}将应用于该项目。,
+"As the field {0} is enabled, the field {1} is mandatory.",当启用字段{0}时，字段{1}是必填字段。,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",启用字段{0}时，字段{1}的值应大于1。,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},无法交付物料{1}的序列号{0}，因为已保留该物料以填写销售订单{2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",销售订单{0}对物料{1}有保留，您只能针对{0}交付保留的{1}。,
+{0} Serial No {1} cannot be delivered,{0}序列号{1}无法传递,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},第{0}行：原材料{1}必须使用转包物料,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",由于有足够的原材料，因此仓库{0}不需要“物料请求”。,
+" If you still want to proceed, please enable {0}.",如果仍然要继续，请启用{0}。,
+The item referenced by {0} - {1} is already invoiced,{0}-{1}引用的商品已开票,
+Therapy Session overlaps with {0},治疗会话与{0}重叠,
+Therapy Sessions Overlapping,治疗会议重叠,
+Therapy Plans,治疗计划,
+"Item Code, warehouse, quantity are required on row {0}",在第{0}行中需要提供物料代码，仓库，数量,
+Get Items from Material Requests against this Supplier,从针对此供应商的物料请求中获取物料,
+Enable European Access,启用欧洲访问,
+Creating Purchase Order ...,创建采购订单...,
+"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.",从以下各项的默认供应商中选择供应商。选择后，将针对仅属于所选供应商的项目下达采购订单。,
+Row #{}: You must select {} serial numbers for item {}.,行号{}：您必须为项目{}选择{}序列号。,
diff --git a/erpnext/translations/zh_tw.csv b/erpnext/translations/zh_tw.csv
index f161c4d..1cc7d87 100644
--- a/erpnext/translations/zh_tw.csv
+++ b/erpnext/translations/zh_tw.csv
@@ -440,7 +440,6 @@
 Cannot deduct when category is for 'Valuation' or 'Vaulation and Total',當類是“估值”或“Vaulation和總&#39;不能扣除,
 "Cannot delete Serial No {0}, as it is used in stock transactions",無法刪除序列號{0}，因為它採用的是現貨交易,
 Cannot enroll more than {0} students for this student group.,不能註冊超過{0}學生該學生群體更多。,
-Cannot find Item with this barcode,找不到包含此條形碼的物品,
 Cannot find active Leave Period,找不到有效的休假期,
 Cannot produce more Item {0} than Sales Order quantity {1},無法產生更多的項目{0}不是銷售訂單數量{1},
 Cannot promote Employee with status Left,無法提升狀態為Left的員工,
@@ -639,7 +638,6 @@
 "Create and manage daily, weekly and monthly email digests.",建立和管理每日，每週和每月的電子郵件摘要。,
 Create customer quotes,創建客戶報價,
 Create rules to restrict transactions based on values.,創建規則來限制基於價值的交易。,
-Created By,建立者,
 Created {0} scorecards for {1} between: ,為{1}創建{0}記分卡：,
 Creating Company and Importing Chart of Accounts,創建公司並導入會計科目表,
 Creating Fees,創造費用,
@@ -1002,7 +1000,6 @@
 For row {0}: Enter Planned Qty,對於行{0}：輸入計劃的數量,
 "For {0}, only credit accounts can be linked against another debit entry",{0}，只有貸方帳戶可以連接另一個借方分錄,
 "For {0}, only debit accounts can be linked against another credit entry",{0}，只有借方帳戶可以連接另一個貸方分錄,
-Form View,表單視圖,
 Forum Activity,論壇活動,
 Free item code is not selected,未選擇免費商品代碼,
 Freight and Forwarding Charges,貨運代理費,
@@ -2469,7 +2466,6 @@
 Send mass SMS to your contacts,發送群發短信到您的聯絡人,
 Sensitivity,靈敏度,
 Sent,已送出,
-Serial #,序列號,
 Serial No and Batch,序列號和批次,
 Serial No is mandatory for Item {0},項目{0}的序列號是強制性的,
 Serial No {0} does not belong to Batch {1},序列號{0}不屬於批次{1},
@@ -3095,7 +3091,6 @@
 What do you need help with?,你有什麼需要幫助的？,
 What does it do?,它有什麼作用？,
 Where manufacturing operations are carried.,生產作業於此進行。,
-"While creating account for child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",在為子公司{0}創建帳戶時，找不到父帳戶{1}。請在相應的COA中創建父帳戶,
 White,白色,
 Wire Transfer,電匯,
 WooCommerce Products,WooCommerce產品,
@@ -3271,6 +3266,7 @@
 Merge with existing,合併與現有的,
 Office,辦公室,
 Orientation,取向,
+Parent,親,
 Passive,被動,
 Payment Failed,支付失敗,
 Percent,百分比,
@@ -3971,7 +3967,6 @@
 End date can not be less than start date,結束日期不能小於開始日期,
 For Default Supplier (Optional),對於默認供應商（可選）,
 From date cannot be greater than To date,起始日期不能大於結束日期,
-Get items from,取得項目來源,
 Group by,集團通過,
 In stock,有現貨,
 Item name,項目名稱,
@@ -7043,10 +7038,6 @@
 Quality Feedback Template Parameter,質量反饋模板參數,
 Quality Goal,質量目標,
 Monitoring Frequency,監測頻率,
-January-April-July-October,1月-4月-7月-10月,
-Revision and Revised On,修訂和修訂,
-Revision,調整,
-Revised On,修訂版,
 Objectives,目標,
 Quality Goal Objective,質量目標,
 Agenda,議程,
@@ -7058,7 +7049,6 @@
 Processes,工藝流程,
 Quality Procedure Process,質量程序流程,
 Process Description,進度解析,
-Child Procedure,兒童程序,
 Link existing Quality Procedure.,鏈接現有的質量程序。,
 Quality Review Objective,質量審查目標,
 DATEV Settings,DATEV設置,
@@ -7976,7 +7966,6 @@
 Purchase Receipt Trends,採購入庫趨勢,
 Purchase Register,購買註冊,
 Quotation Trends,報價趨勢,
-Quoted Item Comparison,項目報價比較,
 Received Items To Be Billed,待付款的收受品項,
 Qty to Order,訂購數量,
 Requested Items To Be Transferred,將要轉倉的需求項目,
@@ -9004,7 +8993,6 @@
 Reserved Balance,預留餘額,
 Uncleared Balance,未結餘額,
 Payment related to {0} is not completed,與{0}相關的付款尚未完成,
-Row #{}: Serial No{}. {} has already been transacted into another POS Invoice. Please select valid serial no.,行號{}：序列號{}。 {}已被交易到另一個POS發票。請選擇有效的序列號,
 Row #{}: Item Code: {} is not available under warehouse {}.,第{}行：項目代碼：{}在倉庫{}下不可用。,
 Row #{}: Stock quantity not enough for Item Code: {} under warehouse {}. Available quantity {}.,第＃{}行：倉庫{}下的庫存數量不足以用於項目代碼{}。可用數量{}。,
 Row #{}: Please select a serial no and batch against item: {} or remove it to complete transaction.,第{}行：請選擇一個序列號，並針對{}進行批處理或將其刪除以完成交易。,
@@ -9042,3 +9030,113 @@
 Please enable Allow Negative Stock in Stock Settings or create Stock Entry to proceed.,請啟用“允許庫存設置中的負庫存”或創建“庫存輸入”以繼續。,
 No Inpatient Record found against patient {0},找不到針對患者{0}的住院記錄,
 An Inpatient Medication Order {0} against Patient Encounter {1} already exists.,針對患者遭遇{1}的住院藥物命令{0}已存在。,
+Allow In Returns,允許退貨,
+Hide Unavailable Items,隱藏不可用的物品,
+Apply Discount on Discounted Rate,對折現率應用折扣,
+Therapy Plan Template,治療計劃模板,
+Fetching Template Details,提取模板詳細信息,
+Linked Item Details,鏈接項目詳細信息,
+Therapy Types,治療類型,
+Therapy Plan Template Detail,治療計劃模板詳細信息,
+Process Owner,流程負責人,
+Corrective Action,糾正措施,
+Preventive Action,預防措施,
+Problem,問題,
+Responsible,負責任的,
+Right Index,正確的索引,
+Passed,已通過,
+Print Receipt,打印收據,
+Edit Receipt,編輯收據,
+Focus on search input,專注於搜索輸入,
+Focus on Item Group filter,專注於項目組過濾器,
+Checkout Order / Submit Order / New Order,結帳訂單/提交訂單/新訂單,
+Add Order Discount,添加訂單折扣,
+Item Code: {0} is not available under warehouse {1}.,項目代碼：{0}在倉庫{1}下不可用。,
+Serial numbers unavailable for Item {0} under warehouse {1}. Please try changing warehouse.,倉庫{1}下項目{0}的序列號不可用。請嘗試更換倉庫。,
+Fetched only {0} available serial numbers.,僅獲取了{0}個可用序列號。,
+Switch Between Payment Modes,在付款模式之間切換,
+Enter {0} amount.,輸入{0}金額。,
+You don't have enough points to redeem.,您的積分不足以兌換。,
+You can redeem upto {0}.,您最多可以兌換{0}。,
+Enter amount to be redeemed.,輸入要兌換的金額。,
+You cannot redeem more than {0}.,您最多只能兌換{0}個。,
+Open Form View,打開表單視圖,
+POS invoice {0} created succesfully,成功創建POS發票{0},
+Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2}.,倉庫{1}下的存貨數量不足以用於物料代碼{0}。可用數量{2}。,
+Serial No: {0} has already been transacted into another POS Invoice.,序列號：{0}已被交易到另一個POS發票中。,
+Balance Serial No,天平序列號,
+Warehouse: {0} does not belong to {1},倉庫：{0}不屬於{1},
+Please select batches for batched item {0},請為批次項目{0}選擇批次,
+Please select quantity on row {0},請在第{0}行上選擇數量,
+Please enter serial numbers for serialized item {0},請輸入序列化項目{0}的序列號,
+Batch {0} already selected.,已選擇批次{0}。,
+Please select a warehouse to get available quantities,請選擇一個倉庫以獲取可用數量,
+"For transfer from source, selected quantity cannot be greater than available quantity",對於從源轉移，所選數量不能大於可用數量,
+Cannot find Item with this Barcode,用此條形碼找不到物品,
+{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2},{0}是必需的。也許沒有為{1}至{2}創建貨幣兌換記錄,
+{} has submitted assets linked to it. You need to cancel the assets to create purchase return.,{}已提交與其關聯的資產。您需要取消資產以創建購買退貨。,
+Cannot cancel this document as it is linked with submitted asset {0}. Please cancel it to continue.,由於該文檔與已提交的資產{0}鏈接，因此無法取消。請取消它以繼續。,
+Row #{}: Serial No. {} has already been transacted into another POS Invoice. Please select valid serial no.,第{}行：序列號{}已被交易到另一個POS發票中。請選擇有效的序列號,
+Row #{}: Serial Nos. {} has already been transacted into another POS Invoice. Please select valid serial no.,第{}行：序列號{}已被交易到另一個POS發票中。請選擇有效的序列號,
+Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {},第＃{}行：由於未在原始發票{}中進行交易，因此無法返回序列號{},
+Please set default Cash or Bank account in Mode of Payment {},請在付款方式{}中設置默認的現金或銀行帳戶,
+Please set default Cash or Bank account in Mode of Payments {},請在付款方式{}中設置默認的現金或銀行帳戶,
+Please ensure {} account is a Balance Sheet account. You can change the parent account to a Balance Sheet account or select a different account.,請確保{}帳戶是資產負債表帳戶。您可以將父帳戶更改為資產負債表帳戶，也可以選擇其他帳戶。,
+Please ensure {} account is a Payable account. Change the account type to Payable or select a different account.,請確保{}帳戶是應付帳戶。將帳戶類型更改為“應付帳款”或選擇其他帳戶。,
+Row {}: Expense Head changed to {} ,第{}行：費用總目已更改為{},
+because account {} is not linked to warehouse {} ,因為帳戶{}未鏈接到倉庫{},
+or it is not the default inventory account,或它不是默認的庫存帳戶,
+Expense Head Changed,費用總目已更改,
+because expense is booked against this account in Purchase Receipt {},因為費用是在採購收據{}中為此帳戶預訂的,
+as no Purchase Receipt is created against Item {}. ,因為沒有針對物料{}創建採購收據。,
+This is done to handle accounting for cases when Purchase Receipt is created after Purchase Invoice,這樣做是為了處理在採購發票後創建採購收貨的情況,
+Purchase Order Required for item {},項目{}所需的採購訂單,
+To submit the invoice without purchase order please set {} ,要提交不含採購訂單的發票，請設置{},
+Mandatory Purchase Order,強制性採購訂單,
+Purchase Receipt Required for item {},項目{}的採購收據,
+To submit the invoice without purchase receipt please set {} ,要提交沒有購買收據的發票，請設置{},
+Mandatory Purchase Receipt,強制性收貨,
+POS Profile {} does not belongs to company {},POS個人資料{}不屬於公司{},
+User {} is disabled. Please select valid user/cashier,用戶{}被禁用。請選擇有效的用戶/出納員,
+Row #{}: Original Invoice {} of return invoice {} is {}. ,第＃{}行：退貨發票{}的原始發票{}為{}。,
+Original invoice should be consolidated before or along with the return invoice.,原始發票應在退貨發票之前或與之合併。,
+You can add original invoice {} manually to proceed.,您可以手動添加原始發票{}以繼續。,
+Please ensure {} account is a Balance Sheet account. ,請確保{}帳戶是資產負債表帳戶。,
+You can change the parent account to a Balance Sheet account or select a different account.,您可以將父帳戶更改為資產負債表帳戶，也可以選擇其他帳戶。,
+Please ensure {} account is a Receivable account. ,請確保{}帳戶是應收帳款帳戶。,
+Change the account type to Receivable or select a different account.,將帳戶類型更改為“應收帳款”或選擇其他帳戶。,
+{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {},由於所賺取的忠誠度積分已被兌換，因此無法取消{}。首先取消{}否{},
+already exists,已經存在,
+POS Closing Entry {} against {} between selected period,選定期間之間的POS關閉條目{}對{},
+POS Invoice is {},POS發票為{},
+POS Profile doesn't matches {},POS個人資料與{}不匹配,
+POS Invoice is not {},POS發票不是{},
+POS Invoice isn't created by user {},POS發票不是由用戶{}創建的,
+Invalid POS Invoices,無效的POS發票,
+Please add the account to root level Company - {},請將帳戶添加到根級別的公司-{},
+"While creating account for Child Company {0}, parent account {1} not found. Please create the parent account in corresponding COA",為子公司{0}創建帳戶時，找不到父帳戶{1}。請在相應的COA中創建上級帳戶,
+Account Not Found,找不到帳戶,
+"While creating account for Child Company {0}, parent account {1} found as a ledger account.",在為子公司{0}創建帳戶時，發現父帳戶{1}是分類帳。,
+Please convert the parent account in corresponding child company to a group account.,請將相應子公司中的母公司帳戶轉換為組帳戶。,
+Invalid Parent Account,無效的上級帳戶,
+"Renaming it is only allowed via parent company {0}, to avoid mismatch.",重命名僅允許通過母公司{0}進行，以避免不匹配。,
+"If you {0} {1} quantities of the item {2}, the scheme {3} will be applied on the item.",如果您{0} {1}數量的項目{2}，則方案{3}將應用於該項目。,
+"If you {0} {1} worth item {2}, the scheme {3} will be applied on the item.",如果您{0} {1}值得項目{2}，則方案{3}將應用於該項目。,
+"As the field {0} is enabled, the field {1} is mandatory.",當啟用字段{0}時，字段{1}是必填字段。,
+"As the field {0} is enabled, the value of the field {1} should be more than 1.",啟用字段{0}時，字段{1}的值應大於1。,
+Cannot deliver Serial No {0} of item {1} as it is reserved to fullfill Sales Order {2},無法交付物料{1}的序列號{0}，因為已保留該物料以填寫銷售訂單{2},
+"Sales Order {0} has reservation for the item {1}, you can only deliver reserved {1} against {0}.",銷售訂單{0}對物料{1}有保留，您只能針對{0}交付保留的{1}。,
+{0} Serial No {1} cannot be delivered,{0}序列號{1}無法傳遞,
+Row {0}: Subcontracted Item is mandatory for the raw material {1},第{0}行：原材料{1}必須使用轉包物料,
+"As there are sufficient raw materials, Material Request is not required for Warehouse {0}.",由於有足夠的原材料，因此倉庫{0}不需要“物料請求”。,
+" If you still want to proceed, please enable {0}.",如果仍然要繼續，請啟用{0}。,
+The item referenced by {0} - {1} is already invoiced,{0}-{1}引用的商品已開票,
+Therapy Session overlaps with {0},治療會話與{0}重疊,
+Therapy Sessions Overlapping,治療會議重疊,
+Therapy Plans,治療計劃,
+"Item Code, warehouse, quantity are required on row {0}",在第{0}行中需要提供物料代碼，倉庫，數量,
+Get Items from Material Requests against this Supplier,從針對此供應商的物料請求中獲取物料,
+Enable European Access,啟用歐洲訪問,
+Creating Purchase Order ...,創建採購訂單...,
+"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.",從以下各項的默認供應商中選擇供應商。選擇後，將針對僅屬於所選供應商的項目下達採購訂單。,
+Row #{}: You must select {} serial numbers for item {}.,行號{}：您必須為項目{}選擇{}序列號。,
