diff --git a/erpnext/accounts/deferred_revenue.py b/erpnext/accounts/deferred_revenue.py
index 471de929235..15b040669e8 100644
--- a/erpnext/accounts/deferred_revenue.py
+++ b/erpnext/accounts/deferred_revenue.py
@@ -317,7 +317,7 @@ def get_already_booked_amount(doc, item):
def book_deferred_income_or_expense(doc, deferred_process, posting_date=None):
enable_check = "enable_deferred_revenue" if doc.doctype == "Sales Invoice" else "enable_deferred_expense"
- accounts_frozen_upto = frappe.db.get_single_value("Accounts Settings", "acc_frozen_upto")
+ accounts_frozen_upto = frappe.get_single_value("Accounts Settings", "acc_frozen_upto")
def _book_deferred_revenue_or_expense(
item,
diff --git a/erpnext/accounts/doctype/account/account.py b/erpnext/accounts/doctype/account/account.py
index af499e83e13..b9b4304f519 100644
--- a/erpnext/accounts/doctype/account/account.py
+++ b/erpnext/accounts/doctype/account/account.py
@@ -92,7 +92,7 @@ class Account(NestedSet):
super().on_update()
def onload(self):
- frozen_accounts_modifier = frappe.db.get_single_value("Accounts Settings", "frozen_accounts_modifier")
+ frozen_accounts_modifier = frappe.get_single_value("Accounts Settings", "frozen_accounts_modifier")
if not frozen_accounts_modifier or frozen_accounts_modifier in frappe.get_roles():
self.set_onload("can_freeze_account", True)
diff --git a/erpnext/accounts/doctype/bank_transaction/auto_match_party.py b/erpnext/accounts/doctype/bank_transaction/auto_match_party.py
index 66aab9d62dd..b6b24be368d 100644
--- a/erpnext/accounts/doctype/bank_transaction/auto_match_party.py
+++ b/erpnext/accounts/doctype/bank_transaction/auto_match_party.py
@@ -25,7 +25,7 @@ class AutoMatchParty:
deposit=self.deposit,
).match()
- fuzzy_matching_enabled = frappe.db.get_single_value("Accounts Settings", "enable_fuzzy_matching")
+ fuzzy_matching_enabled = frappe.get_single_value("Accounts Settings", "enable_fuzzy_matching")
if not result and fuzzy_matching_enabled:
result = AutoMatchbyPartyNameDescription(
bank_party_name=self.bank_party_name, description=self.description, deposit=self.deposit
diff --git a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py
index 39ea5fde777..deea543aa86 100644
--- a/erpnext/accounts/doctype/bank_transaction/bank_transaction.py
+++ b/erpnext/accounts/doctype/bank_transaction/bank_transaction.py
@@ -121,7 +121,7 @@ class BankTransaction(Document):
self.allocate_payment_entries()
self.set_status()
- if frappe.db.get_single_value("Accounts Settings", "enable_party_matching"):
+ if frappe.get_single_value("Accounts Settings", "enable_party_matching"):
self.auto_set_party()
def before_update_after_submit(self):
diff --git a/erpnext/accounts/doctype/gl_entry/gl_entry.py b/erpnext/accounts/doctype/gl_entry/gl_entry.py
index 2243420f13c..89b184e89d0 100644
--- a/erpnext/accounts/doctype/gl_entry/gl_entry.py
+++ b/erpnext/accounts/doctype/gl_entry/gl_entry.py
@@ -7,7 +7,7 @@ from frappe import _
from frappe.model.document import Document
from frappe.model.meta import get_field_precision
from frappe.model.naming import set_name_from_naming_options
-from frappe.utils import flt, fmt_money, now
+from frappe.utils import create_batch, flt, fmt_money, now
import erpnext
from erpnext.accounts.doctype.accounting_dimension.accounting_dimension import (
@@ -451,12 +451,15 @@ def rename_gle_sle_docs():
def rename_temporarily_named_docs(doctype):
"""Rename temporarily named docs using autoname options"""
docs_to_rename = frappe.get_all(doctype, {"to_rename": "1"}, order_by="creation", limit=50000)
- for doc in docs_to_rename:
- oldname = doc.name
- set_name_from_naming_options(frappe.get_meta(doctype).autoname, doc)
- newname = doc.name
- frappe.db.sql(
- f"UPDATE `tab{doctype}` SET name = %s, to_rename = 0, modified = %s where name = %s",
- (newname, now(), oldname),
- auto_commit=True,
- )
+ autoname = frappe.get_meta(doctype).autoname
+
+ for batch in create_batch(docs_to_rename, 100):
+ for doc in batch:
+ oldname = doc.name
+ set_name_from_naming_options(autoname, doc)
+ newname = doc.name
+ frappe.db.sql(
+ f"UPDATE `tab{doctype}` SET name = %s, to_rename = 0, modified = %s where name = %s",
+ (newname, now(), oldname),
+ )
+ frappe.db.commit()
diff --git a/erpnext/accounts/doctype/journal_entry/journal_entry.py b/erpnext/accounts/doctype/journal_entry/journal_entry.py
index d5070db1735..1f64ac08919 100644
--- a/erpnext/accounts/doctype/journal_entry/journal_entry.py
+++ b/erpnext/accounts/doctype/journal_entry/journal_entry.py
@@ -1171,7 +1171,7 @@ class JournalEntry(AccountsController):
def make_gl_entries(self, cancel=0, adv_adj=0):
from erpnext.accounts.general_ledger import make_gl_entries
- merge_entries = frappe.db.get_single_value("Accounts Settings", "merge_similar_account_heads")
+ merge_entries = frappe.get_single_value("Accounts Settings", "merge_similar_account_heads")
gl_map = self.build_gl_map()
if self.voucher_type in ("Deferred Revenue", "Deferred Expense"):
diff --git a/erpnext/accounts/doctype/payment_entry/payment_entry.py b/erpnext/accounts/doctype/payment_entry/payment_entry.py
index c7db16abdd8..efa32a5b189 100644
--- a/erpnext/accounts/doctype/payment_entry/payment_entry.py
+++ b/erpnext/accounts/doctype/payment_entry/payment_entry.py
@@ -2969,7 +2969,7 @@ def get_payment_entry(
created_from_payment_request=False,
):
doc = frappe.get_doc(dt, dn)
- over_billing_allowance = frappe.db.get_single_value("Accounts Settings", "over_billing_allowance")
+ over_billing_allowance = frappe.get_single_value("Accounts Settings", "over_billing_allowance")
if dt in ("Sales Order", "Purchase Order") and flt(doc.per_billed, 2) >= (100.0 + over_billing_allowance):
frappe.throw(_("Can only make payment against unbilled {0}").format(_(dt)))
@@ -3109,7 +3109,7 @@ def get_payment_entry(
if party_account and bank:
if discount_amount:
base_total_discount_loss = 0
- if frappe.db.get_single_value("Accounts Settings", "book_tax_discount_loss"):
+ if frappe.get_single_value("Accounts Settings", "book_tax_discount_loss"):
base_total_discount_loss = split_early_payment_discount_loss(pe, doc, valid_discounts)
set_pending_discount_loss(
@@ -3463,7 +3463,7 @@ def set_pending_discount_loss(pe, doc, discount_amount, base_total_discount_loss
# If tax loss booking is enabled, pending loss will be rounding loss.
# Otherwise it will be the total discount loss.
- book_tax_loss = frappe.db.get_single_value("Accounts Settings", "book_tax_discount_loss")
+ book_tax_loss = frappe.get_single_value("Accounts Settings", "book_tax_discount_loss")
account_type = "round_off_account" if book_tax_loss else "default_discount_account"
pe.append(
diff --git a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
index 72aa4905900..2719d11e050 100644
--- a/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
+++ b/erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.py
@@ -407,7 +407,7 @@ class PaymentReconciliation(Document):
@frappe.whitelist()
def is_auto_process_enabled(self):
- return frappe.db.get_single_value("Accounts Settings", "auto_reconcile_payments")
+ return frappe.get_single_value("Accounts Settings", "auto_reconcile_payments")
@frappe.whitelist()
def calculate_difference_on_allocation_change(self, payment_entry, invoice, allocated_amount):
@@ -532,7 +532,7 @@ class PaymentReconciliation(Document):
@frappe.whitelist()
def reconcile(self):
- if frappe.db.get_single_value("Accounts Settings", "auto_reconcile_payments"):
+ if frappe.get_single_value("Accounts Settings", "auto_reconcile_payments"):
running_doc = is_any_doc_running(
dict(
company=self.company,
diff --git a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py
index fe160f18673..0d3724a4bb0 100644
--- a/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py
+++ b/erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py
@@ -60,7 +60,7 @@ class POSClosingEntry(StatusUpdater):
if frappe.db.get_value("POS Opening Entry", self.pos_opening_entry, "status") != "Open":
frappe.throw(_("Selected POS Opening Entry should be open."), title=_("Invalid Opening Entry"))
- self.is_pos_using_sales_invoice = frappe.db.get_single_value(
+ self.is_pos_using_sales_invoice = frappe.get_single_value(
"Accounts Settings", "use_sales_invoice_in_pos"
)
@@ -301,7 +301,7 @@ def make_closing_entry_from_opening(opening_entry):
closing_entry.net_total = 0
closing_entry.total_quantity = 0
- is_pos_using_sales_invoice = frappe.db.get_single_value("Accounts Settings", "use_sales_invoice_in_pos")
+ is_pos_using_sales_invoice = frappe.get_single_value("Accounts Settings", "use_sales_invoice_in_pos")
pos_invoices = (
get_pos_invoices(
diff --git a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
index cda033a7cff..dfb06bc6c9a 100644
--- a/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
+++ b/erpnext/accounts/doctype/pos_invoice/pos_invoice.py
@@ -424,7 +424,7 @@ class POSInvoice(SalesInvoice):
)
def validate_is_pos_using_sales_invoice(self):
- self.is_pos_using_sales_invoice = frappe.db.get_single_value(
+ self.is_pos_using_sales_invoice = frappe.get_single_value(
"Accounts Settings", "use_sales_invoice_in_pos"
)
if self.is_pos_using_sales_invoice and not self.is_return:
diff --git a/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py b/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py
index ad21e845ce3..95c6308ec9b 100644
--- a/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py
+++ b/erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py
@@ -142,7 +142,7 @@ def trigger_job_for_doc(docname: str | None = None):
if not docname:
return
- if not frappe.db.get_single_value("Accounts Settings", "auto_reconcile_payments"):
+ if not frappe.get_single_value("Accounts Settings", "auto_reconcile_payments"):
frappe.throw(
_("Auto Reconciliation of Payments has been disabled. Enable it through {0}").format(
get_link_to_form("Accounts Settings", "Accounts Settings")
@@ -190,7 +190,7 @@ def trigger_reconciliation_for_queued_docs():
Will be called from Cron Job
Fetch queued docs and start reconciliation process for each one
"""
- if not frappe.db.get_single_value("Accounts Settings", "auto_reconcile_payments"):
+ if not frappe.get_single_value("Accounts Settings", "auto_reconcile_payments"):
frappe.msgprint(
_("Auto Reconciliation of Payments has been disabled. Enable it through {0}").format(
get_link_to_form("Accounts Settings", "Accounts Settings")
@@ -210,7 +210,7 @@ def trigger_reconciliation_for_queued_docs():
docs_to_trigger = []
unique_filters = set()
- queue_size = frappe.db.get_single_value("Accounts Settings", "reconciliation_queue_size") or 5
+ queue_size = frappe.get_single_value("Accounts Settings", "reconciliation_queue_size") or 5
fields = ["company", "party_type", "party", "receivable_payable_account", "default_advance_account"]
diff --git a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
index bcb85148cdb..a9eb75b7260 100644
--- a/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
+++ b/erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py
@@ -1729,7 +1729,7 @@ class PurchaseInvoice(BuyingController):
frappe.throw(_("Supplier Invoice Date cannot be greater than Posting Date"))
if self.bill_no:
- if cint(frappe.db.get_single_value("Accounts Settings", "check_supplier_invoice_uniqueness")):
+ if cint(frappe.get_single_value("Accounts Settings", "check_supplier_invoice_uniqueness")):
fiscal_year = get_fiscal_year(self.posting_date, company=self.company, as_dict=True)
pi = frappe.db.sql(
diff --git a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
index 564bc46c2f7..c4c8f8c7d4d 100644
--- a/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
+++ b/erpnext/accounts/doctype/sales_invoice/sales_invoice.py
@@ -495,7 +495,7 @@ class SalesInvoice(SellingController):
self.update_time_sheet(self.name)
- if frappe.db.get_single_value("Selling Settings", "sales_update_frequency") == "Each Transaction":
+ if frappe.get_single_value("Selling Settings", "sales_update_frequency") == "Each Transaction":
update_company_current_month_sales(self.company)
self.update_project()
update_linked_doc(self.doctype, self.name, self.inter_company_invoice_reference)
@@ -611,7 +611,7 @@ class SalesInvoice(SellingController):
if self.coupon_code:
update_coupon_code_count(self.coupon_code, "cancelled")
- if frappe.db.get_single_value("Selling Settings", "sales_update_frequency") == "Each Transaction":
+ if frappe.get_single_value("Selling Settings", "sales_update_frequency") == "Each Transaction":
update_company_current_month_sales(self.company)
self.update_project()
if not self.is_return and not self.is_consolidated and self.loyalty_program:
@@ -1016,7 +1016,7 @@ class SalesInvoice(SellingController):
)
if (
- cint(frappe.db.get_single_value("Selling Settings", "maintain_same_sales_rate"))
+ cint(frappe.get_single_value("Selling Settings", "maintain_same_sales_rate"))
and not self.is_return
and not self.is_internal_customer
):
@@ -1063,7 +1063,7 @@ class SalesInvoice(SellingController):
"Delivery Note": ["dn_required", "update_stock"],
}
for key, value in prev_doc_field_map.items():
- if frappe.db.get_single_value("Selling Settings", value[0]) == "Yes":
+ if frappe.get_single_value("Selling Settings", value[0]) == "Yes":
if frappe.get_value("Customer", self.customer, value[0]):
continue
@@ -1096,7 +1096,7 @@ class SalesInvoice(SellingController):
if self.is_created_using_pos and not self.pos_profile:
frappe.throw(_("POS Profile is mandatory to mark this invoice as POS Transaction."))
- self.is_pos_using_sales_invoice = frappe.db.get_single_value(
+ self.is_pos_using_sales_invoice = frappe.get_single_value(
"Accounts Settings", "use_sales_invoice_in_pos"
)
if not self.is_pos_using_sales_invoice and not self.is_return:
@@ -1468,7 +1468,7 @@ class SalesInvoice(SellingController):
def make_tax_gl_entries(self, gl_entries):
enable_discount_accounting = cint(
- frappe.db.get_single_value("Selling Settings", "enable_discount_accounting")
+ frappe.get_single_value("Selling Settings", "enable_discount_accounting")
)
for tax in self.get("taxes"):
@@ -1518,7 +1518,7 @@ class SalesInvoice(SellingController):
def make_item_gl_entries(self, gl_entries):
# income account gl entries
enable_discount_accounting = cint(
- frappe.db.get_single_value("Selling Settings", "enable_discount_accounting")
+ frappe.get_single_value("Selling Settings", "enable_discount_accounting")
)
for item in self.get("items"):
@@ -1593,7 +1593,7 @@ class SalesInvoice(SellingController):
def enable_discount_accounting(self):
if not hasattr(self, "_enable_discount_accounting"):
self._enable_discount_accounting = cint(
- frappe.db.get_single_value("Selling Settings", "enable_discount_accounting")
+ frappe.get_single_value("Selling Settings", "enable_discount_accounting")
)
return self._enable_discount_accounting
@@ -1635,7 +1635,7 @@ class SalesInvoice(SellingController):
def make_pos_gl_entries(self, gl_entries):
if cint(self.is_pos):
skip_change_gl_entries = not cint(
- frappe.db.get_single_value("Accounts Settings", "post_change_gl_entries")
+ frappe.get_single_value("Accounts Settings", "post_change_gl_entries")
)
for payment_mode in self.payments:
@@ -2920,7 +2920,7 @@ def check_if_return_invoice_linked_with_payment_entry(self):
# If a Return invoice is linked with payment entry along with other invoices,
# the cancellation of the Return causes allocated amount to be greater than paid
- if not frappe.db.get_single_value("Accounts Settings", "unlink_payment_on_cancellation_of_invoice"):
+ if not frappe.get_single_value("Accounts Settings", "unlink_payment_on_cancellation_of_invoice"):
return
payment_entries = []
diff --git a/erpnext/accounts/general_ledger.py b/erpnext/accounts/general_ledger.py
index 786ddfc64c3..24685bfabe9 100644
--- a/erpnext/accounts/general_ledger.py
+++ b/erpnext/accounts/general_ledger.py
@@ -35,7 +35,7 @@ def make_gl_entries(
):
if gl_map:
if (
- frappe.db.get_single_value("Accounts Settings", "use_new_budget_controller")
+ frappe.get_single_value("Accounts Settings", "use_new_budget_controller")
and gl_map[0].voucher_type != "Period Closing Voucher"
):
bud_val = BudgetValidation(gl_map=gl_map)
@@ -743,9 +743,9 @@ def check_freezing_date(posting_date, adv_adj=False):
Hence stop admin to bypass if accounts are freezed
"""
if not adv_adj:
- acc_frozen_upto = frappe.db.get_single_value("Accounts Settings", "acc_frozen_upto")
+ acc_frozen_upto = frappe.get_single_value("Accounts Settings", "acc_frozen_upto")
if acc_frozen_upto:
- frozen_accounts_modifier = frappe.db.get_single_value(
+ frozen_accounts_modifier = frappe.get_single_value(
"Accounts Settings", "frozen_accounts_modifier"
)
if getdate(posting_date) <= getdate(acc_frozen_upto) and (
@@ -825,4 +825,4 @@ def validate_allowed_dimensions(gl_entry, dimension_filter_map):
def is_immutable_ledger_enabled():
- return frappe.db.get_single_value("Accounts Settings", "enable_immutable_ledger")
+ return frappe.get_single_value("Accounts Settings", "enable_immutable_ledger")
diff --git a/erpnext/accounts/party.py b/erpnext/accounts/party.py
index d79897deceb..2feaaf7e8e1 100644
--- a/erpnext/accounts/party.py
+++ b/erpnext/accounts/party.py
@@ -689,7 +689,7 @@ def validate_due_date_with_template(posting_date, due_date, bill_date, template_
return
if default_due_date != posting_date and getdate(due_date) > getdate(default_due_date):
- if frappe.db.get_single_value("Accounts Settings", "credit_controller") in frappe.get_roles():
+ if frappe.get_single_value("Accounts Settings", "credit_controller") in frappe.get_roles():
party_type = "supplier" if doctype == "Purchase Invoice" else "customer"
msgprint(
@@ -703,7 +703,7 @@ def validate_due_date_with_template(posting_date, due_date, bill_date, template_
@frappe.whitelist()
def get_address_tax_category(tax_category=None, billing_address=None, shipping_address=None):
- addr_tax_category_from = frappe.db.get_single_value(
+ addr_tax_category_from = frappe.get_single_value(
"Accounts Settings", "determine_address_tax_category_from"
)
if addr_tax_category_from == "Shipping Address":
@@ -803,7 +803,7 @@ def validate_party_frozen_disabled(party_type, party_name):
if party.disabled:
frappe.throw(_("{0} {1} is disabled").format(party_type, party_name), PartyDisabled)
elif party.get("is_frozen"):
- frozen_accounts_modifier = frappe.db.get_single_value(
+ frozen_accounts_modifier = frappe.get_single_value(
"Accounts Settings", "frozen_accounts_modifier"
)
if frozen_accounts_modifier not in frappe.get_roles():
diff --git a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
index bdb9ffcc142..9bc98e8e4b6 100644
--- a/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
+++ b/erpnext/accounts/report/accounts_receivable/accounts_receivable.py
@@ -6,6 +6,7 @@ from collections import OrderedDict
import frappe
from frappe import _, qb, query_builder, scrub
+from frappe.desk.reportview import build_match_conditions
from frappe.query_builder import Criterion
from frappe.query_builder.functions import Date, Substring, Sum
from frappe.utils import cint, cstr, flt, getdate, nowdate
@@ -57,7 +58,7 @@ class ReceivablePayableReport:
self.ranges = [num.strip() for num in self.filters.range.split(",") if num.strip().isdigit()]
self.range_numbers = [num for num in range(1, len(self.ranges) + 2)]
self.ple_fetch_method = (
- frappe.db.get_single_value("Accounts Settings", "receivable_payable_fetch_method")
+ frappe.get_single_value("Accounts Settings", "receivable_payable_fetch_method")
or "Buffered Cursor"
) # Fail Safe
@@ -126,7 +127,7 @@ class ReceivablePayableReport:
self.build_data()
def fetch_ple_in_buffered_cursor(self):
- query, param = self.ple_query.walk()
+ query, param = self.ple_query
self.ple_entries = frappe.db.sql(query, param, as_dict=True)
for ple in self.ple_entries:
@@ -140,7 +141,7 @@ class ReceivablePayableReport:
def fetch_ple_in_unbuffered_cursor(self):
self.ple_entries = []
- query, param = self.ple_query.walk()
+ query, param = self.ple_query
with frappe.db.unbuffered_cursor():
for ple in frappe.db.sql(query, param, as_dict=True, as_iterator=True):
self.init_voucher_balance(ple) # invoiced, paid, credit_note, outstanding
@@ -449,16 +450,14 @@ class ReceivablePayableReport:
self.invoice_details = frappe._dict()
if self.account_type == "Receivable":
# nosemgrep
- si_list = frappe.db.sql(
- """
- select name, due_date, po_no
- from `tabSales Invoice`
- where posting_date <= %s
- and company = %s
- and docstatus = 1
- """,
- (self.filters.report_date, self.filters.company),
- as_dict=1,
+ si_list = frappe.get_list(
+ "Sales Invoice",
+ filters={
+ "posting_date": ("<=", self.filters.report_date),
+ "company": self.filters.company,
+ "docstatus": 1,
+ },
+ fields=["name", "due_date", "po_no"],
)
for d in si_list:
self.invoice_details.setdefault(d.name, d)
@@ -481,33 +480,29 @@ class ReceivablePayableReport:
if self.account_type == "Payable":
# nosemgrep
- for pi in frappe.db.sql(
- """
- select name, due_date, bill_no, bill_date
- from `tabPurchase Invoice`
- where
- posting_date <= %s
- and company = %s
- and docstatus = 1
- """,
- (self.filters.report_date, self.filters.company),
- as_dict=1,
- ):
+ invoices = frappe.get_list(
+ "Purchase Invoice",
+ filters={
+ "posting_date": ("<=", self.filters.report_date),
+ "company": self.filters.company,
+ "docstatus": 1,
+ },
+ fields=["name", "due_date", "bill_no", "bill_date"],
+ )
+
+ for pi in invoices:
self.invoice_details.setdefault(pi.name, pi)
# Invoices booked via Journal Entries
# nosemgrep
- journal_entries = frappe.db.sql(
- """
- select name, due_date, bill_no, bill_date
- from `tabJournal Entry`
- where
- posting_date <= %s
- and company = %s
- and docstatus = 1
- """,
- (self.filters.report_date, self.filters.company),
- as_dict=1,
+ journal_entries = frappe.get_list(
+ "Journal Entry",
+ filters={
+ "posting_date": ("<=", self.filters.report_date),
+ "company": self.filters.company,
+ "docstatus": 1,
+ },
+ fields=["name", "due_date", "bill_no", "bill_date"],
)
for je in journal_entries:
@@ -849,19 +844,25 @@ class ReceivablePayableReport:
)
if self.filters.get("show_remarks"):
- if remarks_length := frappe.db.get_single_value(
+ if remarks_length := frappe.get_single_value(
"Accounts Settings", "receivable_payable_remarks_length"
):
query = query.select(Substring(ple.remarks, 1, remarks_length).as_("remarks"))
else:
query = query.select(ple.remarks)
- if self.filters.get("group_by_party"):
- query = query.orderby(self.ple.party, self.ple.posting_date)
- else:
- query = query.orderby(self.ple.posting_date, self.ple.party)
+ query, param = query.walk()
- self.ple_query = query
+ match_conditions = build_match_conditions("Payment Ledger Entry")
+ if match_conditions:
+ query += " AND " + match_conditions
+
+ if self.filters.get("group_by_party"):
+ query += f" ORDER BY `{self.ple.party.name}`, `{self.ple.posting_date.name}`"
+ else:
+ query += f" ORDER BY `{self.ple.posting_date.name}`, `{self.ple.party.name}`"
+
+ self.ple_query = (query, param)
def get_sales_invoices_or_customers_based_on_sales_person(self):
if self.filters.get("sales_person"):
diff --git a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py
index b90f922d82b..c45de28aec5 100644
--- a/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py
+++ b/erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py
@@ -210,6 +210,7 @@ class PartyLedgerSummaryReport:
"fieldtype": "Link",
"options": "Currency",
"width": 50,
+ "hidden": 1,
},
]
@@ -242,6 +243,7 @@ class PartyLedgerSummaryReport:
}
]
+ columns.append({"label": _("Dr/Cr"), "fieldname": "dr_or_cr", "fieldtype": "Data", "width": 100})
return columns
def get_data(self):
@@ -300,6 +302,13 @@ class PartyLedgerSummaryReport:
for account in self.party_adjustment_accounts:
row["adj_" + scrub(account)] = adjustments.get(account, 0)
+ if self.filters.party_type == "Customer":
+ balance = row.get("closing_balance", 0)
+ row["dr_or_cr"] = "Dr" if balance > 0 else "Cr" if balance < 0 else ""
+ else:
+ balance = row.get("closing_balance", 0)
+ row["dr_or_cr"] = "Cr" if balance > 0 else "Dr" if balance < 0 else ""
+
out.append(row)
return out
diff --git a/erpnext/accounts/report/financial_statements.py b/erpnext/accounts/report/financial_statements.py
index 0d1e185382d..5b9685de3c6 100644
--- a/erpnext/accounts/report/financial_statements.py
+++ b/erpnext/accounts/report/financial_statements.py
@@ -435,9 +435,7 @@ def set_gl_entries_by_account(
gl_entries = []
# For balance sheet
- ignore_closing_balances = frappe.db.get_single_value(
- "Accounts Settings", "ignore_account_closing_balance"
- )
+ ignore_closing_balances = frappe.get_single_value("Accounts Settings", "ignore_account_closing_balance")
if not from_date and not ignore_closing_balances:
last_period_closing_voucher = frappe.db.get_all(
"Period Closing Voucher",
@@ -519,9 +517,7 @@ def get_accounting_entries(
.where(gl_entry.company == filters.company)
)
- ignore_is_opening = frappe.db.get_single_value(
- "Accounts Settings", "ignore_is_opening_check_for_reporting"
- )
+ ignore_is_opening = frappe.get_single_value("Accounts Settings", "ignore_is_opening_check_for_reporting")
if doctype == "GL Entry":
query = query.select(gl_entry.posting_date, gl_entry.is_opening, gl_entry.fiscal_year)
diff --git a/erpnext/accounts/report/general_ledger/general_ledger.py b/erpnext/accounts/report/general_ledger/general_ledger.py
index 48193c87822..71fa184b914 100644
--- a/erpnext/accounts/report/general_ledger/general_ledger.py
+++ b/erpnext/accounts/report/general_ledger/general_ledger.py
@@ -163,7 +163,7 @@ def get_gl_entries(filters, accounting_dimensions):
credit_in_account_currency """
if filters.get("show_remarks"):
- if remarks_length := frappe.db.get_single_value("Accounts Settings", "general_ledger_remarks_length"):
+ if remarks_length := frappe.get_single_value("Accounts Settings", "general_ledger_remarks_length"):
select_fields += f",substr(remarks, 1, {remarks_length}) as 'remarks'"
else:
select_fields += """,remarks"""
@@ -218,9 +218,7 @@ def get_gl_entries(filters, accounting_dimensions):
def get_conditions(filters):
conditions = []
- ignore_is_opening = frappe.db.get_single_value(
- "Accounts Settings", "ignore_is_opening_check_for_reporting"
- )
+ ignore_is_opening = frappe.get_single_value("Accounts Settings", "ignore_is_opening_check_for_reporting")
if filters.get("account"):
filters.account = get_accounts_with_children(filters.account)
@@ -480,7 +478,7 @@ def get_accountwise_gle(filters, accounting_dimensions, gl_entries, gle_map):
if filters.get("show_net_values_in_party_account"):
account_type_map = get_account_type_map(filters.get("company"))
- immutable_ledger = frappe.db.get_single_value("Accounts Settings", "enable_immutable_ledger")
+ immutable_ledger = frappe.get_single_value("Accounts Settings", "enable_immutable_ledger")
def update_value_in_dict(data, key, gle):
data[key].debit += gle.debit
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 6190f0b0db8..a88a36c642c 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
@@ -6,6 +6,7 @@ import frappe
from frappe import _
from frappe.model.meta import get_field_precision
from frappe.utils import cstr, flt
+from frappe.utils.nestedset import get_descendants_of
from frappe.utils.xlsxutils import handle_html
from pypika import Order
@@ -376,7 +377,12 @@ def apply_conditions(query, si, sii, filters, additional_conditions=None):
query = query.where(sii.item_code == filters.get("item_code"))
if filters.get("item_group"):
- query = query.where(sii.item_group == filters.get("item_group"))
+ if frappe.db.get_value("Item Group", filters.get("item_group"), "is_group"):
+ item_groups = get_descendants_of("Item Group", filters.get("item_group"))
+ item_groups.append(filters.get("item_group"))
+ query = query.where(sii.item_group.isin(item_groups))
+ else:
+ query = query.where(sii.item_group == filters.get("item_group"))
if filters.get("income_account"):
query = query.where(
diff --git a/erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py b/erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py
index 0da5fcfc7ef..02dec9686c5 100644
--- a/erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py
+++ b/erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py
@@ -9,7 +9,7 @@ from frappe.utils import getdate
def execute(filters=None):
if filters.get("party_type") == "Customer":
- party_naming_by = frappe.db.get_single_value("Selling Settings", "cust_master_name")
+ party_naming_by = frappe.get_single_value("Selling Settings", "cust_master_name")
else:
party_naming_by = frappe.db.get_single_value("Buying Settings", "supp_master_name")
diff --git a/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py b/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py
index e14d9320fa2..2253b3631c1 100644
--- a/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py
+++ b/erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py
@@ -10,7 +10,7 @@ from erpnext.accounts.utils import get_fiscal_year
def execute(filters=None):
if filters.get("party_type") == "Customer":
- party_naming_by = frappe.db.get_single_value("Selling Settings", "cust_master_name")
+ party_naming_by = frappe.get_single_value("Selling Settings", "cust_master_name")
else:
party_naming_by = frappe.db.get_single_value("Buying Settings", "supp_master_name")
diff --git a/erpnext/accounts/report/trial_balance/trial_balance.py b/erpnext/accounts/report/trial_balance/trial_balance.py
index 5575426dfff..9524db3add6 100644
--- a/erpnext/accounts/report/trial_balance/trial_balance.py
+++ b/erpnext/accounts/report/trial_balance/trial_balance.py
@@ -89,9 +89,7 @@ def get_data(filters):
)
company_currency = filters.presentation_currency or erpnext.get_company_currency(filters.company)
- ignore_is_opening = frappe.db.get_single_value(
- "Accounts Settings", "ignore_is_opening_check_for_reporting"
- )
+ ignore_is_opening = frappe.get_single_value("Accounts Settings", "ignore_is_opening_check_for_reporting")
if not accounts:
return None
@@ -148,9 +146,7 @@ def get_rootwise_opening_balances(filters, report_type, ignore_is_opening):
gle = []
last_period_closing_voucher = ""
- ignore_closing_balances = frappe.db.get_single_value(
- "Accounts Settings", "ignore_account_closing_balance"
- )
+ ignore_closing_balances = frappe.get_single_value("Accounts Settings", "ignore_account_closing_balance")
if not ignore_closing_balances:
last_period_closing_voucher = frappe.db.get_all(
diff --git a/erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py b/erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py
index f6c79eb6c45..95484bb190b 100644
--- a/erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py
+++ b/erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py
@@ -256,7 +256,7 @@ def is_party_name_visible(filters):
if filters.get("party_type") in ["Customer", "Supplier"]:
if filters.get("party_type") == "Customer":
- party_naming_by = frappe.db.get_single_value("Selling Settings", "cust_master_name")
+ party_naming_by = frappe.get_single_value("Selling Settings", "cust_master_name")
else:
party_naming_by = frappe.db.get_single_value("Buying Settings", "supp_master_name")
diff --git a/erpnext/accounts/utils.py b/erpnext/accounts/utils.py
index 290ce504c3a..9fe24857672 100644
--- a/erpnext/accounts/utils.py
+++ b/erpnext/accounts/utils.py
@@ -886,7 +886,7 @@ def cancel_common_party_journal(self):
if self.doctype not in ["Sales Invoice", "Purchase Invoice"]:
return
- if not frappe.db.get_single_value("Accounts Settings", "enable_common_party_accounting"):
+ if not frappe.get_single_value("Accounts Settings", "enable_common_party_accounting"):
return
party_link = self.get_common_party_link()
@@ -2312,7 +2312,7 @@ def run_ledger_health_checks():
def sync_auto_reconcile_config(auto_reconciliation_job_trigger: int = 15):
- auto_reconciliation_job_trigger = auto_reconciliation_job_trigger or frappe.db.get_single_value(
+ auto_reconciliation_job_trigger = auto_reconciliation_job_trigger or frappe.get_single_value(
"Accounts Settings", "auto_reconciliation_job_trigger"
)
method = "erpnext.accounts.doctype.process_payment_reconciliation.process_payment_reconciliation.trigger_reconciliation_for_queued_docs"
diff --git a/erpnext/assets/doctype/asset/asset.json b/erpnext/assets/doctype/asset/asset.json
index ccd88a59226..253412de3b5 100644
--- a/erpnext/assets/doctype/asset/asset.json
+++ b/erpnext/assets/doctype/asset/asset.json
@@ -207,8 +207,8 @@
"fieldname": "purchase_date",
"fieldtype": "Date",
"label": "Purchase Date",
- "mandatory_depends_on": "eval:!doc.is_existing_asset && !doc.is_composite_asset",
- "read_only_depends_on": "eval:!doc.is_existing_asset && !doc.is_composite_asset"
+ "read_only_depends_on": "eval:!doc.is_existing_asset && !doc.is_composite_asset",
+ "reqd": 1
},
{
"fieldname": "disposal_date",
diff --git a/erpnext/assets/doctype/asset/asset.py b/erpnext/assets/doctype/asset/asset.py
index 9544267dcb5..52f0eb3a7ed 100644
--- a/erpnext/assets/doctype/asset/asset.py
+++ b/erpnext/assets/doctype/asset/asset.py
@@ -91,7 +91,7 @@ class Asset(AccountsController):
opening_number_of_booked_depreciations: DF.Int
policy_number: DF.Data | None
purchase_amount: DF.Currency
- purchase_date: DF.Date | None
+ purchase_date: DF.Date
purchase_invoice: DF.Link | None
purchase_invoice_item: DF.Data | None
purchase_receipt: DF.Link | None
diff --git a/erpnext/assets/doctype/asset/depreciation.py b/erpnext/assets/doctype/asset/depreciation.py
index 259cd535fb9..037dc070255 100644
--- a/erpnext/assets/doctype/asset/depreciation.py
+++ b/erpnext/assets/doctype/asset/depreciation.py
@@ -35,9 +35,7 @@ from erpnext.assets.doctype.asset_depreciation_schedule.asset_depreciation_sched
def post_depreciation_entries(date=None):
# Return if automatic booking of asset depreciation is disabled
- if not cint(
- frappe.db.get_single_value("Accounts Settings", "book_asset_depreciation_entry_automatically")
- ):
+ if not cint(frappe.get_single_value("Accounts Settings", "book_asset_depreciation_entry_automatically")):
return
date = date or today()
@@ -114,12 +112,12 @@ def make_depreciation_entry_on_disposal(asset_doc, disposal_date=None):
def get_acc_frozen_upto():
- acc_frozen_upto = frappe.db.get_single_value("Accounts Settings", "acc_frozen_upto")
+ acc_frozen_upto = frappe.get_single_value("Accounts Settings", "acc_frozen_upto")
if not acc_frozen_upto:
return
- frozen_accounts_modifier = frappe.db.get_single_value("Accounts Settings", "frozen_accounts_modifier")
+ frozen_accounts_modifier = frappe.get_single_value("Accounts Settings", "frozen_accounts_modifier")
if frozen_accounts_modifier not in frappe.get_roles() or frappe.session.user == "Administrator":
return getdate(acc_frozen_upto)
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py b/erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py
index c228dfbb8c7..3e294bea362 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/deppreciation_schedule_controller.py
@@ -251,7 +251,7 @@ class DepreciationScheduleController(StraightLineMethod, WDVMethod):
return depr_booked_for_months
def get_total_pending_days_or_years(self):
- if cint(frappe.db.get_single_value("Accounts Settings", "calculate_depr_using_total_days")):
+ if cint(frappe.get_single_value("Accounts Settings", "calculate_depr_using_total_days")):
last_depr_date = self.get_last_booked_depreciation_date()
if last_depr_date:
self.total_pending_days = date_diff(self.final_schedule_date, last_depr_date) - 1
diff --git a/erpnext/assets/doctype/asset_depreciation_schedule/depreciation_methods.py b/erpnext/assets/doctype/asset_depreciation_schedule/depreciation_methods.py
index 1b235b1fa78..f6dcb144c1e 100644
--- a/erpnext/assets/doctype/asset_depreciation_schedule/depreciation_methods.py
+++ b/erpnext/assets/doctype/asset_depreciation_schedule/depreciation_methods.py
@@ -38,7 +38,7 @@ class StraightLineMethod(Document):
return daily_depr_amount * total_depreciable_days
def get_daily_depr_amount(self):
- if cint(frappe.db.get_single_value("Accounts Settings", "calculate_depr_using_total_days")):
+ if cint(frappe.get_single_value("Accounts Settings", "calculate_depr_using_total_days")):
return self.depreciable_value / self.total_pending_days
else:
yearly_depr_amount = self.depreciable_value / self.total_pending_years
diff --git a/erpnext/controllers/accounts_controller.py b/erpnext/controllers/accounts_controller.py
index 23c7a396337..cd1bcf5f489 100644
--- a/erpnext/controllers/accounts_controller.py
+++ b/erpnext/controllers/accounts_controller.py
@@ -403,7 +403,7 @@ class AccountsController(TransactionBase):
self.remove_serial_and_batch_bundle()
# delete sl and gl entries on deletion of transaction
- if frappe.db.get_single_value("Accounts Settings", "delete_linked_ledger_entries"):
+ if frappe.get_single_value("Accounts Settings", "delete_linked_ledger_entries"):
# delete linked exchange gain/loss journal
delete_exchange_gain_loss_journal(self)
@@ -744,9 +744,7 @@ class AccountsController(TransactionBase):
frappe.throw(_(msg), title=_("Internal Transfer Reference Missing"))
def validate_internal_transaction(self):
- if not cint(
- frappe.db.get_single_value("Accounts Settings", "maintain_same_internal_transaction_rate")
- ):
+ if not cint(frappe.get_single_value("Accounts Settings", "maintain_same_internal_transaction_rate")):
return
doctypes_list = ["Sales Order", "Sales Invoice", "Purchase Order", "Purchase Invoice"]
@@ -1143,7 +1141,7 @@ class AccountsController(TransactionBase):
return True
def set_taxes_and_charges(self):
- if frappe.db.get_single_value("Accounts Settings", "add_taxes_from_item_tax_template"):
+ if frappe.get_single_value("Accounts Settings", "add_taxes_from_item_tax_template"):
if hasattr(self, "taxes_and_charges") and not self.get("taxes") and not self.get("is_pos"):
if tax_master_doctype := self.meta.get_field("taxes_and_charges").options:
self.append_taxes_from_master(tax_master_doctype)
@@ -1156,7 +1154,7 @@ class AccountsController(TransactionBase):
self.extend("taxes", get_taxes_and_charges(tax_master_doctype, self.get("taxes_and_charges")))
def append_taxes_from_item_tax_template(self):
- if not frappe.db.get_single_value("Accounts Settings", "add_taxes_from_item_tax_template"):
+ if not frappe.get_single_value("Accounts Settings", "add_taxes_from_item_tax_template"):
return
for row in self.items:
@@ -1497,7 +1495,7 @@ class AccountsController(TransactionBase):
return res
def is_inclusive_tax(self):
- is_inclusive = cint(frappe.db.get_single_value("Accounts Settings", "show_inclusive_tax_in_print"))
+ is_inclusive = cint(frappe.get_single_value("Accounts Settings", "show_inclusive_tax_in_print"))
if is_inclusive:
is_inclusive = 0
@@ -1507,7 +1505,7 @@ class AccountsController(TransactionBase):
return is_inclusive
def should_show_taxes_as_table_in_print(self):
- return cint(frappe.db.get_single_value("Accounts Settings", "show_taxes_as_table_in_print"))
+ return cint(frappe.get_single_value("Accounts Settings", "show_taxes_as_table_in_print"))
def validate_advance_entries(self):
order_field = "sales_order" if self.doctype == "Sales Invoice" else "purchase_order"
@@ -1884,13 +1882,11 @@ class AccountsController(TransactionBase):
cancel_exchange_gain_loss_journal(self)
cancel_common_party_journal(self)
- if frappe.db.get_single_value("Accounts Settings", "unlink_payment_on_cancellation_of_invoice"):
+ if frappe.get_single_value("Accounts Settings", "unlink_payment_on_cancellation_of_invoice"):
unlink_ref_doc_from_payment_entries(self)
elif self.doctype in ["Sales Order", "Purchase Order"]:
- if frappe.db.get_single_value(
- "Accounts Settings", "unlink_advance_payment_on_cancelation_of_order"
- ):
+ if frappe.get_single_value("Accounts Settings", "unlink_advance_payment_on_cancelation_of_order"):
unlink_ref_doc_from_payment_entries(self)
if self.doctype == "Sales Order":
@@ -1966,7 +1962,7 @@ class AccountsController(TransactionBase):
def make_discount_gl_entries(self, gl_entries):
enable_discount_accounting = cint(
- frappe.db.get_single_value("Selling Settings", "enable_discount_accounting")
+ frappe.get_single_value("Selling Settings", "enable_discount_accounting")
)
if enable_discount_accounting:
@@ -2448,7 +2444,7 @@ class AccountsController(TransactionBase):
grand_total = grand_total - flt(self.write_off_amount)
po_or_so, doctype, fieldname = self.get_order_details()
automatically_fetch_payment_terms = cint(
- frappe.db.get_single_value("Accounts Settings", "automatically_fetch_payment_terms")
+ frappe.get_single_value("Accounts Settings", "automatically_fetch_payment_terms")
)
if self.get("total_advance"):
@@ -2731,7 +2727,7 @@ class AccountsController(TransactionBase):
if not is_invoice:
return
- if frappe.db.get_single_value("Accounts Settings", "enable_common_party_accounting"):
+ if frappe.get_single_value("Accounts Settings", "enable_common_party_accounting"):
party_link = self.get_common_party_link()
if party_link and self.outstanding_amount:
self.create_advance_and_reconcile(party_link)
@@ -3517,7 +3513,7 @@ def set_child_tax_template_and_map(item, child_item, parent_doc):
def add_taxes_from_tax_template(child_item, parent_doc, db_insert=True):
- add_taxes_from_item_tax_template = frappe.db.get_single_value(
+ add_taxes_from_item_tax_template = frappe.get_single_value(
"Accounts Settings", "add_taxes_from_item_tax_template"
)
diff --git a/erpnext/controllers/buying_controller.py b/erpnext/controllers/buying_controller.py
index 5a6e1f78178..830b6b32cff 100644
--- a/erpnext/controllers/buying_controller.py
+++ b/erpnext/controllers/buying_controller.py
@@ -75,7 +75,7 @@ class BuyingController(SubcontractingController):
if self.docstatus == 1 and self.doctype in ["Purchase Receipt", "Purchase Invoice"]:
self.set_onload(
"allow_to_make_qc_after_submission",
- frappe.db.get_single_value(
+ frappe.get_single_value(
"Stock Settings", "allow_to_make_quality_inspection_after_purchase_or_delivery"
),
)
@@ -545,7 +545,7 @@ class BuyingController(SubcontractingController):
item.bom = None
def set_qty_as_per_stock_uom(self):
- allow_to_edit_stock_qty = frappe.db.get_single_value(
+ allow_to_edit_stock_qty = frappe.get_single_value(
"Stock Settings", "allow_to_edit_stock_uom_qty_for_purchase"
)
@@ -842,7 +842,7 @@ class BuyingController(SubcontractingController):
self.update_fixed_asset(field, delete_asset=True)
def validate_budget(self):
- if frappe.db.get_single_value("Accounts Settings", "use_new_budget_controller"):
+ if frappe.get_single_value("Accounts Settings", "use_new_budget_controller"):
from erpnext.controllers.budget_controller import BudgetValidation
val = BudgetValidation(doc=self)
diff --git a/erpnext/controllers/queries.py b/erpnext/controllers/queries.py
index c5d4b0b3418..bb8477be560 100644
--- a/erpnext/controllers/queries.py
+++ b/erpnext/controllers/queries.py
@@ -948,7 +948,7 @@ def get_filtered_child_rows(doctype, txt, searchfield, start, page_len, filters)
@frappe.whitelist()
@frappe.validate_and_sanitize_search_inputs
def get_item_uom_query(doctype, txt, searchfield, start, page_len, filters):
- if frappe.db.get_single_value("Stock Settings", "allow_uom_with_conversion_rate_defined_in_item"):
+ if frappe.get_single_value("Stock Settings", "allow_uom_with_conversion_rate_defined_in_item"):
query_filters = {"parent": filters.get("item_code")}
if txt:
diff --git a/erpnext/controllers/selling_controller.py b/erpnext/controllers/selling_controller.py
index 9a70f6c3636..013953e9818 100644
--- a/erpnext/controllers/selling_controller.py
+++ b/erpnext/controllers/selling_controller.py
@@ -38,7 +38,7 @@ class SellingController(StockController):
if self.docstatus == 1 and self.doctype in ["Delivery Note", "Sales Invoice"]:
self.set_onload(
"allow_to_make_qc_after_submission",
- frappe.db.get_single_value(
+ frappe.get_single_value(
"Stock Settings", "allow_to_make_quality_inspection_after_purchase_or_delivery"
),
)
@@ -224,7 +224,7 @@ class SellingController(StockController):
frappe.throw(_("Maximum discount for Item {0} is {1}%").format(d.item_code, discount))
def set_qty_as_per_stock_uom(self):
- allow_to_edit_stock_qty = frappe.db.get_single_value(
+ allow_to_edit_stock_qty = frappe.get_single_value(
"Stock Settings", "allow_to_edit_stock_uom_qty_for_sales"
)
@@ -255,9 +255,7 @@ class SellingController(StockController):
title=_("Invalid Selling Price"),
)
- if self.get("is_return") or not frappe.db.get_single_value(
- "Selling Settings", "validate_selling_price"
- ):
+ if self.get("is_return") or not frappe.get_single_value("Selling Settings", "validate_selling_price"):
return
is_internal_customer = self.get("is_internal_customer")
@@ -717,7 +715,7 @@ class SellingController(StockController):
def validate_for_duplicate_items(self):
check_list, chk_dupl_itm = [], []
- if cint(frappe.db.get_single_value("Selling Settings", "allow_multiple_items")):
+ if cint(frappe.get_single_value("Selling Settings", "allow_multiple_items")):
return
if self.doctype == "Sales Invoice" and self.is_consolidated:
return
@@ -960,7 +958,7 @@ def get_serial_and_batch_bundle(child, parent, delivery_note_child=None):
if child.get("use_serial_batch_fields"):
return
- if not frappe.db.get_single_value("Stock Settings", "auto_create_serial_and_batch_bundle_for_outward"):
+ if not frappe.get_single_value("Stock Settings", "auto_create_serial_and_batch_bundle_for_outward"):
return
item_details = frappe.db.get_value("Item", child.item_code, ["has_serial_no", "has_batch_no"], as_dict=1)
diff --git a/erpnext/controllers/status_updater.py b/erpnext/controllers/status_updater.py
index 39acbac6d5e..facfff7ded8 100644
--- a/erpnext/controllers/status_updater.py
+++ b/erpnext/controllers/status_updater.py
@@ -266,7 +266,7 @@ class StatusUpdater(Document):
if hasattr(d, "qty") and d.qty > 0 and self.get("is_return"):
frappe.throw(_("For an item {0}, quantity must be negative number").format(d.item_code))
- if not frappe.db.get_single_value("Selling Settings", "allow_negative_rates_for_items"):
+ if not frappe.get_single_value("Selling Settings", "allow_negative_rates_for_items"):
if hasattr(d, "item_code") and hasattr(d, "rate") and flt(d.rate) < 0:
frappe.throw(
_(
@@ -336,12 +336,10 @@ class StatusUpdater(Document):
qty_or_amount,
)
- role_allowed_to_over_deliver_receive = frappe.db.get_single_value(
+ role_allowed_to_over_deliver_receive = frappe.get_single_value(
"Stock Settings", "role_allowed_to_over_deliver_receive"
)
- role_allowed_to_over_bill = frappe.db.get_single_value(
- "Accounts Settings", "role_allowed_to_over_bill"
- )
+ role_allowed_to_over_bill = frappe.get_single_value("Accounts Settings", "role_allowed_to_over_bill")
role = role_allowed_to_over_deliver_receive if qty_or_amount == "qty" else role_allowed_to_over_bill
overflow_percent = (
diff --git a/erpnext/controllers/stock_controller.py b/erpnext/controllers/stock_controller.py
index a739956c837..8fbb832d3be 100644
--- a/erpnext/controllers/stock_controller.py
+++ b/erpnext/controllers/stock_controller.py
@@ -518,7 +518,7 @@ class StockController(AccountsController):
)
def set_use_serial_batch_fields(self):
- if frappe.db.get_single_value("Stock Settings", "use_serial_batch_fields"):
+ if frappe.get_single_value("Stock Settings", "use_serial_batch_fields"):
for row in self.items:
row.use_serial_batch_fields = 1
@@ -1053,7 +1053,7 @@ class StockController(AccountsController):
for row in self.get("items"):
qi_required = False
- if inspection_required_fieldname and frappe.db.get_value(
+ if inspection_required_fieldname and frappe.get_cached_value(
"Item", row.item_code, inspection_required_fieldname
):
qi_required = True
@@ -1076,7 +1076,7 @@ class StockController(AccountsController):
"Purchase Invoice",
"Sales Invoice",
"Delivery Note",
- ] and frappe.db.get_single_value(
+ ] and frappe.get_single_value(
"Stock Settings", "allow_to_make_quality_inspection_after_purchase_or_delivery"
):
return
@@ -1092,7 +1092,7 @@ class StockController(AccountsController):
def validate_qi_submission(self, row):
"""Check if QI is submitted on row level, during submission"""
- action = frappe.db.get_single_value("Stock Settings", "action_if_quality_inspection_is_not_submitted")
+ action = frappe.get_single_value("Stock Settings", "action_if_quality_inspection_is_not_submitted")
qa_docstatus = frappe.db.get_value("Quality Inspection", row.quality_inspection, "docstatus")
if qa_docstatus != 1:
@@ -1107,7 +1107,7 @@ class StockController(AccountsController):
def validate_qi_rejection(self, row):
"""Check if QI is rejected on row level, during submission"""
- action = frappe.db.get_single_value("Stock Settings", "action_if_quality_inspection_is_rejected")
+ action = frappe.get_single_value("Stock Settings", "action_if_quality_inspection_is_rejected")
qa_status = frappe.db.get_value("Quality Inspection", row.quality_inspection, "status")
if qa_status == "Rejected":
@@ -1206,9 +1206,7 @@ class StockController(AccountsController):
item_wise_received_qty = self.get_item_wise_inter_received_qty()
precision = frappe.get_precision(self.doctype + " Item", "qty")
- over_receipt_allowance = frappe.db.get_single_value(
- "Stock Settings", "over_delivery_receipt_allowance"
- )
+ over_receipt_allowance = frappe.get_single_value("Stock Settings", "over_delivery_receipt_allowance")
parent_doctype = {
"Purchase Receipt": "Delivery Note",
@@ -1381,9 +1379,7 @@ class StockController(AccountsController):
force = True
if force or future_sle_exists(args) or repost_required_for_queue(self):
- item_based_reposting = cint(
- frappe.db.get_single_value("Stock Reposting Settings", "item_based_reposting")
- )
+ item_based_reposting = frappe.get_single_value("Stock Reposting Settings", "item_based_reposting")
if item_based_reposting:
create_item_wise_repost_entries(
voucher_type=self.doctype,
@@ -1675,7 +1671,7 @@ def is_reposting_pending():
def future_sle_exists(args, sl_entries=None, allow_force_reposting=True):
from erpnext.stock.utils import get_combine_datetime
- if allow_force_reposting and frappe.db.get_single_value(
+ if allow_force_reposting and frappe.get_single_value(
"Stock Reposting Settings", "do_reposting_for_each_stock_transaction"
):
return True
@@ -1769,7 +1765,7 @@ def get_conditions_to_validate_future_sle(sl_entries):
for warehouse, items in warehouse_items_map.items():
or_conditions.append(
f"""warehouse = {frappe.db.escape(warehouse)}
- and item_code in ({', '.join(frappe.db.escape(item) for item in items)})"""
+ and item_code in ({", ".join(frappe.db.escape(item) for item in items)})"""
)
return or_conditions
diff --git a/erpnext/controllers/subcontracting_controller.py b/erpnext/controllers/subcontracting_controller.py
index 7244787e144..ada72c24ac5 100644
--- a/erpnext/controllers/subcontracting_controller.py
+++ b/erpnext/controllers/subcontracting_controller.py
@@ -590,7 +590,7 @@ class SubcontractingController(StockController):
rm_obj.reference_name = item_row.name
- use_serial_batch_fields = frappe.db.get_single_value("Stock Settings", "use_serial_batch_fields")
+ use_serial_batch_fields = frappe.get_single_value("Stock Settings", "use_serial_batch_fields")
if self.doctype == self.subcontract_data.order_doctype:
rm_obj.required_qty = flt(qty, rm_obj.precision("required_qty"))
diff --git a/erpnext/controllers/taxes_and_totals.py b/erpnext/controllers/taxes_and_totals.py
index 239e47b15ac..28dad216907 100644
--- a/erpnext/controllers/taxes_and_totals.py
+++ b/erpnext/controllers/taxes_and_totals.py
@@ -28,9 +28,7 @@ class calculate_taxes_and_totals:
def __init__(self, doc: Document):
self.doc = doc
frappe.flags.round_off_applicable_accounts = []
- frappe.flags.round_row_wise_tax = frappe.db.get_single_value(
- "Accounts Settings", "round_row_wise_tax"
- )
+ frappe.flags.round_row_wise_tax = frappe.get_single_value("Accounts Settings", "round_row_wise_tax")
if doc.get("round_off_applicable_accounts_for_tax_withholding"):
frappe.flags.round_off_applicable_accounts.append(
@@ -1170,7 +1168,7 @@ def get_rounded_tax_amount(itemised_tax, precision):
@frappe.whitelist()
def get_rounding_tax_settings():
- return frappe.db.get_single_value("Accounts Settings", "round_row_wise_tax")
+ return frappe.get_single_value("Accounts Settings", "round_row_wise_tax")
class init_landed_taxes_and_totals:
diff --git a/erpnext/locale/fr.po b/erpnext/locale/fr.po
index 14bb69846d7..8e63602f257 100644
--- a/erpnext/locale/fr.po
+++ b/erpnext/locale/fr.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: frappe\n"
"Report-Msgid-Bugs-To: hello@frappe.io\n"
"POT-Creation-Date: 2025-06-01 09:36+0000\n"
-"PO-Revision-Date: 2025-06-01 21:35\n"
+"PO-Revision-Date: 2025-06-05 23:00\n"
"Last-Translator: hello@frappe.io\n"
"Language-Team: French\n"
"MIME-Version: 1.0\n"
@@ -38,16 +38,16 @@ msgstr " Nomenclature"
#. Label of the istable (Check) field in DocType 'Inventory Dimension'
#: erpnext/stock/doctype/inventory_dimension/inventory_dimension.json
msgid " Is Child Table"
-msgstr ""
+msgstr " Est Table Enfant"
#. Label of the is_subcontracted (Check) field in DocType 'Job Card'
#: erpnext/manufacturing/doctype/job_card/job_card.json
msgid " Is Subcontracted"
-msgstr ""
+msgstr " Est sous-traité"
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:174
msgid " Item"
-msgstr ""
+msgstr " Article"
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:147
#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:186
@@ -62,12 +62,12 @@ msgstr " Prix"
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:122
msgid " Raw Material"
-msgstr ""
+msgstr " Matières Premières"
#. Label of the reserve_stock (Check) field in DocType 'Work Order'
#: erpnext/manufacturing/doctype/work_order/work_order.json
msgid " Reserve Stock"
-msgstr ""
+msgstr " Stock réservé"
#. Label of the skip_material_transfer (Check) field in DocType 'BOM Operation'
#: erpnext/manufacturing/doctype/bom_operation/bom_operation.json
@@ -97,15 +97,15 @@ msgstr "'Est un Actif Immobilisé’ doit être coché car il existe une entrée
#: erpnext/public/js/utils/serial_no_batch_selector.js:262
msgid "\"SN-01::10\" for \"SN-01\" to \"SN-10\""
-msgstr ""
+msgstr "« SN-01::10 » pour « SN-01 » à « SN-10 »"
#: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:148
msgid "# In Stock"
-msgstr ""
+msgstr "# En stock"
#: erpnext/manufacturing/report/work_order_stock_report/work_order_stock_report.py:141
msgid "# Req'd Items"
-msgstr ""
+msgstr "# Articles Requis"
#. Label of the per_delivered (Percent) field in DocType 'Sales Order'
#: erpnext/selling/doctype/sales_order/sales_order.json
@@ -141,7 +141,7 @@ msgstr "% complété"
#: erpnext/manufacturing/doctype/bom/bom.js:892
#, python-format
msgid "% Finished Item Quantity"
-msgstr ""
+msgstr "% de l'Article fabriqué"
#. Label of the per_installed (Percent) field in DocType 'Delivery Note'
#: erpnext/stock/doctype/delivery_note/delivery_note.json
@@ -151,7 +151,7 @@ msgstr "% installé"
#: erpnext/stock/page/warehouse_capacity_summary/warehouse_capacity_summary.js:70
#: erpnext/stock/page/warehouse_capacity_summary/warehouse_capacity_summary_header.html:16
msgid "% Occupied"
-msgstr ""
+msgstr "% d'occupation"
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:285
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:339
@@ -253,11 +253,11 @@ msgstr "'A un Numéro de Série' ne peut pas être 'Oui' pour un article non gé
#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:165
msgid "'Inspection Required before Delivery' has disabled for the item {0}, no need to create the QI"
-msgstr ""
+msgstr "L'option 'Inspection requise avant la livraison' est désactivée pour l'article {0}, il n'est pas nécessaire de créer l'inspection qualité"
#: erpnext/stock/doctype/quality_inspection/quality_inspection.py:156
msgid "'Inspection Required before Purchase' has disabled for the item {0}, no need to create the QI"
-msgstr ""
+msgstr "L'option 'Inspection requise avant l'achat' est désactivée pour l'article {0}, il n'est pas nécessaire de créer l'inspection qualité."
#: erpnext/stock/report/stock_ledger/stock_ledger.py:584
#: erpnext/stock/report/stock_ledger/stock_ledger.py:617
@@ -284,16 +284,16 @@ msgstr "'Mettre à Jour Le Stock’ ne peut pas être coché pour la vente d'act
#: erpnext/accounts/doctype/bank_account/bank_account.py:65
msgid "'{0}' account is already used by {1}. Use another account."
-msgstr ""
+msgstr "Le compte « {0} » est déjà utilisé par {1}. Utilisez un autre compte."
#: erpnext/accounts/doctype/pos_settings/pos_settings.py:37
msgid "'{0}' has been already added."
-msgstr ""
+msgstr "'{0}' a déjà été ajouté."
#: erpnext/setup/doctype/company/company.py:208
#: erpnext/setup/doctype/company/company.py:219
msgid "'{0}' should be in company currency {1}."
-msgstr ""
+msgstr "« {0} » devrait être dans la devise de l'entreprise {1}."
#: erpnext/stock/report/fifo_queue_vs_qty_after_transaction_comparison/fifo_queue_vs_qty_after_transaction_comparison.py:174
#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:203
@@ -392,7 +392,7 @@ msgstr "* Sera calculé lors de la transaction."
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html:95
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:347
msgid "0 - 30 Days"
-msgstr ""
+msgstr "0 - 30 jours"
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:114
msgid "0-30"
@@ -469,7 +469,7 @@ msgstr "3 Annuel"
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html:96
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:348
msgid "30 - 60 Days"
-msgstr ""
+msgstr "30 - 60 jours"
#. Option for the 'Frequency' (Select) field in DocType 'Video Settings'
#: erpnext/utilities/doctype/video_settings/video_settings.json
@@ -478,11 +478,11 @@ msgstr "30 min"
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:115
msgid "30-60"
-msgstr ""
+msgstr "30-60"
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:110
msgid "30-60 Days"
-msgstr ""
+msgstr "30-60 jours"
#. Option for the 'No of Employees' (Select) field in DocType 'Lead'
#. Option for the 'No of Employees' (Select) field in DocType 'Opportunity'
@@ -510,25 +510,25 @@ msgstr "6 heures"
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html:97
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:349
msgid "60 - 90 Days"
-msgstr ""
+msgstr "60 - 90 jours"
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:116
msgid "60-90"
-msgstr ""
+msgstr "60-90"
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:110
msgid "60-90 Days"
-msgstr ""
+msgstr "60-90 jours"
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html:98
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:350
msgid "90 - 120 Days"
-msgstr ""
+msgstr "90 - 120 jours"
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:117
#: erpnext/manufacturing/report/work_order_summary/work_order_summary.py:110
msgid "90 Above"
-msgstr ""
+msgstr "90 et plus"
#: erpnext/crm/doctype/appointment_booking_settings/appointment_booking_settings.py:61
msgid "From Time cannot be later than To Time for {0}"
@@ -1004,12 +1004,12 @@ msgstr "Numéro AWB"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Abampere"
-msgstr ""
+msgstr "Abampère"
#. Label of the abbr (Data) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
msgid "Abbr"
-msgstr "Abré"
+msgstr "Abréviation"
#. Label of the abbr (Data) field in DocType 'Item Attribute Value'
#: erpnext/stock/doctype/item_attribute_value/item_attribute_value.json
@@ -1048,7 +1048,7 @@ msgstr "Il reste environ {0} secondes"
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html:99
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:351
msgid "Above 120 Days"
-msgstr ""
+msgstr "Plus de 120 jours"
#. Name of a role
#: erpnext/setup/doctype/department/department.json
@@ -1401,7 +1401,7 @@ msgstr "Le compte n'est pas défini pour le graphique du tableau de bord {0}"
#: erpnext/assets/doctype/asset/asset.py:758
msgid "Account not Found"
-msgstr ""
+msgstr "Compte non trouvé"
#: erpnext/accounts/doctype/account/account.py:390
msgid "Account with child nodes cannot be converted to ledger"
@@ -1426,7 +1426,7 @@ msgstr "Un compte contenant une transaction ne peut pas être converti en grand
#: erpnext/accounts/doctype/tax_withholding_category/tax_withholding_category.py:67
msgid "Account {0} added multiple times"
-msgstr ""
+msgstr "Compte {0} ajouté plusieurs fois"
#: erpnext/setup/doctype/company/company.py:190
msgid "Account {0} does not belong to company: {1}"
@@ -1510,7 +1510,7 @@ msgstr "Compte : {0} avec la devise : {1} ne peut pas être sélectionné"
#: erpnext/setup/setup_wizard/data/designation.txt:1
msgid "Accountant"
-msgstr ""
+msgstr "Comptable"
#. Group in Bank Account's connections
#. Label of the section_break_19 (Section Break) field in DocType 'POS Profile'
@@ -2226,12 +2226,12 @@ msgstr "Date d'Aquisition"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Acre"
-msgstr ""
+msgstr "Acre"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Acre (US)"
-msgstr ""
+msgstr "Acre (États-Unis)"
#: erpnext/crm/doctype/lead/lead.js:41
#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:175
@@ -2317,7 +2317,7 @@ msgstr "Action si le même taux n'est pas maintenu tout au long du cycle de vent
#. Label of the action_on_new_invoice (Select) field in DocType 'POS Profile'
#: erpnext/accounts/doctype/pos_profile/pos_profile.json
msgid "Action on New Invoice"
-msgstr ""
+msgstr "Action sur la nouvelle facture"
#. Label of the actions (Section Break) field in DocType 'Supplier Scorecard
#. Scoring Standing'
@@ -2454,7 +2454,7 @@ msgstr "Réel"
#: erpnext/stock/report/incorrect_balance_qty_after_transaction/incorrect_balance_qty_after_transaction.py:125
msgid "Actual Balance Qty"
-msgstr ""
+msgstr "Quantité réelle du solde"
#. Label of the actual_batch_qty (Float) field in DocType 'Packed Item'
#: erpnext/stock/doctype/packed_item/packed_item.json
@@ -2501,7 +2501,7 @@ msgstr "Heure de Fin Réelle"
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:381
msgid "Actual Expense"
-msgstr ""
+msgstr "Dépense réelle"
#. Label of the actual_operating_cost (Currency) field in DocType 'Work Order'
#. Label of the actual_operating_cost (Currency) field in DocType 'Work Order
@@ -2554,11 +2554,11 @@ msgstr "Qté Réelle est obligatoire"
#: erpnext/manufacturing/doctype/plant_floor/stock_summary_template.html:37
#: erpnext/stock/dashboard/item_dashboard_list.html:28
msgid "Actual Qty {0} / Waiting Qty {1}"
-msgstr ""
+msgstr "Quantité réelle {0} / Quantité en attente {1}"
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:164
msgid "Actual Qty: Quantity available in the warehouse."
-msgstr ""
+msgstr "Quantité réelle : quantité disponible dans l'entrepôt."
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:95
msgid "Actual Quantity"
@@ -2647,7 +2647,7 @@ msgstr "Ajouter des colonnes dans la devise de la transaction"
#: erpnext/templates/pages/task_info.html:94
#: erpnext/templates/pages/task_info.html:96
msgid "Add Comment"
-msgstr ""
+msgstr "Ajouter un commentaire"
#. Label of the add_corrective_operation_cost_in_finished_good_valuation
#. (Check) field in DocType 'Manufacturing Settings'
@@ -2704,7 +2704,7 @@ msgstr "Ajouter manuellement"
#: erpnext/projects/doctype/task/task_tree.js:42
msgid "Add Multiple"
-msgstr ""
+msgstr "Ajout multiple"
#: erpnext/projects/doctype/task/task_tree.js:49
msgid "Add Multiple Tasks"
@@ -2922,7 +2922,7 @@ msgstr "Frais Supplémentaires"
#. Label of the additional_data (Code) field in DocType 'Common Code'
#: erpnext/edi/doctype/common_code/common_code.json
msgid "Additional Data"
-msgstr ""
+msgstr "Données supplémentaires"
#. Label of the additional_details (Section Break) field in DocType 'Vehicle'
#: erpnext/setup/doctype/vehicle/vehicle.json
@@ -3078,7 +3078,7 @@ msgstr "Information additionnelle"
#: erpnext/selling/page/point_of_sale/pos_payment.js:84
msgid "Additional Information updated successfully."
-msgstr ""
+msgstr "Informations supplémentaires mises à jour avec succès."
#. Label of the additional_notes (Text) field in DocType 'Quotation Item'
#. Label of the additional_notes (Text) field in DocType 'Sales Order Item'
@@ -3413,7 +3413,7 @@ msgstr ""
#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json
#: erpnext/accounts/doctype/payment_entry/payment_entry.json
msgid "Advance Taxes and Charges"
-msgstr ""
+msgstr "Impôts et taxes anticipés"
#. Label of the advance_amount (Currency) field in DocType 'Sales Invoice
#. Advance'
@@ -3462,13 +3462,13 @@ msgstr ""
#: erpnext/setup/setup_wizard/data/industry_type.txt:3
msgid "Aerospace"
-msgstr ""
+msgstr "Aéronautique"
#. Label of the affected_transactions (Code) field in DocType 'Repost Item
#. Valuation'
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json
msgid "Affected Transactions"
-msgstr ""
+msgstr "Transactions affectées"
#. Label of the against (Text) field in DocType 'GL Entry'
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
@@ -3638,7 +3638,7 @@ msgstr "Age (jours)"
#: erpnext/stock/report/stock_ageing/stock_ageing.py:218
msgid "Age ({0})"
-msgstr ""
+msgstr "Âge ({0})"
#. Label of the ageing_based_on (Select) field in DocType 'Process Statement Of
#. Accounts'
@@ -3672,7 +3672,7 @@ msgstr "Ordre du jour"
#: erpnext/setup/setup_wizard/data/sales_partner_type.txt:4
msgid "Agent"
-msgstr ""
+msgstr "Représentant"
#. Label of the agent_busy_message (Data) field in DocType 'Incoming Call
#. Settings'
@@ -3693,7 +3693,7 @@ msgstr "Détails de l'agent"
#. Schedule'
#: erpnext/telephony/doctype/incoming_call_handling_schedule/incoming_call_handling_schedule.json
msgid "Agent Group"
-msgstr ""
+msgstr "Groupe d'agents"
#. Label of the agent_unavailable_message (Data) field in DocType 'Incoming
#. Call Settings'
@@ -3717,7 +3717,7 @@ msgstr ""
#: erpnext/setup/setup_wizard/data/industry_type.txt:4
msgid "Agriculture"
-msgstr ""
+msgstr "Agriculture"
#: erpnext/setup/setup_wizard/data/industry_type.txt:5
msgid "Airline"
@@ -3727,7 +3727,7 @@ msgstr ""
#. Statements'
#: erpnext/accounts/doctype/bisect_accounting_statements/bisect_accounting_statements.json
msgid "Algorithm"
-msgstr ""
+msgstr "Algorithme"
#. Name of a role
#. Option for the 'Hold Type' (Select) field in DocType 'Supplier'
@@ -3758,7 +3758,7 @@ msgstr "Tous les comptes"
#: erpnext/crm/doctype/opportunity/opportunity.json
#: erpnext/crm/doctype/prospect/prospect.json
msgid "All Activities"
-msgstr ""
+msgstr "Toutes les Activités"
#. Label of the all_activities_html (HTML) field in DocType 'Lead'
#. Label of the all_activities_html (HTML) field in DocType 'Opportunity'
@@ -3767,7 +3767,7 @@ msgstr ""
#: erpnext/crm/doctype/opportunity/opportunity.json
#: erpnext/crm/doctype/prospect/prospect.json
msgid "All Activities HTML"
-msgstr ""
+msgstr "Toutes les activités HTML"
#: erpnext/manufacturing/doctype/bom/bom.py:303
msgid "All BOMs"
@@ -3837,7 +3837,7 @@ msgstr "Tous les Groupes d'Articles"
#: erpnext/selling/page/point_of_sale/pos_item_selector.js:25
msgid "All Items"
-msgstr ""
+msgstr "Tous les articles"
#. Option for the 'Send To' (Select) field in DocType 'SMS Center'
#: erpnext/selling/doctype/sms_center/sms_center.json
@@ -3846,7 +3846,7 @@ msgstr "Toutes les pistes (Ouvertes)"
#: erpnext/accounts/report/general_ledger/general_ledger.html:68
msgid "All Parties "
-msgstr ""
+msgstr "Tout les tiers"
#. Option for the 'Send To' (Select) field in DocType 'SMS Center'
#: erpnext/selling/doctype/sms_center/sms_center.json
@@ -3861,7 +3861,7 @@ msgstr "Tous les Commerciaux"
#. Description of a DocType
#: erpnext/setup/doctype/sales_person/sales_person.json
msgid "All Sales Transactions can be tagged against multiple Sales Persons so that you can set and monitor targets."
-msgstr ""
+msgstr "Toutes les transactions de vente peuvent être associées à plusieurs vendeurs afin que vous puissiez définir et surveiller les objectifs."
#. Option for the 'Send To' (Select) field in DocType 'SMS Center'
#: erpnext/selling/doctype/sms_center/sms_center.json
@@ -3907,7 +3907,7 @@ msgstr "Toutes les communications, celle-ci et celles au dessus de celle-ci incl
#: erpnext/manufacturing/doctype/production_plan/production_plan.py:913
msgid "All items are already requested"
-msgstr ""
+msgstr "Tous les articles sont déjà demandés"
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1326
msgid "All items have already been Invoiced/Returned"
@@ -4017,7 +4017,7 @@ msgstr ""
#: erpnext/public/js/templates/crm_activities.html:49
msgid "Allocated To:"
-msgstr ""
+msgstr "Affecté à:"
#. Label of the allocated_amount (Currency) field in DocType 'Sales Invoice
#. Advance'
@@ -4089,7 +4089,7 @@ msgstr "Autoriser un article alternatif"
#: erpnext/stock/doctype/item_alternative/item_alternative.py:65
msgid "Allow Alternative Item must be checked on Item {}"
-msgstr ""
+msgstr "L'option Autoriser l'article alternatif doit être cochée sur l'article {}"
#. Label of the material_consumption (Check) field in DocType 'Manufacturing
#. Settings'
@@ -4218,13 +4218,13 @@ msgstr "Autoriser la création de factures d'achat sans Reçu d'Achat"
#. 'Buying Settings'
#: erpnext/buying/doctype/buying_settings/buying_settings.json
msgid "Allow Purchase Order with Zero Quantity"
-msgstr ""
+msgstr "Autoriser les commandes d'achat avec une quantité à zéro"
#. Label of the allow_zero_qty_in_quotation (Check) field in DocType 'Selling
#. Settings'
#: erpnext/selling/doctype/selling_settings/selling_settings.json
msgid "Allow Quotation with Zero Quantity"
-msgstr ""
+msgstr "Autoriser les devis avec une quantité à zéro"
#. Label of the allow_rename_attribute_value (Check) field in DocType 'Item
#. Variant Settings'
@@ -4237,7 +4237,7 @@ msgstr "Autoriser le renommage de la valeur de l'attribut"
#. DocType 'Buying Settings'
#: erpnext/buying/doctype/buying_settings/buying_settings.json
msgid "Allow Request for Quotation with Zero Quantity"
-msgstr ""
+msgstr "Autoriser les devis avec une quantité à zéro"
#. Label of the allow_resetting_service_level_agreement (Check) field in
#. DocType 'Support Settings'
@@ -4274,7 +4274,7 @@ msgstr "Autoriser la création de commandes client pour les devis expirés"
#. Settings'
#: erpnext/selling/doctype/selling_settings/selling_settings.json
msgid "Allow Sales Order with Zero Quantity"
-msgstr ""
+msgstr "Autoriser les commandes client avec une quantité à zéro"
#. Label of the allow_stale (Check) field in DocType 'Accounts Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
@@ -4285,7 +4285,7 @@ msgstr "Autoriser les Taux de Change Existants"
#. 'Buying Settings'
#: erpnext/buying/doctype/buying_settings/buying_settings.json
msgid "Allow Supplier Quotation with Zero Quantity"
-msgstr ""
+msgstr "Autoriser les devis fournisseurs avec une quantité à zéro"
#. Label of the allow_uom_with_conversion_rate_defined_in_item (Check) field in
#. DocType 'Stock Settings'
@@ -4319,7 +4319,7 @@ msgstr ""
#. Valuation'
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json
msgid "Allow Zero Rate"
-msgstr ""
+msgstr "Autoriser le montant à zéro"
#. Label of the allow_zero_valuation_rate (Check) field in DocType 'POS Invoice
#. Item'
@@ -4395,13 +4395,13 @@ msgstr "Autorisé"
#. Name of a DocType
#: erpnext/accounts/doctype/allowed_dimension/allowed_dimension.json
msgid "Allowed Dimension"
-msgstr ""
+msgstr "Dimension autorisée"
#. Label of the allowed_types (Table) field in DocType 'Repost Accounting
#. Ledger Settings'
#: erpnext/accounts/doctype/repost_accounting_ledger_settings/repost_accounting_ledger_settings.json
msgid "Allowed Doctypes"
-msgstr ""
+msgstr "DocType autorisés"
#. Group in Supplier's connections
#. Group in Customer's connections
@@ -4461,7 +4461,7 @@ msgstr ""
#: erpnext/stock/doctype/pick_list/pick_list.py:967
msgid "Already Picked"
-msgstr ""
+msgstr "Déjà prélevé"
#: erpnext/stock/doctype/item_alternative/item_alternative.py:81
msgid "Already record exists for the item {0}"
@@ -4863,7 +4863,7 @@ msgstr "Modifié Depuis"
#: erpnext/templates/form_grid/stock_entry_grid.html:11
#: erpnext/templates/pages/order.html:103 erpnext/templates/pages/rfq.html:46
msgid "Amount"
-msgstr ""
+msgstr "Montant"
#: erpnext/regional/report/uae_vat_201/uae_vat_201.py:22
msgid "Amount (AED)"
@@ -4955,7 +4955,7 @@ msgstr ""
#: erpnext/accounts/print_format/sales_invoice_print/sales_invoice_print.html:119
msgid "Amount in Words"
-msgstr ""
+msgstr "Montant en lettres"
#. Description of the 'Outstanding Amount' (Currency) field in DocType 'Payment
#. Request'
@@ -4970,12 +4970,12 @@ msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts_accounts_receivable.html:72
msgid "Amount in {0}"
-msgstr ""
+msgstr "Montant en {0}"
#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:189
#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:209
msgid "Amount to Bill"
-msgstr ""
+msgstr "Montant à facturer"
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1330
msgid "Amount {0} {1} against {2} {3}"
@@ -4996,27 +4996,27 @@ msgstr "Montant {0} {1} {2} {3}"
#. Label of the amounts_section (Section Break) field in DocType 'GL Entry'
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
msgid "Amounts"
-msgstr ""
+msgstr "Montants"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Ampere"
-msgstr ""
+msgstr "Ampère"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Ampere-Hour"
-msgstr ""
+msgstr "Ampère-heure"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Ampere-Minute"
-msgstr ""
+msgstr "Ampère-Minute"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Ampere-Second"
-msgstr ""
+msgstr "Ampère-Seconde"
#: erpnext/controllers/trends.py:239 erpnext/controllers/trends.py:251
#: erpnext/controllers/trends.py:256
@@ -5047,7 +5047,7 @@ msgstr ""
#: erpnext/setup/setup_wizard/data/designation.txt:4
msgid "Analyst"
-msgstr ""
+msgstr "Analyste"
#. Label of the section_break_analytics (Section Break) field in DocType 'Lead'
#. Label of the section_break_analytics (Section Break) field in DocType
@@ -5250,12 +5250,12 @@ msgstr ""
#: erpnext/stock/doctype/putaway_rule/putaway_rule.py:183
msgid "Applied putaway rules."
-msgstr ""
+msgstr "Règles d'entrée en stock appliquées."
#. Label of the applies_to (Table) field in DocType 'Common Code'
#: erpnext/edi/doctype/common_code/common_code.json
msgid "Applies To"
-msgstr ""
+msgstr "S’applique à"
#. Label of the apply_discount_on (Select) field in DocType 'POS Invoice'
#. Label of the apply_discount_on (Select) field in DocType 'Purchase Invoice'
@@ -5328,7 +5328,7 @@ msgstr "Appliquer Sur"
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
#: erpnext/stock/doctype/stock_entry/stock_entry.json
msgid "Apply Putaway Rule"
-msgstr "Appliquer la régle de routage d'entrepot"
+msgstr "Appliquer la règle de routage d'entrée en stock"
#. Label of the apply_recursion_over (Float) field in DocType 'Pricing Rule'
#. Label of the apply_recursion_over (Float) field in DocType 'Promotional
@@ -5365,7 +5365,7 @@ msgstr "Appliquer la règle sur autre"
#. Level Agreement'
#: erpnext/support/doctype/service_level_agreement/service_level_agreement.json
msgid "Apply SLA for Resolution Time"
-msgstr ""
+msgstr "Appliquer l'accord de niveau de service (SLA) pour le délai de résolution"
#. Label of the apply_tds (Check) field in DocType 'Purchase Invoice Item'
#. Label of the apply_tds (Check) field in DocType 'Purchase Order Item'
@@ -5389,7 +5389,7 @@ msgstr "Appliquer le montant de la retenue d'impôt"
#. Label of the apply_tds (Check) field in DocType 'Journal Entry'
#: erpnext/accounts/doctype/journal_entry/journal_entry.json
msgid "Apply Tax Withholding Amount "
-msgstr ""
+msgstr "Appliquer le montant de la retenue d'impôt "
#. Label of the apply_restriction_on_values (Check) field in DocType
#. 'Accounting Dimension Filter'
@@ -5406,7 +5406,7 @@ msgstr ""
#. Label of the document_type (Link) field in DocType 'Inventory Dimension'
#: erpnext/stock/doctype/inventory_dimension/inventory_dimension.json
msgid "Apply to Document"
-msgstr ""
+msgstr "Appliquer au document"
#. Name of a DocType
#. Label of a Link in the CRM Workspace
@@ -5489,7 +5489,7 @@ msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Are"
-msgstr ""
+msgstr "Are"
#: erpnext/public/js/utils/demo.js:20
msgid "Are you sure you want to clear all demo data?"
@@ -5505,7 +5505,7 @@ msgstr ""
#: erpnext/accounts/doctype/subscription/subscription.js:75
msgid "Are you sure you want to restart this subscription?"
-msgstr ""
+msgstr "Êtes-vous sûr de vouloir redémarrer cet abonnement ?"
#. Label of the area (Float) field in DocType 'Location'
#. Name of a UOM
@@ -5526,7 +5526,7 @@ msgstr "Quantité d'arrivée"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Arshin"
-msgstr ""
+msgstr "Archine"
#: erpnext/stock/report/serial_no_ledger/serial_no_ledger.js:57
#: erpnext/stock/report/stock_ageing/stock_ageing.js:16
@@ -5538,7 +5538,7 @@ msgstr "Comme à la date"
#: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.js:15
#: erpnext/accounts/report/received_items_to_be_billed/received_items_to_be_billed.js:15
msgid "As on Date"
-msgstr ""
+msgstr "En date du"
#. Description of the 'Finished Good Quantity ' (Float) field in DocType 'Stock
#. Entry'
@@ -5766,7 +5766,7 @@ msgstr "Livre comptable d'actifs"
#: erpnext/assets/report/fixed_asset_register/fixed_asset_register.py:411
msgid "Asset ID"
-msgstr ""
+msgstr "Identifiant de l'actif"
#. Label of the asset_location (Link) field in DocType 'Purchase Invoice Item'
#. Label of the asset_location (Link) field in DocType 'Purchase Receipt Item'
@@ -5862,7 +5862,7 @@ msgstr "Société Propriétaire de l'Actif"
#. Label of the asset_quantity (Int) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
msgid "Asset Quantity"
-msgstr ""
+msgstr "Quantité de l'actif"
#. Option for the 'Account Type' (Select) field in DocType 'Account'
#. Label of the asset_received_but_not_billed (Link) field in DocType 'Company'
@@ -5951,7 +5951,7 @@ msgstr "Analyse de la valeur des actifs"
#: erpnext/assets/doctype/asset/asset.py:208
msgid "Asset cancelled"
-msgstr ""
+msgstr "Actif annulé"
#: erpnext/assets/doctype/asset/asset.py:587
msgid "Asset cannot be cancelled, as it is already {0}"
@@ -5967,7 +5967,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.py:220
msgid "Asset created"
-msgstr ""
+msgstr "Actif créé"
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:590
msgid "Asset created after Asset Capitalization {0} was submitted"
@@ -5979,7 +5979,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/asset.py:223
msgid "Asset deleted"
-msgstr ""
+msgstr "Actif supprimé"
#: erpnext/assets/doctype/asset_movement/asset_movement.py:181
msgid "Asset issued to Employee {0}"
@@ -6007,7 +6007,7 @@ msgstr ""
#: erpnext/assets/doctype/asset/depreciation.py:437
msgid "Asset scrapped"
-msgstr ""
+msgstr "Actif mis au rebut"
#: erpnext/assets/doctype/asset/depreciation.py:439
msgid "Asset scrapped via Journal Entry {0}"
@@ -6016,19 +6016,19 @@ msgstr "Actif mis au rebut via Écriture de Journal {0}"
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1341
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1344
msgid "Asset sold"
-msgstr ""
+msgstr "Actif vendu"
#: erpnext/assets/doctype/asset/asset.py:195
msgid "Asset submitted"
-msgstr ""
+msgstr "Actif validé"
#: erpnext/assets/doctype/asset_movement/asset_movement.py:174
msgid "Asset transferred to Location {0}"
-msgstr ""
+msgstr "Actif transféré à l'emplacement {0}"
#: erpnext/assets/doctype/asset/asset.py:1288
msgid "Asset updated after being split into Asset {0}"
-msgstr ""
+msgstr "Actif mis à jour après avoir été divisé dans l'actif {0}"
#: erpnext/assets/doctype/asset_repair/asset_repair.py:371
msgid "Asset updated due to Asset Repair {0} {1}."
@@ -6044,7 +6044,7 @@ msgstr "L'actif {0} ne peut pas être mis au rebut, car il est déjà {1}"
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:216
msgid "Asset {0} does not belong to Item {1}"
-msgstr ""
+msgstr "L'actif {0} n'appartient pas à l'article {1}"
#: erpnext/assets/doctype/asset_movement/asset_movement.py:45
msgid "Asset {0} does not belong to company {1}"
@@ -6061,7 +6061,7 @@ msgstr "L'élément {0} n'appartient pas à l'emplacement {1}"
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:706
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:798
msgid "Asset {0} does not exist"
-msgstr ""
+msgstr "L'actif {0} n'existe pas"
#: erpnext/assets/doctype/asset_capitalization/asset_capitalization.py:596
msgid "Asset {0} has been created. Please set the depreciation details if any and submit it."
@@ -6115,7 +6115,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.js:153
msgid "Assign Job to Employee"
-msgstr ""
+msgstr "Attribuer un emploi à un salarié"
#. Label of the assign_to_name (Read Only) field in DocType 'Asset Maintenance
#. Log'
@@ -6145,19 +6145,19 @@ msgstr "Affectation"
#. Agreement'
#: erpnext/support/doctype/service_level_agreement/service_level_agreement.json
msgid "Assignment Conditions"
-msgstr ""
+msgstr "Conditions d'affectation"
#: erpnext/setup/setup_wizard/data/designation.txt:5
msgid "Associate"
-msgstr ""
+msgstr "Associer"
#: erpnext/stock/doctype/pick_list/pick_list.py:101
msgid "At Row #{0}: The picked quantity {1} for the item {2} is greater than available stock {3} for the batch {4} in the warehouse {5}. Please restock the item."
-msgstr ""
+msgstr "A la ligne #{0}: La quantité prélevée {1} pour l'article {2} est supérieure au stock disponible {3} pour le lot {4} dans l'entrepôt {5}."
#: erpnext/stock/doctype/pick_list/pick_list.py:124
msgid "At Row #{0}: The picked quantity {1} for the item {2} is greater than available stock {3} in the warehouse {4}."
-msgstr ""
+msgstr "A la ligne #{0}: La quantité prélevée {1} pour l'article {2} est supérieure au stock disponible {3} dans l'entrepôt {4}."
#: erpnext/accounts/doctype/exchange_rate_revaluation/exchange_rate_revaluation.py:84
msgid "At least one account with exchange gain or loss is required"
@@ -6231,7 +6231,7 @@ msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Atmosphere"
-msgstr ""
+msgstr "Atmosphère"
#. Description of the 'File to Rename' (Attach) field in DocType 'Rename Tool'
#: erpnext/utilities/doctype/rename_tool/rename_tool.json
@@ -6241,7 +6241,7 @@ msgstr "Attacher un fichier .csv avec deux colonnes, une pour l'ancien nom et un
#: erpnext/public/js/utils/serial_no_batch_selector.js:244
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.js:73
msgid "Attach CSV File"
-msgstr ""
+msgstr "Joindre un fichier CSV"
#. Label of the import_file (Attach) field in DocType 'Chart of Accounts
#. Importer'
@@ -6435,7 +6435,7 @@ msgstr "Demandes de Matériel Générées Automatiquement"
#: erpnext/buying/doctype/buying_settings/buying_settings.json
#: erpnext/selling/doctype/selling_settings/selling_settings.json
msgid "Auto Name"
-msgstr "Nom Auto"
+msgstr "Identifiant Auto"
#. Label of the auto_opt_in (Check) field in DocType 'Loyalty Program'
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.json
@@ -6444,32 +6444,32 @@ msgstr "Adhésion automatique (pour tous les clients)"
#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.js:66
msgid "Auto Reconcile"
-msgstr ""
+msgstr "Rapprochement automatique"
#. Label of the auto_reconcile_payments (Check) field in DocType 'Accounts
#. Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
msgid "Auto Reconcile Payments"
-msgstr ""
+msgstr "Rapprochement automatique des paiements"
#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:442
msgid "Auto Reconciliation"
-msgstr ""
+msgstr "Rapprochement automatique"
#. Label of the auto_reconciliation_job_trigger (Int) field in DocType
#. 'Accounts Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
msgid "Auto Reconciliation Job Trigger"
-msgstr ""
+msgstr "Déclencheur de tâche de rapprochement automatique"
#: erpnext/accounts/doctype/bank_reconciliation_tool/bank_reconciliation_tool.py:390
msgid "Auto Reconciliation has started in the background"
-msgstr ""
+msgstr "Le rapprochement automatique a commencé en arrière-plan"
#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:147
#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:195
msgid "Auto Reconciliation of Payments has been disabled. Enable it through {0}"
-msgstr ""
+msgstr "Le rapprochement automatique des paiements a été désactivé. Activez-le via {0}"
#. Label of the auto_repeat (Link) field in DocType 'Journal Entry'
#. Label of the auto_repeat (Link) field in DocType 'Payment Entry'
@@ -6518,7 +6518,7 @@ msgstr "Détail de la Répétition Automatique"
#. Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
msgid "Auto Reserve Serial and Batch Nos"
-msgstr ""
+msgstr "Réserver automatiquement des numéros de série et de lot"
#. Label of the auto_reserve_stock (Check) field in DocType 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
@@ -6799,7 +6799,7 @@ msgstr "B +"
#. Option for the 'Blood Group' (Select) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
msgid "B-"
-msgstr ""
+msgstr "B-"
#. Option for the 'Algorithm' (Select) field in DocType 'Bisect Accounting
#. Statements'
@@ -6854,7 +6854,7 @@ msgstr "Nomenclature"
#: erpnext/manufacturing/page/bom_comparison_tool/bom_comparison_tool.js:21
msgid "BOM 1"
-msgstr ""
+msgstr "Nomenclature 1"
#: erpnext/manufacturing/doctype/bom/bom.py:1508
msgid "BOM 1 {0} and BOM 2 {1} should not be same"
@@ -6862,7 +6862,7 @@ msgstr "La nomenclature 1 {0} et la nomenclature 2 {1} ne doivent pas être iden
#: erpnext/manufacturing/page/bom_comparison_tool/bom_comparison_tool.js:38
msgid "BOM 2"
-msgstr ""
+msgstr "Nomenclature 2"
#. Label of a Link in the Manufacturing Workspace
#: erpnext/manufacturing/page/bom_comparison_tool/bom_comparison_tool.js:4
@@ -6873,7 +6873,7 @@ msgstr "Outil de comparaison de nomenclature"
#. Label of the bom_created (Check) field in DocType 'BOM Creator Item'
#: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
msgid "BOM Created"
-msgstr ""
+msgstr "Nomenclature créée"
#. Label of the bom_creator (Link) field in DocType 'BOM'
#. Name of a DocType
@@ -6882,14 +6882,14 @@ msgstr ""
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.json
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
msgid "BOM Creator"
-msgstr ""
+msgstr "Créateur de nomenclature"
#. Label of the bom_creator_item (Data) field in DocType 'BOM'
#. Name of a DocType
#: erpnext/manufacturing/doctype/bom/bom.json
#: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
msgid "BOM Creator Item"
-msgstr ""
+msgstr "Créateur de nomenclature d'article"
#. Label of the bom_detail_no (Data) field in DocType 'Purchase Order Item
#. Supplied'
@@ -6924,7 +6924,7 @@ msgstr "ID de nomenclature"
#. Label of the bom_info_section (Section Break) field in DocType 'Stock Entry'
#: erpnext/stock/doctype/stock_entry/stock_entry.json
msgid "BOM Info"
-msgstr ""
+msgstr "Informations sur la nomenclature"
#. Name of a DocType
#: erpnext/manufacturing/doctype/bom_item/bom_item.json
@@ -6934,7 +6934,7 @@ msgstr "Article de la nomenclature"
#: erpnext/manufacturing/report/bom_explorer/bom_explorer.py:60
#: erpnext/manufacturing/report/production_plan_summary/production_plan_summary.py:175
msgid "BOM Level"
-msgstr ""
+msgstr "Niveau de nomenclature"
#. Label of the bom_no (Link) field in DocType 'BOM Item'
#. Label of the bom_no (Link) field in DocType 'BOM Operation'
@@ -6962,7 +6962,7 @@ msgstr "N° Nomenclature"
#. Label of the bom_no (Link) field in DocType 'Work Order Operation'
#: erpnext/manufacturing/doctype/work_order_operation/work_order_operation.json
msgid "BOM No (For Semi-Finished Goods)"
-msgstr ""
+msgstr "Numéro de nomenclature (pour les produits semi-finis)"
#. Description of the 'BOM No' (Link) field in DocType 'Stock Entry Detail'
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
@@ -7020,7 +7020,7 @@ msgstr "Rapport de Stock des nomenclatures"
#. Label of the tab_2_tab (Tab Break) field in DocType 'BOM Creator'
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.json
msgid "BOM Tree"
-msgstr ""
+msgstr "Arborescence de la nomenclature"
#: erpnext/manufacturing/report/bom_stock_report/bom_stock_report.py:29
msgid "BOM UoM"
@@ -7033,12 +7033,12 @@ msgstr "Mise à jour en lot des nomenclatures"
#: erpnext/manufacturing/doctype/bom_update_tool/bom_update_tool.js:84
msgid "BOM Update Initiated"
-msgstr ""
+msgstr "Mise à jour de la nomenclature lancée"
#. Name of a DocType
#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log.json
msgid "BOM Update Log"
-msgstr ""
+msgstr "Journal de mise à jour de la nomenclature"
#. Name of a DocType
#. Label of a Link in the Manufacturing Workspace
@@ -7083,7 +7083,7 @@ msgstr "Nomenclature et quantité de production sont nécessaires"
#. 'Manufacturing Settings'
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
msgid "BOM and Production"
-msgstr ""
+msgstr "Nomenclature et Production"
#: erpnext/stock/doctype/material_request/material_request.js:347
#: erpnext/stock/doctype/stock_entry/stock_entry.js:683
@@ -7112,20 +7112,20 @@ msgstr "Nomenclature {0} doit être soumise"
#: erpnext/manufacturing/doctype/bom/bom.py:723
msgid "BOM {0} not found for the item {1}"
-msgstr ""
+msgstr "La nomenclature {0} n'existe pas pour l'article {1}"
#. Label of the boms_updated (Long Text) field in DocType 'BOM Update Batch'
#: erpnext/manufacturing/doctype/bom_update_batch/bom_update_batch.json
msgid "BOMs Updated"
-msgstr ""
+msgstr "Nomenclatures mises à jour"
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:267
msgid "BOMs created successfully"
-msgstr ""
+msgstr "Nomenclatures créées avec succès"
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:277
msgid "BOMs creation failed"
-msgstr ""
+msgstr "Échec de création des Nomenclatures"
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:224
msgid "BOMs creation has been enqueued, kindly check the status after some time"
@@ -7179,7 +7179,7 @@ msgstr "Solde"
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html:41
msgid "Balance (Dr - Cr)"
-msgstr ""
+msgstr "Solde (Debit - Crédit)"
#: erpnext/accounts/report/general_ledger/general_ledger.py:663
msgid "Balance ({0})"
@@ -7478,7 +7478,7 @@ msgstr "Outil de réconcialiation d'écritures bancaires"
#. Name of a DocType
#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.json
msgid "Bank Statement Import"
-msgstr ""
+msgstr "Importation de relevés bancaires"
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:40
msgid "Bank Statement balance as per General Ledger"
@@ -7504,23 +7504,23 @@ msgstr "Paiements bancaires"
#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:493
msgid "Bank Transaction {0} Matched"
-msgstr ""
+msgstr "Transaction bancaire {0} correspondante"
#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:541
msgid "Bank Transaction {0} added as Journal Entry"
-msgstr ""
+msgstr "La transaction bancaire {0} a été ajoutée en tant qu'écriture de journaux"
#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:516
msgid "Bank Transaction {0} added as Payment Entry"
-msgstr ""
+msgstr "La transaction bancaire {0} a été ajoutée en tant qu'entrée de paiement"
#: erpnext/accounts/doctype/bank_transaction/bank_transaction.py:143
msgid "Bank Transaction {0} is already fully reconciled"
-msgstr ""
+msgstr "La transaction bancaire {0} est déjà entièrement réconciliée"
#: erpnext/public/js/bank_reconciliation_tool/dialog_manager.js:561
msgid "Bank Transaction {0} updated"
-msgstr ""
+msgstr "Transaction bancaire {0} mise à jour"
#: erpnext/setup/setup_wizard/operations/install_fixtures.py:546
msgid "Bank account cannot be named as {0}"
@@ -7542,7 +7542,7 @@ msgstr "Erreur de création de transaction bancaire"
#. Reconciliation'
#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.json
msgid "Bank/Cash Account"
-msgstr ""
+msgstr "Compte bancaire/espèces"
#: erpnext/accounts/doctype/process_payment_reconciliation/process_payment_reconciliation.py:57
msgid "Bank/Cash Account {0} doesn't belong to company {1}"
@@ -7559,7 +7559,7 @@ msgstr "Banque"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Bar"
-msgstr ""
+msgstr "Bar"
#. Label of the barcode (Data) field in DocType 'POS Invoice Item'
#. Label of the barcode (Data) field in DocType 'Sales Invoice Item'
@@ -7603,22 +7603,22 @@ msgstr "Codes-barres"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Barleycorn"
-msgstr ""
+msgstr "Barleycorn"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Barrel (Oil)"
-msgstr ""
+msgstr "Baril (de pétrole)"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Barrel(Beer)"
-msgstr ""
+msgstr "Fut (bière)"
#. Label of the base_amount (Currency) field in DocType 'BOM Creator Item'
#: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
msgid "Base Amount"
-msgstr ""
+msgstr "Montant de base"
#. Label of the base_amount (Currency) field in DocType 'Sales Invoice Payment'
#: erpnext/accounts/doctype/sales_invoice_payment/sales_invoice_payment.json
@@ -7635,7 +7635,7 @@ msgstr "Montant de Base à Rendre (Devise de la Société)"
#. Label of the base_cost_per_unit (Float) field in DocType 'BOM Operation'
#: erpnext/manufacturing/doctype/bom_operation/bom_operation.json
msgid "Base Cost Per Unit"
-msgstr ""
+msgstr "Coût de base par unité"
#. Label of the base_hour_rate (Currency) field in DocType 'BOM Operation'
#: erpnext/manufacturing/doctype/bom_operation/bom_operation.json
@@ -7645,7 +7645,7 @@ msgstr "Taux Horaire de Base (Devise de la Société)"
#. Label of the base_rate (Currency) field in DocType 'BOM Creator Item'
#: erpnext/manufacturing/doctype/bom_creator_item/bom_creator_item.json
msgid "Base Rate"
-msgstr ""
+msgstr "Cout de base"
#. Label of the base_tax_withholding_net_total (Currency) field in DocType
#. 'Purchase Invoice'
@@ -7657,11 +7657,11 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
msgid "Base Tax Withholding Net Total"
-msgstr ""
+msgstr "Impôt retenu à la source sur le total net"
#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:241
msgid "Base Total"
-msgstr ""
+msgstr "Total Net"
#. Label of the base_total_billable_amount (Currency) field in DocType
#. 'Timesheet'
@@ -7794,7 +7794,7 @@ msgstr "Détails du lot"
#: erpnext/stock/doctype/batch/batch.py:197
msgid "Batch Expiry Date"
-msgstr ""
+msgstr "Date d'expiration du lot"
#. Label of the batch_id (Data) field in DocType 'Batch'
#: erpnext/stock/doctype/batch/batch.json
@@ -7873,11 +7873,11 @@ msgstr "N° du Lot"
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:868
msgid "Batch No is mandatory"
-msgstr ""
+msgstr "Le numéro de lot est obligatoire"
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2630
msgid "Batch No {0} does not exists"
-msgstr ""
+msgstr "Le lot n° {0} n'existe pas"
#: erpnext/stock/utils.py:632
msgid "Batch No {0} is linked with Item {1} which has serial no. Please scan serial no instead."
@@ -7890,7 +7890,7 @@ msgstr ""
#. Label of the batch_no (Int) field in DocType 'BOM Update Batch'
#: erpnext/manufacturing/doctype/bom_update_batch/bom_update_batch.json
msgid "Batch No."
-msgstr ""
+msgstr "N° du Lot."
#: erpnext/public/js/utils/serial_no_batch_selector.js:16
#: erpnext/public/js/utils/serial_no_batch_selector.js:190
@@ -7900,11 +7900,11 @@ msgstr "Numéros de lots"
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1422
msgid "Batch Nos are created successfully"
-msgstr ""
+msgstr "Les numéros de lot sont créés avec succès"
#: erpnext/controllers/sales_and_purchase_return.py:1001
msgid "Batch Not Available for Return"
-msgstr ""
+msgstr "Lot non disponible pour le retour"
#. Label of the batch_number_series (Data) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -7913,7 +7913,7 @@ msgstr "Série de numéros de lots"
#: erpnext/stock/report/serial_and_batch_summary/serial_and_batch_summary.py:153
msgid "Batch Qty"
-msgstr ""
+msgstr "Qté du lot"
#. Label of the batch_qty (Float) field in DocType 'Batch'
#: erpnext/stock/doctype/batch/batch.json
@@ -7949,7 +7949,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:258
msgid "Batch {0} and Warehouse"
-msgstr ""
+msgstr "Lot {0} et entrepôt"
#: erpnext/controllers/sales_and_purchase_return.py:1000
msgid "Batch {0} is not available in warehouse {1}"
@@ -7986,13 +7986,13 @@ msgstr "Avant la réconciliation"
#. Label of the start (Int) field in DocType 'Task'
#: erpnext/projects/doctype/task/task.json
msgid "Begin On (Days)"
-msgstr "Commencer sur (jours)"
+msgstr "Commencer le (jours)"
#. Option for the 'Generate Invoice At' (Select) field in DocType
#. 'Subscription'
#: erpnext/accounts/doctype/subscription/subscription.json
msgid "Beginning of the current subscription period"
-msgstr ""
+msgstr "Début de la période d'abonnement en cours"
#: erpnext/accounts/doctype/subscription/subscription.py:320
msgid "Below Subscription Plans are of different currency to the party default billing currency/Company currency: {0}"
@@ -8063,7 +8063,7 @@ msgstr "Mnt Facturé"
#. Name of a report
#: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.json
msgid "Billed Items To Be Received"
-msgstr ""
+msgstr "Articles facturés à recevoir"
#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:261
#: erpnext/selling/report/sales_order_analysis/sales_order_analysis.py:276
@@ -8367,7 +8367,7 @@ msgstr "Groupe Sanguin"
#: erpnext/buying/doctype/supplier_scorecard_standing/supplier_scorecard_standing.json
#: erpnext/setup/setup_wizard/operations/install_fixtures.py:267
msgid "Blue"
-msgstr ""
+msgstr "Bleue"
#. Label of the body (Text Editor) field in DocType 'Process Statement Of
#. Accounts'
@@ -8437,7 +8437,7 @@ msgstr ""
#: erpnext/www/book_appointment/index.html:15
msgid "Book an appointment"
-msgstr ""
+msgstr "Prendre rendez-vous"
#. Option for the 'Status' (Select) field in DocType 'Shipment'
#: erpnext/stock/doctype/shipment/shipment.json
@@ -8658,7 +8658,7 @@ msgstr ""
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:380
#: erpnext/accounts/workspace/accounting/accounting.json
msgid "Budget"
-msgstr ""
+msgstr "Budget"
#. Name of a DocType
#: erpnext/accounts/doctype/budget_account/budget_account.json
@@ -8691,7 +8691,7 @@ msgstr "Détail du budget"
#: erpnext/controllers/budget_controller.py:286
#: erpnext/controllers/budget_controller.py:289
msgid "Budget Exceeded"
-msgstr ""
+msgstr "Budget dépassé"
#: erpnext/accounts/doctype/cost_center/cost_center_tree.js:61
msgid "Budget List"
@@ -8715,7 +8715,7 @@ msgstr "Budget ne peut pas être affecté pour {0}, car ce n’est pas un compte
#: erpnext/accounts/doctype/fiscal_year/fiscal_year_dashboard.py:8
msgid "Budgets"
-msgstr ""
+msgstr "Budgets"
#. Option for the 'Data Fetch Method' (Select) field in DocType 'Accounts
#. Settings'
@@ -8856,7 +8856,7 @@ msgstr "Paramètres d'Achat"
#. Label of the buying_and_selling_tab (Tab Break) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
msgid "Buying and Selling"
-msgstr ""
+msgstr "L'achat et la vente"
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.py:219
msgid "Buying must be checked, if Applicable For is selected as {0}"
@@ -8909,7 +8909,7 @@ msgstr ""
#. Label of a Card Break in the Home Workspace
#: erpnext/crm/workspace/crm/crm.json erpnext/setup/workspace/home/home.json
msgid "CRM"
-msgstr ""
+msgstr "CRM"
#. Name of a DocType
#: erpnext/crm/doctype/crm_note/crm_note.json
@@ -8938,17 +8938,17 @@ msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Cable Length"
-msgstr ""
+msgstr "Longueur de câble"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Cable Length (UK)"
-msgstr ""
+msgstr "Longueur du câble (UK)"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Cable Length (US)"
-msgstr ""
+msgstr "Longueur du câble (US)"
#: erpnext/accounts/report/accounts_payable/accounts_payable.js:65
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.js:94
@@ -9151,7 +9151,7 @@ msgstr ""
#: erpnext/setup/setup_wizard/data/marketing_source.txt:9
#: erpnext/stock/doctype/delivery_note/delivery_note.json
msgid "Campaign"
-msgstr ""
+msgstr "Campagne"
#. Name of a report
#. Label of a Link in the CRM Workspace
@@ -9393,7 +9393,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.py:644
#: erpnext/stock/doctype/item/item.py:658
msgid "Cannot Merge"
-msgstr ""
+msgstr "Impossible de fusionner"
#: erpnext/stock/doctype/delivery_trip/delivery_trip.js:123
msgid "Cannot Optimize Route as Driver Address is Missing."
@@ -9490,7 +9490,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.py:1722
#: erpnext/stock/doctype/pick_list/pick_list.py:182
msgid "Cannot create a pick list for Sales Order {0} because it has reserved stock. Please unreserve the stock in order to create a pick list."
-msgstr ""
+msgstr "Impossible de créer une liste de prélèvement pour la Commande client {0} car il y a du stock réservé. Veuillez annuler la réservation de stock pour créer une liste de prélèvement."
#: erpnext/accounts/general_ledger.py:147
msgid "Cannot create accounting entries against disabled accounts: {0}"
@@ -9552,7 +9552,7 @@ msgstr "Impossible de produire plus d'Article {0} que la quantité {1} du de la
#: erpnext/manufacturing/doctype/work_order/work_order.py:1133
msgid "Cannot produce more item for {0}"
-msgstr ""
+msgstr "Impossible de produire plus d'articles pour {0}"
#: erpnext/manufacturing/doctype/work_order/work_order.py:1137
msgid "Cannot produce more than {0} items for {1}"
@@ -9646,11 +9646,11 @@ msgstr "Planification de Capacité Pendant (Jours)"
#. Label of the stock_capacity (Float) field in DocType 'Putaway Rule'
#: erpnext/stock/doctype/putaway_rule/putaway_rule.json
msgid "Capacity in Stock UOM"
-msgstr ""
+msgstr "Capacité dans l'unité de stockage"
#: erpnext/stock/doctype/putaway_rule/putaway_rule.py:85
msgid "Capacity must be greater than 0"
-msgstr ""
+msgstr "Capacité doit être plus grande que 0"
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:26
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:39
@@ -9701,7 +9701,7 @@ msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Carat"
-msgstr ""
+msgstr "Carat"
#. Title of an incoterm
#: erpnext/setup/doctype/incoterm/incoterms.csv:6
@@ -9716,7 +9716,7 @@ msgstr ""
#. Label of the carrier (Data) field in DocType 'Shipment'
#: erpnext/stock/doctype/shipment/shipment.json
msgid "Carrier"
-msgstr ""
+msgstr "Transporteur"
#. Label of the carrier_service (Data) field in DocType 'Shipment'
#: erpnext/stock/doctype/shipment/shipment.json
@@ -9820,12 +9820,12 @@ msgstr "Attraper tout"
#. Accounts'
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
msgid "Categorize By"
-msgstr ""
+msgstr "Catégoriser par"
#: erpnext/accounts/report/general_ledger/general_ledger.js:116
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:80
msgid "Categorize by"
-msgstr ""
+msgstr "Catégoriser par"
#: erpnext/accounts/report/general_ledger/general_ledger.js:129
msgid "Categorize by Account"
@@ -9833,7 +9833,7 @@ msgstr ""
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:84
msgid "Categorize by Item"
-msgstr ""
+msgstr "Catégoriser par article"
#: erpnext/accounts/report/general_ledger/general_ledger.js:133
msgid "Categorize by Party"
@@ -9898,7 +9898,7 @@ msgstr "Numéro de téléphone portable"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Celsius"
-msgstr ""
+msgstr "Celsius"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -9918,12 +9918,12 @@ msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Centilitre"
-msgstr ""
+msgstr "Centilitre"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Centimeter"
-msgstr ""
+msgstr "Centimètre"
#. Label of the certificate_attachement (Attach) field in DocType 'Asset
#. Maintenance Log'
@@ -10054,7 +10054,7 @@ msgstr "Graphique"
#. Label of the tab_break_dpet (Tab Break) field in DocType 'Accounts Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
msgid "Chart Of Accounts"
-msgstr ""
+msgstr "Plan Comptable"
#. Label of the chart_of_accounts (Select) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
@@ -10234,7 +10234,7 @@ msgstr "Chèques et Dépôts incorrectement compensés"
#: erpnext/setup/setup_wizard/data/designation.txt:9
msgid "Chief Executive Officer"
-msgstr ""
+msgstr "Président.e Directeur.ice Général"
#: erpnext/setup/setup_wizard/data/designation.txt:10
msgid "Chief Financial Officer"
@@ -10317,7 +10317,7 @@ msgstr ""
#. Deletion Record'
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.json
msgid "Clear Notifications"
-msgstr ""
+msgstr "Effacer les notifications"
#. Label of the clear_table (Button) field in DocType 'Holiday List'
#: erpnext/setup/doctype/holiday_list/holiday_list.json
@@ -10386,7 +10386,7 @@ msgstr ""
#. Option for the 'Lead Type' (Select) field in DocType 'Lead'
#: erpnext/crm/doctype/lead/lead.json
msgid "Client"
-msgstr ""
+msgstr "Client"
#: erpnext/buying/doctype/purchase_order/purchase_order.js:374
#: erpnext/buying/doctype/purchase_order/purchase_order_list.js:54
@@ -10559,7 +10559,7 @@ msgstr ""
#: erpnext/edi/doctype/code_list/code_list_import.js:172
#: erpnext/setup/doctype/incoterm/incoterm.json
msgid "Code"
-msgstr ""
+msgstr "Code"
#. Name of a DocType
#. Label of the code_list (Link) field in DocType 'Common Code'
@@ -10626,7 +10626,7 @@ msgstr "Colonne dans le fichier bancaire"
#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.js:412
msgid "Column {0}"
-msgstr ""
+msgstr "Colonne {0}"
#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:52
msgid "Columns are not according to template. Please compare the uploaded file with standard template"
@@ -10665,7 +10665,7 @@ msgstr ""
#: erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.py:83
#: erpnext/stock/doctype/delivery_note/delivery_note.json
msgid "Commission"
-msgstr ""
+msgstr "Commission"
#. Label of the default_commission_rate (Float) field in DocType 'Customer'
#. Label of the commission_rate (Float) field in DocType 'Sales Order'
@@ -10684,7 +10684,7 @@ msgstr "Taux de Commission"
#: erpnext/selling/report/sales_partner_transaction_summary/sales_partner_transaction_summary.py:78
#: erpnext/selling/report/sales_person_commission_summary/sales_person_commission_summary.py:82
msgid "Commission Rate %"
-msgstr ""
+msgstr "Taux de Commission %"
#. Label of the commission_rate (Float) field in DocType 'POS Invoice'
#. Label of the commission_rate (Float) field in DocType 'Sales Invoice'
@@ -10693,7 +10693,7 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/stock/doctype/delivery_note/delivery_note.json
msgid "Commission Rate (%)"
-msgstr ""
+msgstr "Taux de Commission (%)"
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:55
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:80
@@ -11338,7 +11338,7 @@ msgstr "Le champ de l'entreprise est obligatoire"
#: erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py:77
msgid "Company is mandatory"
-msgstr ""
+msgstr "L'entreprise est obligatoire"
#: erpnext/accounts/doctype/bank_account/bank_account.py:73
msgid "Company is mandatory for company account"
@@ -11540,7 +11540,7 @@ msgstr "Effectué par"
#. Label of the completed_on (Date) field in DocType 'Task'
#: erpnext/projects/doctype/task/task.json
msgid "Completed On"
-msgstr ""
+msgstr "Terminé le"
#: erpnext/projects/doctype/task/task.py:173
msgid "Completed On cannot be greater than Today"
@@ -11574,7 +11574,7 @@ msgstr "Quantité terminée"
#: erpnext/projects/report/project_summary/project_summary.py:136
#: erpnext/public/js/templates/crm_activities.html:64
msgid "Completed Tasks"
-msgstr ""
+msgstr "Tâches terminées"
#. Label of the completed_time (Data) field in DocType 'Job Card Operation'
#: erpnext/manufacturing/doctype/job_card_operation/job_card_operation.json
@@ -11633,7 +11633,7 @@ msgstr "Ordinateur"
#: erpnext/accounts/doctype/pricing_rule/pricing_rule.json
#: erpnext/support/doctype/service_level_agreement/service_level_agreement.json
msgid "Condition"
-msgstr "Conditions"
+msgstr "Condition"
#. Label of the condition (Code) field in DocType 'Inventory Dimension'
#: erpnext/stock/doctype/inventory_dimension/inventory_dimension.json
@@ -11661,7 +11661,7 @@ msgstr "Des conditions seront appliquées sur tous les éléments sélectionnés
#: erpnext/accounts/doctype/pos_profile/pos_profile.json
#: erpnext/manufacturing/doctype/work_order/work_order.json
msgid "Configuration"
-msgstr ""
+msgstr "Paramétrage"
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:56
msgid "Configure Product Assembly"
@@ -11728,7 +11728,7 @@ msgstr "Date de Confirmation"
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Connections"
-msgstr ""
+msgstr "Connexions"
#: erpnext/accounts/report/general_ledger/general_ledger.js:175
msgid "Consider Accounting Dimensions"
@@ -11822,7 +11822,7 @@ msgstr "Facture de vente consolidée"
#: erpnext/crm/doctype/lead/lead.json
#: erpnext/setup/setup_wizard/data/designation.txt:8
msgid "Consultant"
-msgstr ""
+msgstr "Consultant"
#: erpnext/setup/setup_wizard/data/industry_type.txt:14
msgid "Consulting"
@@ -11903,7 +11903,7 @@ msgstr ""
#. Consumed Item'
#: erpnext/assets/doctype/asset_repair_consumed_item/asset_repair_consumed_item.json
msgid "Consumed Quantity"
-msgstr ""
+msgstr "Quantité consommée"
#. Label of the section_break_16 (Section Break) field in DocType 'Asset
#. Capitalization'
@@ -11998,7 +11998,7 @@ msgstr ""
#: erpnext/support/doctype/issue/issue.json
#: erpnext/support/doctype/warranty_claim/warranty_claim.json
msgid "Contact"
-msgstr ""
+msgstr "Contact"
#. Label of the contact_desc (HTML) field in DocType 'Sales Partner'
#: erpnext/setup/doctype/sales_partner/sales_partner.json
@@ -12007,7 +12007,7 @@ msgstr "Desc. du Contact"
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:891
msgid "Contact Details"
-msgstr "Coordonnées"
+msgstr "Coordonnées du contact"
#. Label of the contact_email (Data) field in DocType 'Dunning'
#. Label of the contact_email (Data) field in DocType 'POS Invoice'
@@ -12177,7 +12177,7 @@ msgstr "Contact: "
#. Label of the contact_info (Tab Break) field in DocType 'Opportunity'
#: erpnext/crm/doctype/opportunity/opportunity.json
msgid "Contacts"
-msgstr ""
+msgstr "Contacts"
#. Label of the utm_content (Data) field in DocType 'Sales Invoice'
#. Label of the utm_content (Data) field in DocType 'Lead'
@@ -12399,7 +12399,7 @@ msgstr "Convertir en groupe"
#: erpnext/stock/doctype/warehouse/warehouse.js:53
msgctxt "Warehouse"
msgid "Convert to Group"
-msgstr "Convertir en groupe"
+msgstr "Convertir en parent"
#: erpnext/stock/doctype/stock_reposting_settings/stock_reposting_settings.js:10
msgid "Convert to Item Based Reposting"
@@ -12454,20 +12454,20 @@ msgstr "Action corrective"
#: erpnext/manufacturing/doctype/job_card/job_card.js:391
msgid "Corrective Job Card"
-msgstr ""
+msgstr "Carte de travail corrective"
#. Label of the corrective_operation_section (Tab Break) field in DocType 'Job
#. Card'
#: erpnext/manufacturing/doctype/job_card/job_card.js:398
#: erpnext/manufacturing/doctype/job_card/job_card.json
msgid "Corrective Operation"
-msgstr ""
+msgstr "Opération corrective"
#. Label of the corrective_operation_cost (Currency) field in DocType 'Work
#. Order'
#: erpnext/manufacturing/doctype/work_order/work_order.json
msgid "Corrective Operation Cost"
-msgstr ""
+msgstr "Coût des opérations correctives"
#. Label of the corrective_preventive (Select) field in DocType 'Quality
#. Action'
@@ -12731,7 +12731,7 @@ msgstr ""
#. Label of the cost_per_unit (Float) field in DocType 'BOM Operation'
#: erpnext/manufacturing/doctype/bom_operation/bom_operation.json
msgid "Cost Per Unit"
-msgstr ""
+msgstr "Coût par unité"
#. Title of an incoterm
#: erpnext/setup/doctype/incoterm/incoterms.csv:8
@@ -13179,7 +13179,7 @@ msgstr "Créer un nouveau contact"
#: erpnext/public/js/call_popup/call_popup.js:128
msgid "Create New Customer"
-msgstr ""
+msgstr "Créer un nouveau client"
#: erpnext/public/js/call_popup/call_popup.js:134
msgid "Create New Lead"
@@ -13187,7 +13187,7 @@ msgstr "Créer une nouvelle lead"
#: erpnext/crm/doctype/lead/lead.js:160
msgid "Create Opportunity"
-msgstr ""
+msgstr "Créer une opportunité"
#: erpnext/selling/page/point_of_sale/pos_controller.js:67
msgid "Create POS Opening Entry"
@@ -13199,7 +13199,7 @@ msgstr "Créer une entrée de paiement"
#: erpnext/manufacturing/doctype/work_order/work_order.js:725
msgid "Create Pick List"
-msgstr "Créer une liste de choix"
+msgstr "Créer une liste de prélèvement"
#: erpnext/accounts/doctype/cheque_print_template/cheque_print_template.js:10
msgid "Create Print Format"
@@ -13207,7 +13207,7 @@ msgstr "Créer Format d'Impression"
#: erpnext/crm/doctype/lead/lead_list.js:8
msgid "Create Prospect"
-msgstr ""
+msgstr "Créer un prospect"
#: erpnext/selling/doctype/sales_order/sales_order.js:1226
#: erpnext/utilities/activation.py:105
@@ -13364,7 +13364,7 @@ msgstr ""
#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:60
msgid "Creating Purchase Invoices ..."
-msgstr ""
+msgstr "Création de factures d'achat ..."
#: erpnext/selling/doctype/sales_order/sales_order.js:1246
msgid "Creating Purchase Order ..."
@@ -13374,16 +13374,16 @@ msgstr "Création d'une commande d'achat ..."
#: erpnext/buying/doctype/purchase_order/purchase_order.js:552
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.js:73
msgid "Creating Purchase Receipt ..."
-msgstr ""
+msgstr "Création d'un reçu d'achat ..."
#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.js:58
msgid "Creating Sales Invoices ..."
-msgstr ""
+msgstr "Créer une facture de vente ..."
#: erpnext/buying/doctype/purchase_order/purchase_order.js:123
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.js:213
msgid "Creating Stock Entry"
-msgstr ""
+msgstr "Création d'une entrée de stock"
#: erpnext/buying/doctype/purchase_order/purchase_order.js:567
msgid "Creating Subcontracting Order ..."
@@ -13395,7 +13395,7 @@ msgstr ""
#: erpnext/setup/doctype/employee/employee.js:80
msgid "Creating User..."
-msgstr ""
+msgstr "Création de l'utilisateur..."
#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:284
msgid "Creating {} out of {} {}"
@@ -13680,7 +13680,7 @@ msgstr ""
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Cubic Centimeter"
-msgstr ""
+msgstr "Centimètre cube"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
@@ -14255,7 +14255,7 @@ msgstr "Client"
#. Label of the customer (Link) field in DocType 'Customer Item'
#: erpnext/accounts/doctype/customer_item/customer_item.json
msgid "Customer "
-msgstr ""
+msgstr "Client "
#. Label of the master_name (Dynamic Link) field in DocType 'Authorization
#. Rule'
@@ -14465,7 +14465,7 @@ msgstr "Groupes de Clients"
#. Name of a DocType
#: erpnext/accounts/doctype/customer_item/customer_item.json
msgid "Customer Item"
-msgstr ""
+msgstr "Article client"
#. Label of the customer_items (Table) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -15157,7 +15157,7 @@ msgstr "Débit"
#: erpnext/accounts/report/general_ledger/general_ledger.py:674
msgid "Debit (Transaction)"
-msgstr ""
+msgstr "Débit (Transaction)"
#: erpnext/accounts/report/general_ledger/general_ledger.py:649
msgid "Debit ({0})"
@@ -15274,17 +15274,17 @@ msgstr "Débiteurs"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Decigram/Litre"
-msgstr ""
+msgstr "Décigramme/Litre"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Decilitre"
-msgstr ""
+msgstr "Décilitre"
#. Name of a UOM
#: erpnext/setup/setup_wizard/data/uom_data.json
msgid "Decimeter"
-msgstr ""
+msgstr "Décimètre"
#: erpnext/public/js/utils/sales_common.js:557
msgid "Declare Lost"
@@ -15561,7 +15561,7 @@ msgstr "Fabricant de l'article par défaut"
#. Label of the default_letter_head (Link) field in DocType 'Company'
#: erpnext/setup/doctype/company/company.json
msgid "Default Letter Head"
-msgstr "En-Tête de Courrier par Défaut"
+msgstr "En-tête et pied de page par défaut"
#. Label of the default_manufacturer_part_no (Data) field in DocType 'Item'
#: erpnext/stock/doctype/item/item.json
@@ -16779,7 +16779,7 @@ msgstr ""
#: erpnext/templates/generators/bom.html:83
#: erpnext/utilities/doctype/video/video.json
msgid "Description"
-msgstr ""
+msgstr "Description"
#. Label of the description_of_content (Small Text) field in DocType 'Shipment'
#: erpnext/stock/doctype/shipment/shipment.json
@@ -16818,7 +16818,7 @@ msgstr ""
#: erpnext/stock/doctype/item/item.json
#: erpnext/support/doctype/service_level_agreement/service_level_agreement.json
msgid "Desk User"
-msgstr ""
+msgstr "Utilisateur du backoffice"
#. Label of the order_lost_reason (Small Text) field in DocType 'Opportunity'
#. Label of the order_lost_reason (Small Text) field in DocType 'Quotation'
@@ -17857,7 +17857,7 @@ msgstr ""
#. Label of the mute_emails (Check) field in DocType 'Bank Statement Import'
#: erpnext/accounts/doctype/bank_statement_import/bank_statement_import.json
msgid "Don't Send Emails"
-msgstr "Ne pas envoyer d'emails"
+msgstr "Ne pas envoyer d'emails"
#. Label of the done (Check) field in DocType 'Transaction Deletion Record
#. Details'
@@ -18522,12 +18522,12 @@ msgstr ""
#: erpnext/selling/page/point_of_sale/pos_item_cart.js:936
#: erpnext/setup/doctype/company/company.json
msgid "Email"
-msgstr ""
+msgstr "Courriel"
#. Label of a Card Break in the Settings Workspace
#: erpnext/setup/workspace/settings/settings.json
msgid "Email / Notifications"
-msgstr ""
+msgstr "Courriels et notifications"
#. Label of a Link in the Home Workspace
#. Label of a Link in the Settings Workspace
@@ -18541,11 +18541,11 @@ msgstr "Compte Email"
#. Label of the email_id (Data) field in DocType 'Warehouse'
#: erpnext/stock/doctype/warehouse/warehouse.json
msgid "Email Address"
-msgstr "Adresse électronique"
+msgstr "Email"
#: erpnext/www/book_appointment/index.html:52
msgid "Email Address (required)"
-msgstr ""
+msgstr "Email (obligatoire)"
#: erpnext/crm/doctype/lead/lead.py:164
msgid "Email Address must be unique, it is already used in {0}"
@@ -18640,7 +18640,7 @@ msgstr "Paramètres d'Email"
#: erpnext/crm/doctype/campaign_email_schedule/campaign_email_schedule.json
#: erpnext/setup/workspace/settings/settings.json
msgid "Email Template"
-msgstr "Modèle d'email"
+msgstr "Modèle d'email"
#: erpnext/selling/page/point_of_sale/pos_past_order_summary.js:314
msgid "Email not sent to {0} (unsubscribed / disabled)"
@@ -19352,7 +19352,7 @@ msgstr "Journal des Erreurs"
#. Label of the error_message (Text) field in DocType 'Period Closing Voucher'
#: erpnext/accounts/doctype/period_closing_voucher/period_closing_voucher.json
msgid "Error Message"
-msgstr "Message d'erreur"
+msgstr "Message d'erreur"
#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.py:274
msgid "Error Occurred"
@@ -19659,7 +19659,7 @@ msgstr ""
#. Label of the exit (Tab Break) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
msgid "Exit"
-msgstr ""
+msgstr "Départ"
#. Label of the held_on (Date) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
@@ -20162,7 +20162,7 @@ msgstr ""
#: erpnext/crm/doctype/prospect/prospect.json
#: erpnext/setup/doctype/company/company.json
msgid "Fax"
-msgstr ""
+msgstr "Fax"
#. Label of the feedback (Link) field in DocType 'Quality Action'
#. Label of the feedback (Text Editor) field in DocType 'Quality Feedback
@@ -20298,7 +20298,7 @@ msgstr "Nom du Champ"
#. Label of the fields (Table) field in DocType 'Item Variant Settings'
#: erpnext/stock/doctype/item_variant_settings/item_variant_settings.json
msgid "Fields"
-msgstr "Champ"
+msgstr "Champs"
#. Description of the 'Do not update variants on save' (Check) field in DocType
#. 'Item Variant Settings'
@@ -20473,7 +20473,7 @@ msgstr ""
#. Name of a Workspace
#: erpnext/accounts/workspace/financial_reports/financial_reports.json
msgid "Financial Reports"
-msgstr ""
+msgstr "Rapports financiers"
#: erpnext/setup/setup_wizard/data/industry_type.txt:24
msgid "Financial Services"
@@ -21401,7 +21401,7 @@ msgstr "La date de début et la date de fin sont obligatoires"
#: erpnext/accounts/report/financial_statements.py:133
msgid "From Date and To Date are mandatory"
-msgstr ""
+msgstr "La date de début et la date de fin sont obligatoires"
#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:46
msgid "From Date and To Date lie in different Fiscal Year"
@@ -21928,7 +21928,7 @@ msgstr ""
#: erpnext/selling/doctype/customer/customer.json
#: erpnext/setup/doctype/employee/employee.json
msgid "Gender"
-msgstr "Sexe"
+msgstr "Genre"
#. Option for the 'Type' (Select) field in DocType 'Mode of Payment'
#: erpnext/accounts/doctype/mode_of_payment/mode_of_payment.json
@@ -22042,7 +22042,7 @@ msgstr "Obtenir le Stock Actuel"
#: erpnext/selling/doctype/customer/customer.js:185
msgid "Get Customer Group Details"
-msgstr ""
+msgstr "Appliquer les informations depuis le Groupe de client"
#. Label of the get_entries (Button) field in DocType 'Exchange Rate
#. Revaluation'
@@ -22754,7 +22754,7 @@ msgstr "Semestriel"
#: erpnext/selling/report/sales_person_target_variance_based_on_item_group/sales_person_target_variance_based_on_item_group.js:34
#: erpnext/selling/report/territory_target_variance_based_on_item_group/territory_target_variance_based_on_item_group.js:34
msgid "Half-Yearly"
-msgstr ""
+msgstr "Demi-année"
#. Option for the 'Periodicity' (Select) field in DocType 'Asset Maintenance
#. Task'
@@ -23336,7 +23336,7 @@ msgstr ""
#. Description of the 'Scan Mode' (Check) field in DocType 'Pick List'
#: erpnext/stock/doctype/pick_list/pick_list.json
msgid "If checked, picked qty won't automatically be fulfilled on submit of pick list."
-msgstr ""
+msgstr "Si coché, la quantité prélevée ne sera pas automatiquement renseignée à la validation de la liste de prélèvement."
#. Description of the 'Considered In Paid Amount' (Check) field in DocType
#. 'Purchase Taxes and Charges'
@@ -23382,7 +23382,7 @@ msgstr "Si coché, le champ 'Total Arrondi' ne sera visible dans aucune transact
#. List'
#: erpnext/stock/doctype/pick_list/pick_list.json
msgid "If enabled then system won't apply the pricing rule on the delivery note which will be create from the pick list"
-msgstr ""
+msgstr "Si activé, les règles de prix ne seront pas appliqués sur le Bon de livraison qui serait créé depuis la liste de prélèvement"
#. Description of the 'Pick Manually' (Check) field in DocType 'Pick List'
#: erpnext/stock/doctype/pick_list/pick_list.json
@@ -24837,7 +24837,7 @@ msgstr ""
#: erpnext/stock/doctype/putaway_rule/putaway_rule.py:81
#: erpnext/stock/doctype/putaway_rule/putaway_rule.py:308
msgid "Insufficient Capacity"
-msgstr ""
+msgstr "Capacité insuffisante"
#: erpnext/controllers/accounts_controller.py:3593
#: erpnext/controllers/accounts_controller.py:3617
@@ -25967,7 +25967,7 @@ msgstr "Est Standard"
#: erpnext/manufacturing/doctype/bom_item/bom_item.json
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
msgid "Is Stock Item"
-msgstr ""
+msgstr "Article géré en stock"
#. Label of the is_subcontracted (Check) field in DocType 'Purchase Invoice'
#. Label of the is_subcontracted (Check) field in DocType 'Purchase Order'
@@ -27710,7 +27710,7 @@ msgstr "Travail commencé"
#: erpnext/crm/doctype/lead/lead.json
#: erpnext/crm/doctype/opportunity/opportunity.json
msgid "Job Title"
-msgstr "Titre de l'Emploi"
+msgstr "Titre du poste"
#. Label of the supplier (Link) field in DocType 'Subcontracting Order'
#. Label of the supplier (Link) field in DocType 'Subcontracting Receipt'
@@ -28019,7 +28019,7 @@ msgstr ""
#: erpnext/accounts/doctype/pos_field/pos_field.json
#: erpnext/stock/doctype/item_website_specification/item_website_specification.json
msgid "Label"
-msgstr "Étiquette"
+msgstr "Libellé"
#. Label of the landed_cost_help (HTML) field in DocType 'Landed Cost Voucher'
#: erpnext/stock/doctype/landed_cost_voucher/landed_cost_voucher.json
@@ -28198,7 +28198,7 @@ msgstr ""
#: erpnext/setup/workspace/home/home.json
#: erpnext/support/doctype/issue/issue.json
msgid "Lead"
-msgstr ""
+msgstr "Lead"
#: erpnext/crm/doctype/lead/lead.py:548
msgid "Lead -> Prospect"
@@ -28505,7 +28505,7 @@ msgstr "Moins que le montant"
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
msgid "Letter Head"
-msgstr "En-Tête"
+msgstr "En-tête et pied de page"
#. Description of the 'Body Text' (Text Editor) field in DocType 'Dunning
#. Letter Text'
@@ -32344,7 +32344,7 @@ msgstr "Aucun {0} n'a été trouvé pour les transactions inter-sociétés."
#: erpnext/assets/doctype/asset/asset.js:280
msgid "No."
-msgstr ""
+msgstr "N°."
#. Label of the no_of_employees (Select) field in DocType 'Prospect'
#: erpnext/crm/doctype/prospect/prospect.json
@@ -32530,7 +32530,7 @@ msgstr "Pas permis"
#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:968
#: erpnext/templates/pages/timelog_info.html:43
msgid "Note"
-msgstr ""
+msgstr "Note"
#: erpnext/manufacturing/doctype/bom_update_log/bom_update_log_list.js:21
msgid "Note: Automatic log deletion only applies to logs of type Update Cost"
@@ -32861,7 +32861,7 @@ msgstr ""
#: erpnext/support/report/issue_summary/issue_summary.js:44
#: erpnext/support/report/issue_summary/issue_summary.py:372
msgid "On Hold"
-msgstr ""
+msgstr "En attente"
#. Label of the on_hold_since (Datetime) field in DocType 'Issue'
#: erpnext/support/doctype/issue/issue.json
@@ -34208,7 +34208,7 @@ msgstr "Surproduction pour les ventes et les bons de travail"
#: erpnext/crm/doctype/prospect/prospect.json
#: erpnext/setup/doctype/employee/employee.json
msgid "Overview"
-msgstr ""
+msgstr "Vue d'ensemble"
#. Option for the 'Permanent Address Is' (Select) field in DocType 'Employee'
#. Option for the 'Current Address Is' (Select) field in DocType 'Employee'
@@ -36432,7 +36432,7 @@ msgstr ""
#: erpnext/setup/doctype/company/company.json
#: erpnext/stock/doctype/warehouse/warehouse.json
msgid "Phone No"
-msgstr ""
+msgstr "N° de Téléphone"
#. Label of the phone_number (Data) field in DocType 'Payment Request'
#. Label of the customer_phone_number (Data) field in DocType 'Appointment'
@@ -36456,23 +36456,23 @@ msgstr "Numéro de téléphone"
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
#: erpnext/stock/workspace/stock/stock.json
msgid "Pick List"
-msgstr "Liste de sélection"
+msgstr "Liste de prélèvement"
#: erpnext/stock/doctype/pick_list/pick_list.py:194
msgid "Pick List Incomplete"
-msgstr ""
+msgstr "Liste de prélèvement incomplète"
#. Label of the pick_list_item (Data) field in DocType 'Delivery Note Item'
#. Name of a DocType
#: erpnext/stock/doctype/delivery_note_item/delivery_note_item.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
msgid "Pick List Item"
-msgstr "Élément de la liste de choix"
+msgstr "Élément de la liste de prélèvement"
#. Label of the pick_manually (Check) field in DocType 'Pick List'
#: erpnext/stock/doctype/pick_list/pick_list.json
msgid "Pick Manually"
-msgstr ""
+msgstr "Prélever manuellement"
#. Label of the pick_serial_and_batch_based_on (Select) field in DocType 'Stock
#. Settings'
@@ -36492,7 +36492,7 @@ msgstr ""
#: erpnext/stock/doctype/packed_item/packed_item.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
msgid "Pick Serial / Batch No"
-msgstr ""
+msgstr "Prélever des n° de série et lot"
#. Label of the picked_qty (Float) field in DocType 'Packed Item'
#: erpnext/stock/doctype/packed_item/packed_item.json
@@ -36504,7 +36504,7 @@ msgstr "Quantité choisie"
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
msgid "Picked Qty (in Stock UOM)"
-msgstr ""
+msgstr "Qté prélevée (en UdM de stock)"
#. Option for the 'Pickup Type' (Select) field in DocType 'Shipment'
#: erpnext/stock/doctype/shipment/shipment.json
@@ -36751,7 +36751,7 @@ msgstr "Usines et Machines"
#: erpnext/stock/doctype/pick_list/pick_list.py:537
msgid "Please Restock Items and Update the Pick List to continue. To discontinue, cancel the Pick List."
-msgstr "Veuillez réapprovisionner les articles et mettre à jour la liste de sélection pour continuer. Pour interrompre, annulez la liste de sélection."
+msgstr "Veuillez réapprovisionner les articles et mettre à jour la liste de prélèvement pour continuer. Pour interrompre, annulez la liste de liste prélèvement."
#: erpnext/selling/page/sales_funnel/sales_funnel.py:18
msgid "Please Select a Company"
@@ -40576,7 +40576,7 @@ msgstr ""
#: erpnext/stock/doctype/putaway_rule/putaway_rule.json
#: erpnext/stock/doctype/stock_entry_detail/stock_entry_detail.json
msgid "Putaway Rule"
-msgstr ""
+msgstr "Règle de routage d'entrée en stock"
#: erpnext/stock/doctype/putaway_rule/putaway_rule.py:52
msgid "Putaway Rule already exists for Item {0} in Warehouse {1}."
@@ -40663,7 +40663,7 @@ msgstr "Qté"
#: erpnext/templates/pages/order.html:178
msgid "Qty "
-msgstr ""
+msgstr "Qté "
#. Label of the company_total_stock (Float) field in DocType 'Sales Invoice
#. Item'
@@ -42737,12 +42737,12 @@ msgstr "Détail de référence Non"
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1671
msgid "Reference DocType"
-msgstr "Référence DocType"
+msgstr "DocType de référence"
#. Label of the reference_doctype (Link) field in DocType 'Payment Request'
#: erpnext/accounts/doctype/payment_request/payment_request.json
msgid "Reference Doctype"
-msgstr "DocType de la Référence"
+msgstr "DocType de référence"
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:656
msgid "Reference Doctype must be one of {0}"
@@ -42902,7 +42902,7 @@ msgstr "Ligne de Référence"
#: erpnext/accounts/doctype/purchase_taxes_and_charges/purchase_taxes_and_charges.json
#: erpnext/accounts/doctype/sales_taxes_and_charges/sales_taxes_and_charges.json
msgid "Reference Row #"
-msgstr ""
+msgstr "Ligne de Référence #"
#. Label of the reference_type (Link) field in DocType 'Advance Tax'
#. Label of the reference_type (Select) field in DocType 'Journal Entry
@@ -43438,11 +43438,11 @@ msgstr "Le Type de Rapport est nécessaire"
#: erpnext/accounts/report/balance_sheet/balance_sheet.js:13
#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.js:13
msgid "Report View"
-msgstr ""
+msgstr "Vue rapport"
#: erpnext/setup/install.py:160
msgid "Report an Issue"
-msgstr ""
+msgstr "Signaler un problème"
#. Label of the reports_tab (Tab Break) field in DocType 'Accounts Settings'
#. Label of a Card Break in the Payables Workspace
@@ -43858,7 +43858,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:76
#: erpnext/stock/doctype/pick_list/pick_list.js:133
msgid "Reserve"
-msgstr ""
+msgstr "Réserver"
#. Label of the reserve_stock (Check) field in DocType 'Production Plan'
#. Label of the reserve_stock (Check) field in DocType 'Sales Order'
@@ -43919,11 +43919,11 @@ msgstr "Qté Réservée pour la Production"
#. Label of the reserved_qty_for_production_plan (Float) field in DocType 'Bin'
#: erpnext/stock/doctype/bin/bin.json
msgid "Reserved Qty for Production Plan"
-msgstr ""
+msgstr "Qté Réservée pour un Plan de Production"
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:164
msgid "Reserved Qty for Production: Raw materials quantity to make manufacturing items."
-msgstr ""
+msgstr "Quantité réservée à la production : Quantité de matières premières pour fabriquer des articles à fabriquer."
#. Label of the reserved_qty_for_sub_contract (Float) field in DocType 'Bin'
#: erpnext/stock/doctype/bin/bin.json
@@ -43932,7 +43932,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:164
msgid "Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items."
-msgstr ""
+msgstr "Quantité réservée à la sous-traitance : Quantité de matières premières pour fabriquer les articles sous-traités."
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:515
msgid "Reserved Qty should be greater than Delivered Qty."
@@ -43940,7 +43940,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:164
msgid "Reserved Qty: Quantity ordered for sale, but not delivered."
-msgstr ""
+msgstr "Qté réservée : Quantité commandée pour la vente, mais non livrée."
#: erpnext/stock/report/item_shortage_report/item_shortage_report.py:116
msgid "Reserved Quantity"
@@ -43968,7 +43968,7 @@ msgstr ""
#: erpnext/stock/report/stock_balance/stock_balance.py:499
#: erpnext/stock/stock_ledger.py:2139
msgid "Reserved Stock"
-msgstr ""
+msgstr "Stock réservé"
#: erpnext/stock/stock_ledger.py:2185
msgid "Reserved Stock for Batch"
@@ -43976,11 +43976,11 @@ msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:268
msgid "Reserved Stock for Raw Materials"
-msgstr ""
+msgstr "Stock réservé pour des matières premières"
#: erpnext/manufacturing/doctype/production_plan/production_plan.js:242
msgid "Reserved Stock for Sub-assembly"
-msgstr ""
+msgstr "Stock réservé pour des sous-ensembles"
#: erpnext/controllers/buying_controller.py:484
msgid "Reserved Warehouse is mandatory for the Item {item_code} in Raw Materials supplied."
@@ -43988,19 +43988,19 @@ msgstr ""
#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:192
msgid "Reserved for POS Transactions"
-msgstr ""
+msgstr "Réservé aux transactions Caisse (POS)"
#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:171
msgid "Reserved for Production"
-msgstr ""
+msgstr "Réserver pour la production"
#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:178
msgid "Reserved for Production Plan"
-msgstr ""
+msgstr "Réserver pour un plan de production"
#: erpnext/stock/report/stock_projected_qty/stock_projected_qty.py:185
msgid "Reserved for Sub Contracting"
-msgstr ""
+msgstr "Réservé à la sous-traitance"
#: erpnext/stock/page/stock_balance/stock_balance.js:53
msgid "Reserved for manufacturing"
@@ -44018,7 +44018,7 @@ msgstr "Réservé à la sous-traitance"
#: erpnext/selling/doctype/sales_order/sales_order.js:381
#: erpnext/stock/doctype/pick_list/pick_list.js:278
msgid "Reserving Stock..."
-msgstr ""
+msgstr "Réservation de stock en cours..."
#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.js:155
#: erpnext/support/doctype/issue/issue.js:57
@@ -44420,7 +44420,7 @@ msgstr "Qté Retournée"
#. Label of the returned_qty (Float) field in DocType 'Work Order Item'
#: erpnext/manufacturing/doctype/work_order_item/work_order_item.json
msgid "Returned Qty "
-msgstr ""
+msgstr "Qté Retournée "
#. Label of the returned_qty (Float) field in DocType 'Delivery Note Item'
#. Label of the returned_qty (Float) field in DocType 'Purchase Receipt Item'
@@ -45034,7 +45034,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1382
msgid "Row #{0}: Item {1} has been picked, please reserve stock from the Pick List."
-msgstr ""
+msgstr "Ligne #{0} : l'article {1} a été prélevé, veuillez réserver le stock depuis la liste de prélèvement."
#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:725
msgid "Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it."
@@ -45373,7 +45373,7 @@ msgstr ""
#: erpnext/stock/doctype/pick_list/pick_list.py:161
msgid "Row #{}: item {} has been picked already."
-msgstr ""
+msgstr "Ligne #{}: l'article {} a déjà été prélevé."
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:127
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:192
@@ -46405,7 +46405,7 @@ msgstr "Partenaire commercial"
#. Label of the sales_partner (Link) field in DocType 'Sales Partner Item'
#: erpnext/accounts/doctype/sales_partner_item/sales_partner_item.json
msgid "Sales Partner "
-msgstr ""
+msgstr "Partenaire commercial "
#. Name of a report
#: erpnext/selling/report/sales_partner_commission_summary/sales_partner_commission_summary.json
@@ -46940,7 +46940,7 @@ msgstr "Date du Calendrier"
#: erpnext/maintenance/doctype/maintenance_visit/maintenance_visit.json
#: erpnext/stock/doctype/delivery_trip/delivery_trip.json
msgid "Scheduled"
-msgstr "Prévu"
+msgstr "Planifié"
#. Label of the scheduled_date (Date) field in DocType 'Maintenance Schedule
#. Detail'
@@ -47171,7 +47171,7 @@ msgstr ""
#: erpnext/accounts/report/financial_statements.py:646
msgid "Section"
-msgstr ""
+msgstr "Section"
#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:174
#: erpnext/accounts/report/tds_computation_summary/tds_computation_summary.py:117
@@ -47242,7 +47242,7 @@ msgstr "Sélectionner une nomenclature, une quantité et un entrepôt"
#: erpnext/public/js/utils/sales_common.js:417
#: erpnext/stock/doctype/pick_list/pick_list.js:359
msgid "Select Batch No"
-msgstr ""
+msgstr "Sélectionner le Lot"
#. Label of the billing_address (Link) field in DocType 'Purchase Invoice'
#. Label of the billing_address (Link) field in DocType 'Subcontracting
@@ -47360,12 +47360,12 @@ msgstr "Sélectionner Quantité"
#: erpnext/public/js/utils/sales_common.js:417
#: erpnext/stock/doctype/pick_list/pick_list.js:359
msgid "Select Serial No"
-msgstr ""
+msgstr "Sélectionner le n° de série"
#: erpnext/public/js/utils/sales_common.js:420
#: erpnext/stock/doctype/pick_list/pick_list.js:362
msgid "Select Serial and Batch"
-msgstr ""
+msgstr "Sélectionner le lot et le n° de série"
#. Label of the shipping_address (Link) field in DocType 'Purchase Invoice'
#. Label of the shipping_address (Link) field in DocType 'Subcontracting
@@ -48073,7 +48073,7 @@ msgstr ""
#: erpnext/stock/report/stock_ledger_invariant_check/stock_ledger_invariant_check.py:177
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
msgid "Serial and Batch Bundle"
-msgstr ""
+msgstr "Ensemble de n° de série et lot"
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1599
msgid "Serial and Batch Bundle created"
@@ -48752,7 +48752,7 @@ msgstr "Définir les Événements à {0}, puisque l'employé attaché au Commerc
#: erpnext/stock/doctype/pick_list/pick_list.js:87
msgid "Setting Item Locations..."
-msgstr ""
+msgstr "Affectation de l'entrepôt en cours..."
#: erpnext/setup/setup_wizard/setup_wizard.py:34
msgid "Setting defaults"
@@ -50516,7 +50516,7 @@ msgstr "Type d'entrée de stock"
#: erpnext/stock/doctype/pick_list/pick_list.py:1320
msgid "Stock Entry has been already created against this Pick List"
-msgstr "Une entrée de stock a déjà été créée dans cette liste de choix"
+msgstr "Une entrée de stock a déjà été créée dans cette liste de prélèvement"
#: erpnext/stock/doctype/batch/batch.js:125
msgid "Stock Entry {0} created"
@@ -50762,7 +50762,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_settings/stock_settings.py:204
#: erpnext/stock/doctype/stock_settings/stock_settings.py:218
msgid "Stock Reservation"
-msgstr ""
+msgstr "Réservation de stock"
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1579
msgid "Stock Reservation Entries Cancelled"
@@ -50790,7 +50790,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:432
msgid "Stock Reservation Entry created against a Pick List cannot be updated. If you need to make changes, we recommend canceling the existing entry and creating a new one."
-msgstr ""
+msgstr "Une réservation de stock a été créée pour cette liste de prélèvement, il n'est plus possible de mettre à jour la liste de prélèvement. Si vous souhaitez la modifier, nous recommandons de l'annuler et d'en créer une nouvelle."
#: erpnext/stock/doctype/delivery_note/delivery_note.py:536
msgid "Stock Reservation Warehouse Mismatch"
@@ -50821,7 +50821,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order_item/sales_order_item.json
#: erpnext/stock/doctype/pick_list_item/pick_list_item.json
msgid "Stock Reserved Qty (in Stock UOM)"
-msgstr ""
+msgstr "Qté de stock réservé (en UdM de stock)"
#. Label of the auto_accounting_for_stock_settings (Section Break) field in
#. DocType 'Company'
@@ -53838,7 +53838,7 @@ msgstr "Le délai de paiement à la ligne {0} est probablement un doublon."
#: erpnext/stock/doctype/pick_list/pick_list.py:268
msgid "The Pick List having Stock Reservation Entries cannot be updated. If you need to make changes, we recommend canceling the existing Stock Reservation Entries before updating the Pick List."
-msgstr ""
+msgstr "Une liste de prélèvement avec une écriture de réservation de stock ne peut être modifié. Si vous souhaitez la modifier, nous recommandons d'annuler l'écriture de réservation de stock et avant de modifier la liste de prélèvement."
#: erpnext/stock/doctype/stock_entry/stock_entry.py:2104
msgid "The Process Loss Qty has reset as per job cards Process Loss Qty"
@@ -54028,7 +54028,7 @@ msgstr ""
#. 'Stock Settings'
#: erpnext/stock/doctype/stock_settings/stock_settings.json
msgid "The percentage you are allowed to pick more items in the pick list than the ordered quantity."
-msgstr ""
+msgstr "Le pourcentage qu'il est possible de prélever en plus sur la liste de prélèvement par rapport à la quantité commandée."
#. Description of the 'Over Delivery/Receipt Allowance (%)' (Float) field in
#. DocType 'Stock Settings'
@@ -54152,7 +54152,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.js:1050
msgid "The warehouse where you store your raw materials. Each required item can have a separate source warehouse. Group warehouse also can be selected as source warehouse. On submission of the Work Order, the raw materials will be reserved in these warehouses for production usage."
-msgstr ""
+msgstr "L'entrepôt dans lequel vous stockez vos matières premières. Chaque article requis peut avoir un entrepôt source distinct. Un entrepôt de groupe peut également être sélectionné comme entrepôt source. Lors de la validation de l'ordre de fabrication, les matières premières seront réservées dans ces entrepôts pour la production."
#: erpnext/manufacturing/doctype/work_order/work_order.js:1062
msgid "The warehouse where your Items will be transferred when you begin production. Group Warehouse can also be selected as a Work in Progress warehouse."
@@ -55483,7 +55483,7 @@ msgstr "Total des Frais Applicables dans la Table des Articles de Reçus d’Ach
#: erpnext/accounts/report/balance_sheet/balance_sheet.py:210
msgid "Total Asset"
-msgstr ""
+msgstr "Total des actifs"
#. Label of the total_asset_cost (Currency) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
@@ -56953,7 +56953,7 @@ msgstr "Montant Non Alloué"
#: erpnext/stock/doctype/putaway_rule/putaway_rule.py:306
msgid "Unassigned Qty"
-msgstr ""
+msgstr "Qté non affectée"
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.js:105
msgid "Unblock Invoice"
@@ -57151,7 +57151,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:90
#: erpnext/stock/doctype/pick_list/pick_list.js:141
msgid "Unreserve"
-msgstr ""
+msgstr "Annuler la réservation"
#: erpnext/public/js/stock_reservation.js:244
#: erpnext/selling/doctype/sales_order/sales_order.js:473
@@ -57170,7 +57170,7 @@ msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:485
#: erpnext/stock/doctype/pick_list/pick_list.js:293
msgid "Unreserving Stock..."
-msgstr ""
+msgstr "Annulation de la réservation en cours..."
#. Option for the 'Status' (Select) field in DocType 'Dunning'
#: erpnext/accounts/doctype/dunning/dunning.json
@@ -57613,7 +57613,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
msgid "Use Serial No / Batch Fields"
-msgstr ""
+msgstr "Utiliser les champs N° de Série et lot"
#. Label of the use_server_side_reactivity (Check) field in DocType 'Selling
#. Settings'
@@ -59131,7 +59131,7 @@ msgstr ""
#: erpnext/accounts/doctype/cost_center_allocation/cost_center_allocation.py:114
msgid "Warning!"
-msgstr ""
+msgstr "Avertissement!"
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1288
msgid "Warning: Another {0} # {1} exists against stock entry {2}"
@@ -60105,7 +60105,7 @@ msgstr "Vous n'êtes pas autorisé à définir des valeurs gelées"
#: erpnext/stock/doctype/pick_list/pick_list.py:449
msgid "You are picking more than required quantity for the item {0}. Check if there is any other pick list created for the sales order {1}."
-msgstr ""
+msgstr "Vous choisissez une quantité supérieure à la quantité requise pour l'article {0}. Vérifiez si une autre liste de prélèvement a été créée pour la commande client {1}."
#: erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py:113
msgid "You can add the original invoice {} manually to proceed."
@@ -60429,7 +60429,7 @@ msgstr ""
#: erpnext/crm/report/sales_pipeline_analytics/sales_pipeline_analytics.py:171
msgid "fieldname"
-msgstr ""
+msgstr "nom du Champ"
#. Option for the 'Service Provider' (Select) field in DocType 'Currency
#. Exchange Settings'
@@ -60440,11 +60440,11 @@ msgstr ""
#: erpnext/templates/form_grid/item_grid.html:66
#: erpnext/templates/form_grid/item_grid.html:80
msgid "hidden"
-msgstr ""
+msgstr "caché"
#: erpnext/projects/doctype/project/project_dashboard.html:13
msgid "hours"
-msgstr ""
+msgstr "heures"
#. Label of the image (Attach Image) field in DocType 'Batch'
#: erpnext/stock/doctype/batch/batch.json
@@ -60522,7 +60522,7 @@ msgstr ""
#: erpnext/templates/includes/macros.html:207
#: erpnext/templates/includes/macros.html:211
msgid "out of 5"
-msgstr ""
+msgstr "sur 5"
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1316
msgid "paid to"
@@ -60685,7 +60685,7 @@ msgstr "vous devez sélectionner le compte des travaux d'immobilisations en cour
#: erpnext/accounts/report/cash_flow/cash_flow.py:229
#: erpnext/accounts/report/cash_flow/cash_flow.py:230
msgid "{0}"
-msgstr ""
+msgstr "{0}"
#: erpnext/controllers/accounts_controller.py:1112
msgid "{0} '{1}' is disabled"
@@ -60984,11 +60984,11 @@ msgstr ""
#: erpnext/stock/doctype/pick_list/pick_list.py:972
msgid "{0} units of Item {1} is not available in any of the warehouses."
-msgstr ""
+msgstr "La quantité {0} de l'article {1} n'est pas disponible, dans aucun entrepôt."
#: erpnext/stock/doctype/pick_list/pick_list.py:964
msgid "{0} units of Item {1} is picked in another Pick List."
-msgstr ""
+msgstr "La quantité {0} de l'article {1} est déjà prélevé dans une autre liste de prélèvement."
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py:142
msgid "{0} units of {1} are required in {2} with the inventory dimension: {3} ({4}) on {5} {6} for {7} to complete the transaction."
@@ -61025,7 +61025,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/job_card/job_card.py:875
msgid "{0} {1}"
-msgstr ""
+msgstr "{0} {1}"
#: erpnext/public/js/utils/serial_no_batch_selector.js:254
msgid "{0} {1} Manually"
@@ -61202,7 +61202,7 @@ msgstr "{0} {1} : Un Fournisseur est requis pour le Compte Créditeur {2}"
#: erpnext/projects/doctype/project/project_list.js:6
msgid "{0}%"
-msgstr ""
+msgstr "{0}%"
#: erpnext/controllers/website_list_for_contact.py:203
msgid "{0}% Billed"
@@ -61302,7 +61302,7 @@ msgstr "{} Disponible"
#: erpnext/quality_management/workspace/quality/quality.json
#: erpnext/selling/workspace/selling/selling.json
msgid "{} Open"
-msgstr ""
+msgstr "{} Ouvrir"
#. Count format of shortcut in the Buying Workspace
#. Count format of shortcut in the Stock Workspace
diff --git a/erpnext/locale/main.pot b/erpnext/locale/main.pot
index 713c1b1a1bc..fb1157e082a 100644
--- a/erpnext/locale/main.pot
+++ b/erpnext/locale/main.pot
@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: ERPNext VERSION\n"
"Report-Msgid-Bugs-To: hello@frappe.io\n"
-"POT-Creation-Date: 2025-06-01 09:36+0000\n"
-"PO-Revision-Date: 2025-06-01 09:36+0000\n"
+"POT-Creation-Date: 2025-06-08 09:35+0000\n"
+"PO-Revision-Date: 2025-06-08 09:35+0000\n"
"Last-Translator: hello@frappe.io\n"
"Language-Team: hello@frappe.io\n"
"MIME-Version: 1.0\n"
@@ -211,11 +211,11 @@ msgstr ""
msgid "% of materials delivered against this Sales Order"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2200
+#: erpnext/controllers/accounts_controller.py:2285
msgid "'Account' in the Accounting section of Customer {0}"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:299
+#: erpnext/selling/doctype/sales_order/sales_order.py:297
msgid "'Allow Multiple Sales Orders Against a Customer's Purchase Order'"
msgstr ""
@@ -227,7 +227,7 @@ msgstr ""
msgid "'Days Since Last Order' must be greater than or equal to zero"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2205
+#: erpnext/controllers/accounts_controller.py:2290
msgid "'Default {0} Account' in Company {1}"
msgstr ""
@@ -245,7 +245,7 @@ msgstr ""
msgid "'From Date' must be after 'To Date'"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:401
+#: erpnext/stock/doctype/item/item.py:399
msgid "'Has Serial No' can not be 'Yes' for non-stock item"
msgstr ""
@@ -1210,15 +1210,15 @@ msgstr ""
#: erpnext/accounts/report/budget_variance_report/budget_variance_report.py:83
#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py:286
#: erpnext/accounts/report/dimension_wise_accounts_balance_report/dimension_wise_accounts_balance_report.py:201
-#: erpnext/accounts/report/financial_statements.py:646
+#: erpnext/accounts/report/financial_statements.py:642
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js:30
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:190
#: erpnext/accounts/report/general_ledger/general_ledger.js:38
-#: erpnext/accounts/report/general_ledger/general_ledger.py:642
+#: erpnext/accounts/report/general_ledger/general_ledger.py:640
#: erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.js:30
#: erpnext/accounts/report/payment_ledger/payment_ledger.js:30
#: erpnext/accounts/report/payment_ledger/payment_ledger.py:146
-#: erpnext/accounts/report/trial_balance/trial_balance.py:433
+#: erpnext/accounts/report/trial_balance/trial_balance.py:429
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.js:70
#: erpnext/regional/doctype/uae_vat_account/uae_vat_account.json
#: erpnext/stock/doctype/warehouse/warehouse.json
@@ -1315,7 +1315,7 @@ msgid "Account Manager"
msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:949
-#: erpnext/controllers/accounts_controller.py:2209
+#: erpnext/controllers/accounts_controller.py:2294
msgid "Account Missing"
msgstr ""
@@ -1490,7 +1490,7 @@ msgstr ""
msgid "Account {0} is frozen"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1291
+#: erpnext/controllers/accounts_controller.py:1378
msgid "Account {0} is invalid. Account Currency must be {1}"
msgstr ""
@@ -1514,7 +1514,7 @@ msgstr ""
msgid "Account {0}: You can not assign itself as parent account"
msgstr ""
-#: erpnext/accounts/general_ledger.py:433
+#: erpnext/accounts/general_ledger.py:435
msgid "Account: {0} is capital Work in progress and can not be updated by Journal Entry"
msgstr ""
@@ -1526,7 +1526,7 @@ msgstr ""
msgid "Account: {0} is not permitted under Payment Entry"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3040
+#: erpnext/controllers/accounts_controller.py:3125
msgid "Account: {0} with currency: {1} can not be selected"
msgstr ""
@@ -1582,6 +1582,8 @@ msgstr ""
#. 'Subcontracting Order Item'
#. Label of the accounting_details_section (Section Break) field in DocType
#. 'Subcontracting Receipt Item'
+#. Label of the accounting_details_section (Section Break) field in DocType
+#. 'Subcontracting Receipt Supplied Item'
#: erpnext/accounts/doctype/dunning/dunning.json
#: erpnext/accounts/doctype/dunning_type/dunning_type.json
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
@@ -1595,6 +1597,7 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
+#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
msgid "Accounting Details"
msgstr ""
@@ -1718,6 +1721,8 @@ msgstr ""
#. 'Subcontracting Order Item'
#. Label of the accounting_dimensions_section (Section Break) field in DocType
#. 'Subcontracting Receipt Item'
+#. Label of the accounting_dimensions_section (Section Break) field in DocType
+#. 'Subcontracting Receipt Supplied Item'
#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json
#: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.json
@@ -1762,6 +1767,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order/subcontracting_order.json
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
+#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
msgid "Accounting Dimensions"
msgstr ""
@@ -1812,12 +1818,12 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1210
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1446
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1468
-#: erpnext/controllers/stock_controller.py:550
-#: erpnext/controllers/stock_controller.py:567
+#: erpnext/controllers/stock_controller.py:561
+#: erpnext/controllers/stock_controller.py:578
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:898
#: erpnext/stock/doctype/stock_entry/stock_entry.py:1586
#: erpnext/stock/doctype/stock_entry/stock_entry.py:1600
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:561
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:607
msgid "Accounting Entry for Stock"
msgstr ""
@@ -1825,7 +1831,7 @@ msgstr ""
msgid "Accounting Entry for {0}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2250
+#: erpnext/controllers/accounts_controller.py:2335
msgid "Accounting Entry for {0}: {1} can only be made in currency: {2}"
msgstr ""
@@ -2330,6 +2336,12 @@ msgstr ""
msgid "Action if Anual Budget Exceeded on Cumulative Expense"
msgstr ""
+#. Label of the maintain_same_rate_action (Select) field in DocType 'Accounts
+#. Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+msgid "Action if Same Rate is Not Maintained Throughout Internal Transaction"
+msgstr ""
+
#. Label of the maintain_same_rate_action (Select) field in DocType 'Selling
#. Settings'
#: erpnext/selling/doctype/selling_settings/selling_settings.json
@@ -2815,7 +2827,7 @@ msgstr ""
msgid "Add Template"
msgstr ""
-#: erpnext/utilities/activation.py:123
+#: erpnext/utilities/activation.py:124
msgid "Add Timesheets"
msgstr ""
@@ -2844,7 +2856,7 @@ msgstr ""
msgid "Add or Deduct"
msgstr ""
-#: erpnext/utilities/activation.py:113
+#: erpnext/utilities/activation.py:114
msgid "Add the rest of your organization as your users. You can also add invite Customers to your portal by adding them from Contacts"
msgstr ""
@@ -3418,7 +3430,7 @@ msgstr ""
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
-#: erpnext/controllers/accounts_controller.py:270
+#: erpnext/controllers/accounts_controller.py:272
#: erpnext/setup/doctype/company/company.json
msgid "Advance Payments"
msgstr ""
@@ -3443,7 +3455,7 @@ msgstr ""
msgid "Advance amount"
msgstr ""
-#: erpnext/controllers/taxes_and_totals.py:855
+#: erpnext/controllers/taxes_and_totals.py:843
msgid "Advance amount cannot be greater than {0} {1}"
msgstr ""
@@ -3504,7 +3516,7 @@ msgstr ""
#: erpnext/accounts/doctype/journal_entry_account/journal_entry_account.json
#: erpnext/accounts/report/bank_clearance_summary/bank_clearance_summary.py:39
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:91
-#: erpnext/accounts/report/general_ledger/general_ledger.py:711
+#: erpnext/accounts/report/general_ledger/general_ledger.py:709
msgid "Against Account"
msgstr ""
@@ -3616,7 +3628,7 @@ msgstr ""
#. Label of the against_voucher (Dynamic Link) field in DocType 'GL Entry'
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
-#: erpnext/accounts/report/general_ledger/general_ledger.py:731
+#: erpnext/accounts/report/general_ledger/general_ledger.py:729
msgid "Against Voucher"
msgstr ""
@@ -3640,7 +3652,7 @@ msgstr ""
#: erpnext/accounts/doctype/advance_payment_ledger_entry/advance_payment_ledger_entry.json
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
#: erpnext/accounts/doctype/payment_ledger_entry/payment_ledger_entry.json
-#: erpnext/accounts/report/general_ledger/general_ledger.py:729
+#: erpnext/accounts/report/general_ledger/general_ledger.py:727
#: erpnext/accounts/report/payment_ledger/payment_ledger.py:177
msgid "Against Voucher Type"
msgstr ""
@@ -3767,7 +3779,7 @@ msgstr ""
#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.js:165
#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.js:185
#: erpnext/accounts/doctype/chart_of_accounts_importer/chart_of_accounts_importer.py:166
-#: erpnext/accounts/utils.py:1422 erpnext/public/js/setup_wizard.js:173
+#: erpnext/accounts/utils.py:1422 erpnext/public/js/setup_wizard.js:180
msgid "All Accounts"
msgstr ""
@@ -3931,7 +3943,7 @@ msgstr ""
msgid "All items are already requested"
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1326
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1324
msgid "All items have already been Invoiced/Returned"
msgstr ""
@@ -4141,7 +4153,7 @@ msgstr ""
msgid "Allow Item To Be Added Multiple Times in a Transaction"
msgstr ""
-#: erpnext/controllers/selling_controller.py:763
+#: erpnext/controllers/selling_controller.py:765
msgid "Allow Item to Be Added Multiple Times in a Transaction"
msgstr ""
@@ -5576,7 +5588,7 @@ msgstr ""
msgid "As the field {0} is enabled, the value of the field {1} should be more than 1."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:983
+#: erpnext/stock/doctype/item/item.py:979
msgid "As there are existing submitted transactions against item {0}, you can not change the value of {1}."
msgstr ""
@@ -5979,7 +5991,7 @@ msgstr ""
msgid "Asset cannot be cancelled, as it is already {0}"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:389
+#: erpnext/assets/doctype/asset/depreciation.py:387
msgid "Asset cannot be scrapped before the last depreciation entry."
msgstr ""
@@ -6015,7 +6027,7 @@ msgstr ""
msgid "Asset received at Location {0} and issued to Employee {1}"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:450
+#: erpnext/assets/doctype/asset/depreciation.py:448
msgid "Asset restored"
msgstr ""
@@ -6023,20 +6035,20 @@ msgstr ""
msgid "Asset restored after Asset Capitalization {0} was cancelled"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1341
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1339
msgid "Asset returned"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:437
+#: erpnext/assets/doctype/asset/depreciation.py:435
msgid "Asset scrapped"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:439
+#: erpnext/assets/doctype/asset/depreciation.py:437
msgid "Asset scrapped via Journal Entry {0}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1341
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1344
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1339
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1342
msgid "Asset sold"
msgstr ""
@@ -6060,7 +6072,7 @@ msgstr ""
msgid "Asset {0} cannot be received at a location and given to an employee in a single movement"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:371
+#: erpnext/assets/doctype/asset/depreciation.py:369
msgid "Asset {0} cannot be scrapped, as it is already {1}"
msgstr ""
@@ -6093,11 +6105,11 @@ msgstr ""
msgid "Asset {0} has been updated. Please set the depreciation details if any and submit it."
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:369
+#: erpnext/assets/doctype/asset/depreciation.py:367
msgid "Asset {0} must be submitted"
msgstr ""
-#: erpnext/controllers/buying_controller.py:859
+#: erpnext/controllers/buying_controller.py:913
msgid "Asset {assets_link} created for {item_code}"
msgstr ""
@@ -6127,11 +6139,11 @@ msgstr ""
msgid "Assets"
msgstr ""
-#: erpnext/controllers/buying_controller.py:877
+#: erpnext/controllers/buying_controller.py:931
msgid "Assets not created for {item_code}. You will have to create asset manually."
msgstr ""
-#: erpnext/controllers/buying_controller.py:864
+#: erpnext/controllers/buying_controller.py:918
msgid "Assets {assets_link} created for {item_code}"
msgstr ""
@@ -6189,7 +6201,7 @@ msgstr ""
msgid "At least one asset has to be selected."
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:883
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:881
msgid "At least one invoice has to be selected."
msgstr ""
@@ -6197,7 +6209,7 @@ msgstr ""
msgid "At least one item should be entered with negative quantity in return document"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:493
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:491
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:538
msgid "At least one mode of payment is required for POS invoice."
msgstr ""
@@ -6226,7 +6238,7 @@ msgstr ""
msgid "At row #{0}: you have selected the Difference Account {1}, which is a Cost of Goods Sold type account. Please select a different account"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:865
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:863
msgid "At row {0}: Batch No is mandatory for Item {1}"
msgstr ""
@@ -6234,15 +6246,15 @@ msgstr ""
msgid "At row {0}: Parent Row No cannot be set for item {1}"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:850
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:848
msgid "At row {0}: Qty is mandatory for the batch {1}"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:857
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:855
msgid "At row {0}: Serial No is mandatory for Item {1}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:504
+#: erpnext/controllers/stock_controller.py:515
msgid "At row {0}: Serial and Batch Bundle {1} has already created. Please remove the values from the serial no or batch no fields."
msgstr ""
@@ -6312,7 +6324,7 @@ msgstr ""
msgid "Attribute Value"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:924
+#: erpnext/stock/doctype/item/item.py:922
msgid "Attribute table is mandatory"
msgstr ""
@@ -6320,11 +6332,11 @@ msgstr ""
msgid "Attribute value: {0} must appear only once"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:928
+#: erpnext/stock/doctype/item/item.py:926
msgid "Attribute {0} selected multiple times in Attributes Table"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:856
+#: erpnext/stock/doctype/item/item.py:854
msgid "Attributes"
msgstr ""
@@ -7203,7 +7215,7 @@ msgstr ""
msgid "Balance (Dr - Cr)"
msgstr ""
-#: erpnext/accounts/report/general_ledger/general_ledger.py:663
+#: erpnext/accounts/report/general_ledger/general_ledger.py:661
msgid "Balance ({0})"
msgstr ""
@@ -7608,11 +7620,11 @@ msgstr ""
msgid "Barcode Type"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:460
+#: erpnext/stock/doctype/item/item.py:458
msgid "Barcode {0} already used in Item {1}"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:475
+#: erpnext/stock/doctype/item/item.py:473
msgid "Barcode {0} is not a valid {1} code"
msgstr ""
@@ -7893,11 +7905,11 @@ msgstr ""
msgid "Batch No"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:868
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:866
msgid "Batch No is mandatory"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2630
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2628
msgid "Batch No {0} does not exists"
msgstr ""
@@ -7905,7 +7917,7 @@ msgstr ""
msgid "Batch No {0} is linked with Item {1} which has serial no. Please scan serial no instead."
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:365
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:363
msgid "Batch No {0} is not present in the original {1} {2}, hence you can't return it against the {1} {2}"
msgstr ""
@@ -7920,7 +7932,7 @@ msgstr ""
msgid "Batch Nos"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1422
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1420
msgid "Batch Nos are created successfully"
msgstr ""
@@ -7969,7 +7981,7 @@ msgstr ""
msgid "Batch not created for item {} since it does not have a batch series."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:258
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:256
msgid "Batch {0} and Warehouse"
msgstr ""
@@ -8146,7 +8158,7 @@ msgstr ""
msgid "Billing Address Name"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:501
+#: erpnext/controllers/accounts_controller.py:503
msgid "Billing Address does not belong to the {0}"
msgstr ""
@@ -8472,7 +8484,7 @@ msgstr ""
msgid "Booked Fixed Asset"
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:142
+#: erpnext/stock/doctype/warehouse/warehouse.py:143
msgid "Booking stock value across multiple accounts will make it harder to track stock and account value."
msgstr ""
@@ -9249,7 +9261,7 @@ msgid "Can only make payment against unbilled {0}"
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1458
-#: erpnext/controllers/accounts_controller.py:2949
+#: erpnext/controllers/accounts_controller.py:3034
#: erpnext/public/js/controllers/accounts.js:90
msgid "Can refer row only if the charge type is 'On Previous Row Amount' or 'Previous Row Total'"
msgstr ""
@@ -9411,9 +9423,9 @@ msgstr ""
msgid "Cannot Create Return"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:631
-#: erpnext/stock/doctype/item/item.py:644
-#: erpnext/stock/doctype/item/item.py:658
+#: erpnext/stock/doctype/item/item.py:629
+#: erpnext/stock/doctype/item/item.py:642
+#: erpnext/stock/doctype/item/item.py:656
msgid "Cannot Merge"
msgstr ""
@@ -9453,7 +9465,7 @@ msgstr ""
msgid "Cannot cancel the transaction. Reposting of item valuation on submission is not completed yet."
msgstr ""
-#: erpnext/controllers/buying_controller.py:967
+#: erpnext/controllers/buying_controller.py:1021
msgid "Cannot cancel this document as it is linked with the submitted asset {asset_link}. Please cancel the asset to continue."
msgstr ""
@@ -9461,7 +9473,7 @@ msgstr ""
msgid "Cannot cancel transaction for Completed Work Order."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:876
+#: erpnext/stock/doctype/item/item.py:874
msgid "Cannot change Attributes after stock transaction. Make a new Item and transfer stock to the new Item"
msgstr ""
@@ -9477,7 +9489,7 @@ msgstr ""
msgid "Cannot change Service Stop Date for item in row {0}"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:867
+#: erpnext/stock/doctype/item/item.py:865
msgid "Cannot change Variant properties after stock transaction. You will have to make a new Item to do this."
msgstr ""
@@ -9505,16 +9517,16 @@ msgstr ""
msgid "Cannot covert to Group because Account Type is selected."
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:981
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:979
msgid "Cannot create Stock Reservation Entries for future dated Purchase Receipts."
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:1722
+#: erpnext/selling/doctype/sales_order/sales_order.py:1720
#: erpnext/stock/doctype/pick_list/pick_list.py:182
msgid "Cannot create a pick list for Sales Order {0} because it has reserved stock. Please unreserve the stock in order to create a pick list."
msgstr ""
-#: erpnext/accounts/general_ledger.py:147
+#: erpnext/accounts/general_ledger.py:148
msgid "Cannot create accounting entries against disabled accounts: {0}"
msgstr ""
@@ -9547,8 +9559,8 @@ msgstr ""
msgid "Cannot enqueue multi docs for one company. {0} is already queued/running for company: {1}"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:701
-#: erpnext/selling/doctype/sales_order/sales_order.py:724
+#: erpnext/selling/doctype/sales_order/sales_order.py:699
+#: erpnext/selling/doctype/sales_order/sales_order.py:722
msgid "Cannot ensure delivery by Serial No as Item {0} is added with and without Ensure Delivery by Serial No."
msgstr ""
@@ -9556,7 +9568,7 @@ msgstr ""
msgid "Cannot find Item with this Barcode"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3486
+#: erpnext/controllers/accounts_controller.py:3571
msgid "Cannot find a default warehouse for item {0}. Please set one in the Item Master or in Stock Settings."
msgstr ""
@@ -9564,7 +9576,7 @@ msgstr ""
msgid "Cannot make any transactions until the deletion job is completed"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2077
+#: erpnext/controllers/accounts_controller.py:2162
msgid "Cannot overbill for Item {0} in row {1} more than {2}. To allow over-billing, please set allowance in Accounts Settings"
msgstr ""
@@ -9585,7 +9597,7 @@ msgid "Cannot receive from customer against negative outstanding"
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1475
-#: erpnext/controllers/accounts_controller.py:2964
+#: erpnext/controllers/accounts_controller.py:3049
#: erpnext/public/js/controllers/accounts.js:100
msgid "Cannot refer row number greater than or equal to current row number for this Charge type"
msgstr ""
@@ -9601,13 +9613,13 @@ msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1467
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1646
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:1917
-#: erpnext/controllers/accounts_controller.py:2954
+#: erpnext/controllers/accounts_controller.py:3039
#: erpnext/public/js/controllers/accounts.js:94
#: erpnext/public/js/controllers/taxes_and_totals.js:470
msgid "Cannot select charge type as 'On Previous Row Amount' or 'On Previous Row Total' for first row"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:290
+#: erpnext/selling/doctype/quotation/quotation.py:283
msgid "Cannot set as Lost as Sales Order is made."
msgstr ""
@@ -9615,15 +9627,15 @@ msgstr ""
msgid "Cannot set authorization on basis of Discount for {0}"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:722
+#: erpnext/stock/doctype/item/item.py:720
msgid "Cannot set multiple Item Defaults for a company."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3634
+#: erpnext/controllers/accounts_controller.py:3719
msgid "Cannot set quantity less than delivered quantity"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3637
+#: erpnext/controllers/accounts_controller.py:3722
msgid "Cannot set quantity less than received quantity"
msgstr ""
@@ -9783,15 +9795,15 @@ msgstr ""
msgid "Cash Flow Statement"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:153
+#: erpnext/accounts/report/cash_flow/cash_flow.py:157
msgid "Cash Flow from Financing"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:146
+#: erpnext/accounts/report/cash_flow/cash_flow.py:150
msgid "Cash Flow from Investing"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:134
+#: erpnext/accounts/report/cash_flow/cash_flow.py:138
msgid "Cash Flow from Operations"
msgstr ""
@@ -10046,7 +10058,7 @@ msgid "Channel Partner"
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2346
-#: erpnext/controllers/accounts_controller.py:3017
+#: erpnext/controllers/accounts_controller.py:3102
msgid "Charge of type 'Actual' in row {0} cannot be included in Item Rate or Paid Amount"
msgstr ""
@@ -10102,7 +10114,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/account_tree.js:5
#: erpnext/accounts/doctype/cost_center/cost_center_tree.js:52
#: erpnext/accounts/workspace/accounting/accounting.json
-#: erpnext/public/js/setup_wizard.js:36
+#: erpnext/public/js/setup_wizard.js:43
#: erpnext/setup/doctype/company/company.js:104
#: erpnext/setup/doctype/company/company.json
#: erpnext/setup/workspace/home/home.json
@@ -10290,7 +10302,7 @@ msgstr ""
msgid "Child nodes can be only created under 'Group' type nodes"
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:99
+#: erpnext/stock/doctype/warehouse/warehouse.py:100
msgid "Child warehouse exists for this warehouse. You can not delete this warehouse."
msgstr ""
@@ -10442,7 +10454,7 @@ msgstr ""
msgid "Close Replied Opportunity After Days"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:238
+#: erpnext/selling/page/point_of_sale/pos_controller.js:237
msgid "Close the POS"
msgstr ""
@@ -10504,7 +10516,7 @@ msgstr ""
msgid "Closed Work Order can not be stopped or Re-opened"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:467
+#: erpnext/selling/doctype/sales_order/sales_order.py:465
msgid "Closed order cannot be cancelled. Unclose to cancel."
msgstr ""
@@ -10513,17 +10525,17 @@ msgstr ""
msgid "Closing"
msgstr ""
-#: erpnext/accounts/report/trial_balance/trial_balance.py:482
+#: erpnext/accounts/report/trial_balance/trial_balance.py:478
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:226
msgid "Closing (Cr)"
msgstr ""
-#: erpnext/accounts/report/trial_balance/trial_balance.py:475
+#: erpnext/accounts/report/trial_balance/trial_balance.py:471
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:219
msgid "Closing (Dr)"
msgstr ""
-#: erpnext/accounts/report/general_ledger/general_ledger.py:381
+#: erpnext/accounts/report/general_ledger/general_ledger.py:379
msgid "Closing (Opening + Total)"
msgstr ""
@@ -10597,7 +10609,7 @@ msgstr ""
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:144
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:151
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:194
-#: erpnext/public/js/setup_wizard.js:189
+#: erpnext/public/js/setup_wizard.js:196
msgid "Collapse All"
msgstr ""
@@ -10758,7 +10770,7 @@ msgstr ""
msgid "Communication Medium Type"
msgstr ""
-#: erpnext/setup/install.py:100
+#: erpnext/setup/install.py:93
msgid "Compact Item Print"
msgstr ""
@@ -11196,11 +11208,11 @@ msgstr ""
msgid "Company"
msgstr ""
-#: erpnext/public/js/setup_wizard.js:29
+#: erpnext/public/js/setup_wizard.js:36
msgid "Company Abbreviation"
msgstr ""
-#: erpnext/public/js/setup_wizard.js:163
+#: erpnext/public/js/setup_wizard.js:170
msgid "Company Abbreviation cannot have more than 5 characters"
msgstr ""
@@ -11323,11 +11335,11 @@ msgstr ""
#. Label of the company_name (Data) field in DocType 'Prospect'
#: erpnext/crm/doctype/prospect/prospect.json
-#: erpnext/public/js/setup_wizard.js:23
+#: erpnext/public/js/setup_wizard.js:30
msgid "Company Name"
msgstr ""
-#: erpnext/public/js/setup_wizard.js:66
+#: erpnext/public/js/setup_wizard.js:73
msgid "Company Name cannot be Company"
msgstr ""
@@ -11349,7 +11361,7 @@ msgstr ""
msgid "Company and Posting Date is mandatory"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2376
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2374
msgid "Company currencies of both the companies should match for Inter Company Transactions."
msgstr ""
@@ -11417,7 +11429,7 @@ msgstr ""
msgid "Company {} does not exist yet. Taxes setup aborted."
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:537
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:535
msgid "Company {} does not match with POS Profile Company {}"
msgstr ""
@@ -12183,7 +12195,7 @@ msgstr ""
msgid "Contact Person"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:513
+#: erpnext/controllers/accounts_controller.py:515
msgid "Contact Person does not belong to the {0}"
msgstr ""
@@ -12387,23 +12399,23 @@ msgstr ""
msgid "Conversion Rate"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:396
+#: erpnext/stock/doctype/item/item.py:394
msgid "Conversion factor for default Unit of Measure must be 1 in row {0}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:76
+#: erpnext/controllers/stock_controller.py:77
msgid "Conversion factor for item {0} has been reset to 1.0 as the uom {1} is same as stock uom {2}."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2770
+#: erpnext/controllers/accounts_controller.py:2855
msgid "Conversion rate cannot be 0"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2777
+#: erpnext/controllers/accounts_controller.py:2862
msgid "Conversion rate is 1.00, but document currency is different from company currency"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2773
+#: erpnext/controllers/accounts_controller.py:2858
msgid "Conversion rate must be 1.00 if document currency is same as company currency"
msgstr ""
@@ -12579,6 +12591,8 @@ msgstr ""
#. Label of the cost_center (Link) field in DocType 'Subcontracting Receipt'
#. Label of the cost_center (Link) field in DocType 'Subcontracting Receipt
#. Item'
+#. Label of the cost_center (Link) field in DocType 'Subcontracting Receipt
+#. Supplied Item'
#: erpnext/accounts/doctype/account_closing_balance/account_closing_balance.json
#: erpnext/accounts/doctype/advance_taxes_and_charges/advance_taxes_and_charges.json
#: erpnext/accounts/doctype/budget/budget.json
@@ -12622,7 +12636,7 @@ msgstr ""
#: erpnext/accounts/report/asset_depreciation_ledger/asset_depreciation_ledger.py:197
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:98
#: erpnext/accounts/report/general_ledger/general_ledger.js:153
-#: erpnext/accounts/report/general_ledger/general_ledger.py:724
+#: erpnext/accounts/report/general_ledger/general_ledger.py:722
#: erpnext/accounts/report/gross_profit/gross_profit.js:68
#: erpnext/accounts/report/gross_profit/gross_profit.py:364
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:307
@@ -12663,6 +12677,7 @@ msgstr ""
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
+#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
msgid "Cost Center"
msgstr ""
@@ -12737,7 +12752,7 @@ msgstr ""
msgid "Cost Center {} is a group cost center and group cost centers cannot be used in transactions"
msgstr ""
-#: erpnext/accounts/report/financial_statements.py:637
+#: erpnext/accounts/report/financial_statements.py:633
msgid "Cost Center: {0} does not exist"
msgstr ""
@@ -12845,7 +12860,7 @@ msgstr ""
msgid "Could Not Delete Demo Data"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:602
+#: erpnext/selling/doctype/quotation/quotation.py:584
msgid "Could not auto create Customer due to the following missing mandatory field(s):"
msgstr ""
@@ -13123,15 +13138,15 @@ msgstr ""
msgid "Create Depreciation Entry"
msgstr ""
-#: erpnext/utilities/activation.py:136
+#: erpnext/utilities/activation.py:137
msgid "Create Employee"
msgstr ""
-#: erpnext/utilities/activation.py:134
+#: erpnext/utilities/activation.py:135
msgid "Create Employee Records"
msgstr ""
-#: erpnext/utilities/activation.py:135
+#: erpnext/utilities/activation.py:136
msgid "Create Employee records."
msgstr ""
@@ -13166,11 +13181,11 @@ msgstr ""
msgid "Create Journal Entry"
msgstr ""
-#: erpnext/utilities/activation.py:78
+#: erpnext/utilities/activation.py:79
msgid "Create Lead"
msgstr ""
-#: erpnext/utilities/activation.py:76
+#: erpnext/utilities/activation.py:77
msgid "Create Leads"
msgstr ""
@@ -13232,15 +13247,15 @@ msgid "Create Prospect"
msgstr ""
#: erpnext/selling/doctype/sales_order/sales_order.js:1226
-#: erpnext/utilities/activation.py:105
+#: erpnext/utilities/activation.py:106
msgid "Create Purchase Order"
msgstr ""
-#: erpnext/utilities/activation.py:103
+#: erpnext/utilities/activation.py:104
msgid "Create Purchase Orders"
msgstr ""
-#: erpnext/utilities/activation.py:87
+#: erpnext/utilities/activation.py:88
msgid "Create Quotation"
msgstr ""
@@ -13264,11 +13279,11 @@ msgstr ""
msgid "Create Sales Invoice"
msgstr ""
-#: erpnext/utilities/activation.py:96
+#: erpnext/utilities/activation.py:97
msgid "Create Sales Order"
msgstr ""
-#: erpnext/utilities/activation.py:95
+#: erpnext/utilities/activation.py:96
msgid "Create Sales Orders to help you plan your work and deliver on-time"
msgstr ""
@@ -13289,13 +13304,13 @@ msgstr ""
msgid "Create Tax Template"
msgstr ""
-#: erpnext/utilities/activation.py:127
+#: erpnext/utilities/activation.py:128
msgid "Create Timesheet"
msgstr ""
#. Label of the create_user (Button) field in DocType 'Employee'
#: erpnext/setup/doctype/employee/employee.json
-#: erpnext/utilities/activation.py:116
+#: erpnext/utilities/activation.py:117
msgid "Create User"
msgstr ""
@@ -13304,7 +13319,7 @@ msgstr ""
msgid "Create User Permission"
msgstr ""
-#: erpnext/utilities/activation.py:112
+#: erpnext/utilities/activation.py:113
msgid "Create Users"
msgstr ""
@@ -13332,11 +13347,11 @@ msgstr ""
msgid "Create a variant with the template image."
msgstr ""
-#: erpnext/stock/stock_ledger.py:1886
+#: erpnext/stock/stock_ledger.py:1889
msgid "Create an incoming stock transaction for the Item."
msgstr ""
-#: erpnext/utilities/activation.py:85
+#: erpnext/utilities/activation.py:86
msgid "Create customer quotes"
msgstr ""
@@ -13462,17 +13477,17 @@ msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.html:87
#: erpnext/accounts/report/purchase_register/purchase_register.py:241
#: erpnext/accounts/report/sales_register/sales_register.py:277
-#: erpnext/accounts/report/trial_balance/trial_balance.py:468
+#: erpnext/accounts/report/trial_balance/trial_balance.py:464
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:212
#: erpnext/accounts/report/voucher_wise_balance/voucher_wise_balance.py:34
msgid "Credit"
msgstr ""
-#: erpnext/accounts/report/general_ledger/general_ledger.py:681
+#: erpnext/accounts/report/general_ledger/general_ledger.py:679
msgid "Credit (Transaction)"
msgstr ""
-#: erpnext/accounts/report/general_ledger/general_ledger.py:656
+#: erpnext/accounts/report/general_ledger/general_ledger.py:654
msgid "Credit ({0})"
msgstr ""
@@ -13623,7 +13638,7 @@ msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:368
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:376
-#: erpnext/controllers/accounts_controller.py:2189
+#: erpnext/controllers/accounts_controller.py:2274
msgid "Credit To"
msgstr ""
@@ -13692,7 +13707,7 @@ msgstr ""
msgid "Criteria weights must add up to 100%"
msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:139
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:142
msgid "Cron Interval should be between 1 and 59 Min"
msgstr ""
@@ -13816,7 +13831,7 @@ msgstr ""
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.py:208
#: erpnext/accounts/report/dimension_wise_accounts_balance_report/dimension_wise_accounts_balance_report.py:208
#: erpnext/accounts/report/financial_statements.html:29
-#: erpnext/accounts/report/financial_statements.py:656
+#: erpnext/accounts/report/financial_statements.py:652
#: erpnext/accounts/report/general_ledger/general_ledger.js:147
#: erpnext/accounts/report/gross_profit/gross_profit.py:427
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:696
@@ -13825,7 +13840,7 @@ msgstr ""
#: erpnext/accounts/report/purchase_register/purchase_register.py:229
#: erpnext/accounts/report/sales_register/sales_register.py:265
#: erpnext/accounts/report/trial_balance/trial_balance.js:76
-#: erpnext/accounts/report/trial_balance/trial_balance.py:440
+#: erpnext/accounts/report/trial_balance/trial_balance.py:436
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:233
#: erpnext/accounts/workspace/accounting/accounting.json
#: erpnext/buying/doctype/purchase_order/purchase_order.json
@@ -14692,7 +14707,7 @@ msgid "Customer required for 'Customerwise Discount'"
msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1085
-#: erpnext/selling/doctype/sales_order/sales_order.py:373
+#: erpnext/selling/doctype/sales_order/sales_order.py:371
#: erpnext/stock/doctype/delivery_note/delivery_note.py:406
msgid "Customer {0} does not belong to project {1}"
msgstr ""
@@ -15173,17 +15188,17 @@ msgstr ""
#: erpnext/accounts/report/general_ledger/general_ledger.html:86
#: erpnext/accounts/report/purchase_register/purchase_register.py:240
#: erpnext/accounts/report/sales_register/sales_register.py:276
-#: erpnext/accounts/report/trial_balance/trial_balance.py:461
+#: erpnext/accounts/report/trial_balance/trial_balance.py:457
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:205
#: erpnext/accounts/report/voucher_wise_balance/voucher_wise_balance.py:27
msgid "Debit"
msgstr ""
-#: erpnext/accounts/report/general_ledger/general_ledger.py:674
+#: erpnext/accounts/report/general_ledger/general_ledger.py:672
msgid "Debit (Transaction)"
msgstr ""
-#: erpnext/accounts/report/general_ledger/general_ledger.py:649
+#: erpnext/accounts/report/general_ledger/general_ledger.py:647
msgid "Debit ({0})"
msgstr ""
@@ -15249,7 +15264,7 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:953
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:964
-#: erpnext/controllers/accounts_controller.py:2189
+#: erpnext/controllers/accounts_controller.py:2274
msgid "Debit To"
msgstr ""
@@ -15257,7 +15272,7 @@ msgstr ""
msgid "Debit To is required"
msgstr ""
-#: erpnext/accounts/general_ledger.py:504
+#: erpnext/accounts/general_ledger.py:506
msgid "Debit and Credit not equal for {0} #{1}. Difference is {2}."
msgstr ""
@@ -15406,7 +15421,7 @@ msgstr ""
msgid "Default BOM"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:421
+#: erpnext/stock/doctype/item/item.py:419
msgid "Default BOM ({0}) must be active for this item or its template"
msgstr ""
@@ -15414,7 +15429,7 @@ msgstr ""
msgid "Default BOM for {0} not found"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3675
+#: erpnext/controllers/accounts_controller.py:3760
msgid "Default BOM not found for FG Item {0}"
msgstr ""
@@ -15749,15 +15764,15 @@ msgstr ""
msgid "Default Unit of Measure"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1266
+#: erpnext/stock/doctype/item/item.py:1262
msgid "Default Unit of Measure for Item {0} cannot be changed directly because you have already made some transaction(s) with another UOM. You need to either cancel the linked documents or create a new Item."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1249
+#: erpnext/stock/doctype/item/item.py:1245
msgid "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."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:902
+#: erpnext/stock/doctype/item/item.py:900
msgid "Default Unit of Measure for Variant '{0}' must be same as in Template '{1}'"
msgstr ""
@@ -16212,7 +16227,7 @@ msgstr ""
msgid "Delivery Note Trends"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1271
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1269
msgid "Delivery Note {0} is not submitted"
msgstr ""
@@ -16288,7 +16303,7 @@ msgstr ""
msgid "Delivery to"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:392
+#: erpnext/selling/doctype/sales_order/sales_order.py:390
msgid "Delivery warehouse required for stock item {0}"
msgstr ""
@@ -16406,7 +16421,7 @@ msgstr ""
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:56
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:81
#: erpnext/accounts/report/account_balance/account_balance.js:44
-#: erpnext/accounts/report/cash_flow/cash_flow.py:136
+#: erpnext/accounts/report/cash_flow/cash_flow.py:140
#: erpnext/assets/doctype/asset/asset.json
msgid "Depreciation"
msgstr ""
@@ -16459,7 +16474,7 @@ msgstr ""
msgid "Depreciation Expense Account"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:299
+#: erpnext/assets/doctype/asset/depreciation.py:297
msgid "Depreciation Expense Account should be an Income or Expense Account."
msgstr ""
@@ -16935,7 +16950,7 @@ msgstr ""
msgid "Difference Account must be a Asset/Liability type account (Temporary Opening), since this Stock Entry is an Opening Entry"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:950
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:955
msgid "Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry"
msgstr ""
@@ -17193,7 +17208,7 @@ msgstr ""
msgid "Disabled"
msgstr ""
-#: erpnext/accounts/general_ledger.py:148
+#: erpnext/accounts/general_ledger.py:149
msgid "Disabled Account Selected"
msgstr ""
@@ -17201,11 +17216,11 @@ msgstr ""
msgid "Disabled Warehouse {0} cannot be used for this transaction."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:748
+#: erpnext/controllers/accounts_controller.py:833
msgid "Disabled pricing rules since this {} is an internal transfer"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:762
+#: erpnext/controllers/accounts_controller.py:847
msgid "Disabled tax included prices since this {} is an internal transfer"
msgstr ""
@@ -17564,7 +17579,7 @@ msgstr ""
msgid "Disposal Date"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:824
+#: erpnext/assets/doctype/asset/depreciation.py:822
msgid "Disposal date {0} cannot be before {1} date {2} of the asset."
msgstr ""
@@ -17831,7 +17846,7 @@ msgstr ""
msgid "Document Type already used as a dimension"
msgstr ""
-#: erpnext/setup/install.py:158
+#: erpnext/setup/install.py:151
msgid "Documentation"
msgstr ""
@@ -18250,7 +18265,7 @@ msgstr ""
msgid "Duplicate POS Fields"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:91
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:89
#: erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py:66
msgid "Duplicate POS Invoices found"
msgstr ""
@@ -18259,7 +18274,7 @@ msgstr ""
msgid "Duplicate Project with Tasks"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:144
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:142
msgid "Duplicate Sales Invoices found"
msgstr ""
@@ -18867,7 +18882,7 @@ msgstr ""
msgid "Ems(Pica)"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1475
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1473
msgid "Enable Allow Partial Reservation in the Stock Settings to reserve partial stock."
msgstr ""
@@ -18883,7 +18898,7 @@ msgstr ""
msgid "Enable Auto Email"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1058
+#: erpnext/stock/doctype/item/item.py:1054
msgid "Enable Auto Re-Order"
msgstr ""
@@ -19088,7 +19103,7 @@ msgstr ""
#: erpnext/projects/doctype/timesheet/timesheet.json
#: erpnext/projects/report/project_summary/project_summary.py:80
#: erpnext/public/js/financial_statements.js:193
-#: erpnext/public/js/setup_wizard.js:43
+#: erpnext/public/js/setup_wizard.js:50
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.js:23
#: erpnext/setup/doctype/vehicle/vehicle.json
#: erpnext/support/doctype/service_level_agreement/service_level_agreement.json
@@ -19348,7 +19363,7 @@ msgstr ""
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
#: erpnext/manufacturing/doctype/job_card/job_card.py:875
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:298
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:296
msgid "Error"
msgstr ""
@@ -19396,7 +19411,7 @@ msgstr ""
msgid "Error in party matching for Bank Transaction {0}"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:315
+#: erpnext/assets/doctype/asset/depreciation.py:313
msgid "Error while posting depreciation entries"
msgstr ""
@@ -19472,7 +19487,7 @@ msgstr ""
msgid "Example URL"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:989
+#: erpnext/stock/doctype/item/item.py:985
msgid "Example of a linked document: {0}"
msgstr ""
@@ -19488,7 +19503,7 @@ msgstr ""
msgid "Example: ABCD.#####. If series is set and Batch No is not mentioned in transactions, then automatic batch number will be created based on this series. If you always want to explicitly mention Batch No for this item, leave this blank. Note: this setting will take priority over the Naming Series Prefix in Stock Settings."
msgstr ""
-#: erpnext/stock/stock_ledger.py:2149
+#: erpnext/stock/stock_ledger.py:2152
msgid "Example: Serial No {0} reserved in {1}."
msgstr ""
@@ -19542,8 +19557,8 @@ msgstr ""
msgid "Exchange Gain/Loss"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1596
-#: erpnext/controllers/accounts_controller.py:1680
+#: erpnext/controllers/accounts_controller.py:1683
+#: erpnext/controllers/accounts_controller.py:1767
msgid "Exchange Gain/Loss amount has been booked through {0}"
msgstr ""
@@ -19697,7 +19712,7 @@ msgstr ""
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:154
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:187
#: erpnext/public/js/bom_configurator/bom_configurator.bundle.js:197
-#: erpnext/public/js/setup_wizard.js:180
+#: erpnext/public/js/setup_wizard.js:187
msgid "Expand All"
msgstr ""
@@ -19741,7 +19756,7 @@ msgstr ""
msgid "Expected Delivery Date"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:354
+#: erpnext/selling/doctype/sales_order/sales_order.py:352
msgid "Expected Delivery Date should be after Sales Order Date"
msgstr ""
@@ -19819,7 +19834,7 @@ msgstr ""
msgid "Expense"
msgstr ""
-#: erpnext/controllers/stock_controller.py:756
+#: erpnext/controllers/stock_controller.py:767
msgid "Expense / Difference account ({0}) must be a 'Profit or Loss' account"
msgstr ""
@@ -19842,6 +19857,8 @@ msgstr ""
#. Item'
#. Label of the expense_account (Link) field in DocType 'Subcontracting Receipt
#. Item'
+#. Label of the expense_account (Link) field in DocType 'Subcontracting Receipt
+#. Supplied Item'
#: erpnext/accounts/doctype/account/account.json
#: erpnext/accounts/doctype/loyalty_program/loyalty_program.json
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
@@ -19858,10 +19875,11 @@ msgstr ""
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
+#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
msgid "Expense Account"
msgstr ""
-#: erpnext/controllers/stock_controller.py:736
+#: erpnext/controllers/stock_controller.py:747
msgid "Expense Account Missing"
msgstr ""
@@ -20513,7 +20531,7 @@ msgstr ""
msgid "Financial Statements"
msgstr ""
-#: erpnext/public/js/setup_wizard.js:41
+#: erpnext/public/js/setup_wizard.js:48
msgid "Financial Year Begins On"
msgstr ""
@@ -20574,15 +20592,15 @@ msgstr ""
msgid "Finished Good Item Quantity"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3661
+#: erpnext/controllers/accounts_controller.py:3746
msgid "Finished Good Item is not specified for service item {0}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3678
+#: erpnext/controllers/accounts_controller.py:3763
msgid "Finished Good Item {0} Qty can not be zero"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3672
+#: erpnext/controllers/accounts_controller.py:3757
msgid "Finished Good Item {0} must be a sub-contracted item"
msgstr ""
@@ -20958,7 +20976,7 @@ msgstr ""
msgid "For Item"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1216
+#: erpnext/controllers/stock_controller.py:1225
msgid "For Item {0} cannot be received more than {1} qty against the {2} {3}"
msgstr ""
@@ -20999,7 +21017,7 @@ msgstr ""
msgid "For Raw Materials"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1262
+#: erpnext/controllers/accounts_controller.py:1349
msgid "For Return Invoices with Stock effect, '0' qty Items are not allowed. Following rows are affected: {0}"
msgstr ""
@@ -21105,7 +21123,7 @@ msgctxt "Clear payment terms template and/or payment schedule when due date is c
msgid "For the new {0} to take effect, would you like to clear the current {1}?"
msgstr ""
-#: erpnext/controllers/stock_controller.py:302
+#: erpnext/controllers/stock_controller.py:313
msgid "For the {0}, no stock is available for the return in the warehouse {1}."
msgstr ""
@@ -21708,7 +21726,7 @@ msgstr ""
msgid "Fulfilled"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:23
+#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:24
msgid "Fulfillment"
msgstr ""
@@ -21839,7 +21857,7 @@ msgstr ""
msgid "Future Payments"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:378
+#: erpnext/assets/doctype/asset/depreciation.py:376
msgid "Future date is not allowed"
msgstr ""
@@ -21855,7 +21873,7 @@ msgstr ""
#. Name of a DocType
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
-#: erpnext/accounts/report/general_ledger/general_ledger.py:634
+#: erpnext/accounts/report/general_ledger/general_ledger.py:632
msgid "GL Entry"
msgstr ""
@@ -22000,7 +22018,7 @@ msgstr ""
msgid "General and Payment Ledger mismatch"
msgstr ""
-#: erpnext/public/js/setup_wizard.js:47
+#: erpnext/public/js/setup_wizard.js:54
msgid "Generate Demo Data for Exploration"
msgstr ""
@@ -22961,7 +22979,7 @@ msgstr ""
msgid "Height (cm)"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:338
+#: erpnext/assets/doctype/asset/depreciation.py:336
msgid "Hello,"
msgstr ""
@@ -23000,11 +23018,11 @@ msgstr ""
msgid "Helps you distribute the Budget/Target across months if you have seasonality in your business."
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:345
+#: erpnext/assets/doctype/asset/depreciation.py:343
msgid "Here are the error logs for the aforementioned failed depreciation entries: {0}"
msgstr ""
-#: erpnext/stock/stock_ledger.py:1871
+#: erpnext/stock/stock_ledger.py:1874
msgid "Here are the options to proceed:"
msgstr ""
@@ -23057,7 +23075,7 @@ msgstr ""
msgid "Hide Images"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:282
+#: erpnext/selling/page/point_of_sale/pos_controller.js:281
msgid "Hide Recent Orders"
msgstr ""
@@ -23385,7 +23403,7 @@ msgstr ""
msgid "If checked, the tax amount will be considered as already included in the Print Rate / Print Amount"
msgstr ""
-#: erpnext/public/js/setup_wizard.js:49
+#: erpnext/public/js/setup_wizard.js:56
msgid "If checked, we will create demo data for you to explore the system. This demo data can be erased later."
msgstr ""
@@ -23530,7 +23548,7 @@ msgstr ""
msgid "If more than one package of the same type (for print)"
msgstr ""
-#: erpnext/stock/stock_ledger.py:1881
+#: erpnext/stock/stock_ledger.py:1884
msgid "If not, you can Cancel / Submit this entry"
msgstr ""
@@ -23555,7 +23573,7 @@ msgstr ""
msgid "If the account is frozen, entries are allowed to restricted users."
msgstr ""
-#: erpnext/stock/stock_ledger.py:1874
+#: erpnext/stock/stock_ledger.py:1877
msgid "If the item is transacting as a Zero Valuation Rate item in this entry, please enable 'Allow Zero Valuation Rate' in the {0} Item table."
msgstr ""
@@ -24469,7 +24487,7 @@ msgstr ""
#: erpnext/accounts/doctype/process_deferred_accounting/process_deferred_accounting.json
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:406
#: erpnext/accounts/report/account_balance/account_balance.js:27
-#: erpnext/accounts/report/financial_statements.py:733
+#: erpnext/accounts/report/financial_statements.py:729
#: erpnext/accounts/report/profit_and_loss_statement/profit_and_loss_statement.py:176
#: erpnext/accounts/report/profitability_analysis/profitability_analysis.py:182
msgid "Income"
@@ -24553,7 +24571,7 @@ msgstr ""
msgid "Incorrect Batch Consumed"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:517
+#: erpnext/stock/doctype/item/item.py:515
msgid "Incorrect Check in (group) Warehouse for Reorder"
msgstr ""
@@ -24611,7 +24629,7 @@ msgstr ""
msgid "Incorrect Warehouse"
msgstr ""
-#: erpnext/accounts/general_ledger.py:61
+#: erpnext/accounts/general_ledger.py:62
msgid "Incorrect number of General Ledger Entries found. You might have selected a wrong Account in the transaction."
msgstr ""
@@ -24769,13 +24787,13 @@ msgstr ""
msgid "Inspected By"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1108
+#: erpnext/controllers/stock_controller.py:1119
msgid "Inspection Rejected"
msgstr ""
#. Label of the inspection_required (Check) field in DocType 'Stock Entry'
-#: erpnext/controllers/stock_controller.py:1078
-#: erpnext/controllers/stock_controller.py:1080
+#: erpnext/controllers/stock_controller.py:1089
+#: erpnext/controllers/stock_controller.py:1091
#: erpnext/stock/doctype/stock_entry/stock_entry.json
msgid "Inspection Required"
msgstr ""
@@ -24792,7 +24810,7 @@ msgstr ""
msgid "Inspection Required before Purchase"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1093
+#: erpnext/controllers/stock_controller.py:1104
msgid "Inspection Submission"
msgstr ""
@@ -24871,8 +24889,8 @@ msgstr ""
msgid "Insufficient Capacity"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3593
-#: erpnext/controllers/accounts_controller.py:3617
+#: erpnext/controllers/accounts_controller.py:3678
+#: erpnext/controllers/accounts_controller.py:3702
msgid "Insufficient Permissions"
msgstr ""
@@ -24880,12 +24898,12 @@ msgstr ""
#: erpnext/stock/doctype/pick_list/pick_list.py:127
#: erpnext/stock/doctype/pick_list/pick_list.py:975
#: erpnext/stock/doctype/stock_entry/stock_entry.py:759
-#: erpnext/stock/serial_batch_bundle.py:1021 erpnext/stock/stock_ledger.py:1568
-#: erpnext/stock/stock_ledger.py:2040
+#: erpnext/stock/serial_batch_bundle.py:1017 erpnext/stock/stock_ledger.py:1571
+#: erpnext/stock/stock_ledger.py:2043
msgid "Insufficient Stock"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2055
+#: erpnext/stock/stock_ledger.py:2058
msgid "Insufficient Stock for Batch"
msgstr ""
@@ -25023,11 +25041,11 @@ msgstr ""
msgid "Internal Customer for company {0} already exists"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:731
+#: erpnext/controllers/accounts_controller.py:733
msgid "Internal Sale or Delivery Reference missing."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:733
+#: erpnext/controllers/accounts_controller.py:735
msgid "Internal Sales Reference Missing"
msgstr ""
@@ -25058,7 +25076,7 @@ msgstr ""
msgid "Internal Transfer"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:742
+#: erpnext/controllers/accounts_controller.py:744
msgid "Internal Transfer Reference Missing"
msgstr ""
@@ -25071,7 +25089,7 @@ msgstr ""
msgid "Internal Work History"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1175
+#: erpnext/controllers/stock_controller.py:1186
msgid "Internal transfers can only be done in company's default currency"
msgstr ""
@@ -25101,8 +25119,8 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:969
#: erpnext/assets/doctype/asset_category/asset_category.py:69
#: erpnext/assets/doctype/asset_category/asset_category.py:97
-#: erpnext/controllers/accounts_controller.py:2978
-#: erpnext/controllers/accounts_controller.py:2986
+#: erpnext/controllers/accounts_controller.py:3063
+#: erpnext/controllers/accounts_controller.py:3071
msgid "Invalid Account"
msgstr ""
@@ -25119,7 +25137,7 @@ msgstr ""
msgid "Invalid Attribute"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:553
+#: erpnext/controllers/accounts_controller.py:555
msgid "Invalid Auto Repeat Date"
msgstr ""
@@ -25135,13 +25153,13 @@ msgstr ""
msgid "Invalid Child Procedure"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2155
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2153
msgid "Invalid Company for Inter Company Transaction."
msgstr ""
#: erpnext/assets/doctype/asset/asset.py:295
#: erpnext/assets/doctype/asset/asset.py:302
-#: erpnext/controllers/accounts_controller.py:3001
+#: erpnext/controllers/accounts_controller.py:3086
msgid "Invalid Cost Center"
msgstr ""
@@ -25149,7 +25167,7 @@ msgstr ""
msgid "Invalid Credentials"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:356
+#: erpnext/selling/doctype/sales_order/sales_order.py:354
msgid "Invalid Delivery Date"
msgstr ""
@@ -25178,12 +25196,12 @@ msgstr ""
msgid "Invalid Group By"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:462
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:460
#: erpnext/manufacturing/doctype/production_plan/production_plan.py:901
msgid "Invalid Item"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1404
+#: erpnext/stock/doctype/item/item.py:1400
msgid "Invalid Item Defaults"
msgstr ""
@@ -25197,7 +25215,7 @@ msgstr ""
msgid "Invalid Opening Entry"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:129
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:127
msgid "Invalid POS Invoices"
msgstr ""
@@ -25229,11 +25247,11 @@ msgstr ""
msgid "Invalid Purchase Invoice"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3630
+#: erpnext/controllers/accounts_controller.py:3715
msgid "Invalid Qty"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1280
+#: erpnext/controllers/accounts_controller.py:1367
msgid "Invalid Quantity"
msgstr ""
@@ -25241,7 +25259,7 @@ msgstr ""
msgid "Invalid Return"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:194
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:192
msgid "Invalid Sales Invoices"
msgstr ""
@@ -25250,7 +25268,7 @@ msgstr ""
msgid "Invalid Schedule"
msgstr ""
-#: erpnext/controllers/selling_controller.py:251
+#: erpnext/controllers/selling_controller.py:255
msgid "Invalid Selling Price"
msgstr ""
@@ -25279,11 +25297,11 @@ msgstr ""
msgid "Invalid condition expression"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:277
+#: erpnext/selling/doctype/quotation/quotation.py:270
msgid "Invalid lost reason {0}, please create a new lost reason"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:411
+#: erpnext/stock/doctype/item/item.py:409
msgid "Invalid naming series (. missing) for {0}"
msgstr ""
@@ -25306,7 +25324,7 @@ msgstr ""
msgid "Invalid {0}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2153
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2151
msgid "Invalid {0} for Inter Company Transaction."
msgstr ""
@@ -25502,7 +25520,7 @@ msgstr ""
#: erpnext/accounts/doctype/opening_invoice_creation_tool/opening_invoice_creation_tool.json
#: erpnext/accounts/doctype/payment_reconciliation/payment_reconciliation.json
#: erpnext/accounts/doctype/pos_profile/pos_profile.json
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2204
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2202
#: erpnext/buying/doctype/supplier/supplier.json
#: erpnext/selling/report/payment_terms_status_for_sales_order/payment_terms_status_for_sales_order.py:62
msgid "Invoices"
@@ -26175,7 +26193,7 @@ msgstr ""
msgid "Issuing cannot be done to a location. Please enter employee to issue the Asset {0} to"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:571
+#: erpnext/stock/doctype/item/item.py:569
msgid "It can take upto few hours for accurate stock values to be visible after merging items."
msgstr ""
@@ -26229,7 +26247,7 @@ msgstr ""
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:33
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.py:204
#: erpnext/buying/workspace/buying/buying.json
-#: erpnext/controllers/taxes_and_totals.py:1135
+#: erpnext/controllers/taxes_and_totals.py:1123
#: erpnext/manufacturing/doctype/blanket_order/blanket_order.json
#: erpnext/manufacturing/doctype/bom/bom.js:944
#: erpnext/manufacturing/doctype/bom/bom.json
@@ -26586,7 +26604,7 @@ msgstr ""
msgid "Item Code required at Row No {0}"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:826
+#: erpnext/selling/page/point_of_sale/pos_controller.js:825
#: erpnext/selling/page/point_of_sale/pos_item_details.js:275
msgid "Item Code: {0} is not available under warehouse {1}."
msgstr ""
@@ -27013,8 +27031,11 @@ msgstr ""
msgid "Item Price"
msgstr ""
+#. Label of the item_price_settings_section (Section Break) field in DocType
+#. 'Accounts Settings'
#. Label of the item_price_settings_section (Section Break) field in DocType
#. 'Selling Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
#: erpnext/selling/doctype/selling_settings/selling_settings.json
msgid "Item Price Settings"
msgstr ""
@@ -27026,7 +27047,7 @@ msgstr ""
msgid "Item Price Stock"
msgstr ""
-#: erpnext/stock/get_item_details.py:1047
+#: erpnext/stock/get_item_details.py:1048
msgid "Item Price added for {0} in Price List {1}"
msgstr ""
@@ -27034,7 +27055,7 @@ msgstr ""
msgid "Item Price appears multiple times based on Price List, Supplier/Customer, Currency, Item, Batch, UOM, Qty, and Dates."
msgstr ""
-#: erpnext/stock/get_item_details.py:1026
+#: erpnext/stock/get_item_details.py:1027
msgid "Item Price updated for {0} in Price List {1}"
msgstr ""
@@ -27212,7 +27233,7 @@ msgstr ""
msgid "Item Variant {0} already exists with same attributes"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:772
+#: erpnext/stock/doctype/item/item.py:770
msgid "Item Variants updated"
msgstr ""
@@ -27278,7 +27299,7 @@ msgstr ""
msgid "Item for row {0} does not match Material Request"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:789
+#: erpnext/stock/doctype/item/item.py:787
msgid "Item has variants."
msgstr ""
@@ -27304,7 +27325,7 @@ msgstr ""
msgid "Item operation"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3653
+#: erpnext/controllers/accounts_controller.py:3738
msgid "Item qty can not be updated as raw materials are already processed."
msgstr ""
@@ -27330,7 +27351,7 @@ msgstr ""
msgid "Item valuation reposting in progress. Report might show incorrect item valuation."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:946
+#: erpnext/stock/doctype/item/item.py:944
msgid "Item variant {0} exists with same attributes"
msgstr ""
@@ -27343,7 +27364,7 @@ msgid "Item {0} cannot be ordered more than {1} against Blanket Order {2}."
msgstr ""
#: erpnext/assets/doctype/asset/asset.py:277
-#: erpnext/stock/doctype/item/item.py:636
+#: erpnext/stock/doctype/item/item.py:634
msgid "Item {0} does not exist"
msgstr ""
@@ -27351,11 +27372,11 @@ msgstr ""
msgid "Item {0} does not exist in the system or has expired"
msgstr ""
-#: erpnext/controllers/stock_controller.py:392
+#: erpnext/controllers/stock_controller.py:403
msgid "Item {0} does not exist."
msgstr ""
-#: erpnext/controllers/selling_controller.py:760
+#: erpnext/controllers/selling_controller.py:762
msgid "Item {0} entered multiple times."
msgstr ""
@@ -27367,11 +27388,11 @@ msgstr ""
msgid "Item {0} has been disabled"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:708
+#: erpnext/selling/doctype/sales_order/sales_order.py:706
msgid "Item {0} has no Serial No. Only serialized items can have delivery based on Serial No"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1120
+#: erpnext/stock/doctype/item/item.py:1116
msgid "Item {0} has reached its end of life on {1}"
msgstr ""
@@ -27379,15 +27400,15 @@ msgstr ""
msgid "Item {0} ignored since it is not a stock item"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:474
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:472
msgid "Item {0} is already reserved/delivered against Sales Order {1}."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1140
+#: erpnext/stock/doctype/item/item.py:1136
msgid "Item {0} is cancelled"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1124
+#: erpnext/stock/doctype/item/item.py:1120
msgid "Item {0} is disabled"
msgstr ""
@@ -27395,7 +27416,7 @@ msgstr ""
msgid "Item {0} is not a serialized Item"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1132
+#: erpnext/stock/doctype/item/item.py:1128
msgid "Item {0} is not a stock Item"
msgstr ""
@@ -27411,11 +27432,11 @@ msgstr ""
msgid "Item {0} must be a Fixed Asset Item"
msgstr ""
-#: erpnext/stock/get_item_details.py:327
+#: erpnext/stock/get_item_details.py:328
msgid "Item {0} must be a Non-Stock Item"
msgstr ""
-#: erpnext/stock/get_item_details.py:324
+#: erpnext/stock/get_item_details.py:325
msgid "Item {0} must be a Sub-contracted Item"
msgstr ""
@@ -27439,7 +27460,7 @@ msgstr ""
msgid "Item {0}: {1} qty produced. "
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1423
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1428
msgid "Item {} does not exist."
msgstr ""
@@ -27579,7 +27600,7 @@ msgstr ""
msgid "Items and Pricing"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3875
+#: erpnext/controllers/accounts_controller.py:3960
msgid "Items cannot be updated as Subcontracting Order is created against the Purchase Order {0}."
msgstr ""
@@ -27616,7 +27637,7 @@ msgstr ""
msgid "Items under this warehouse will be suggested"
msgstr ""
-#: erpnext/controllers/stock_controller.py:92
+#: erpnext/controllers/stock_controller.py:103
msgid "Items {0} do not exist in the Item master."
msgstr ""
@@ -28332,7 +28353,7 @@ msgstr ""
msgid "Leads"
msgstr ""
-#: erpnext/utilities/activation.py:77
+#: erpnext/utilities/activation.py:78
msgid "Leads help you get business, add all your contacts and more as your leads"
msgstr ""
@@ -28606,7 +28627,7 @@ msgstr ""
msgid "Likes"
msgstr ""
-#: erpnext/controllers/status_updater.py:398
+#: erpnext/controllers/status_updater.py:396
msgid "Limit Crossed"
msgstr ""
@@ -28691,7 +28712,7 @@ msgstr ""
msgid "Linked Location"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:993
+#: erpnext/stock/doctype/item/item.py:989
msgid "Linked with submitted documents"
msgstr ""
@@ -29067,6 +29088,12 @@ msgstr ""
msgid "Maintain Asset"
msgstr ""
+#. Label of the maintain_same_internal_transaction_rate (Check) field in
+#. DocType 'Accounts Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
+msgid "Maintain Same Rate Throughout Internal Transaction"
+msgstr ""
+
#. Label of the maintain_same_sales_rate (Check) field in DocType 'Selling
#. Settings'
#: erpnext/selling/doctype/selling_settings/selling_settings.json
@@ -29403,7 +29430,7 @@ msgstr ""
msgid "Manage cost of operations"
msgstr ""
-#: erpnext/utilities/activation.py:94
+#: erpnext/utilities/activation.py:95
msgid "Manage your orders"
msgstr ""
@@ -29450,7 +29477,7 @@ msgstr ""
msgid "Mandatory Depends On"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1698
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1696
msgid "Mandatory Field"
msgstr ""
@@ -29466,7 +29493,7 @@ msgstr ""
msgid "Mandatory For Profit and Loss Account"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:606
+#: erpnext/selling/doctype/quotation/quotation.py:588
msgid "Mandatory Missing"
msgstr ""
@@ -29646,7 +29673,7 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py:30
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
#: erpnext/manufacturing/workspace/manufacturing/manufacturing.json
-#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:28
+#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:29
#: erpnext/setup/doctype/company/company.json
#: erpnext/setup/setup_wizard/data/industry_type.txt:31
#: erpnext/stock/doctype/batch/batch.json erpnext/stock/doctype/item/item.json
@@ -30065,7 +30092,7 @@ msgstr ""
msgid "Material Request Type"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:1668
+#: erpnext/selling/doctype/sales_order/sales_order.py:1666
msgid "Material Request not created, as quantity for Raw Materials already available."
msgstr ""
@@ -30286,7 +30313,7 @@ msgstr ""
msgid "Maximum Value"
msgstr ""
-#: erpnext/controllers/selling_controller.py:220
+#: erpnext/controllers/selling_controller.py:224
msgid "Maximum discount for Item {0} is {1}%"
msgstr ""
@@ -30356,7 +30383,7 @@ msgstr ""
msgid "Megawatt"
msgstr ""
-#: erpnext/stock/stock_ledger.py:1887
+#: erpnext/stock/stock_ledger.py:1890
msgid "Mention Valuation Rate in the Item master."
msgstr ""
@@ -30474,7 +30501,7 @@ msgstr ""
msgid "Messages greater than 160 characters will be split into multiple messages"
msgstr ""
-#: erpnext/setup/install.py:130
+#: erpnext/setup/install.py:123
msgid "Messaging CRM Campagin"
msgstr ""
@@ -30751,19 +30778,19 @@ msgstr ""
msgid "Miscellaneous Expenses"
msgstr ""
-#: erpnext/controllers/buying_controller.py:548
+#: erpnext/controllers/buying_controller.py:602
msgid "Mismatch"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1424
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1429
msgid "Missing"
msgstr ""
#: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:69
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:183
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:587
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2220
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2820
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2218
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2818
#: erpnext/assets/doctype/asset_category/asset_category.py:116
msgid "Missing Account"
msgstr ""
@@ -31278,11 +31305,11 @@ msgstr ""
msgid "Multiple Variants"
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:148
+#: erpnext/stock/doctype/warehouse/warehouse.py:149
msgid "Multiple Warehouse Accounts"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1132
+#: erpnext/controllers/accounts_controller.py:1217
msgid "Multiple fiscal years exist for the date {0}. Please set company in Fiscal Year"
msgstr ""
@@ -31433,7 +31460,7 @@ msgstr ""
msgid "Naming Series and Price Defaults"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:91
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:89
msgid "Naming Series is mandatory"
msgstr ""
@@ -31472,15 +31499,15 @@ msgstr ""
msgid "Needs Analysis"
msgstr ""
-#: erpnext/stock/serial_batch_bundle.py:1309
+#: erpnext/stock/serial_batch_bundle.py:1305
msgid "Negative Batch Quantity"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:606
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:607
msgid "Negative Quantity is not allowed"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:611
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:612
msgid "Negative Valuation Rate is not allowed"
msgstr ""
@@ -31563,40 +31590,40 @@ msgstr ""
msgid "Net Asset value as on"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:152
+#: erpnext/accounts/report/cash_flow/cash_flow.py:156
msgid "Net Cash from Financing"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:145
+#: erpnext/accounts/report/cash_flow/cash_flow.py:149
msgid "Net Cash from Investing"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:133
+#: erpnext/accounts/report/cash_flow/cash_flow.py:137
msgid "Net Cash from Operations"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:138
+#: erpnext/accounts/report/cash_flow/cash_flow.py:142
msgid "Net Change in Accounts Payable"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:137
+#: erpnext/accounts/report/cash_flow/cash_flow.py:141
msgid "Net Change in Accounts Receivable"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:119
+#: erpnext/accounts/report/cash_flow/cash_flow.py:123
#: erpnext/accounts/report/consolidated_financial_statement/consolidated_financial_statement.py:253
msgid "Net Change in Cash"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:154
+#: erpnext/accounts/report/cash_flow/cash_flow.py:158
msgid "Net Change in Equity"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:147
+#: erpnext/accounts/report/cash_flow/cash_flow.py:151
msgid "Net Change in Fixed Asset"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:139
+#: erpnext/accounts/report/cash_flow/cash_flow.py:143
msgid "Net Change in Inventory"
msgstr ""
@@ -31762,7 +31789,7 @@ msgstr ""
msgid "Net Weight UOM"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1486
+#: erpnext/controllers/accounts_controller.py:1573
msgid "Net total calculation precision loss"
msgstr ""
@@ -31859,7 +31886,7 @@ msgstr ""
msgid "New Income"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:244
+#: erpnext/selling/page/point_of_sale/pos_controller.js:243
msgid "New Invoice"
msgstr ""
@@ -32049,11 +32076,11 @@ msgstr ""
msgid "No Answer"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2322
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2320
msgid "No Customer found for Inter Company Transactions which represents company {0}"
msgstr ""
-#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.js:115
+#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.js:129
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.py:363
msgid "No Customers found with selected options."
msgstr ""
@@ -32066,11 +32093,11 @@ msgstr ""
msgid "No Delivery Note selected for Customer {}"
msgstr ""
-#: erpnext/stock/get_item_details.py:298
+#: erpnext/stock/get_item_details.py:299
msgid "No Item with Barcode {0}"
msgstr ""
-#: erpnext/stock/get_item_details.py:302
+#: erpnext/stock/get_item_details.py:303
msgid "No Item with Serial No {0}"
msgstr ""
@@ -32098,14 +32125,14 @@ msgstr ""
msgid "No Outstanding Invoices found for this party"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:618
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:616
msgid "No POS Profile found. Please create a New POS Profile first"
msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1539
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1599
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1613
-#: erpnext/stock/doctype/item/item.py:1365
+#: erpnext/stock/doctype/item/item.py:1361
msgid "No Permission"
msgstr ""
@@ -32139,7 +32166,7 @@ msgstr ""
msgid "No Summary"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2306
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2304
msgid "No Supplier found for Inter Company Transactions which represents company {0}"
msgstr ""
@@ -32164,11 +32191,11 @@ msgid "No Work Orders were created"
msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:794
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:689
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:736
msgid "No accounting entries for the following warehouses"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:714
+#: erpnext/selling/doctype/sales_order/sales_order.py:712
msgid "No active BOM found for item {0}. Delivery by Serial No cannot be ensured"
msgstr ""
@@ -32352,7 +32379,7 @@ msgstr ""
msgid "No reserved stock to unreserve."
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:769
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:770
msgid "No stock ledger entries were created. Please set the quantity or valuation rate for the items properly and try again."
msgstr ""
@@ -32371,7 +32398,7 @@ msgstr ""
msgid "No {0} Accounts found for this company."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2370
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2368
msgid "No {0} found for Inter Company Transactions."
msgstr ""
@@ -32420,7 +32447,7 @@ msgstr ""
msgid "None"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:543
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:544
msgid "None of the items have any change in quantity or value."
msgstr ""
@@ -32436,7 +32463,7 @@ msgstr ""
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:566
#: erpnext/assets/doctype/asset/asset.js:612
#: erpnext/assets/doctype/asset/asset.js:627
-#: erpnext/controllers/buying_controller.py:233
+#: erpnext/controllers/buying_controller.py:235
#: erpnext/selling/doctype/product_bundle/product_bundle.py:72
#: erpnext/setup/doctype/transaction_deletion_record/transaction_deletion_record.py:80
msgid "Not Allowed"
@@ -32449,8 +32476,8 @@ msgstr ""
msgid "Not Applicable"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:825
-#: erpnext/selling/page/point_of_sale/pos_controller.js:854
+#: erpnext/selling/page/point_of_sale/pos_controller.js:824
+#: erpnext/selling/page/point_of_sale/pos_controller.js:853
msgid "Not Available"
msgstr ""
@@ -32539,8 +32566,8 @@ msgstr ""
#: erpnext/manufacturing/doctype/work_order/work_order.py:1815
#: erpnext/manufacturing/doctype/work_order/work_order.py:1973
#: erpnext/manufacturing/doctype/work_order/work_order.py:2040
-#: erpnext/selling/doctype/sales_order/sales_order.py:824
-#: erpnext/selling/doctype/sales_order/sales_order.py:1654
+#: erpnext/selling/doctype/sales_order/sales_order.py:822
+#: erpnext/selling/doctype/sales_order/sales_order.py:1652
msgid "Not permitted"
msgstr ""
@@ -32557,10 +32584,10 @@ msgstr ""
#: erpnext/selling/doctype/customer/customer.py:129
#: erpnext/selling/doctype/sales_order/sales_order.js:1168
#: erpnext/stock/doctype/item/item.js:526
-#: erpnext/stock/doctype/item/item.py:573
+#: erpnext/stock/doctype/item/item.py:571
#: erpnext/stock/doctype/item_price/item_price.json
#: erpnext/stock/doctype/stock_entry/stock_entry.py:1374
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:968
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:973
#: erpnext/templates/pages/timelog_info.html:43
msgid "Note"
msgstr ""
@@ -32587,7 +32614,7 @@ msgstr ""
msgid "Note: Item {0} added multiple times"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:639
+#: erpnext/controllers/accounts_controller.py:641
msgid "Note: Payment Entry will not be created since 'Cash or Bank Account' was not specified"
msgstr ""
@@ -32595,7 +32622,7 @@ msgstr ""
msgid "Note: This Cost Center is a Group. Cannot make accounting entries against groups."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:627
+#: erpnext/stock/doctype/item/item.py:625
msgid "Note: To merge the items, create a separate Stock Reconciliation for the old item {0}"
msgstr ""
@@ -32852,7 +32879,7 @@ msgstr ""
msgid "Offsetting Account"
msgstr ""
-#: erpnext/accounts/general_ledger.py:91
+#: erpnext/accounts/general_ledger.py:92
msgid "Offsetting for Accounting Dimension"
msgstr ""
@@ -33150,7 +33177,7 @@ msgstr ""
msgid "Open Events"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:237
+#: erpnext/selling/page/point_of_sale/pos_controller.js:236
msgid "Open Form View"
msgstr ""
@@ -33225,7 +33252,7 @@ msgstr ""
msgid "Open a new ticket"
msgstr ""
-#: erpnext/accounts/report/general_ledger/general_ledger.py:379
+#: erpnext/accounts/report/general_ledger/general_ledger.py:377
#: erpnext/public/js/stock_analytics.js:97
msgid "Opening"
msgstr ""
@@ -33235,12 +33262,12 @@ msgstr ""
msgid "Opening & Closing"
msgstr ""
-#: erpnext/accounts/report/trial_balance/trial_balance.py:454
+#: erpnext/accounts/report/trial_balance/trial_balance.py:450
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:198
msgid "Opening (Cr)"
msgstr ""
-#: erpnext/accounts/report/trial_balance/trial_balance.py:447
+#: erpnext/accounts/report/trial_balance/trial_balance.py:443
#: erpnext/accounts/report/trial_balance_for_party/trial_balance_for_party.py:191
msgid "Opening (Dr)"
msgstr ""
@@ -33323,7 +33350,7 @@ msgid "Opening Invoice Item"
msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:1625
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1807
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1805
msgid "Opening Invoice has rounding adjustment of {0}.
'{1}' account is required to post these values. Please set it in Company: {2}.
Or, '{3}' can be enabled to not post any rounding adjustment."
msgstr ""
@@ -33857,7 +33884,7 @@ msgstr ""
#: erpnext/buying/doctype/supplier/supplier_dashboard.py:11
#: erpnext/selling/doctype/customer/customer_dashboard.py:20
-#: erpnext/selling/doctype/sales_order/sales_order.py:809
+#: erpnext/selling/doctype/sales_order/sales_order.py:807
#: erpnext/setup/doctype/company/company_dashboard.py:23
msgid "Orders"
msgstr ""
@@ -34118,7 +34145,7 @@ msgstr ""
msgid "Over Billing Allowance (%)"
msgstr ""
-#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1251
+#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:1249
msgid "Over Billing Allowance exceeded for Purchase Receipt Item {0} ({1}) by {2}%"
msgstr ""
@@ -34136,11 +34163,11 @@ msgstr ""
msgid "Over Picking Allowance"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1343
+#: erpnext/controllers/stock_controller.py:1352
msgid "Over Receipt"
msgstr ""
-#: erpnext/controllers/status_updater.py:403
+#: erpnext/controllers/status_updater.py:401
msgid "Over Receipt/Delivery of {0} {1} ignored for item {2} because you have {3} role."
msgstr ""
@@ -34155,11 +34182,11 @@ msgstr ""
msgid "Over Transfer Allowance (%)"
msgstr ""
-#: erpnext/controllers/status_updater.py:405
+#: erpnext/controllers/status_updater.py:403
msgid "Overbilling of {0} {1} ignored for item {2} because you have {3} role."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2016
+#: erpnext/controllers/accounts_controller.py:2101
msgid "Overbilling of {} ignored because you have {} role."
msgstr ""
@@ -34285,7 +34312,7 @@ msgstr ""
msgid "POS"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:186
+#: erpnext/selling/page/point_of_sale/pos_controller.js:185
msgid "POS Closed"
msgstr ""
@@ -34363,15 +34390,15 @@ msgstr ""
msgid "POS Invoice Reference"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:104
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:102
msgid "POS Invoice is already consolidated"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:112
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:110
msgid "POS Invoice is not submitted"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:115
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:113
msgid "POS Invoice isn't created by user {}"
msgstr ""
@@ -34384,7 +34411,7 @@ msgstr ""
msgid "POS Invoices"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:73
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:71
msgid "POS Invoices can't be added when Sales Invoice is enabled"
msgstr ""
@@ -34446,8 +34473,8 @@ msgstr ""
msgid "POS Profile User"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:109
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:174
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:107
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:172
msgid "POS Profile doesn't match {}"
msgstr ""
@@ -34455,7 +34482,7 @@ msgstr ""
msgid "POS Profile is mandatory to mark this invoice as POS Transaction."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1251
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1249
msgid "POS Profile required to make POS Entry"
msgstr ""
@@ -34497,11 +34524,11 @@ msgstr ""
msgid "POS Transactions"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:189
+#: erpnext/selling/page/point_of_sale/pos_controller.js:188
msgid "POS has been closed at {0}. Please refresh the page."
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:476
+#: erpnext/selling/page/point_of_sale/pos_controller.js:475
msgid "POS invoice {0} created successfully"
msgstr ""
@@ -34550,7 +34577,7 @@ msgstr ""
msgid "Packed Items"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1179
+#: erpnext/controllers/stock_controller.py:1190
msgid "Packed Items cannot be transferred internally"
msgstr ""
@@ -34942,12 +34969,12 @@ msgstr ""
msgid "Partial Material Transferred"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1111
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1117
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1109
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1115
msgid "Partial Payment in POS Transactions are not allowed."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1478
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1476
msgid "Partial Stock Reservation"
msgstr ""
@@ -35133,7 +35160,7 @@ msgstr ""
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:147
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:228
#: erpnext/accounts/report/general_ledger/general_ledger.js:74
-#: erpnext/accounts/report/general_ledger/general_ledger.py:713
+#: erpnext/accounts/report/general_ledger/general_ledger.py:711
#: erpnext/accounts/report/payment_ledger/payment_ledger.js:51
#: erpnext/accounts/report/payment_ledger/payment_ledger.py:155
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.js:46
@@ -35181,7 +35208,7 @@ msgstr ""
msgid "Party Account No. (Bank Statement)"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2281
+#: erpnext/controllers/accounts_controller.py:2366
msgid "Party Account {0} currency ({1}) and document currency ({2}) should be same"
msgstr ""
@@ -35292,7 +35319,7 @@ msgstr ""
#: erpnext/accounts/report/accounts_receivable_summary/accounts_receivable_summary.py:141
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:219
#: erpnext/accounts/report/general_ledger/general_ledger.js:65
-#: erpnext/accounts/report/general_ledger/general_ledger.py:712
+#: erpnext/accounts/report/general_ledger/general_ledger.py:710
#: erpnext/accounts/report/payment_ledger/payment_ledger.js:41
#: erpnext/accounts/report/payment_ledger/payment_ledger.py:151
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.js:35
@@ -35309,7 +35336,7 @@ msgstr ""
msgid "Party Type"
msgstr ""
-#: erpnext/accounts/party.py:825
+#: erpnext/accounts/party.py:823
msgid "Party Type and Party can only be set for Receivable / Payable account
{0}"
msgstr ""
@@ -35466,7 +35493,7 @@ msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.js:445
#: erpnext/buying/doctype/purchase_order/purchase_order_dashboard.py:24
#: erpnext/selling/doctype/sales_order/sales_order.js:758
-#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:30
+#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:31
msgid "Payment"
msgstr ""
@@ -35597,7 +35624,7 @@ msgstr ""
msgid "Payment Entry is already created"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1437
+#: erpnext/controllers/accounts_controller.py:1524
msgid "Payment Entry {0} is linked against Order {1}, check if it should be pulled as advance in this invoice."
msgstr ""
@@ -35993,7 +36020,7 @@ msgstr ""
msgid "Payment against {0} {1} cannot be greater than Outstanding Amount {2}"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:743
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:741
msgid "Payment amount cannot be less than or equal to 0"
msgstr ""
@@ -36857,7 +36884,7 @@ msgstr ""
msgid "Please add {1} role to user {0}."
msgstr ""
-#: erpnext/controllers/stock_controller.py:1354
+#: erpnext/controllers/stock_controller.py:1363
msgid "Please adjust the qty or edit {0} to proceed."
msgstr ""
@@ -36865,7 +36892,7 @@ msgstr ""
msgid "Please attach CSV file"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2957
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2955
msgid "Please cancel and amend the Payment Entry"
msgstr ""
@@ -36931,7 +36958,7 @@ msgstr ""
msgid "Please convert the parent account in corresponding child company to a group account."
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:604
+#: erpnext/selling/doctype/quotation/quotation.py:586
msgid "Please create Customer from Lead {0}."
msgstr ""
@@ -36943,7 +36970,7 @@ msgstr ""
msgid "Please create a new Accounting Dimension if required."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:732
+#: erpnext/controllers/accounts_controller.py:734
msgid "Please create purchase from internal sale or delivery document itself"
msgstr ""
@@ -36951,11 +36978,11 @@ msgstr ""
msgid "Please create purchase receipt or purchase invoice for the item {0}"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:655
+#: erpnext/stock/doctype/item/item.py:653
msgid "Please delete Product Bundle {0}, before merging {1} into {2}"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:552
+#: erpnext/assets/doctype/asset/depreciation.py:550
msgid "Please disable workflow temporarily for Journal Entry {0}"
msgstr ""
@@ -36989,11 +37016,11 @@ msgstr ""
msgid "Please enable pop-ups"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:574
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:572
msgid "Please enable {0} in the {1}."
msgstr ""
-#: erpnext/controllers/selling_controller.py:762
+#: erpnext/controllers/selling_controller.py:764
msgid "Please enable {} in {} to allow same item in multiple rows"
msgstr ""
@@ -37017,8 +37044,8 @@ msgstr ""
msgid "Please enter Difference Account or set default Stock Adjustment Account for company {0}"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:517
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1158
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:515
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1156
msgid "Please enter Account for Change Amount"
msgstr ""
@@ -37026,11 +37053,11 @@ msgstr ""
msgid "Please enter Approving Role or Approving User"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:935
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:940
msgid "Please enter Cost Center"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:360
+#: erpnext/selling/doctype/sales_order/sales_order.py:358
msgid "Please enter Delivery Date"
msgstr ""
@@ -37038,7 +37065,7 @@ msgstr ""
msgid "Please enter Employee Id of this sales person"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:944
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:949
msgid "Please enter Expense Account"
msgstr ""
@@ -37100,7 +37127,7 @@ msgid "Please enter Warehouse and Date"
msgstr ""
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.py:652
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1154
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1152
msgid "Please enter Write Off Account"
msgstr ""
@@ -37112,7 +37139,7 @@ msgstr ""
msgid "Please enter company name first"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2767
+#: erpnext/controllers/accounts_controller.py:2852
msgid "Please enter default currency in Company Master"
msgstr ""
@@ -37144,15 +37171,15 @@ msgstr ""
msgid "Please enter the company name to confirm"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:746
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:744
msgid "Please enter the phone number first"
msgstr ""
-#: erpnext/controllers/buying_controller.py:1015
+#: erpnext/controllers/buying_controller.py:1069
msgid "Please enter the {schedule_date}."
msgstr ""
-#: erpnext/public/js/setup_wizard.js:86
+#: erpnext/public/js/setup_wizard.js:93
msgid "Please enter valid Financial Year Start and End Dates"
msgstr ""
@@ -37212,8 +37239,8 @@ msgstr ""
msgid "Please mention 'Weight UOM' along with Weight."
msgstr ""
-#: erpnext/accounts/general_ledger.py:622
-#: erpnext/accounts/general_ledger.py:629
+#: erpnext/accounts/general_ledger.py:624
+#: erpnext/accounts/general_ledger.py:631
msgid "Please mention '{0}' in Company: {1}"
msgstr ""
@@ -37250,12 +37277,12 @@ msgstr ""
msgid "Please select Template Type to download template"
msgstr ""
-#: erpnext/controllers/taxes_and_totals.py:731
+#: erpnext/controllers/taxes_and_totals.py:719
#: erpnext/public/js/controllers/taxes_and_totals.js:721
msgid "Please select Apply Discount On"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:1619
+#: erpnext/selling/doctype/sales_order/sales_order.py:1617
msgid "Please select BOM against item {0}"
msgstr ""
@@ -37263,7 +37290,7 @@ msgstr ""
msgid "Please select BOM for Item in Row {0}"
msgstr ""
-#: erpnext/controllers/buying_controller.py:475
+#: erpnext/controllers/buying_controller.py:529
msgid "Please select BOM in BOM field for Item {item_code}."
msgstr ""
@@ -37341,15 +37368,15 @@ msgstr ""
msgid "Please select Price List"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:1621
+#: erpnext/selling/doctype/sales_order/sales_order.py:1619
msgid "Please select Qty against item {0}"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:323
+#: erpnext/stock/doctype/item/item.py:321
msgid "Please select Sample Retention Warehouse in Stock Settings first"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:325
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:323
msgid "Please select Serial/Batch Nos to reserve or change Reservation Based On to Qty."
msgstr ""
@@ -37361,7 +37388,7 @@ msgstr ""
msgid "Please select Subcontracting Order instead of Purchase Order {0}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2616
+#: erpnext/controllers/accounts_controller.py:2701
msgid "Please select Unrealized Profit / Loss account or add default Unrealized Profit / Loss account account for company {0}"
msgstr ""
@@ -37539,15 +37566,15 @@ msgstr ""
msgid "Please set 'Apply Additional Discount On'"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:779
+#: erpnext/assets/doctype/asset/depreciation.py:777
msgid "Please set 'Asset Depreciation Cost Center' in Company {0}"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:777
+#: erpnext/assets/doctype/asset/depreciation.py:775
msgid "Please set 'Gain/Loss Account on Asset Disposal' in Company {0}"
msgstr ""
-#: erpnext/accounts/general_ledger.py:528
+#: erpnext/accounts/general_ledger.py:530
msgid "Please set '{0}' in Company: {1}"
msgstr ""
@@ -37555,7 +37582,7 @@ msgstr ""
msgid "Please set Account"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1698
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1696
msgid "Please set Account for Change Amount"
msgstr ""
@@ -37578,7 +37605,7 @@ msgstr ""
msgid "Please set Company"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:741
+#: erpnext/assets/doctype/asset/depreciation.py:739
msgid "Please set Depreciation related Accounts in Asset Category {0} or Company {1}"
msgstr ""
@@ -37596,7 +37623,7 @@ msgstr ""
msgid "Please set Fiscal Code for the public administration '%s'"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:727
+#: erpnext/assets/doctype/asset/depreciation.py:725
msgid "Please set Fixed Asset Account in Asset Category {0}"
msgstr ""
@@ -37638,7 +37665,7 @@ msgstr ""
msgid "Please set a Cost Center for the Asset or set an Asset Depreciation Cost Center for the Company {}"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:1395
+#: erpnext/selling/doctype/sales_order/sales_order.py:1393
msgid "Please set a Supplier against the Items to be considered in the Purchase Order."
msgstr ""
@@ -37659,7 +37686,7 @@ msgstr ""
msgid "Please set an Address on the Company '%s'"
msgstr ""
-#: erpnext/controllers/stock_controller.py:731
+#: erpnext/controllers/stock_controller.py:742
msgid "Please set an Expense Account in the Items table"
msgstr ""
@@ -37675,19 +37702,19 @@ msgstr ""
msgid "Please set both the Tax ID and Fiscal Code on Company {0}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2217
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2215
msgid "Please set default Cash or Bank account in Mode of Payment {0}"
msgstr ""
#: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:66
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:180
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2817
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2815
msgid "Please set default Cash or Bank account in Mode of Payment {}"
msgstr ""
#: erpnext/accounts/doctype/pos_opening_entry/pos_opening_entry.py:68
#: erpnext/accounts/doctype/pos_profile/pos_profile.py:182
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2819
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2817
msgid "Please set default Cash or Bank account in Mode of Payments {}"
msgstr ""
@@ -37703,7 +37730,7 @@ msgstr ""
msgid "Please set default UOM in Stock Settings"
msgstr ""
-#: erpnext/controllers/stock_controller.py:592
+#: erpnext/controllers/stock_controller.py:603
msgid "Please set default cost of goods sold account in company {0} for booking rounding gain and loss during stock transfer"
msgstr ""
@@ -37720,7 +37747,7 @@ msgstr ""
msgid "Please set filters"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2197
+#: erpnext/controllers/accounts_controller.py:2282
msgid "Please set one of the following:"
msgstr ""
@@ -37787,7 +37814,7 @@ msgstr ""
msgid "Please set {0} in Company {1} to account for Exchange Gain / Loss"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:521
+#: erpnext/controllers/accounts_controller.py:523
msgid "Please set {0} to {1}, the same account that was used in the original invoice {2}."
msgstr ""
@@ -37795,7 +37822,7 @@ msgstr ""
msgid "Please setup and enable a group account with the Account Type - {0} for the company {1}"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:350
+#: erpnext/assets/doctype/asset/depreciation.py:348
msgid "Please share this email with your support team so that they can find and fix the issue."
msgstr ""
@@ -37803,7 +37830,7 @@ msgstr ""
msgid "Please specify"
msgstr ""
-#: erpnext/stock/get_item_details.py:309
+#: erpnext/stock/get_item_details.py:310
msgid "Please specify Company"
msgstr ""
@@ -37814,7 +37841,7 @@ msgid "Please specify Company to proceed"
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.js:1472
-#: erpnext/controllers/accounts_controller.py:2960
+#: erpnext/controllers/accounts_controller.py:3045
#: erpnext/public/js/controllers/accounts.js:97
msgid "Please specify a valid Row ID for row {0} in table {1}"
msgstr ""
@@ -37827,7 +37854,7 @@ msgstr ""
msgid "Please specify at least one attribute in the Attributes table"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:601
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:602
msgid "Please specify either Quantity or Valuation Rate or both"
msgstr ""
@@ -38015,7 +38042,7 @@ msgstr ""
#: erpnext/accounts/report/bank_reconciliation_statement/bank_reconciliation_statement.py:61
#: erpnext/accounts/report/billed_items_to_be_received/billed_items_to_be_received.py:66
#: erpnext/accounts/report/cheques_and_deposits_incorrectly_cleared/cheques_and_deposits_incorrectly_cleared.py:151
-#: erpnext/accounts/report/general_ledger/general_ledger.py:640
+#: erpnext/accounts/report/general_ledger/general_ledger.py:638
#: erpnext/accounts/report/gross_profit/gross_profit.py:269
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:183
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:202
@@ -38062,7 +38089,7 @@ msgid "Posting Date Inheritance for Exchange Gain / Loss"
msgstr ""
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.py:253
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:126
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:130
msgid "Posting Date cannot be future date"
msgstr ""
@@ -38515,7 +38542,7 @@ msgstr ""
msgid "Price Per Unit ({0})"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:702
+#: erpnext/selling/page/point_of_sale/pos_controller.js:700
msgid "Price is not set for the item."
msgstr ""
@@ -38869,7 +38896,7 @@ msgstr ""
msgid "Print Style"
msgstr ""
-#: erpnext/setup/install.py:107
+#: erpnext/setup/install.py:100
msgid "Print UOM after Quantity"
msgstr ""
@@ -38887,7 +38914,7 @@ msgstr ""
msgid "Print settings updated in respective print format"
msgstr ""
-#: erpnext/setup/install.py:114
+#: erpnext/setup/install.py:107
msgid "Print taxes with zero amount"
msgstr ""
@@ -39544,7 +39571,7 @@ msgstr ""
#: erpnext/accounts/report/customer_ledger_summary/customer_ledger_summary.js:109
#: erpnext/accounts/report/delivered_items_to_be_billed/delivered_items_to_be_billed.py:74
#: erpnext/accounts/report/general_ledger/general_ledger.js:164
-#: erpnext/accounts/report/general_ledger/general_ledger.py:717
+#: erpnext/accounts/report/general_ledger/general_ledger.py:715
#: erpnext/accounts/report/gross_profit/gross_profit.js:79
#: erpnext/accounts/report/gross_profit/gross_profit.py:357
#: erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py:225
@@ -39781,7 +39808,7 @@ msgstr ""
#: erpnext/config/projects.py:7 erpnext/projects/doctype/project/project.py:445
#: erpnext/projects/workspace/projects/projects.json
#: erpnext/selling/doctype/customer/customer_dashboard.py:26
-#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:27
+#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:28
#: erpnext/setup/doctype/company/company_dashboard.py:25
msgid "Projects"
msgstr ""
@@ -40189,7 +40216,7 @@ msgstr ""
#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.js:48
#: erpnext/buying/report/purchase_order_analysis/purchase_order_analysis.py:203
#: erpnext/buying/workspace/buying/buying.json
-#: erpnext/controllers/buying_controller.py:747
+#: erpnext/controllers/buying_controller.py:801
#: erpnext/crm/doctype/contract/contract.json
#: erpnext/manufacturing/doctype/blanket_order/blanket_order.js:54
#: erpnext/manufacturing/doctype/production_plan_sub_assembly_item/production_plan_sub_assembly_item.json
@@ -40262,7 +40289,7 @@ msgstr ""
msgid "Purchase Order Item Supplied"
msgstr ""
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:735
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:782
msgid "Purchase Order Item reference is missing in Subcontracting Receipt {0}"
msgstr ""
@@ -40328,7 +40355,7 @@ msgstr ""
msgid "Purchase Orders to Receive"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1836
+#: erpnext/controllers/accounts_controller.py:1921
msgid "Purchase Orders {0} are un-linked"
msgstr ""
@@ -40438,7 +40465,7 @@ msgstr ""
msgid "Purchase Receipt doesn't have any Item for which Retain Sample is enabled."
msgstr ""
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:812
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:859
msgid "Purchase Receipt {0} created."
msgstr ""
@@ -40543,7 +40570,7 @@ msgstr ""
msgid "Purchase Value"
msgstr ""
-#: erpnext/utilities/activation.py:104
+#: erpnext/utilities/activation.py:105
msgid "Purchase orders help you plan and follow up on your purchases"
msgstr ""
@@ -40559,7 +40586,7 @@ msgstr ""
#. Option for the 'Order Type' (Select) field in DocType 'Blanket Order'
#. Label of the purchasing_tab (Tab Break) field in DocType 'Item'
#: erpnext/manufacturing/doctype/blanket_order/blanket_order.json
-#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:26
+#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:27
#: erpnext/stock/doctype/item/item.json
msgid "Purchasing"
msgstr ""
@@ -41449,7 +41476,7 @@ msgstr ""
msgid "Query Route String"
msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:143
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:146
msgid "Queue Size should be between 5 and 100"
msgstr ""
@@ -41574,20 +41601,20 @@ msgstr ""
msgid "Quotation Trends"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:424
+#: erpnext/selling/doctype/sales_order/sales_order.py:422
msgid "Quotation {0} is cancelled"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:337
+#: erpnext/selling/doctype/sales_order/sales_order.py:335
msgid "Quotation {0} not of type {1}"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:350
+#: erpnext/selling/doctype/quotation/quotation.py:343
#: erpnext/selling/page/sales_funnel/sales_funnel.py:57
msgid "Quotations"
msgstr ""
-#: erpnext/utilities/activation.py:86
+#: erpnext/utilities/activation.py:87
msgid "Quotations are proposals, bids you have sent to your customers"
msgstr ""
@@ -42426,8 +42453,8 @@ msgstr ""
msgid "Receiving"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:245
-#: erpnext/selling/page/point_of_sale/pos_controller.js:282
+#: erpnext/selling/page/point_of_sale/pos_controller.js:244
+#: erpnext/selling/page/point_of_sale/pos_controller.js:281
#: erpnext/selling/page/point_of_sale/pos_past_order_list.js:17
msgid "Recent Orders"
msgstr ""
@@ -42723,7 +42750,7 @@ msgstr ""
#: erpnext/manufacturing/doctype/material_request_plan_item/material_request_plan_item.json
#: erpnext/manufacturing/doctype/production_plan_item/production_plan_item.json
#: erpnext/manufacturing/doctype/work_order/work_order_dashboard.py:13
-#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:29
+#: erpnext/selling/doctype/sales_order/sales_order_dashboard.py:30
#: erpnext/setup/setup_wizard/data/marketing_source.txt:2
#: erpnext/stock/doctype/delivery_note/delivery_note_dashboard.py:23
#: erpnext/stock/doctype/item_price/item_price.json
@@ -43030,7 +43057,7 @@ msgid "Referral Sales Partner"
msgstr ""
#: erpnext/public/js/plant_floor_visual/visual_plant.js:151
-#: erpnext/selling/page/point_of_sale/pos_controller.js:191
+#: erpnext/selling/page/point_of_sale/pos_controller.js:190
#: erpnext/selling/page/sales_funnel/sales_funnel.js:53
msgid "Refresh"
msgstr ""
@@ -43238,7 +43265,7 @@ msgstr ""
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1169
#: erpnext/accounts/report/general_ledger/general_ledger.html:84
#: erpnext/accounts/report/general_ledger/general_ledger.html:110
-#: erpnext/accounts/report/general_ledger/general_ledger.py:742
+#: erpnext/accounts/report/general_ledger/general_ledger.py:740
#: erpnext/accounts/report/payment_period_based_on_invoice_date/payment_period_based_on_invoice_date.py:112
#: erpnext/accounts/report/purchase_register/purchase_register.py:296
#: erpnext/accounts/report/sales_register/sales_register.py:335
@@ -43276,7 +43303,7 @@ msgstr ""
msgid "Remove item if charges is not applicable to that item"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:551
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:552
msgid "Removed items with no change in quantity or value."
msgstr ""
@@ -43475,7 +43502,7 @@ msgstr ""
msgid "Report View"
msgstr ""
-#: erpnext/setup/install.py:160
+#: erpnext/setup/install.py:153
msgid "Report an Issue"
msgstr ""
@@ -43969,7 +43996,7 @@ msgstr ""
msgid "Reserved Qty for Subcontract: Raw materials quantity to make subcontracted items."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:515
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:513
msgid "Reserved Qty should be greater than Delivered Qty."
msgstr ""
@@ -43985,7 +44012,7 @@ msgstr ""
msgid "Reserved Quantity for Production"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2155
+#: erpnext/stock/stock_ledger.py:2158
msgid "Reserved Serial No."
msgstr ""
@@ -44001,11 +44028,11 @@ msgstr ""
#: erpnext/stock/doctype/pick_list/pick_list.js:153
#: erpnext/stock/report/reserved_stock/reserved_stock.json
#: erpnext/stock/report/stock_balance/stock_balance.py:499
-#: erpnext/stock/stock_ledger.py:2139
+#: erpnext/stock/stock_ledger.py:2142
msgid "Reserved Stock"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2185
+#: erpnext/stock/stock_ledger.py:2188
msgid "Reserved Stock for Batch"
msgstr ""
@@ -44017,7 +44044,7 @@ msgstr ""
msgid "Reserved Stock for Sub-assembly"
msgstr ""
-#: erpnext/controllers/buying_controller.py:484
+#: erpnext/controllers/buying_controller.py:538
msgid "Reserved Warehouse is mandatory for the Item {item_code} in Raw Materials supplied."
msgstr ""
@@ -44405,7 +44432,7 @@ msgstr ""
msgid "Return Qty from Rejected Warehouse"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1344
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1342
msgid "Return invoice of asset cancelled"
msgstr ""
@@ -44586,10 +44613,13 @@ msgstr ""
msgid "Role Allowed to Over Deliver/Receive"
msgstr ""
+#. Label of the role_to_override_stop_action (Link) field in DocType 'Accounts
+#. Settings'
#. Label of the role_to_override_stop_action (Link) field in DocType 'Buying
#. Settings'
#. Label of the role_to_override_stop_action (Link) field in DocType 'Selling
#. Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
#: erpnext/buying/doctype/buying_settings/buying_settings.json
#: erpnext/selling/doctype/selling_settings/selling_settings.json
msgid "Role Allowed to Override Stop Action"
@@ -44802,8 +44832,8 @@ msgstr ""
msgid "Rounding Loss Allowance should be between 0 and 1"
msgstr ""
-#: erpnext/controllers/stock_controller.py:604
-#: erpnext/controllers/stock_controller.py:619
+#: erpnext/controllers/stock_controller.py:615
+#: erpnext/controllers/stock_controller.py:630
msgid "Rounding gain/loss Entry for Stock Transfer"
msgstr ""
@@ -44831,11 +44861,11 @@ msgstr ""
msgid "Routing Name"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:663
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:664
msgid "Row #"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:567
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:568
msgid "Row # {0}:"
msgstr ""
@@ -44843,11 +44873,11 @@ msgstr ""
msgid "Row # {0}: Cannot return more than {1} for Item {2}"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:182
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:185
msgid "Row # {0}: Please add Serial and Batch Bundle for Item {1}"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:201
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:204
msgid "Row # {0}: Please enter quantity for Item {1} as it is not zero."
msgstr ""
@@ -44859,17 +44889,17 @@ msgstr ""
msgid "Row # {0}: Returned Item {1} does not exist in {2} {3}"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:526
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1890
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:524
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1888
msgid "Row #{0} (Payment Table): Amount must be negative"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:524
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1885
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:522
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1883
msgid "Row #{0} (Payment Table): Amount must be positive"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:498
+#: erpnext/stock/doctype/item/item.py:496
msgid "Row #{0}: A reorder entry already exists for warehouse {1} with reorder type {2}."
msgstr ""
@@ -44882,15 +44912,15 @@ msgid "Row #{0}: Acceptance Criteria Formula is required."
msgstr ""
#: erpnext/controllers/subcontracting_controller.py:72
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:453
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:487
msgid "Row #{0}: Accepted Warehouse and Rejected Warehouse cannot be same"
msgstr ""
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:446
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:480
msgid "Row #{0}: Accepted Warehouse is mandatory for the accepted Item {1}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1120
+#: erpnext/controllers/accounts_controller.py:1205
msgid "Row #{0}: Account {1} does not belong to company {2}"
msgstr ""
@@ -44923,7 +44953,7 @@ msgstr ""
msgid "Row #{0}: BOM is not specified for subcontracting item {0}"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:315
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:313
msgid "Row #{0}: Batch No {1} is already selected."
msgstr ""
@@ -44931,27 +44961,27 @@ msgstr ""
msgid "Row #{0}: Cannot allocate more than {1} against payment term {2}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3527
+#: erpnext/controllers/accounts_controller.py:3612
msgid "Row #{0}: Cannot delete item {1} which has already been billed."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3501
+#: erpnext/controllers/accounts_controller.py:3586
msgid "Row #{0}: Cannot delete item {1} which has already been delivered"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3520
+#: erpnext/controllers/accounts_controller.py:3605
msgid "Row #{0}: Cannot delete item {1} which has already been received"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3507
+#: erpnext/controllers/accounts_controller.py:3592
msgid "Row #{0}: Cannot delete item {1} which has work order assigned to it."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3513
+#: erpnext/controllers/accounts_controller.py:3598
msgid "Row #{0}: Cannot delete item {1} which is assigned to customer's purchase order."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3768
+#: erpnext/controllers/accounts_controller.py:3853
msgid "Row #{0}: Cannot set Rate if the billed amount is greater than the amount for Item {1}."
msgstr ""
@@ -45011,7 +45041,7 @@ msgstr ""
msgid "Row #{0}: Expected Delivery Date cannot be before Purchase Order Date"
msgstr ""
-#: erpnext/controllers/stock_controller.py:733
+#: erpnext/controllers/stock_controller.py:744
msgid "Row #{0}: Expense Account not set for the Item {1}. {2}"
msgstr ""
@@ -45031,7 +45061,7 @@ msgstr ""
msgid "Row #{0}: Finished Good must be {1}"
msgstr ""
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:434
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:468
msgid "Row #{0}: Finished Good reference is mandatory for Scrap Item {1}."
msgstr ""
@@ -45067,11 +45097,15 @@ msgstr ""
msgid "Row #{0}: Item {1} does not exist"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1382
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1380
msgid "Row #{0}: Item {1} has been picked, please reserve stock from the Pick List."
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:725
+#: erpnext/controllers/stock_controller.py:87
+msgid "Row #{0}: Item {1} has zero rate but 'Allow Zero Valuation Rate' is not enabled."
+msgstr ""
+
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:726
msgid "Row #{0}: Item {1} is not a Serialized/Batched Item. It cannot have a Serial No/Batch No against it."
msgstr ""
@@ -45095,11 +45129,11 @@ msgstr ""
msgid "Row #{0}: Next Depreciation Date cannot be before Purchase Date"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:587
+#: erpnext/selling/doctype/sales_order/sales_order.py:585
msgid "Row #{0}: Not allowed to change Supplier as Purchase Order already exists"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1465
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1463
msgid "Row #{0}: Only {1} available to reserve for the Item {2}"
msgstr ""
@@ -45127,11 +45161,11 @@ msgstr ""
msgid "Row #{0}: Please select the Sub Assembly Warehouse"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:505
+#: erpnext/stock/doctype/item/item.py:503
msgid "Row #{0}: Please set reorder quantity"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:544
+#: erpnext/controllers/accounts_controller.py:546
msgid "Row #{0}: Please update deferred revenue/expense account in item row or default account in company master"
msgstr ""
@@ -45144,31 +45178,33 @@ msgstr ""
msgid "Row #{0}: Qty must be a positive number"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:303
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:301
msgid "Row #{0}: Qty should be less than or equal to Available Qty to Reserve (Actual Qty - Reserved Qty) {1} for Iem {2} against Batch {3} in Warehouse {4}."
msgstr ""
-#: erpnext/controllers/stock_controller.py:1074
+#: erpnext/controllers/stock_controller.py:1085
msgid "Row #{0}: Quality Inspection is required for Item {1}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1089
+#: erpnext/controllers/stock_controller.py:1100
msgid "Row #{0}: Quality Inspection {1} is not submitted for the item: {2}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1104
+#: erpnext/controllers/stock_controller.py:1115
msgid "Row #{0}: Quality Inspection {1} was rejected for item {2}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1277
-#: erpnext/controllers/accounts_controller.py:3627
+#: erpnext/controllers/accounts_controller.py:1364
+#: erpnext/controllers/accounts_controller.py:3712
msgid "Row #{0}: Quantity for Item {1} cannot be zero."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1450
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1448
msgid "Row #{0}: Quantity to reserve for the Item {1} should be greater than 0."
msgstr ""
+#: erpnext/controllers/accounts_controller.py:801
+#: erpnext/controllers/accounts_controller.py:813
#: erpnext/utilities/transaction_base.py:114
#: erpnext/utilities/transaction_base.py:120
msgid "Row #{0}: Rate must be same as {1}: {2} ({3} / {4})"
@@ -45182,7 +45218,7 @@ msgstr ""
msgid "Row #{0}: Reference Document Type must be one of Sales Order, Sales Invoice, Journal Entry or Dunning"
msgstr ""
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:427
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:461
msgid "Row #{0}: Rejected Qty cannot be set for Scrap Item {1}."
msgstr ""
@@ -45194,11 +45230,11 @@ msgstr ""
msgid "Row #{0}: Return Against is required for returning asset"
msgstr ""
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:422
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:456
msgid "Row #{0}: Scrap Item Qty cannot be zero"
msgstr ""
-#: erpnext/controllers/selling_controller.py:238
+#: erpnext/controllers/selling_controller.py:242
msgid ""
"Row #{0}: Selling rate for item {1} is lower than its {2}.\n"
"\t\t\t\t\tSelling {3} should be atleast {4}.
Alternatively,\n"
@@ -45206,31 +45242,31 @@ msgid ""
"\t\t\t\t\tthis validation."
msgstr ""
-#: erpnext/controllers/stock_controller.py:173
+#: erpnext/controllers/stock_controller.py:184
msgid "Row #{0}: Serial No {1} does not belong to Batch {2}"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:252
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:250
msgid "Row #{0}: Serial No {1} for Item {2} is not available in {3} {4} or might be reserved in another {5}."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:268
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:266
msgid "Row #{0}: Serial No {1} is already selected."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:572
+#: erpnext/controllers/accounts_controller.py:574
msgid "Row #{0}: Service End Date cannot be before Invoice Posting Date"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:566
+#: erpnext/controllers/accounts_controller.py:568
msgid "Row #{0}: Service Start Date cannot be greater than Service End Date"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:560
+#: erpnext/controllers/accounts_controller.py:562
msgid "Row #{0}: Service Start and End Date is required for deferred accounting"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:432
+#: erpnext/selling/doctype/sales_order/sales_order.py:430
msgid "Row #{0}: Set Supplier for item {1}"
msgstr ""
@@ -45250,19 +45286,19 @@ msgstr ""
msgid "Row #{0}: Status must be {1} for Invoice Discounting {2}"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:277
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:275
msgid "Row #{0}: Stock cannot be reserved for Item {1} against a disabled Batch {2}."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1395
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1393
msgid "Row #{0}: Stock cannot be reserved for a non-stock Item {1}"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1408
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1406
msgid "Row #{0}: Stock cannot be reserved in group warehouse {1}."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1422
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1420
msgid "Row #{0}: Stock is already reserved for the Item {1}."
msgstr ""
@@ -45270,20 +45306,20 @@ msgstr ""
msgid "Row #{0}: Stock is reserved for item {1} in warehouse {2}."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:287
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:285
msgid "Row #{0}: Stock not available to reserve for Item {1} against Batch {2} in Warehouse {3}."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1135
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1436
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1133
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1434
msgid "Row #{0}: Stock not available to reserve for the Item {1} in Warehouse {2}."
msgstr ""
-#: erpnext/controllers/stock_controller.py:186
+#: erpnext/controllers/stock_controller.py:197
msgid "Row #{0}: The batch {1} has already expired."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:514
+#: erpnext/stock/doctype/item/item.py:512
msgid "Row #{0}: The warehouse {1} is not a child warehouse of a group warehouse {2}"
msgstr ""
@@ -45323,39 +45359,39 @@ msgstr ""
msgid "Row #{1}: Warehouse is mandatory for stock Item {0}"
msgstr ""
-#: erpnext/controllers/buying_controller.py:267
+#: erpnext/controllers/buying_controller.py:269
msgid "Row #{idx}: Cannot select Supplier Warehouse while suppling raw materials to subcontractor."
msgstr ""
-#: erpnext/controllers/buying_controller.py:414
+#: erpnext/controllers/buying_controller.py:468
msgid "Row #{idx}: Item rate has been updated as per valuation rate since its an internal stock transfer."
msgstr ""
-#: erpnext/controllers/buying_controller.py:889
+#: erpnext/controllers/buying_controller.py:943
msgid "Row #{idx}: Please enter a location for the asset item {item_code}."
msgstr ""
-#: erpnext/controllers/buying_controller.py:545
+#: erpnext/controllers/buying_controller.py:599
msgid "Row #{idx}: Received Qty must be equal to Accepted + Rejected Qty for Item {item_code}."
msgstr ""
-#: erpnext/controllers/buying_controller.py:558
+#: erpnext/controllers/buying_controller.py:612
msgid "Row #{idx}: {field_label} can not be negative for item {item_code}."
msgstr ""
-#: erpnext/controllers/buying_controller.py:504
+#: erpnext/controllers/buying_controller.py:558
msgid "Row #{idx}: {field_label} is mandatory."
msgstr ""
-#: erpnext/controllers/buying_controller.py:526
+#: erpnext/controllers/buying_controller.py:580
msgid "Row #{idx}: {field_label} is not allowed in Purchase Return."
msgstr ""
-#: erpnext/controllers/buying_controller.py:258
+#: erpnext/controllers/buying_controller.py:260
msgid "Row #{idx}: {from_warehouse_field} and {to_warehouse_field} cannot be same."
msgstr ""
-#: erpnext/controllers/buying_controller.py:1007
+#: erpnext/controllers/buying_controller.py:1061
msgid "Row #{idx}: {schedule_date} cannot be before {transaction_date}."
msgstr ""
@@ -45391,7 +45427,7 @@ msgstr ""
msgid "Row #{}: Please use a different Finance Book."
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:486
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:484
msgid "Row #{}: Serial No {} cannot be returned since it was not transacted in original invoice {}"
msgstr ""
@@ -45403,7 +45439,7 @@ msgstr ""
msgid "Row #{}: The original Invoice {} of return invoice {} is not consolidated."
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:459
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:457
msgid "Row #{}: You cannot add positive quantities in a return invoice. Please remove item {} to complete the return."
msgstr ""
@@ -45411,8 +45447,8 @@ msgstr ""
msgid "Row #{}: item {} has been picked already."
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:127
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:192
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:125
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:190
msgid "Row #{}: {}"
msgstr ""
@@ -45420,7 +45456,7 @@ msgstr ""
msgid "Row #{}: {} {} does not exist."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1397
+#: erpnext/stock/doctype/item/item.py:1393
msgid "Row #{}: {} {} doesn't belong to Company {}. Please select valid {}."
msgstr ""
@@ -45452,7 +45488,7 @@ msgstr ""
msgid "Row {0}# Item {1} not found in 'Raw Materials Supplied' table in {2} {3}"
msgstr ""
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:216
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:223
msgid "Row {0}: Accepted Qty and Rejected Qty can't be zero at the same time."
msgstr ""
@@ -45492,11 +45528,11 @@ msgstr ""
msgid "Row {0}: Both Debit and Credit values cannot be zero"
msgstr ""
-#: erpnext/controllers/selling_controller.py:230
+#: erpnext/controllers/selling_controller.py:234
msgid "Row {0}: Conversion Factor is mandatory"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2998
+#: erpnext/controllers/accounts_controller.py:3083
msgid "Row {0}: Cost Center {1} does not belong to Company {2}"
msgstr ""
@@ -45516,11 +45552,11 @@ msgstr ""
msgid "Row {0}: Debit entry can not be linked with a {1}"
msgstr ""
-#: erpnext/controllers/selling_controller.py:784
+#: erpnext/controllers/selling_controller.py:786
msgid "Row {0}: Delivery Warehouse ({1}) and Customer Warehouse ({2}) can not be same"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2532
+#: erpnext/controllers/accounts_controller.py:2617
msgid "Row {0}: Due Date in the Payment Terms table cannot be before Posting Date"
msgstr ""
@@ -45529,7 +45565,7 @@ msgid "Row {0}: Either Delivery Note Item or Packed Item reference is mandatory.
msgstr ""
#: erpnext/accounts/doctype/journal_entry/journal_entry.py:1010
-#: erpnext/controllers/taxes_and_totals.py:1215
+#: erpnext/controllers/taxes_and_totals.py:1203
msgid "Row {0}: Exchange Rate is mandatory"
msgstr ""
@@ -45562,7 +45598,7 @@ msgstr ""
msgid "Row {0}: From Time and To Time of {1} is overlapping with {2}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1170
+#: erpnext/controllers/stock_controller.py:1181
msgid "Row {0}: From Warehouse is mandatory for internal transfers"
msgstr ""
@@ -45578,11 +45614,11 @@ msgstr ""
msgid "Row {0}: Invalid reference {1}"
msgstr ""
-#: erpnext/controllers/taxes_and_totals.py:143
+#: erpnext/controllers/taxes_and_totals.py:140
msgid "Row {0}: Item Tax template updated as per validity and rate applied"
msgstr ""
-#: erpnext/controllers/selling_controller.py:549
+#: erpnext/controllers/selling_controller.py:551
msgid "Row {0}: Item rate has been updated as per valuation rate since its an internal stock transfer"
msgstr ""
@@ -45654,7 +45690,7 @@ msgstr ""
msgid "Row {0}: Please set the correct code on Mode of Payment {1}"
msgstr ""
-#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:102
+#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:104
msgid "Row {0}: Project must be same as the one set in the Timesheet: {1}."
msgstr ""
@@ -45690,11 +45726,11 @@ msgstr ""
msgid "Row {0}: Subcontracted Item is mandatory for the raw material {1}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1161
+#: erpnext/controllers/stock_controller.py:1172
msgid "Row {0}: Target Warehouse is mandatory for internal transfers"
msgstr ""
-#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:113
+#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:115
msgid "Row {0}: Task {1} does not belong to Project {2}"
msgstr ""
@@ -45702,7 +45738,7 @@ msgstr ""
msgid "Row {0}: The item {1}, quantity must be positive number"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2975
+#: erpnext/controllers/accounts_controller.py:3060
msgid "Row {0}: The {3} Account {1} does not belong to the company {2}"
msgstr ""
@@ -45719,7 +45755,7 @@ msgstr ""
msgid "Row {0}: Workstation or Workstation Type is mandatory for an operation {1}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1014
+#: erpnext/controllers/accounts_controller.py:1099
msgid "Row {0}: user has not applied the rule {1} on the item {2}"
msgstr ""
@@ -45731,7 +45767,7 @@ msgstr ""
msgid "Row {0}: {1} must be greater than 0"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:709
+#: erpnext/controllers/accounts_controller.py:711
msgid "Row {0}: {1} {2} cannot be same as {3} (Party Account) {4}"
msgstr ""
@@ -45747,7 +45783,7 @@ msgstr ""
msgid "Row {1}: Quantity ({0}) cannot be a fraction. To allow this, disable '{2}' in UOM {3}."
msgstr ""
-#: erpnext/controllers/buying_controller.py:871
+#: erpnext/controllers/buying_controller.py:925
msgid "Row {idx}: Asset Naming Series is mandatory for the auto creation of assets for item {item_code}."
msgstr ""
@@ -45773,7 +45809,7 @@ msgstr ""
msgid "Rows with Same Account heads will be merged on Ledger"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2542
+#: erpnext/controllers/accounts_controller.py:2627
msgid "Rows with duplicate due dates in other rows were found: {0}"
msgstr ""
@@ -45781,7 +45817,7 @@ msgstr ""
msgid "Rows: {0} have 'Payment Entry' as reference_type. This should not be set manually."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:266
+#: erpnext/controllers/accounts_controller.py:268
msgid "Rows: {0} in {1} section are Invalid. Reference Name should point to a valid Payment Entry or Journal Entry."
msgstr ""
@@ -46102,27 +46138,27 @@ msgstr ""
msgid "Sales Invoice Trends"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:169
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:167
msgid "Sales Invoice does not have Payments"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:165
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:163
msgid "Sales Invoice is already consolidated"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:171
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:169
msgid "Sales Invoice is not created using POS"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:177
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:175
msgid "Sales Invoice is not submitted"
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:180
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:178
msgid "Sales Invoice isn't created by user {}"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:431
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:429
msgid "Sales Invoice mode is activated in POS. Please create Sales Invoice instead."
msgstr ""
@@ -46130,7 +46166,7 @@ msgstr ""
msgid "Sales Invoice {0} has already been submitted"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:517
+#: erpnext/selling/doctype/sales_order/sales_order.py:515
msgid "Sales Invoice {0} must be deleted before cancelling this Sales Order"
msgstr ""
@@ -46244,7 +46280,7 @@ msgstr ""
#: erpnext/accounts/report/sales_register/sales_register.py:238
#: erpnext/buying/doctype/purchase_order_item/purchase_order_item.json
#: erpnext/buying/doctype/supplier_quotation_item/supplier_quotation_item.json
-#: erpnext/controllers/selling_controller.py:470
+#: erpnext/controllers/selling_controller.py:472
#: erpnext/crm/doctype/contract/contract.json
#: erpnext/maintenance/doctype/maintenance_schedule/maintenance_schedule.js:65
#: erpnext/maintenance/doctype/maintenance_schedule_item/maintenance_schedule_item.json
@@ -46358,11 +46394,11 @@ msgstr ""
msgid "Sales Order required for Item {0}"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:293
+#: erpnext/selling/doctype/sales_order/sales_order.py:291
msgid "Sales Order {0} already exists against Customer's Purchase Order {1}. To allow multiple Sales Orders, Enable {2} in {3}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1265
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1263
msgid "Sales Order {0} is not submitted"
msgstr ""
@@ -46370,7 +46406,7 @@ msgstr ""
msgid "Sales Order {0} is not valid"
msgstr ""
-#: erpnext/controllers/selling_controller.py:451
+#: erpnext/controllers/selling_controller.py:453
#: erpnext/manufacturing/doctype/work_order/work_order.py:301
msgid "Sales Order {0} is {1}"
msgstr ""
@@ -46539,7 +46575,7 @@ msgstr ""
msgid "Sales Person"
msgstr ""
-#: erpnext/controllers/selling_controller.py:212
+#: erpnext/controllers/selling_controller.py:216
msgid "Sales Person {0} is disabled."
msgstr ""
@@ -46793,7 +46829,7 @@ msgstr ""
msgid "Same Item"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:583
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:584
msgid "Same item and warehouse combination already entered."
msgstr ""
@@ -47137,7 +47173,7 @@ msgstr ""
msgid "Scrap Warehouse"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:380
+#: erpnext/assets/doctype/asset/depreciation.py:378
msgid "Scrap date cannot be before purchase date"
msgstr ""
@@ -47206,7 +47242,7 @@ msgstr ""
msgid "Secretary"
msgstr ""
-#: erpnext/accounts/report/financial_statements.py:646
+#: erpnext/accounts/report/financial_statements.py:642
msgid "Section"
msgstr ""
@@ -47500,7 +47536,7 @@ msgstr ""
msgid "Select company name first."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2788
+#: erpnext/controllers/accounts_controller.py:2873
msgid "Select finance book for the item {0} at row {1}"
msgstr ""
@@ -47574,7 +47610,7 @@ msgstr ""
msgid "Selected POS Opening Entry should be open."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2365
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2363
msgid "Selected Price List should have buying and selling fields checked."
msgstr ""
@@ -47811,7 +47847,7 @@ msgstr ""
msgid "Serial / Batch Bundle"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:450
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:448
msgid "Serial / Batch Bundle Missing"
msgstr ""
@@ -47921,7 +47957,7 @@ msgstr ""
msgid "Serial No Range"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1895
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1893
msgid "Serial No Reserved"
msgstr ""
@@ -47961,7 +47997,7 @@ msgstr ""
msgid "Serial No and Batch Selector cannot be use when Use Serial / Batch Fields is enabled."
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:860
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:858
msgid "Serial No is mandatory"
msgstr ""
@@ -47990,7 +48026,7 @@ msgstr ""
msgid "Serial No {0} does not exist"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2624
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:2622
msgid "Serial No {0} does not exists"
msgstr ""
@@ -47998,7 +48034,7 @@ msgstr ""
msgid "Serial No {0} is already added"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:358
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:356
msgid "Serial No {0} is not present in the {1} {2}, hence you can't return it against the {1} {2}"
msgstr ""
@@ -48014,7 +48050,7 @@ msgstr ""
msgid "Serial No {0} not found"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:856
+#: erpnext/selling/page/point_of_sale/pos_controller.js:855
msgid "Serial No: {0} has already been transacted into another POS Invoice."
msgstr ""
@@ -48035,11 +48071,11 @@ msgstr ""
msgid "Serial Nos and Batches"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1371
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1369
msgid "Serial Nos are created successfully"
msgstr ""
-#: erpnext/stock/stock_ledger.py:2145
+#: erpnext/stock/stock_ledger.py:2148
msgid "Serial Nos are reserved in Stock Reservation Entries, you need to unreserve them before proceeding."
msgstr ""
@@ -48113,15 +48149,15 @@ msgstr ""
msgid "Serial and Batch Bundle"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1599
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1597
msgid "Serial and Batch Bundle created"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1665
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1663
msgid "Serial and Batch Bundle updated"
msgstr ""
-#: erpnext/controllers/stock_controller.py:122
+#: erpnext/controllers/stock_controller.py:133
msgid "Serial and Batch Bundle {0} is already used in {1} {2}."
msgstr ""
@@ -48853,7 +48889,7 @@ msgstr ""
msgid "Setup"
msgstr ""
-#: erpnext/public/js/setup_wizard.js:18
+#: erpnext/public/js/setup_wizard.js:25
msgid "Setup your organization"
msgstr ""
@@ -49074,7 +49110,7 @@ msgstr ""
msgid "Shipping Address Template"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:503
+#: erpnext/controllers/accounts_controller.py:505
msgid "Shipping Address does not belong to the {0}"
msgstr ""
@@ -49727,7 +49763,7 @@ msgstr ""
msgid "Source Warehouse Address Link"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1069
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1067
msgid "Source Warehouse is mandatory for the Item {0}."
msgstr ""
@@ -49891,7 +49927,7 @@ msgstr ""
msgid "Stale Days"
msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:109
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:112
msgid "Stale Days should start from 1."
msgstr ""
@@ -49910,7 +49946,7 @@ msgstr ""
#: erpnext/setup/setup_wizard/operations/defaults_setup.py:70
#: erpnext/setup/setup_wizard/operations/install_fixtures.py:463
-#: erpnext/stock/doctype/item/item.py:248
+#: erpnext/stock/doctype/item/item.py:247
msgid "Standard Selling"
msgstr ""
@@ -50740,7 +50776,7 @@ msgstr ""
#. Option for the 'Purpose' (Select) field in DocType 'Stock Reconciliation'
#. Label of a Link in the Stock Workspace
#: erpnext/setup/workspace/home/home.json
-#: erpnext/stock/doctype/item/item.py:618
+#: erpnext/stock/doctype/item/item.py:616
#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.json
#: erpnext/stock/workspace/stock/stock.json
msgid "Stock Reconciliation"
@@ -50751,7 +50787,7 @@ msgstr ""
msgid "Stock Reconciliation Item"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:618
+#: erpnext/stock/doctype/item/item.py:616
msgid "Stock Reconciliations"
msgstr ""
@@ -50786,15 +50822,15 @@ msgstr ""
#: erpnext/stock/doctype/pick_list/pick_list.js:150
#: erpnext/stock/doctype/pick_list/pick_list.js:155
#: erpnext/stock/doctype/stock_entry/stock_entry_dashboard.py:25
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:702
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:575
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1138
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1398
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1411
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1425
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1439
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1453
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1470
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:703
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:573
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1136
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1396
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1409
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1423
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1437
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1451
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1468
#: erpnext/stock/doctype/stock_settings/stock_settings.json
#: erpnext/stock/doctype/stock_settings/stock_settings.py:172
#: erpnext/stock/doctype/stock_settings/stock_settings.py:184
@@ -50803,13 +50839,13 @@ msgstr ""
msgid "Stock Reservation"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1579
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1577
msgid "Stock Reservation Entries Cancelled"
msgstr ""
#: erpnext/manufacturing/doctype/production_plan/production_plan.py:2120
#: erpnext/manufacturing/doctype/work_order/work_order.py:1670
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1531
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1529
msgid "Stock Reservation Entries Created"
msgstr ""
@@ -50817,17 +50853,17 @@ msgstr ""
#: erpnext/public/js/stock_reservation.js:308
#: erpnext/selling/doctype/sales_order/sales_order.js:438
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:262
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:260
#: erpnext/stock/report/reserved_stock/reserved_stock.js:53
#: erpnext/stock/report/reserved_stock/reserved_stock.py:171
msgid "Stock Reservation Entry"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:438
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:436
msgid "Stock Reservation Entry cannot be updated as it has been delivered."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:432
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:430
msgid "Stock Reservation Entry created against a Pick List cannot be updated. If you need to make changes, we recommend canceling the existing entry and creating a new one."
msgstr ""
@@ -50835,7 +50871,7 @@ msgstr ""
msgid "Stock Reservation Warehouse Mismatch"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:584
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:582
msgid "Stock Reservation can only be created against {0}."
msgstr ""
@@ -50870,7 +50906,7 @@ msgstr ""
#. Label of a Link in the Stock Workspace
#: erpnext/setup/doctype/company/company.json
#: erpnext/setup/workspace/settings/settings.json
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:576
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:574
#: erpnext/stock/doctype/stock_settings/stock_settings.json
#: erpnext/stock/workspace/stock/stock.json
msgid "Stock Settings"
@@ -50928,6 +50964,8 @@ msgstr ""
#. Label of the stock_uom (Link) field in DocType 'Stock Reservation Entry'
#. Label of the stock_uom (Link) field in DocType 'Subcontracting Order Item'
#. Label of the stock_uom (Link) field in DocType 'Subcontracting Receipt Item'
+#. Label of the stock_uom (Link) field in DocType 'Subcontracting Receipt
+#. Supplied Item'
#: erpnext/accounts/doctype/pos_invoice_item/pos_invoice_item.json
#: erpnext/accounts/doctype/purchase_invoice_item/purchase_invoice_item.json
#: erpnext/accounts/doctype/sales_invoice_item/sales_invoice_item.json
@@ -50966,6 +51004,7 @@ msgstr ""
#: erpnext/stock/report/stock_ledger/stock_ledger.py:214
#: erpnext/subcontracting/doctype/subcontracting_order_item/subcontracting_order_item.json
#: erpnext/subcontracting/doctype/subcontracting_receipt_item/subcontracting_receipt_item.json
+#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
msgid "Stock UOM"
msgstr ""
@@ -50986,12 +51025,9 @@ msgstr ""
#. Supplied'
#. Label of the stock_uom (Link) field in DocType 'Subcontracting Order
#. Supplied Item'
-#. Label of the stock_uom (Link) field in DocType 'Subcontracting Receipt
-#. Supplied Item'
#: erpnext/buying/doctype/purchase_order_item_supplied/purchase_order_item_supplied.json
#: erpnext/buying/doctype/purchase_receipt_item_supplied/purchase_receipt_item_supplied.json
#: erpnext/subcontracting/doctype/subcontracting_order_supplied_item/subcontracting_order_supplied_item.json
-#: erpnext/subcontracting/doctype/subcontracting_receipt_supplied_item/subcontracting_receipt_supplied_item.json
msgid "Stock Uom"
msgstr ""
@@ -51076,7 +51112,7 @@ msgstr ""
msgid "Stock cannot be reserved in group warehouse {0}."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1343
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1341
msgid "Stock cannot be reserved in the group warehouse {0}."
msgstr ""
@@ -51084,23 +51120,23 @@ msgstr ""
msgid "Stock cannot be updated against Purchase Receipt {0}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1140
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1138
msgid "Stock cannot be updated against the following Delivery Notes: {0}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1167
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1165
msgid "Stock cannot be updated because the invoice contains a drop shipping item. Please disable 'Update Stock' or remove the drop shipping item."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1036
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:1034
msgid "Stock has been unreserved for work order {0}."
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:233
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:231
msgid "Stock not available for Item {0} in Warehouse {1}."
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:836
+#: erpnext/selling/page/point_of_sale/pos_controller.js:835
msgid "Stock quantity not enough for Item Code: {0} under warehouse {1}. Available quantity {2} {3}."
msgstr ""
@@ -51129,6 +51165,8 @@ msgstr ""
msgid "Stone"
msgstr ""
+#. Option for the 'Action if Same Rate is Not Maintained Throughout Internal
+#. Transaction' (Select) field in DocType 'Accounts Settings'
#. Option for the 'Action if Annual Budget Exceeded on MR' (Select) field in
#. DocType 'Budget'
#. Option for the 'Action if Accumulated Monthly Budget Exceeded on MR'
@@ -51153,6 +51191,7 @@ msgstr ""
#. field in DocType 'Stock Settings'
#. Option for the 'Action If Quality Inspection Is Rejected' (Select) field in
#. DocType 'Stock Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
#: erpnext/accounts/doctype/budget/budget.json
#: erpnext/buying/doctype/buying_settings/buying_settings.json
#: erpnext/manufacturing/doctype/work_order/work_order.js:697
@@ -51487,7 +51526,7 @@ msgid "Submit"
msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.py:929
-#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:808
+#: erpnext/subcontracting/doctype/subcontracting_receipt/subcontracting_receipt.py:855
msgid "Submit Action Failed"
msgstr ""
@@ -51721,7 +51760,7 @@ msgstr ""
msgid "Successfully Set Supplier"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:342
+#: erpnext/stock/doctype/item/item.py:340
msgid "Successfully changed Stock UOM, please redefine conversion factors for new UOM."
msgstr ""
@@ -52078,7 +52117,7 @@ msgstr ""
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.html:59
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
#: erpnext/accounts/report/general_ledger/general_ledger.html:104
-#: erpnext/accounts/report/general_ledger/general_ledger.py:737
+#: erpnext/accounts/report/general_ledger/general_ledger.py:735
#: erpnext/accounts/report/tax_withholding_details/tax_withholding_details.py:212
msgid "Supplier Invoice No"
msgstr ""
@@ -52415,7 +52454,7 @@ msgstr ""
msgid "Switch Between Payment Modes"
msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:154
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:157
msgid "Switch Invoice Mode Error"
msgstr ""
@@ -52607,7 +52646,7 @@ msgstr ""
msgid "System will fetch all the entries if limit value is zero."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1978
+#: erpnext/controllers/accounts_controller.py:2063
msgid "System will not check over billing since amount for Item {0} in {1} is zero"
msgstr ""
@@ -52866,7 +52905,7 @@ msgstr ""
msgid "Target Warehouse is required before Submit"
msgstr ""
-#: erpnext/controllers/selling_controller.py:790
+#: erpnext/controllers/selling_controller.py:792
msgid "Target Warehouse is set for some items but the customer is not an internal customer."
msgstr ""
@@ -53105,7 +53144,7 @@ msgstr ""
msgid "Tax Category"
msgstr ""
-#: erpnext/controllers/buying_controller.py:202
+#: erpnext/controllers/buying_controller.py:204
msgid "Tax Category has been changed to \"Total\" because all the Items are non-stock items"
msgstr ""
@@ -53311,7 +53350,7 @@ msgstr ""
#. Label of the taxable_amount (Currency) field in DocType 'Tax Withheld
#. Vouchers'
#: erpnext/accounts/doctype/tax_withheld_vouchers/tax_withheld_vouchers.json
-#: erpnext/controllers/taxes_and_totals.py:1135
+#: erpnext/controllers/taxes_and_totals.py:1123
msgid "Taxable Amount"
msgstr ""
@@ -53450,7 +53489,7 @@ msgstr ""
msgid "Taxes and Charges Deducted (Company Currency)"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:355
+#: erpnext/stock/doctype/item/item.py:353
msgid "Taxes row #{0}: {1} cannot be smaller than {2}"
msgstr ""
@@ -53510,7 +53549,7 @@ msgstr ""
msgid "Template Item"
msgstr ""
-#: erpnext/stock/get_item_details.py:318
+#: erpnext/stock/get_item_details.py:319
msgid "Template Item Selected"
msgstr ""
@@ -53840,7 +53879,7 @@ msgstr ""
msgid "The BOM which will be replaced"
msgstr ""
-#: erpnext/stock/serial_batch_bundle.py:1306
+#: erpnext/stock/serial_batch_bundle.py:1302
msgid "The Batch {0} has negative quantity {1} in warehouse {2}. Please correct the quantity."
msgstr ""
@@ -53892,7 +53931,7 @@ msgstr ""
msgid "The Serial No at Row #{0}: {1} is not available in warehouse {2}."
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1892
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1890
msgid "The Serial No {0} is reserved against the {1} {2} and cannot be used for any other transaction."
msgstr ""
@@ -53967,7 +54006,7 @@ msgstr ""
msgid "The following Items, having Putaway Rules, could not be accomodated:"
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:340
+#: erpnext/assets/doctype/asset/depreciation.py:338
msgid "The following assets have failed to automatically post depreciation entries: {0}"
msgstr ""
@@ -53975,7 +54014,7 @@ msgstr ""
msgid "The following batches are expired, please restock them:
{0}"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:843
+#: erpnext/stock/doctype/item/item.py:841
msgid "The following deleted attributes exist in Variants but not in the Template. You can either delete the Variants or keep the attribute(s) in template."
msgstr ""
@@ -54000,15 +54039,15 @@ msgstr ""
msgid "The holiday on {0} is not between From Date and To Date"
msgstr ""
-#: erpnext/controllers/buying_controller.py:1074
+#: erpnext/controllers/buying_controller.py:1128
msgid "The item {item} is not marked as {type_of} item. You can enable it as {type_of} item from its Item master."
msgstr ""
-#: erpnext/stock/doctype/item/item.py:620
+#: erpnext/stock/doctype/item/item.py:618
msgid "The items {0} and {1} are present in the following {2} :"
msgstr ""
-#: erpnext/controllers/buying_controller.py:1067
+#: erpnext/controllers/buying_controller.py:1121
msgid "The items {items} are not marked as {type_of} item. You can enable them as {type_of} item from their Item masters."
msgstr ""
@@ -54098,7 +54137,7 @@ msgstr ""
msgid "The selected BOMs are not for the same item"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:502
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:500
msgid "The selected change account {} doesn't belongs to Company {}."
msgstr ""
@@ -54110,8 +54149,8 @@ msgstr ""
msgid "The seller and the buyer cannot be the same"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:143
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:155
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:141
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:153
msgid "The serial and batch bundle {0} not linked to {1} {2}"
msgstr ""
@@ -54135,7 +54174,7 @@ msgstr ""
msgid "The stock for the item {0} in the {1} warehouse was negative on the {2}. You should create a positive entry {3} before the date {4} and time {5} to post the correct valuation rate. For more details, please read the documentation."
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:696
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:697
msgid "The stock has been reserved for the following Items and Warehouses, un-reserve the same to {0} the Stock Reconciliation:
{1}"
msgstr ""
@@ -54148,11 +54187,11 @@ msgstr ""
msgid "The task has been enqueued as a background job."
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:990
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:995
msgid "The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Draft stage"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1001
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:1006
msgid "The task has been enqueued as a background job. In case there is any issue on processing in background, the system will add a comment about the error on this Stock Reconciliation and revert to the Submitted stage"
msgstr ""
@@ -54349,7 +54388,7 @@ msgstr ""
msgid "This covers all scorecards tied to this Setup"
msgstr ""
-#: erpnext/controllers/status_updater.py:386
+#: erpnext/controllers/status_updater.py:384
msgid "This document is over limit by {0} {1} for item {4}. Are you making another {3} against the same {2}?"
msgstr ""
@@ -54468,7 +54507,7 @@ msgstr ""
msgid "This schedule was created when Asset {0} was repaired through Asset Repair {1}."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1321
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1319
msgid "This schedule was created when Asset {0} was restored due to Sales Invoice {1} cancellation."
msgstr ""
@@ -54476,15 +54515,15 @@ msgstr ""
msgid "This schedule was created when Asset {0} was restored on Asset Capitalization {1}'s cancellation."
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:454
+#: erpnext/assets/doctype/asset/depreciation.py:452
msgid "This schedule was created when Asset {0} was restored."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1317
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1315
msgid "This schedule was created when Asset {0} was returned through Sales Invoice {1}."
msgstr ""
-#: erpnext/assets/doctype/asset/depreciation.py:413
+#: erpnext/assets/doctype/asset/depreciation.py:411
msgid "This schedule was created when Asset {0} was scrapped."
msgstr ""
@@ -54492,7 +54531,7 @@ msgstr ""
msgid "This schedule was created when Asset {0} was {1} into new Asset {2}."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1293
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1291
msgid "This schedule was created when Asset {0} was {1} through Sales Invoice {2}."
msgstr ""
@@ -54536,7 +54575,7 @@ msgstr ""
msgid "This will restrict user access to other employee records"
msgstr ""
-#: erpnext/controllers/selling_controller.py:791
+#: erpnext/controllers/selling_controller.py:793
msgid "This {} will be treated as material transfer."
msgstr ""
@@ -54751,7 +54790,7 @@ msgstr ""
msgid "Timesheets"
msgstr ""
-#: erpnext/utilities/activation.py:124
+#: erpnext/utilities/activation.py:125
msgid "Timesheets help keep track of time, cost and billing for activities done by your team"
msgstr ""
@@ -54982,7 +55021,7 @@ msgstr ""
msgid "To Date"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:553
+#: erpnext/controllers/accounts_controller.py:555
#: erpnext/setup/doctype/holiday_list/holiday_list.py:112
msgid "To Date cannot be before From Date"
msgstr ""
@@ -55171,7 +55210,7 @@ msgstr ""
msgid "To Time"
msgstr ""
-#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:96
+#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:98
msgid "To Time cannot be before from date"
msgstr ""
@@ -55203,11 +55242,11 @@ msgstr ""
msgid "To add subcontracted Item's raw materials if include exploded items is disabled."
msgstr ""
-#: erpnext/controllers/status_updater.py:381
+#: erpnext/controllers/status_updater.py:379
msgid "To allow over billing, update \"Over Billing Allowance\" in Accounts Settings or the Item."
msgstr ""
-#: erpnext/controllers/status_updater.py:377
+#: erpnext/controllers/status_updater.py:375
msgid "To allow over receipt / delivery, update \"Over Receipt/Delivery Allowance\" in Stock Settings or the Item."
msgstr ""
@@ -55250,11 +55289,11 @@ msgid "To include sub-assembly costs and scrap items in Finished Goods on a work
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2337
-#: erpnext/controllers/accounts_controller.py:3008
+#: erpnext/controllers/accounts_controller.py:3093
msgid "To include tax in row {0} in Item rate, taxes in rows {1} must also be included"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:642
+#: erpnext/stock/doctype/item/item.py:640
msgid "To merge, following properties must be same for both items"
msgstr ""
@@ -55279,9 +55318,9 @@ msgstr ""
msgid "To use a different finance book, please uncheck 'Include Default FB Assets'"
msgstr ""
-#: erpnext/accounts/report/financial_statements.py:600
-#: erpnext/accounts/report/general_ledger/general_ledger.py:306
-#: erpnext/accounts/report/trial_balance/trial_balance.py:296
+#: erpnext/accounts/report/financial_statements.py:596
+#: erpnext/accounts/report/general_ledger/general_ledger.py:304
+#: erpnext/accounts/report/trial_balance/trial_balance.py:292
msgid "To use a different finance book, please uncheck 'Include Default FB Entries'"
msgstr ""
@@ -55372,14 +55411,14 @@ msgstr ""
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:235
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.html:273
#: erpnext/accounts/report/dimension_wise_accounts_balance_report/dimension_wise_accounts_balance_report.py:229
-#: erpnext/accounts/report/financial_statements.py:677
+#: erpnext/accounts/report/financial_statements.py:673
#: erpnext/accounts/report/general_ledger/general_ledger.html:132
-#: erpnext/accounts/report/general_ledger/general_ledger.py:380
+#: erpnext/accounts/report/general_ledger/general_ledger.py:378
#: erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py:688
#: erpnext/accounts/report/profitability_analysis/profitability_analysis.py:93
#: erpnext/accounts/report/profitability_analysis/profitability_analysis.py:98
-#: erpnext/accounts/report/trial_balance/trial_balance.py:362
-#: erpnext/accounts/report/trial_balance/trial_balance.py:363
+#: erpnext/accounts/report/trial_balance/trial_balance.py:358
+#: erpnext/accounts/report/trial_balance/trial_balance.py:359
#: erpnext/buying/doctype/purchase_order/purchase_order.json
#: erpnext/buying/doctype/supplier_quotation/supplier_quotation.json
#: erpnext/crm/doctype/opportunity/opportunity.json
@@ -55874,7 +55913,7 @@ msgstr ""
msgid "Total Paid Amount"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2594
+#: erpnext/controllers/accounts_controller.py:2679
msgid "Total Payment Amount in Payment Schedule must be equal to Grand / Rounded Total"
msgstr ""
@@ -55886,7 +55925,7 @@ msgstr ""
msgid "Total Payments"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:642
+#: erpnext/selling/doctype/sales_order/sales_order.py:640
msgid "Total Picked Quantity {0} is more than ordered qty {1}. You can set the Over Picking Allowance in Stock Settings."
msgstr ""
@@ -56159,11 +56198,11 @@ msgstr ""
msgid "Total Working Hours"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2141
+#: erpnext/controllers/accounts_controller.py:2226
msgid "Total advance ({0}) against Order {1} cannot be greater than the Grand Total ({2})"
msgstr ""
-#: erpnext/controllers/selling_controller.py:198
+#: erpnext/controllers/selling_controller.py:202
msgid "Total allocated percentage for sales team should be 100"
msgstr ""
@@ -56175,7 +56214,7 @@ msgstr ""
msgid "Total hours: {0}"
msgstr ""
-#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:532
+#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:530
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:534
msgid "Total payments amount can't be greater than {}"
msgstr ""
@@ -56417,7 +56456,7 @@ msgstr ""
msgid "Transactions against the Company already exist! Chart of Accounts can only be imported for a Company with no transactions."
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1103
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1101
msgid "Transactions using Sales Invoice in POS are disabled."
msgstr ""
@@ -57052,7 +57091,7 @@ msgstr ""
msgid "Unit of Measure (UOM)"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:387
+#: erpnext/stock/doctype/item/item.py:385
msgid "Unit of Measure {0} has been entered more than once in Conversion Factor Table"
msgstr ""
@@ -57508,7 +57547,7 @@ msgstr ""
msgid "Updated via 'Time Log' (In Minutes)"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1381
+#: erpnext/stock/doctype/item/item.py:1377
msgid "Updating Variants..."
msgstr ""
@@ -57607,7 +57646,7 @@ msgstr ""
#. Label of the use_sales_invoice_in_pos (Check) field in DocType 'Accounts
#. Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:152
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:155
msgid "Use Sales Invoice"
msgstr ""
@@ -57721,7 +57760,7 @@ msgstr ""
msgid "User Details"
msgstr ""
-#: erpnext/setup/install.py:159
+#: erpnext/setup/install.py:152
msgid "User Forum"
msgstr ""
@@ -57991,7 +58030,7 @@ msgstr ""
msgid "Validity in Days"
msgstr ""
-#: erpnext/selling/doctype/quotation/quotation.py:368
+#: erpnext/selling/doctype/quotation/quotation.py:361
msgid "Validity period of this quotation has ended."
msgstr ""
@@ -58066,11 +58105,11 @@ msgstr ""
msgid "Valuation Rate (In / Out)"
msgstr ""
-#: erpnext/stock/stock_ledger.py:1890
+#: erpnext/stock/stock_ledger.py:1893
msgid "Valuation Rate Missing"
msgstr ""
-#: erpnext/stock/stock_ledger.py:1868
+#: erpnext/stock/stock_ledger.py:1871
msgid "Valuation Rate for the Item {0}, is required to do accounting entries for {1} {2}."
msgstr ""
@@ -58078,7 +58117,7 @@ msgstr ""
msgid "Valuation Rate is mandatory if Opening Stock entered"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:748
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:749
msgid "Valuation Rate required for Item {0} at row {1}"
msgstr ""
@@ -58088,7 +58127,7 @@ msgstr ""
msgid "Valuation and Total"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:967
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:972
msgid "Valuation rate for customer provided items has been set to zero."
msgstr ""
@@ -58102,7 +58141,7 @@ msgid "Valuation rate for the item as per Sales Invoice (Only for Internal Trans
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:2361
-#: erpnext/controllers/accounts_controller.py:3032
+#: erpnext/controllers/accounts_controller.py:3117
msgid "Valuation type charges can not be marked as Inclusive"
msgstr ""
@@ -58258,7 +58297,7 @@ msgstr ""
msgid "Variant"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:858
+#: erpnext/stock/doctype/item/item.py:856
msgid "Variant Attribute Error"
msgstr ""
@@ -58277,7 +58316,7 @@ msgstr ""
msgid "Variant Based On"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:886
+#: erpnext/stock/doctype/item/item.py:884
msgid "Variant Based On cannot be changed"
msgstr ""
@@ -58295,7 +58334,7 @@ msgstr ""
msgid "Variant Item"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:856
+#: erpnext/stock/doctype/item/item.py:854
msgid "Variant Items"
msgstr ""
@@ -58449,7 +58488,7 @@ msgstr ""
msgid "View BOM Update Log"
msgstr ""
-#: erpnext/public/js/setup_wizard.js:40
+#: erpnext/public/js/setup_wizard.js:47
msgid "View Chart of Accounts"
msgstr ""
@@ -58604,7 +58643,7 @@ msgstr ""
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.js:42
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:209
#: erpnext/accounts/report/general_ledger/general_ledger.js:49
-#: erpnext/accounts/report/general_ledger/general_ledger.py:705
+#: erpnext/accounts/report/general_ledger/general_ledger.py:703
#: erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.js:41
#: erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py:33
#: erpnext/accounts/report/payment_ledger/payment_ledger.js:65
@@ -58631,7 +58670,7 @@ msgstr ""
msgid "Voucher No"
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1088
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:1086
msgid "Voucher No is mandatory"
msgstr ""
@@ -58643,7 +58682,7 @@ msgstr ""
#. Label of the voucher_subtype (Small Text) field in DocType 'GL Entry'
#: erpnext/accounts/doctype/gl_entry/gl_entry.json
-#: erpnext/accounts/report/general_ledger/general_ledger.py:699
+#: erpnext/accounts/report/general_ledger/general_ledger.py:697
msgid "Voucher Subtype"
msgstr ""
@@ -58675,7 +58714,7 @@ msgstr ""
#: erpnext/accounts/doctype/unreconcile_payment/unreconcile_payment.json
#: erpnext/accounts/report/accounts_receivable/accounts_receivable.py:1099
#: erpnext/accounts/report/general_and_payment_ledger_comparison/general_and_payment_ledger_comparison.py:200
-#: erpnext/accounts/report/general_ledger/general_ledger.py:697
+#: erpnext/accounts/report/general_ledger/general_ledger.py:695
#: erpnext/accounts/report/invalid_ledger_entries/invalid_ledger_entries.py:31
#: erpnext/accounts/report/payment_ledger/payment_ledger.py:159
#: erpnext/accounts/report/purchase_register/purchase_register.py:158
@@ -58879,7 +58918,7 @@ msgstr ""
#: erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.json
#: erpnext/stock/doctype/stock_reconciliation_item/stock_reconciliation_item.json
#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.json
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:260
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:258
#: erpnext/stock/doctype/warehouse/warehouse.json
#: erpnext/stock/page/stock_balance/stock_balance.js:11
#: erpnext/stock/page/warehouse_capacity_summary/warehouse_capacity_summary.js:25
@@ -59011,7 +59050,7 @@ msgstr ""
msgid "Warehouse and Reference"
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:96
+#: erpnext/stock/doctype/warehouse/warehouse.py:97
msgid "Warehouse can not be deleted as stock ledger entry exists for this warehouse."
msgstr ""
@@ -59023,11 +59062,11 @@ msgstr ""
msgid "Warehouse is mandatory"
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:247
+#: erpnext/stock/doctype/warehouse/warehouse.py:249
msgid "Warehouse not found against the account {0}"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1130
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1128
#: erpnext/stock/doctype/delivery_note/delivery_note.py:414
msgid "Warehouse required for stock Item {0}"
msgstr ""
@@ -59042,7 +59081,7 @@ msgstr ""
msgid "Warehouse wise Stock Value"
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:90
+#: erpnext/stock/doctype/warehouse/warehouse.py:91
msgid "Warehouse {0} can not be deleted as quantity exists for Item {1}"
msgstr ""
@@ -59058,11 +59097,11 @@ msgstr ""
msgid "Warehouse {0} is not allowed for Sales Order {1}, it should be {2}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:632
+#: erpnext/controllers/stock_controller.py:643
msgid "Warehouse {0} is not linked to any account, please mention the account in the warehouse record or set default inventory account in company {1}."
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:140
+#: erpnext/stock/doctype/warehouse/warehouse.py:141
msgid "Warehouse's Stock Value has already been booked in the following accounts:"
msgstr ""
@@ -59077,18 +59116,20 @@ msgstr ""
msgid "Warehouses"
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:166
+#: erpnext/stock/doctype/warehouse/warehouse.py:167
msgid "Warehouses with child nodes cannot be converted to ledger"
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:176
+#: erpnext/stock/doctype/warehouse/warehouse.py:177
msgid "Warehouses with existing transaction can not be converted to group."
msgstr ""
-#: erpnext/stock/doctype/warehouse/warehouse.py:168
+#: erpnext/stock/doctype/warehouse/warehouse.py:169
msgid "Warehouses with existing transaction can not be converted to ledger."
msgstr ""
+#. Option for the 'Action if Same Rate is Not Maintained Throughout Internal
+#. Transaction' (Select) field in DocType 'Accounts Settings'
#. Option for the 'Action if Annual Budget Exceeded on MR' (Select) field in
#. DocType 'Budget'
#. Option for the 'Action if Accumulated Monthly Budget Exceeded on MR'
@@ -59113,6 +59154,7 @@ msgstr ""
#. field in DocType 'Stock Settings'
#. Option for the 'Action If Quality Inspection Is Rejected' (Select) field in
#. DocType 'Stock Settings'
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
#: erpnext/accounts/doctype/budget/budget.json
#: erpnext/buying/doctype/buying_settings/buying_settings.json
#: erpnext/selling/doctype/selling_settings/selling_settings.json
@@ -59155,13 +59197,14 @@ msgid "Warn for new Request for Quotations"
msgstr ""
#: erpnext/accounts/doctype/payment_entry/payment_entry.py:744
-#: erpnext/controllers/accounts_controller.py:1981
+#: erpnext/controllers/accounts_controller.py:822
+#: erpnext/controllers/accounts_controller.py:2066
#: erpnext/stock/doctype/delivery_trip/delivery_trip.js:145
#: erpnext/utilities/transaction_base.py:123
msgid "Warning"
msgstr ""
-#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:122
+#: erpnext/projects/doctype/timesheet_detail/timesheet_detail.py:124
msgid "Warning - Row {0}: Billing Hours are more than Actual Hours"
msgstr ""
@@ -59181,7 +59224,7 @@ msgstr ""
msgid "Warning: Material Requested Qty is less than Minimum Order Qty"
msgstr ""
-#: erpnext/selling/doctype/sales_order/sales_order.py:286
+#: erpnext/selling/doctype/sales_order/sales_order.py:284
msgid "Warning: Sales Order {0} already exists against Customer's Purchase Order {1}"
msgstr ""
@@ -60127,7 +60170,7 @@ msgstr ""
msgid "You are importing data for the code list:"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3614
+#: erpnext/controllers/accounts_controller.py:3699
msgid "You are not allowed to update as per the conditions set in {} Workflow."
msgstr ""
@@ -60192,7 +60235,7 @@ msgstr ""
msgid "You can't make any changes to Job Card since Work Order is closed."
msgstr ""
-#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:186
+#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py:184
msgid "You can't process the serial number {0} as it has already been used in the SABB {1}. {2} if you want to inward same serial number multiple times then enabled 'Allow existing Serial No to be Manufactured/Received again' in the {3}"
msgstr ""
@@ -60208,7 +60251,7 @@ msgstr ""
msgid "You cannot create a {0} within the closed Accounting Period {1}"
msgstr ""
-#: erpnext/accounts/general_ledger.py:175
+#: erpnext/accounts/general_ledger.py:176
msgid "You cannot create or cancel any accounting entries with in the closed Accounting Period {0}"
msgstr ""
@@ -60252,7 +60295,7 @@ msgstr ""
msgid "You cannot {0} this document because another Period Closing Entry {1} exists after {2}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:3590
+#: erpnext/controllers/accounts_controller.py:3675
msgid "You do not have permissions to {} items in a {}."
msgstr ""
@@ -60280,11 +60323,11 @@ msgstr ""
msgid "You have entered a duplicate Delivery Note on Row"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:1057
+#: erpnext/stock/doctype/item/item.py:1053
msgid "You have to enable auto re-order in Stock Settings to maintain re-order levels."
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:293
+#: erpnext/selling/page/point_of_sale/pos_controller.js:292
msgid "You have unsaved changes. Do you want to save the invoice?"
msgstr ""
@@ -60292,7 +60335,7 @@ msgstr ""
msgid "You haven't created a {0} yet"
msgstr ""
-#: erpnext/selling/page/point_of_sale/pos_controller.js:748
+#: erpnext/selling/page/point_of_sale/pos_controller.js:747
msgid "You must select a customer before adding an item."
msgstr ""
@@ -60300,7 +60343,7 @@ msgstr ""
msgid "You need to cancel POS Closing Entry {} to be able to cancel this document."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2983
+#: erpnext/controllers/accounts_controller.py:3068
msgid "You selected the account group {1} as {2} Account in row {0}. Please select a single account."
msgstr ""
@@ -60378,7 +60421,7 @@ msgstr ""
msgid "`Allow Negative rates for Items`"
msgstr ""
-#: erpnext/stock/stock_ledger.py:1882
+#: erpnext/stock/stock_ledger.py:1885
msgid "after"
msgstr ""
@@ -60526,7 +60569,7 @@ msgstr ""
msgid "material_request_item"
msgstr ""
-#: erpnext/controllers/selling_controller.py:159
+#: erpnext/controllers/selling_controller.py:163
msgid "must be between 0 and 100"
msgstr ""
@@ -60551,7 +60594,7 @@ msgstr ""
msgid "on"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1292
+#: erpnext/controllers/accounts_controller.py:1379
msgid "or"
msgstr ""
@@ -60600,7 +60643,7 @@ msgstr ""
msgid "per hour"
msgstr ""
-#: erpnext/stock/stock_ledger.py:1883
+#: erpnext/stock/stock_ledger.py:1886
msgid "performing either one below:"
msgstr ""
@@ -60629,7 +60672,7 @@ msgstr ""
msgid "received from"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1295
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1293
msgid "returned"
msgstr ""
@@ -60664,7 +60707,7 @@ msgstr ""
msgid "sandbox"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1295
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1293
msgid "sold"
msgstr ""
@@ -60672,8 +60715,8 @@ msgstr ""
msgid "subscription is already cancelled."
msgstr ""
-#: erpnext/controllers/status_updater.py:389
-#: erpnext/controllers/status_updater.py:409
+#: erpnext/controllers/status_updater.py:387
+#: erpnext/controllers/status_updater.py:407
msgid "target_ref_field"
msgstr ""
@@ -60691,7 +60734,7 @@ msgstr ""
msgid "to"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2959
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2957
msgid "to unallocate the amount of this Return Invoice before cancelling it."
msgstr ""
@@ -60722,12 +60765,12 @@ msgstr ""
msgid "you must select Capital Work in Progress Account in accounts table"
msgstr ""
-#: erpnext/accounts/report/cash_flow/cash_flow.py:229
-#: erpnext/accounts/report/cash_flow/cash_flow.py:230
+#: erpnext/accounts/report/cash_flow/cash_flow.py:233
+#: erpnext/accounts/report/cash_flow/cash_flow.py:234
msgid "{0}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:1112
+#: erpnext/controllers/accounts_controller.py:1197
msgid "{0} '{1}' is disabled"
msgstr ""
@@ -60743,7 +60786,7 @@ msgstr ""
msgid "{0} {1} has submitted Assets. Remove Item {2} from table to continue."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2196
+#: erpnext/controllers/accounts_controller.py:2281
msgid "{0} Account not found against Customer {1}."
msgstr ""
@@ -60775,7 +60818,7 @@ msgstr ""
msgid "{0} Request for {1}"
msgstr ""
-#: erpnext/stock/doctype/item/item.py:326
+#: erpnext/stock/doctype/item/item.py:324
msgid "{0} Retain Sample is based on batch, please check Has Batch No to retain sample of item"
msgstr ""
@@ -60824,7 +60867,7 @@ msgstr ""
msgid "{0} asset cannot be transferred"
msgstr ""
-#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:151
+#: erpnext/accounts/doctype/accounts_settings/accounts_settings.py:154
msgid "{0} can be enabled/disabled after all the POS Opening Entries are closed."
msgstr ""
@@ -60866,7 +60909,7 @@ msgid "{0} entered twice in Item Tax"
msgstr ""
#: erpnext/setup/doctype/item_group/item_group.py:48
-#: erpnext/stock/doctype/item/item.py:439
+#: erpnext/stock/doctype/item/item.py:437
msgid "{0} entered twice {1} in Item Taxes"
msgstr ""
@@ -60887,7 +60930,7 @@ msgstr ""
msgid "{0} hours"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2537
+#: erpnext/controllers/accounts_controller.py:2622
msgid "{0} in row {1}"
msgstr ""
@@ -60895,8 +60938,8 @@ msgstr ""
msgid "{0} is a mandatory Accounting Dimension.
Please set a value for {0} in Accounting Dimensions section."
msgstr ""
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:87
-#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:140
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:85
+#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:138
#: erpnext/accounts/doctype/pos_invoice_merge_log/pos_invoice_merge_log.py:62
msgid "{0} is added multiple times on rows: {1}"
msgstr ""
@@ -60931,7 +60974,7 @@ msgstr ""
msgid "{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}"
msgstr ""
-#: erpnext/controllers/accounts_controller.py:2940
+#: erpnext/controllers/accounts_controller.py:3025
msgid "{0} is mandatory. Maybe Currency Exchange record is not created for {1} to {2}."
msgstr ""
@@ -60994,7 +61037,7 @@ msgstr ""
msgid "{0} must be negative in return document"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2166
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:2164
msgid "{0} not allowed to transact with {1}. Please change the Company or add the Company in the 'Allowed To Transact With'-Section in the Customer record."
msgstr ""
@@ -61010,7 +61053,7 @@ msgstr ""
msgid "{0} payment entries can not be filtered by {1}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:1346
+#: erpnext/controllers/stock_controller.py:1355
msgid "{0} qty of Item {1} is being received into Warehouse {2} with capacity {3}."
msgstr ""
@@ -61018,7 +61061,7 @@ msgstr ""
msgid "{0} to {1}"
msgstr ""
-#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:686
+#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:687
msgid "{0} units are reserved for Item {1} in Warehouse {2}, please un-reserve the same to {3} the Stock Reconciliation."
msgstr ""
@@ -61034,16 +61077,16 @@ msgstr ""
msgid "{0} units of {1} are required in {2} with the inventory dimension: {3} ({4}) on {5} {6} for {7} to complete the transaction."
msgstr ""
-#: erpnext/stock/stock_ledger.py:1541 erpnext/stock/stock_ledger.py:2031
-#: erpnext/stock/stock_ledger.py:2045
+#: erpnext/stock/stock_ledger.py:1544 erpnext/stock/stock_ledger.py:2034
+#: erpnext/stock/stock_ledger.py:2048
msgid "{0} units of {1} needed in {2} on {3} {4} for {5} to complete this transaction."
msgstr ""
-#: erpnext/stock/stock_ledger.py:2132 erpnext/stock/stock_ledger.py:2178
+#: erpnext/stock/stock_ledger.py:2135 erpnext/stock/stock_ledger.py:2181
msgid "{0} units of {1} needed in {2} on {3} {4} to complete this transaction."
msgstr ""
-#: erpnext/stock/stock_ledger.py:1535
+#: erpnext/stock/stock_ledger.py:1538
msgid "{0} units of {1} needed in {2} to complete this transaction."
msgstr ""
@@ -61075,7 +61118,7 @@ msgstr ""
msgid "{0} {1} Partially Reconciled"
msgstr ""
-#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:426
+#: erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py:424
msgid "{0} {1} cannot be updated. If you need to make changes, we recommend canceling the existing entry and creating a new one."
msgstr ""
@@ -61102,7 +61145,7 @@ msgid "{0} {1} has already been partly paid. Please use the 'Get Outstanding Inv
msgstr ""
#: erpnext/buying/doctype/purchase_order/purchase_order.py:469
-#: erpnext/selling/doctype/sales_order/sales_order.py:526
+#: erpnext/selling/doctype/sales_order/sales_order.py:524
#: erpnext/stock/doctype/material_request/material_request.py:225
msgid "{0} {1} has been modified. Please refresh."
msgstr ""
@@ -61123,7 +61166,7 @@ msgstr ""
msgid "{0} {1} is associated with {2}, but Party Account is {3}"
msgstr ""
-#: erpnext/controllers/selling_controller.py:470
+#: erpnext/controllers/selling_controller.py:472
#: erpnext/controllers/subcontracting_controller.py:954
msgid "{0} {1} is cancelled or closed"
msgstr ""
@@ -61140,11 +61183,11 @@ msgstr ""
msgid "{0} {1} is closed"
msgstr ""
-#: erpnext/accounts/party.py:804
+#: erpnext/accounts/party.py:802
msgid "{0} {1} is disabled"
msgstr ""
-#: erpnext/accounts/party.py:810
+#: erpnext/accounts/party.py:808
msgid "{0} {1} is frozen"
msgstr ""
@@ -61152,7 +61195,7 @@ msgstr ""
msgid "{0} {1} is fully billed"
msgstr ""
-#: erpnext/accounts/party.py:814
+#: erpnext/accounts/party.py:812
msgid "{0} {1} is not active"
msgstr ""
@@ -61212,7 +61255,7 @@ msgstr ""
msgid "{0} {1}: Accounting Entry for {2} can only be made in currency: {3}"
msgstr ""
-#: erpnext/controllers/stock_controller.py:762
+#: erpnext/controllers/stock_controller.py:773
msgid "{0} {1}: Cost Center is mandatory for Item {2}"
msgstr ""
@@ -61266,7 +61309,7 @@ msgstr ""
msgid "{0}, complete the operation {1} before the operation {2}."
msgstr ""
-#: erpnext/controllers/accounts_controller.py:470
+#: erpnext/controllers/accounts_controller.py:472
msgid "{0}: {1} does not belong to the Company: {2}"
msgstr ""
@@ -61278,23 +61321,23 @@ msgstr ""
msgid "{0}: {1} must be less than {2}"
msgstr ""
-#: erpnext/controllers/buying_controller.py:848
+#: erpnext/controllers/buying_controller.py:902
msgid "{count} Assets created for {item_code}"
msgstr ""
-#: erpnext/controllers/buying_controller.py:746
+#: erpnext/controllers/buying_controller.py:800
msgid "{doctype} {name} is cancelled or closed."
msgstr ""
-#: erpnext/controllers/buying_controller.py:467
+#: erpnext/controllers/buying_controller.py:521
msgid "{field_label} is mandatory for sub-contracted {doctype}."
msgstr ""
-#: erpnext/controllers/stock_controller.py:1629
+#: erpnext/controllers/stock_controller.py:1636
msgid "{item_name}'s Sample Size ({sample_size}) cannot be greater than the Accepted Quantity ({accepted_quantity})"
msgstr ""
-#: erpnext/controllers/buying_controller.py:571
+#: erpnext/controllers/buying_controller.py:625
msgid "{ref_doctype} {ref_name} is {status}."
msgstr ""
@@ -61356,11 +61399,11 @@ msgstr ""
msgid "{} To Bill"
msgstr ""
-#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1949
+#: erpnext/accounts/doctype/sales_invoice/sales_invoice.py:1947
msgid "{} can't be cancelled since the Loyalty Points earned has been redeemed. First cancel the {} No {}"
msgstr ""
-#: erpnext/controllers/buying_controller.py:230
+#: erpnext/controllers/buying_controller.py:232
msgid "{} has submitted assets linked to it. You need to cancel the assets to create purchase return."
msgstr ""
diff --git a/erpnext/locale/sr_CS.po b/erpnext/locale/sr_CS.po
index 48959710e40..e611ddd3427 100644
--- a/erpnext/locale/sr_CS.po
+++ b/erpnext/locale/sr_CS.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: frappe\n"
"Report-Msgid-Bugs-To: hello@frappe.io\n"
"POT-Creation-Date: 2025-06-01 09:36+0000\n"
-"PO-Revision-Date: 2025-06-01 21:35\n"
+"PO-Revision-Date: 2025-06-03 22:20\n"
"Last-Translator: hello@frappe.io\n"
"Language-Team: Serbian (Latin)\n"
"MIME-Version: 1.0\n"
@@ -22355,7 +22355,7 @@ msgstr "Prikazivanje otpisanih stavki"
#. Option for the 'Coupon Type' (Select) field in DocType 'Coupon Code'
#: erpnext/accounts/doctype/coupon_code/coupon_code.json
msgid "Gift Card"
-msgstr "Poklon kartica"
+msgstr "Poklon-kartica"
#. Description of the 'Recurse Every (As Per Transaction UOM)' (Float) field in
#. DocType 'Pricing Rule'
@@ -25949,7 +25949,7 @@ msgstr "Izlazno"
#. Label of the is_packed (Check) field in DocType 'Serial and Batch Bundle'
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json
msgid "Is Packed"
-msgstr ""
+msgstr "Upakovana stavka"
#. Label of the is_paid (Check) field in DocType 'Purchase Invoice'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -35260,7 +35260,7 @@ msgstr "Detalji stranke"
#. Label of the party_full_name (Data) field in DocType 'Contract'
#: erpnext/crm/doctype/contract/contract.json
msgid "Party Full Name"
-msgstr ""
+msgstr "Pun naziv stranke"
#. Label of the bank_party_iban (Data) field in DocType 'Bank Transaction'
#: erpnext/accounts/doctype/bank_transaction/bank_transaction.json
diff --git a/erpnext/locale/sv.po b/erpnext/locale/sv.po
index c27873033c9..ab16e8f7b12 100644
--- a/erpnext/locale/sv.po
+++ b/erpnext/locale/sv.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: frappe\n"
"Report-Msgid-Bugs-To: hello@frappe.io\n"
"POT-Creation-Date: 2025-06-01 09:36+0000\n"
-"PO-Revision-Date: 2025-06-01 21:35\n"
+"PO-Revision-Date: 2025-06-05 23:00\n"
"Last-Translator: hello@frappe.io\n"
"Language-Team: Swedish\n"
"MIME-Version: 1.0\n"
@@ -23504,7 +23504,7 @@ msgstr "Om aktiverad, kommer alla filer som bifogas detta dokument att bifogas t
#: erpnext/stock/doctype/stock_settings/stock_settings.json
msgid "If enabled, do not update serial / batch values in the stock transactions on creation of auto Serial \n"
" / Batch Bundle. "
-msgstr "Om aktiverad, uppdatera inte serie nummer /parti värde i lager transaktioner vid skapande av automatiskt Serie Nummer \n"
+msgstr "Om aktiverad, uppdatera inte serie nummer /parti värde i lager transaktioner vid skapande av automatiskt Serie \n"
" / Parti Paket. "
#. Description of the 'Consider Projected Qty in Calculation' (Check) field in
@@ -23551,7 +23551,7 @@ msgstr "Om aktiverad kommer system att tillåta val av Enhet i försäljning och
#. in DocType 'Buying Settings'
#: erpnext/buying/doctype/buying_settings/buying_settings.json
msgid "If enabled, the system will generate an accounting entry for materials rejected in the Purchase Receipt."
-msgstr "Om aktiverat skapar system bokföring post för material som avvisats i Inköp Följesedel."
+msgstr "Om aktiverad, skapar system bokföring post för material som avvisats i Inköp Följesedel."
#. Description of the 'Do Not Use Batch-wise Valuation' (Check) field in
#. DocType 'Stock Settings'
@@ -57553,7 +57553,7 @@ msgstr "Uppdatera ändrad tidsstämpel på ny konversation mottagen i Potentiell
#. 'CRM Settings'
#: erpnext/crm/doctype/crm_settings/crm_settings.json
msgid "Update timestamp on new communication"
-msgstr "Uppdatera tidsstämpel på ny Konversation"
+msgstr "Uppdatera tidsstämpel på ny kommunikation"
#: erpnext/manufacturing/doctype/bom_creator/bom_creator.py:534
msgid "Updated successfully"
diff --git a/erpnext/locale/tr.po b/erpnext/locale/tr.po
index f2f665a9aa4..792d78eb3b0 100644
--- a/erpnext/locale/tr.po
+++ b/erpnext/locale/tr.po
@@ -3,7 +3,7 @@ msgstr ""
"Project-Id-Version: frappe\n"
"Report-Msgid-Bugs-To: hello@frappe.io\n"
"POT-Creation-Date: 2025-06-01 09:36+0000\n"
-"PO-Revision-Date: 2025-06-01 21:35\n"
+"PO-Revision-Date: 2025-06-04 22:49\n"
"Last-Translator: hello@frappe.io\n"
"Language-Team: Turkish\n"
"MIME-Version: 1.0\n"
@@ -4393,7 +4393,7 @@ msgstr "Kullanıcının Fiyatı Düzenlemesine İzin Verin"
#. Settings'
#: erpnext/stock/doctype/item_variant_settings/item_variant_settings.json
msgid "Allow Variant UOM to be different from Template UOM"
-msgstr ""
+msgstr "Varyant Ölçü Biriminin Şablon Ölçü Biriminden farklı olmasına izin ver"
#. Label of the allow_zero_rate (Check) field in DocType 'Repost Item
#. Valuation'
@@ -5003,7 +5003,7 @@ msgstr "Tutar Farkı"
#. DocType 'Purchase Receipt Item'
#: erpnext/stock/doctype/purchase_receipt_item/purchase_receipt_item.json
msgid "Amount Difference with Purchase Invoice"
-msgstr ""
+msgstr "Satın Alma Faturası ile Fiyat Farkı"
#. Label of the amount_eligible_for_commission (Currency) field in DocType 'POS
#. Invoice'
@@ -5035,7 +5035,7 @@ msgstr "Hesap Para Birimindeki Tutar"
#: erpnext/accounts/print_format/sales_invoice_print/sales_invoice_print.html:119
msgid "Amount in Words"
-msgstr ""
+msgstr "Yazı ile Tutar"
#. Description of the 'Outstanding Amount' (Currency) field in DocType 'Payment
#. Request'
@@ -8958,7 +8958,7 @@ msgstr "Satış Siparişinde Borç Limiti Kontrolünü Atla"
#: erpnext/accounts/print_format/sales_invoice_print/sales_invoice_print.html:11
msgid "CANCELLED"
-msgstr ""
+msgstr "İPTAL EDİLDİ"
#. Label of the cc (Link) field in DocType 'Process Statement Of Accounts CC'
#: erpnext/accounts/doctype/process_statement_of_accounts_cc/process_statement_of_accounts_cc.json
@@ -9913,30 +9913,30 @@ msgstr ""
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:84
msgid "Categorize by Item"
-msgstr ""
+msgstr "Ürüne Göre"
#: erpnext/accounts/report/general_ledger/general_ledger.js:133
msgid "Categorize by Party"
-msgstr ""
+msgstr "Cariye Göre"
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:83
#: erpnext/buying/report/supplier_quotation_comparison/supplier_quotation_comparison.js:86
msgid "Categorize by Supplier"
-msgstr ""
+msgstr "Tedarikçiye Göre"
#. Option for the 'Categorize By' (Select) field in DocType 'Process Statement
#. Of Accounts'
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
#: erpnext/accounts/report/general_ledger/general_ledger.js:121
msgid "Categorize by Voucher"
-msgstr ""
+msgstr "Faturaya Göre"
#. Option for the 'Categorize By' (Select) field in DocType 'Process Statement
#. Of Accounts'
#: erpnext/accounts/doctype/process_statement_of_accounts/process_statement_of_accounts.json
#: erpnext/accounts/report/general_ledger/general_ledger.js:125
msgid "Categorize by Voucher (Consolidated)"
-msgstr ""
+msgstr "Faturaya Göre (Konsolide)"
#. Label of the category (Link) field in DocType 'UOM Conversion Factor'
#: erpnext/setup/doctype/uom_conversion_factor/uom_conversion_factor.json
@@ -10633,7 +10633,7 @@ msgstr "Kapanış Metni"
#: erpnext/accounts/report/general_ledger/general_ledger.html:135
msgid "Closing [Opening + Total] "
-msgstr ""
+msgstr "Kapanış [Açılış + Toplam] "
#. Label of the code (Data) field in DocType 'Incoterm'
#: erpnext/edi/doctype/code_list/code_list_import.js:172
@@ -14639,17 +14639,17 @@ msgstr "Müşteri Adlandırması"
#. Supplier'
#: erpnext/buying/doctype/customer_number_at_supplier/customer_number_at_supplier.json
msgid "Customer Number"
-msgstr ""
+msgstr "Müşteri Numarası"
#. Name of a DocType
#: erpnext/buying/doctype/customer_number_at_supplier/customer_number_at_supplier.json
msgid "Customer Number At Supplier"
-msgstr ""
+msgstr "Tedarikçideki Müşteri Numarası"
#. Label of the customer_numbers (Table) field in DocType 'Supplier'
#: erpnext/buying/doctype/supplier/supplier.json
msgid "Customer Numbers"
-msgstr ""
+msgstr "Müşteri Numaraları"
#: erpnext/stock/report/delayed_item_report/delayed_item_report.py:165
#: erpnext/stock/report/delayed_order_report/delayed_order_report.py:80
@@ -14936,7 +14936,7 @@ msgstr "Tarihe Göre"
#. 'Accounts Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
msgid "Data Fetch Method"
-msgstr ""
+msgstr "Veri Alma Yöntemi"
#. Label of the data_import_configuration_section (Section Break) field in
#. DocType 'Bank'
@@ -16987,11 +16987,11 @@ msgstr "Fark Hesabı"
#: erpnext/stock/doctype/stock_entry/stock_entry.py:545
msgid "Difference Account in Items Table"
-msgstr ""
+msgstr "Kalemler Tablosundaki Fark Hesabı"
#: erpnext/stock/doctype/stock_entry/stock_entry.py:534
msgid "Difference Account must be a Asset/Liability type account (Temporary Opening), since this Stock Entry is an Opening Entry"
-msgstr ""
+msgstr "Bu Stok Mutabakatı bir Hesap Açılış Kaydı olduğundan farklı hesabının aktif ya da pasif bir hesap tipi olması gerekmektedir"
#: erpnext/stock/doctype/stock_reconciliation/stock_reconciliation.py:950
msgid "Difference Account must be a Asset/Liability type account, since this Stock Reconciliation is an Opening Entry"
@@ -17302,7 +17302,7 @@ msgstr "Dağıtıldı"
#. Profile'
#: erpnext/accounts/doctype/pos_profile/pos_profile.json
msgid "Discard Changes and Load New Invoice"
-msgstr ""
+msgstr "Değişiklikleri Sil ve Yeni Fatura Yükle"
#. Label of the discount (Float) field in DocType 'Payment Schedule'
#. Label of the discount (Float) field in DocType 'Payment Term'
@@ -17571,7 +17571,7 @@ msgstr "Sevkiyat Adresi"
#. 'Purchase Order'
#: erpnext/buying/doctype/purchase_order/purchase_order.json
msgid "Dispatch Address Details"
-msgstr ""
+msgstr "Gönderim Adresi Ayrıntıları"
#. Label of the dispatch_address_name (Link) field in DocType 'Sales Invoice'
#. Label of the dispatch_address_name (Link) field in DocType 'Sales Order'
@@ -17585,7 +17585,7 @@ msgstr "Sevk Adresi"
#. Label of the dispatch_address (Link) field in DocType 'Purchase Receipt'
#: erpnext/stock/doctype/purchase_receipt/purchase_receipt.json
msgid "Dispatch Address Template"
-msgstr ""
+msgstr "Gönderim Adresi Şablonu"
#. Label of the section_break_9 (Section Break) field in DocType 'Delivery
#. Stop'
@@ -17624,7 +17624,7 @@ msgstr "Bertaraf Tarihi"
#: erpnext/assets/doctype/asset/depreciation.py:824
msgid "Disposal date {0} cannot be before {1} date {2} of the asset."
-msgstr ""
+msgstr "Elden çıkarma tarihi {0} varlığın {1} tarihinden {2} önce olamaz."
#. Label of the distance (Float) field in DocType 'Delivery Stop'
#: erpnext/stock/doctype/delivery_stop/delivery_stop.json
@@ -17799,7 +17799,7 @@ msgstr "Hala negatif envanteri etkinleştirmek istiyor musunuz?"
#: erpnext/stock/doctype/item/item.js:24
msgid "Do you want to change valuation method?"
-msgstr ""
+msgstr "Değerleme yöntemini değiştirmek istiyor musunuz?"
#: erpnext/stock/doctype/delivery_trip/delivery_trip.js:156
msgid "Do you want to notify all the customers by email?"
@@ -18319,7 +18319,7 @@ msgstr "Projeyi Görevlerle Çoğalt"
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:144
msgid "Duplicate Sales Invoices found"
-msgstr ""
+msgstr "Yinelenen Satış Faturaları bulundu"
#: erpnext/stock/doctype/stock_closing_entry/stock_closing_entry.py:78
msgid "Duplicate Stock Closing Entry"
@@ -19091,7 +19091,7 @@ msgstr ""
#. 'Manufacturing Settings'
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
msgid "Enabling this checkbox will force each Job Card Time Log to have From Time and To Time"
-msgstr ""
+msgstr "Bu onay kutusunun etkinleştirilmesi, her İş Kartı Zaman Günlüğünün Şu Zamandan ve Şu Zamana sahip olmasını zorunlu kılar"
#. Description of the 'Check Supplier Invoice Number Uniqueness' (Check) field
#. in DocType 'Accounts Settings'
@@ -19216,7 +19216,7 @@ msgstr "Enerji"
#. Settings'
#: erpnext/manufacturing/doctype/manufacturing_settings/manufacturing_settings.json
msgid "Enforce Time Logs"
-msgstr ""
+msgstr "Zaman Günlüklerini Uygula"
#: erpnext/setup/setup_wizard/data/designation.txt:15
msgid "Engineer"
@@ -19946,7 +19946,7 @@ msgstr "Gider hesabı {0} kalemi için zorunludur"
#: erpnext/assets/doctype/asset_repair/asset_repair.py:108
msgid "Expense account {0} not present in Purchase Invoice {1}"
-msgstr ""
+msgstr "Satın Alma Faturasında {0} Gider Hesabı Belirtilmemiş"
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts.py:42
#: erpnext/accounts/doctype/account/chart_of_accounts/verified/standard_chart_of_accounts_with_account_number.py:61
@@ -20291,7 +20291,7 @@ msgstr "Ürünleri Depodan Getir"
#: erpnext/crm/doctype/opportunity/opportunity.js:117
msgid "Fetch Latest Exchange Rate"
-msgstr ""
+msgstr "Son Döviz Kurunu Getir"
#: erpnext/accounts/doctype/dunning/dunning.js:61
msgid "Fetch Overdue Payments"
@@ -20660,7 +20660,7 @@ msgstr "Bitmiş Ürün Miktarı "
#. field in DocType 'Work Order'
#: erpnext/manufacturing/doctype/work_order/work_order.json
msgid "Finished Good Serial / Batch"
-msgstr ""
+msgstr "Bitmiş Ürün Seri / Parti"
#. Label of the finished_good_uom (Link) field in DocType 'Subcontracting BOM'
#: erpnext/subcontracting/doctype/subcontracting_bom/subcontracting_bom.json
@@ -23117,7 +23117,7 @@ msgstr "Resimleri Gizle"
#: erpnext/selling/page/point_of_sale/pos_controller.js:282
msgid "Hide Recent Orders"
-msgstr ""
+msgstr "Son Siparişleri Gizle"
#. Label of the hide_unavailable_items (Check) field in DocType 'POS Profile'
#: erpnext/accounts/doctype/pos_profile/pos_profile.json
@@ -25947,7 +25947,7 @@ msgstr "Giden"
#. Label of the is_packed (Check) field in DocType 'Serial and Batch Bundle'
#: erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.json
msgid "Is Packed"
-msgstr ""
+msgstr "Paketlendi"
#. Label of the is_paid (Check) field in DocType 'Purchase Invoice'
#: erpnext/accounts/doctype/purchase_invoice/purchase_invoice.json
@@ -26109,7 +26109,7 @@ msgstr "Abonelik"
#. Label of the is_created_using_pos (Check) field in DocType 'Sales Invoice'
#: erpnext/accounts/doctype/sales_invoice/sales_invoice.json
msgid "Is created using POS"
-msgstr ""
+msgstr "POS kullanılarak oluşturuldu"
#. Label of the included_in_print_rate (Check) field in DocType 'Purchase Taxes
#. and Charges'
@@ -28510,7 +28510,7 @@ msgstr "Sol Dizin"
#. Settings'
#: erpnext/accounts/doctype/accounts_settings/accounts_settings.json
msgid "Legacy Fields"
-msgstr ""
+msgstr "Eski Alanlar"
#: erpnext/setup/doctype/company/company.py:420
#: erpnext/setup/setup_wizard/data/industry_type.txt:30
@@ -31676,7 +31676,7 @@ msgstr "Net Kâr/Zarar"
#. Label of the gross_purchase_amount (Currency) field in DocType 'Asset'
#: erpnext/assets/doctype/asset/asset.json
msgid "Net Purchase Amount"
-msgstr ""
+msgstr "Net Satın Alma Tutarı"
#. Label of the net_rate (Currency) field in DocType 'POS Invoice Item'
#. Label of the net_rate (Currency) field in DocType 'Purchase Invoice Item'
@@ -31917,7 +31917,7 @@ msgstr "Yeni Gelir"
#: erpnext/selling/page/point_of_sale/pos_controller.js:244
msgid "New Invoice"
-msgstr ""
+msgstr "Yeni Fatura"
#: erpnext/assets/doctype/location/location_tree.js:23
msgid "New Location"
@@ -32181,7 +32181,7 @@ msgstr "Açıklama Yok"
#: erpnext/public/js/utils/unreconcile.js:147
msgid "No Selection"
-msgstr ""
+msgstr "Seçim Yok"
#: erpnext/controllers/sales_and_purchase_return.py:824
msgid "No Serial / Batches are available for return"
@@ -35921,7 +35921,7 @@ msgstr "Ödeme Planı"
#: erpnext/accounts/print_format/sales_invoice_print/sales_invoice_print.html:123
msgid "Payment Status"
-msgstr ""
+msgstr "Ödeme Durumu"
#. Label of the payment_term (Link) field in DocType 'Overdue Payment'
#. Label of the payment_term (Link) field in DocType 'Payment Entry Reference'
@@ -42628,7 +42628,7 @@ msgstr "İade Edilebilir Standart Oranlı Giderler, Ters Yükleme Uygulanıyorke
#. Valuation'
#: erpnext/stock/doctype/repost_item_valuation/repost_item_valuation.json
msgid "Recreate Stock Ledgers"
-msgstr ""
+msgstr "Stok Defterlerini Yeniden Oluştur"
#. Label of the recurse_for (Float) field in DocType 'Pricing Rule'
#. Label of the recurse_for (Float) field in DocType 'Promotional Scheme
@@ -46137,7 +46137,7 @@ msgstr "Satış Faturası Ödemesi"
#. Name of a DocType
#: erpnext/accounts/doctype/sales_invoice_reference/sales_invoice_reference.json
msgid "Sales Invoice Reference"
-msgstr ""
+msgstr "Satış Faturası Referansı"
#. Name of a DocType
#: erpnext/accounts/doctype/sales_invoice_timesheet/sales_invoice_timesheet.json
@@ -46148,7 +46148,7 @@ msgstr "Satış Faturası Zaman Çizelgesi"
#. Closing Entry'
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.json
msgid "Sales Invoice Transactions"
-msgstr ""
+msgstr "Satış Fatura İşlemleri"
#. Name of a report
#. Label of a Link in the Financial Reports Workspace
@@ -46161,7 +46161,7 @@ msgstr "Satış Faturası Trendleri"
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:169
msgid "Sales Invoice does not have Payments"
-msgstr ""
+msgstr "Satış Faturasında Ödemeler Yok"
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:165
msgid "Sales Invoice is already consolidated"
@@ -46173,11 +46173,11 @@ msgstr ""
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:177
msgid "Sales Invoice is not submitted"
-msgstr ""
+msgstr "Satış Faturası gönderilmedi"
#: erpnext/accounts/doctype/pos_closing_entry/pos_closing_entry.py:180
msgid "Sales Invoice isn't created by user {}"
-msgstr ""
+msgstr "Satış Faturası {} kullanıcısı tarafından oluşturulmadı"
#: erpnext/accounts/doctype/pos_invoice/pos_invoice.py:431
msgid "Sales Invoice mode is activated in POS. Please create Sales Invoice instead."
diff --git a/erpnext/manufacturing/doctype/work_order/work_order.py b/erpnext/manufacturing/doctype/work_order/work_order.py
index 969375c36bf..d8da681fba0 100644
--- a/erpnext/manufacturing/doctype/work_order/work_order.py
+++ b/erpnext/manufacturing/doctype/work_order/work_order.py
@@ -189,6 +189,7 @@ class WorkOrder(Document):
self.reset_use_multi_level_bom()
self.set_reserve_stock()
self.validate_fg_warehouse_for_reservation()
+ self.validate_dates()
if self.source_warehouse:
self.set_warehouses()
@@ -198,6 +199,11 @@ class WorkOrder(Document):
self.set_required_items(reset_only_qty=len(self.get("required_items")))
self.enable_auto_reserve_stock()
+ def validate_dates(self):
+ if self.actual_start_date and self.actual_end_date:
+ if self.actual_end_date < self.actual_start_date:
+ frappe.throw(_("Actual End Date cannot be before Actual Start Date"))
+
def validate_fg_warehouse_for_reservation(self):
if self.reserve_stock and self.sales_order:
warehouses = frappe.get_all(
diff --git a/erpnext/projects/doctype/project/project.py b/erpnext/projects/doctype/project/project.py
index 959b34f77a3..e5d5d02b897 100644
--- a/erpnext/projects/doctype/project/project.py
+++ b/erpnext/projects/doctype/project/project.py
@@ -680,7 +680,7 @@ def send_project_status_email_to_users():
def update_project_sales_billing():
- sales_update_frequency = frappe.db.get_single_value("Selling Settings", "sales_update_frequency")
+ sales_update_frequency = frappe.get_single_value("Selling Settings", "sales_update_frequency")
if sales_update_frequency == "Each Transaction":
return
elif sales_update_frequency == "Monthly" and frappe.utils.now_datetime().day != 1:
diff --git a/erpnext/selling/doctype/customer/customer.py b/erpnext/selling/doctype/customer/customer.py
index acaca341a17..4fc2dac10e8 100644
--- a/erpnext/selling/doctype/customer/customer.py
+++ b/erpnext/selling/doctype/customer/customer.py
@@ -554,7 +554,7 @@ def check_credit_limit(customer, company, ignore_outstanding_sales_order=False,
message += "
"
# If not authorized person raise exception
- credit_controller_role = frappe.db.get_single_value("Accounts Settings", "credit_controller")
+ credit_controller_role = frappe.get_single_value("Accounts Settings", "credit_controller")
if not credit_controller_role or credit_controller_role not in frappe.get_roles():
# form a list of emails for the credit controller users
credit_controller_users = get_users_with_role(credit_controller_role or "Sales Master Manager")
diff --git a/erpnext/selling/doctype/quotation/quotation.py b/erpnext/selling/doctype/quotation/quotation.py
index 0ad6bf6bf2a..9529cffb364 100644
--- a/erpnext/selling/doctype/quotation/quotation.py
+++ b/erpnext/selling/doctype/quotation/quotation.py
@@ -167,7 +167,7 @@ class Quotation(SellingController):
"""
If permitted in settings and any item has 0 qty, the SO has unit price items.
"""
- if not frappe.db.get_single_value("Selling Settings", "allow_zero_qty_in_quotation"):
+ if not frappe.get_single_value("Selling Settings", "allow_zero_qty_in_quotation"):
return
self.has_unit_price_items = any(
diff --git a/erpnext/selling/doctype/sales_order/sales_order.py b/erpnext/selling/doctype/sales_order/sales_order.py
index 03cdc6e8c3b..2117c7f9b6b 100755
--- a/erpnext/selling/doctype/sales_order/sales_order.py
+++ b/erpnext/selling/doctype/sales_order/sales_order.py
@@ -195,7 +195,7 @@ class SalesOrder(SellingController):
def onload(self) -> None:
super().onload()
- if frappe.db.get_single_value("Stock Settings", "enable_stock_reservation"):
+ if frappe.get_single_value("Stock Settings", "enable_stock_reservation"):
if self.has_unreserved_stock():
self.set_onload("has_unreserved_stock", True)
@@ -246,14 +246,14 @@ class SalesOrder(SellingController):
self.enable_auto_reserve_stock()
def enable_auto_reserve_stock(self):
- if self.is_new() and frappe.db.get_single_value("Stock Settings", "auto_reserve_stock"):
+ if self.is_new() and frappe.get_single_value("Stock Settings", "auto_reserve_stock"):
self.reserve_stock = 1
def set_has_unit_price_items(self):
"""
If permitted in settings and any item has 0 qty, the SO has unit price items.
"""
- if not frappe.db.get_single_value("Selling Settings", "allow_zero_qty_in_sales_order"):
+ if not frappe.get_single_value("Selling Settings", "allow_zero_qty_in_sales_order"):
return
self.has_unit_price_items = any(
@@ -280,7 +280,7 @@ class SalesOrder(SellingController):
)
if so and so[0][0]:
if cint(
- frappe.db.get_single_value("Selling Settings", "allow_against_multiple_purchase_orders")
+ frappe.get_single_value("Selling Settings", "allow_against_multiple_purchase_orders")
):
frappe.msgprint(
_(
@@ -405,7 +405,7 @@ class SalesOrder(SellingController):
}
)
- if cint(frappe.db.get_single_value("Selling Settings", "maintain_same_sales_rate")):
+ if cint(frappe.get_single_value("Selling Settings", "maintain_same_sales_rate")):
self.validate_rate_with_reference_doc([["Quotation", "prevdoc_docname", "quotation_item"]])
def update_enquiry_status(self, prevdoc, flag):
@@ -483,7 +483,7 @@ class SalesOrder(SellingController):
update_coupon_code_count(self.coupon_code, "cancelled")
def update_project(self):
- if frappe.db.get_single_value("Selling Settings", "sales_update_frequency") != "Each Transaction":
+ if frappe.get_single_value("Selling Settings", "sales_update_frequency") != "Each Transaction":
return
if self.project:
@@ -633,7 +633,7 @@ class SalesOrder(SellingController):
if total_picked_qty and total_qty:
per_picked = total_picked_qty / total_qty * 100
- pick_percentage = frappe.db.get_single_value("Stock Settings", "over_picking_allowance")
+ pick_percentage = frappe.get_single_value("Stock Settings", "over_picking_allowance")
if pick_percentage:
total_qty += flt(total_qty) * (pick_percentage / 100)
@@ -729,7 +729,7 @@ class SalesOrder(SellingController):
def validate_reserved_stock(self):
"""Clean reserved stock flag for non-stock Item"""
- enable_stock_reservation = frappe.db.get_single_value("Stock Settings", "enable_stock_reservation")
+ enable_stock_reservation = frappe.get_single_value("Stock Settings", "enable_stock_reservation")
for item in self.items:
if item.reserve_stock and (not enable_stock_reservation or not cint(item.is_stock_item)):
@@ -815,7 +815,7 @@ def get_list_context(context=None):
@frappe.whitelist()
def is_enable_cutoff_date_on_bulk_delivery_note_creation():
- return frappe.db.get_single_value("Selling Settings", "enable_cutoff_date_on_bulk_delivery_note_creation")
+ return frappe.get_single_value("Selling Settings", "enable_cutoff_date_on_bulk_delivery_note_creation")
@frappe.whitelist()
@@ -1220,7 +1220,7 @@ def make_sales_invoice(source_name, target_doc=None, ignore_permissions=False):
)
automatically_fetch_payment_terms = cint(
- frappe.db.get_single_value("Accounts Settings", "automatically_fetch_payment_terms")
+ frappe.get_single_value("Accounts Settings", "automatically_fetch_payment_terms")
)
if automatically_fetch_payment_terms:
doclist.set_payment_schedule()
@@ -1861,4 +1861,4 @@ def get_work_order_items(sales_order, for_raw_material_request=0):
@frappe.whitelist()
def get_stock_reservation_status():
- return frappe.db.get_single_value("Stock Settings", "enable_stock_reservation")
+ return frappe.get_single_value("Stock Settings", "enable_stock_reservation")
diff --git a/erpnext/selling/report/customer_credit_balance/customer_credit_balance.py b/erpnext/selling/report/customer_credit_balance/customer_credit_balance.py
index d64c89c8f2b..6813060d414 100644
--- a/erpnext/selling/report/customer_credit_balance/customer_credit_balance.py
+++ b/erpnext/selling/report/customer_credit_balance/customer_credit_balance.py
@@ -13,7 +13,7 @@ def execute(filters=None):
if not filters:
filters = {}
# Check if customer id is according to naming series or customer name
- customer_naming_type = frappe.db.get_single_value("Selling Settings", "cust_master_name")
+ customer_naming_type = frappe.get_single_value("Selling Settings", "cust_master_name")
columns = get_columns(customer_naming_type)
data = []
diff --git a/erpnext/startup/boot.py b/erpnext/startup/boot.py
index a5f469a58ec..8dccac80b88 100644
--- a/erpnext/startup/boot.py
+++ b/erpnext/startup/boot.py
@@ -15,15 +15,13 @@ def boot_session(bootinfo):
if frappe.session["user"] != "Guest":
update_page_info(bootinfo)
- bootinfo.sysdefaults.territory = frappe.db.get_single_value("Selling Settings", "territory")
- bootinfo.sysdefaults.customer_group = frappe.db.get_single_value("Selling Settings", "customer_group")
- bootinfo.sysdefaults.use_server_side_reactivity = frappe.db.get_single_value(
+ bootinfo.sysdefaults.territory = frappe.get_single_value("Selling Settings", "territory")
+ bootinfo.sysdefaults.customer_group = frappe.get_single_value("Selling Settings", "customer_group")
+ bootinfo.sysdefaults.use_server_side_reactivity = frappe.get_single_value(
"Selling Settings", "use_server_side_reactivity"
)
- bootinfo.sysdefaults.allow_stale = cint(
- frappe.db.get_single_value("Accounts Settings", "allow_stale")
- )
- bootinfo.sysdefaults.over_billing_allowance = frappe.db.get_single_value(
+ bootinfo.sysdefaults.allow_stale = cint(frappe.get_single_value("Accounts Settings", "allow_stale"))
+ bootinfo.sysdefaults.over_billing_allowance = frappe.get_single_value(
"Accounts Settings", "over_billing_allowance"
)
@@ -32,7 +30,7 @@ def boot_session(bootinfo):
)
bootinfo.sysdefaults.allow_sales_order_creation_for_expired_quotation = cint(
- frappe.db.get_single_value("Selling Settings", "allow_sales_order_creation_for_expired_quotation")
+ frappe.get_single_value("Selling Settings", "allow_sales_order_creation_for_expired_quotation")
)
# if no company, show a dialog box to create a new company
diff --git a/erpnext/stock/doctype/batch/batch.py b/erpnext/stock/doctype/batch/batch.py
index c7d9823d144..52af15e158a 100644
--- a/erpnext/stock/doctype/batch/batch.py
+++ b/erpnext/stock/doctype/batch/batch.py
@@ -37,7 +37,7 @@ def batch_uses_naming_series():
Verify if the Batch is to be named using a naming series
:return: bool
"""
- use_naming_series = cint(frappe.db.get_single_value("Stock Settings", "use_naming_series"))
+ use_naming_series = cint(frappe.get_single_value("Stock Settings", "use_naming_series"))
return bool(use_naming_series)
@@ -49,7 +49,7 @@ def _get_batch_prefix():
is set to use naming series.
:return: The naming series.
"""
- naming_series_prefix = frappe.db.get_single_value("Stock Settings", "naming_series_prefix")
+ naming_series_prefix = frappe.get_single_value("Stock Settings", "naming_series_prefix")
if not naming_series_prefix:
naming_series_prefix = "BATCH-"
@@ -160,7 +160,7 @@ class Batch(Document):
from erpnext.stock.utils import get_valuation_method
if self.is_new():
- if get_valuation_method(self.item) == "Moving Average" and frappe.db.get_single_value(
+ if get_valuation_method(self.item) == "Moving Average" and frappe.get_single_value(
"Stock Settings", "do_not_use_batchwise_valuation"
):
self.use_batchwise_valuation = 0
diff --git a/erpnext/stock/doctype/delivery_note/delivery_note.py b/erpnext/stock/doctype/delivery_note/delivery_note.py
index bf0b7de6f22..0c390ce9085 100644
--- a/erpnext/stock/doctype/delivery_note/delivery_note.py
+++ b/erpnext/stock/doctype/delivery_note/delivery_note.py
@@ -247,7 +247,7 @@ class DeliveryNote(SellingController):
def so_required(self):
"""check in manage account if sales order required or not"""
- if frappe.db.get_single_value("Selling Settings", "so_required") == "Yes":
+ if frappe.get_single_value("Selling Settings", "so_required") == "Yes":
for d in self.get("items"):
if not d.against_sales_order:
frappe.throw(_("Sales Order required for Item {0}").format(d.item_code))
@@ -314,7 +314,7 @@ class DeliveryNote(SellingController):
)
if (
- cint(frappe.db.get_single_value("Selling Settings", "maintain_same_sales_rate"))
+ cint(frappe.get_single_value("Selling Settings", "maintain_same_sales_rate"))
and not self.is_return
and not self.is_internal_customer
):
@@ -436,7 +436,7 @@ class DeliveryNote(SellingController):
self.update_pick_list_status()
# Check for Approving Authority
- frappe.get_doc("Authorization Control").validate_approving_authority(
+ frappe.get_cached_doc("Authorization Control").validate_approving_authority(
self.doctype, self.company, self.base_grand_total, self
)
@@ -901,7 +901,7 @@ def make_sales_invoice(source_name, target_doc=None, args=None):
)
automatically_fetch_payment_terms = cint(
- frappe.db.get_single_value("Accounts Settings", "automatically_fetch_payment_terms")
+ frappe.get_single_value("Accounts Settings", "automatically_fetch_payment_terms")
)
if automatically_fetch_payment_terms and not doc.is_return:
doc.set_payment_schedule()
diff --git a/erpnext/stock/doctype/item/item.py b/erpnext/stock/doctype/item/item.py
index c41c0528834..6f0d9664cac 100644
--- a/erpnext/stock/doctype/item/item.py
+++ b/erpnext/stock/doctype/item/item.py
@@ -227,7 +227,7 @@ class Item(Document):
def validate_description(self):
"""Clean HTML description if set"""
if (
- cint(frappe.db.get_single_value("Stock Settings", "clean_description_html"))
+ cint(frappe.get_single_value("Stock Settings", "clean_description_html"))
and self.description != self.item_name # perf: Avoid cleaning up a fallback
):
self.description = clean_html(self.description)
@@ -243,7 +243,7 @@ class Item(Document):
def add_price(self, price_list=None):
"""Add a new price"""
if not price_list:
- price_list = frappe.db.get_single_value(
+ price_list = frappe.get_single_value(
"Selling Settings", "selling_price_list"
) or frappe.db.get_value("Price List", _("Standard Selling"))
if price_list:
@@ -274,7 +274,7 @@ class Item(Document):
for default in self.item_defaults or [
frappe._dict({"company": frappe.defaults.get_defaults().company})
]:
- default_warehouse = default.default_warehouse or frappe.db.get_single_value(
+ default_warehouse = default.default_warehouse or frappe.get_single_value(
"Stock Settings", "default_warehouse"
)
if default_warehouse:
@@ -317,9 +317,7 @@ class Item(Document):
)
def validate_retain_sample(self):
- if self.retain_sample and not frappe.db.get_single_value(
- "Stock Settings", "sample_retention_warehouse"
- ):
+ if self.retain_sample and not frappe.get_single_value("Stock Settings", "sample_retention_warehouse"):
frappe.throw(_("Please select Sample Retention Warehouse in Stock Settings first"))
if self.retain_sample and not self.has_batch_no:
frappe.throw(
@@ -664,7 +662,7 @@ class Item(Document):
def recalculate_bin_qty(self, new_name):
from erpnext.stock.stock_balance import repost_stock
- existing_allow_negative_stock = frappe.db.get_single_value("Stock Settings", "allow_negative_stock")
+ existing_allow_negative_stock = frappe.get_single_value("Stock Settings", "allow_negative_stock")
frappe.db.set_single_value("Stock Settings", "allow_negative_stock", 1)
repost_stock_for_warehouses = frappe.get_all(
@@ -964,7 +962,7 @@ class Item(Document):
if not values.get("valuation_method") and self.get("valuation_method"):
values["valuation_method"] = (
- frappe.db.get_single_value("Stock Settings", "valuation_method") or "FIFO"
+ frappe.get_single_value("Stock Settings", "valuation_method") or "FIFO"
)
changed_fields = [
@@ -1051,7 +1049,7 @@ class Item(Document):
def validate_auto_reorder_enabled_in_stock_settings(self):
if self.reorder_levels:
- enabled = frappe.db.get_single_value("Stock Settings", "auto_indent")
+ enabled = frappe.get_single_value("Stock Settings", "auto_indent")
if not enabled:
frappe.msgprint(
msg=_("You have to enable auto re-order in Stock Settings to maintain re-order levels."),
diff --git a/erpnext/stock/doctype/packed_item/packed_item.py b/erpnext/stock/doctype/packed_item/packed_item.py
index ee5d330a221..23aa5bf6247 100644
--- a/erpnext/stock/doctype/packed_item/packed_item.py
+++ b/erpnext/stock/doctype/packed_item/packed_item.py
@@ -69,7 +69,7 @@ def make_packing_list(doc):
return
parent_items_price, reset = {}, False
- set_price_from_children = frappe.db.get_single_value("Selling Settings", "editable_bundle_item_rates")
+ set_price_from_children = frappe.get_single_value("Selling Settings", "editable_bundle_item_rates")
stale_packed_items_table = get_indexed_packed_items_table(doc)
@@ -234,7 +234,7 @@ def update_packed_item_stock_data(main_item_row, pi_row, packing_item, item_data
bin = get_packed_item_bin_qty(packing_item.item_code, pi_row.warehouse)
pi_row.actual_qty = flt(bin.get("actual_qty"))
pi_row.projected_qty = flt(bin.get("projected_qty"))
- pi_row.use_serial_batch_fields = frappe.db.get_single_value("Stock Settings", "use_serial_batch_fields")
+ pi_row.use_serial_batch_fields = frappe.get_single_value("Stock Settings", "use_serial_batch_fields")
def update_packed_item_price_data(pi_row, item_data, doc):
diff --git a/erpnext/stock/doctype/pick_list/pick_list.py b/erpnext/stock/doctype/pick_list/pick_list.py
index a80a59a822d..eb986eff6bf 100644
--- a/erpnext/stock/doctype/pick_list/pick_list.py
+++ b/erpnext/stock/doctype/pick_list/pick_list.py
@@ -440,7 +440,7 @@ class PickList(Document):
def validate_picked_qty(self, data):
over_delivery_receipt_allowance = 100 + flt(
- frappe.db.get_single_value("Stock Settings", "over_delivery_receipt_allowance")
+ frappe.get_single_value("Stock Settings", "over_delivery_receipt_allowance")
)
for row in data:
@@ -1102,7 +1102,7 @@ def get_available_item_locations_for_batched_item(
{
"item_code": item_code,
"warehouse": from_warehouses,
- "based_on": frappe.db.get_single_value("Stock Settings", "pick_serial_and_batch_based_on"),
+ "based_on": frappe.get_single_value("Stock Settings", "pick_serial_and_batch_based_on"),
}
)
)
diff --git a/erpnext/stock/doctype/price_list/price_list.py b/erpnext/stock/doctype/price_list/price_list.py
index 882c3f5c9cb..9ee05a3f6c7 100644
--- a/erpnext/stock/doctype/price_list/price_list.py
+++ b/erpnext/stock/doctype/price_list/price_list.py
@@ -39,7 +39,7 @@ class PriceList(Document):
def set_default_if_missing(self):
if cint(self.selling):
- if not frappe.db.get_single_value("Selling Settings", "selling_price_list"):
+ if not frappe.get_single_value("Selling Settings", "selling_price_list"):
frappe.set_value("Selling Settings", "Selling Settings", "selling_price_list", self.name)
elif cint(self.buying):
diff --git a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
index fc71d0cbbd8..2a564d862c0 100644
--- a/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
+++ b/erpnext/stock/doctype/purchase_receipt/purchase_receipt.py
@@ -952,10 +952,8 @@ class PurchaseReceipt(BuyingController):
def reserve_stock_for_sales_order(self):
if (
self.is_return
- or not frappe.db.get_single_value("Stock Settings", "enable_stock_reservation")
- or not frappe.db.get_single_value(
- "Stock Settings", "auto_reserve_stock_for_sales_order_on_purchase"
- )
+ or not frappe.get_single_value("Stock Settings", "enable_stock_reservation")
+ or not frappe.get_single_value("Stock Settings", "auto_reserve_stock_for_sales_order_on_purchase")
):
return
@@ -990,7 +988,7 @@ class PurchaseReceipt(BuyingController):
)
def reserve_stock_for_production_plan(self):
- if self.is_return or not frappe.db.get_single_value("Stock Settings", "enable_stock_reservation"):
+ if self.is_return or not frappe.get_single_value("Stock Settings", "enable_stock_reservation"):
return
production_plan_references = self.get_production_plan_references()
@@ -1201,7 +1199,7 @@ def get_billed_amount_against_po(po_items):
def update_billing_percentage(pr_doc, update_modified=True, adjust_incoming_rate=False):
# Update Billing % based on pending accepted qty
buying_settings = frappe.get_single("Buying Settings")
- over_billing_allowance = frappe.db.get_single_value("Accounts Settings", "over_billing_allowance")
+ over_billing_allowance = frappe.get_single_value("Accounts Settings", "over_billing_allowance")
total_amount, total_billed_amount = 0, 0
item_wise_returned_qty = get_item_wise_returned_qty(pr_doc)
diff --git a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py
index eca75bfb71d..73d9efd7dc2 100644
--- a/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py
+++ b/erpnext/stock/doctype/serial_and_batch_bundle/serial_and_batch_bundle.py
@@ -84,7 +84,7 @@ class SerialandBatchBundle(Document):
# end: auto-generated types
def autoname(self):
- if frappe.db.get_single_value(
+ if frappe.get_single_value(
"Stock Settings", "set_serial_and_batch_bundle_naming_based_on_naming_series"
):
if not self.naming_series:
@@ -161,7 +161,7 @@ class SerialandBatchBundle(Document):
if self.type_of_transaction == "Outward" or not self.has_serial_no:
return
- if frappe.db.get_single_value("Stock Settings", "allow_existing_serial_no"):
+ if frappe.get_single_value("Stock Settings", "allow_existing_serial_no"):
return
if self.voucher_type not in ["Purchase Receipt", "Purchase Invoice", "Stock Entry"]:
diff --git a/erpnext/stock/doctype/stock_entry/stock_entry.py b/erpnext/stock/doctype/stock_entry/stock_entry.py
index 2f53badb937..00c54601178 100644
--- a/erpnext/stock/doctype/stock_entry/stock_entry.py
+++ b/erpnext/stock/doctype/stock_entry/stock_entry.py
@@ -2457,7 +2457,7 @@ class StockEntry(StockController):
if not qty:
return
- use_serial_batch_fields = frappe.db.get_single_value("Stock Settings", "use_serial_batch_fields")
+ use_serial_batch_fields = frappe.get_single_value("Stock Settings", "use_serial_batch_fields")
ste_item_details = {
"from_warehouse": item.warehouse,
@@ -2935,7 +2935,7 @@ def move_sample_to_retention_warehouse(company, items):
if isinstance(items, str):
items = json.loads(items)
- retention_warehouse = frappe.db.get_single_value("Stock Settings", "sample_retention_warehouse")
+ retention_warehouse = frappe.get_single_value("Stock Settings", "sample_retention_warehouse")
stock_entry = frappe.new_doc("Stock Entry")
stock_entry.company = company
stock_entry.purpose = "Material Transfer"
@@ -2986,7 +2986,7 @@ def make_stock_in_entry(source_name, target_doc=None):
target.stock_entry_type = "Material Transfer"
target.set_missing_values()
- if not frappe.db.get_single_value("Stock Settings", "use_serial_batch_fields"):
+ if not frappe.get_single_value("Stock Settings", "use_serial_batch_fields"):
target.make_serial_and_batch_bundle_for_transfer()
def update_item(source_doc, target_doc, source_parent):
@@ -3215,7 +3215,7 @@ def validate_sample_quantity(item_code, sample_quantity, qty, batch_no=None):
frappe.throw(
_("Sample quantity {0} cannot be more than received quantity {1}").format(sample_quantity, qty)
)
- retention_warehouse = frappe.db.get_single_value("Stock Settings", "sample_retention_warehouse")
+ retention_warehouse = frappe.get_single_value("Stock Settings", "sample_retention_warehouse")
retainted_qty = 0
if batch_no:
retainted_qty = get_batch_qty(batch_no, retention_warehouse, item_code)
diff --git a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
index 1b1e3bd3e4d..14aa83b1e50 100644
--- a/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
+++ b/erpnext/stock/doctype/stock_ledger_entry/stock_ledger_entry.py
@@ -299,7 +299,7 @@ class StockLedgerEntry(Document):
is_group_warehouse(self.warehouse)
def validate_with_last_transaction_posting_time(self):
- authorized_role = frappe.db.get_single_value(
+ authorized_role = frappe.get_single_value(
"Stock Settings", "role_allowed_to_create_edit_back_dated_transactions"
)
if authorized_role:
diff --git a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
index 663e9cad955..e7aa5988f06 100644
--- a/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
+++ b/erpnext/stock/doctype/stock_reconciliation/test_stock_reconciliation.py
@@ -45,6 +45,7 @@ class TestStockReconciliation(IntegrationTestCase, StockTestMixin):
def test_reco_for_moving_average(self):
self._test_reco_sle_gle("Moving Average")
+ @IntegrationTestCase.change_settings("Stock Settings", {"allow_negative_stock": 1})
def _test_reco_sle_gle(self, valuation_method):
item_code = self.make_item(properties={"valuation_method": valuation_method}).name
diff --git a/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py
index 81047bd6d09..b9482e31385 100644
--- a/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py
+++ b/erpnext/stock/doctype/stock_reservation_entry/stock_reservation_entry.py
@@ -162,7 +162,7 @@ class StockReservationEntry(Document):
not self.from_voucher_type
and (self.get("_action") == "submit")
and (self.has_serial_no or self.has_batch_no)
- and cint(frappe.db.get_single_value("Stock Settings", "auto_reserve_serial_and_batch"))
+ and cint(frappe.get_single_value("Stock Settings", "auto_reserve_serial_and_batch"))
):
from erpnext.stock.doctype.batch.batch import get_available_batches
from erpnext.stock.doctype.serial_no.serial_no import get_serial_nos_for_outward
@@ -176,7 +176,7 @@ class StockReservationEntry(Document):
"warehouse": self.warehouse,
"qty": abs(self.reserved_qty) or 0,
"based_on": based_on
- or frappe.db.get_single_value("Stock Settings", "pick_serial_and_batch_based_on"),
+ or frappe.get_single_value("Stock Settings", "pick_serial_and_batch_based_on"),
}
)
@@ -219,9 +219,7 @@ class StockReservationEntry(Document):
return
if self.reservation_based_on == "Serial and Batch":
- allow_partial_reservation = frappe.db.get_single_value(
- "Stock Settings", "allow_partial_reservation"
- )
+ allow_partial_reservation = frappe.get_single_value("Stock Settings", "allow_partial_reservation")
available_serial_nos = []
if self.has_serial_no:
@@ -570,7 +568,7 @@ class StockReservationEntry(Document):
def validate_stock_reservation_settings(voucher: object) -> None:
"""Raises an exception if `Stock Reservation` is not enabled or `Voucher Type` is not allowed."""
- if not frappe.db.get_single_value("Stock Settings", "enable_stock_reservation"):
+ if not frappe.get_single_value("Stock Settings", "enable_stock_reservation"):
msg = _("Please enable {0} in the {1}.").format(
frappe.bold(_("Stock Reservation")),
frappe.bold(_("Stock Settings")),
@@ -1347,7 +1345,7 @@ def create_stock_reservation_entries_for_so_items(
validate_stock_reservation_settings(sales_order)
- allow_partial_reservation = frappe.db.get_single_value("Stock Settings", "allow_partial_reservation")
+ allow_partial_reservation = frappe.get_single_value("Stock Settings", "allow_partial_reservation")
items = []
if items_details:
diff --git a/erpnext/stock/get_item_details.py b/erpnext/stock/get_item_details.py
index 60c7a9d7cd6..00bf974175a 100644
--- a/erpnext/stock/get_item_details.py
+++ b/erpnext/stock/get_item_details.py
@@ -3,6 +3,7 @@
import json
+import typing
from functools import WRAPPER_ASSIGNMENTS, wraps
import frappe
@@ -135,7 +136,7 @@ def get_item_details(
out.update(data)
if (
- frappe.db.get_single_value("Stock Settings", "auto_create_serial_and_batch_bundle_for_outward")
+ frappe.get_single_value("Stock Settings", "auto_create_serial_and_batch_bundle_for_outward")
and not ctx.get("serial_and_batch_bundle")
and (ctx.get("use_serial_batch_fields") or ctx.get("doctype") == "POS Invoice")
):
@@ -200,7 +201,7 @@ def update_stock(ctx, out, doc=None):
{
"item_code": ctx.item_code,
"warehouse": ctx.warehouse,
- "based_on": frappe.db.get_single_value("Stock Settings", "pick_serial_and_batch_based_on"),
+ "based_on": frappe.get_single_value("Stock Settings", "pick_serial_and_batch_based_on"),
}
)
@@ -366,7 +367,7 @@ def get_basic_details(ctx: ItemDetailsCtx, item, overwrite_warehouse=True) -> It
"""
if not item:
- item = frappe.get_doc("Item", ctx.item_code)
+ item = frappe.get_cached_doc("Item", ctx.item_code)
if item.variant_of and not item.taxes and frappe.db.exists("Item Tax", {"parent": item.variant_of}):
item.update_template_tables()
@@ -532,8 +533,8 @@ def get_basic_details(ctx: ItemDetailsCtx, item, overwrite_warehouse=True) -> It
out.manufacturer_part_no = None
out.manufacturer = None
else:
- data = frappe.get_value(
- "Item", item.name, ["default_item_manufacturer", "default_manufacturer_part_no"], as_dict=1
+ data = frappe.get_cached_value(
+ "Item", item.name, ["default_item_manufacturer", "default_manufacturer_part_no"], as_dict=True
)
if data:
@@ -590,7 +591,7 @@ def get_item_warehouse_(ctx: ItemDetailsCtx, item, overwrite_warehouse, defaults
warehouse = ctx.warehouse
if not warehouse:
- default_warehouse = frappe.db.get_single_value("Stock Settings", "default_warehouse")
+ default_warehouse = frappe.get_single_value("Stock Settings", "default_warehouse")
if frappe.db.get_value("Warehouse", default_warehouse, "company") == ctx.company:
return default_warehouse
@@ -1178,9 +1179,8 @@ def check_packing_list(price_list_rate_name, desired_qty, item_code):
"""
flag = True
- item_price = frappe.get_doc("Item Price", price_list_rate_name)
- if item_price.packing_unit:
- packing_increment = desired_qty % item_price.packing_unit
+ if packing_unit := frappe.db.get_value("Item Price", price_list_rate_name, "packing_unit", cache=True):
+ packing_increment = desired_qty % packing_unit
if packing_increment != 0:
flag = False
@@ -1317,15 +1317,20 @@ def get_pos_profile(company, pos_profile=None, user=None):
@frappe.whitelist()
def get_conversion_factor(item_code, uom):
- variant_of = frappe.db.get_value("Item", item_code, "variant_of", cache=True)
+ item = frappe.get_cached_value("Item", item_code, ["variant_of", "stock_uom"], as_dict=True)
+ if not item_code or not item:
+ return {"conversion_factor": 1.0}
+
+ if uom == item.stock_uom:
+ return {"conversion_factor": 1.0}
+
filters = {"parent": item_code, "uom": uom}
- if variant_of:
- filters["parent"] = ("in", (item_code, variant_of))
+ if item.variant_of:
+ filters["parent"] = ("in", (item_code, item.variant_of))
conversion_factor = frappe.db.get_value("UOM Conversion Detail", filters, "conversion_factor")
if not conversion_factor:
- stock_uom = frappe.db.get_value("Item", item_code, "stock_uom")
- conversion_factor = get_uom_conv_factor(uom, stock_uom)
+ conversion_factor = get_uom_conv_factor(uom, item.stock_uom)
return {"conversion_factor": conversion_factor or 1.0}
@@ -1447,7 +1452,7 @@ def apply_price_list(ctx: ItemDetailsCtx, as_doc=False, doc=None):
def apply_price_list_on_item(ctx, doc=None):
- item_doc = frappe.db.get_value("Item", ctx.item_code, ["name", "variant_of"], as_dict=1)
+ item_doc = frappe.get_cached_doc("Item", ctx.item_code)
item_details = get_price_list_rate(ctx, item_doc)
item_details.update(get_pricing_rule_for_item(ctx, doc=doc))
@@ -1515,7 +1520,6 @@ def get_valuation_rate(item_code, company, warehouse=None):
item = get_item_defaults(item_code, company)
item_group = get_item_group_defaults(item_code, company)
brand = get_brand_defaults(item_code, company)
- # item = frappe.get_doc("Item", item_code)
if item.get("is_stock_item"):
if not warehouse:
warehouse = (
diff --git a/erpnext/stock/serial_batch_bundle.py b/erpnext/stock/serial_batch_bundle.py
index f06706ee21e..eaea590971d 100644
--- a/erpnext/stock/serial_batch_bundle.py
+++ b/erpnext/stock/serial_batch_bundle.py
@@ -151,12 +151,12 @@ class SerialBatchBundle:
if (
self.item_details.has_batch_no
and not self.item_details.batch_number_series
- and not frappe.db.get_single_value("Stock Settings", "naming_series_prefix")
+ and not frappe.get_single_value("Stock Settings", "naming_series_prefix")
):
msg += f". If you want auto pick batch bundle, then kindly set Batch Number Series in Item {self.item_code}"
elif self.sle.actual_qty < 0:
- if not frappe.db.get_single_value(
+ if not frappe.get_single_value(
"Stock Settings", "auto_create_serial_and_batch_bundle_for_outward"
):
msg += ". If you want auto pick serial/batch bundle, then kindly enable 'Auto Create Serial and Batch Bundle' in Stock Settings."
@@ -187,7 +187,7 @@ class SerialBatchBundle:
if self.sle.actual_qty < 0 and self.is_material_transfer():
values_to_update["valuation_rate"] = flt(sn_doc.avg_rate)
- if not frappe.db.get_single_value(
+ if not frappe.get_single_value(
"Stock Settings", "do_not_update_serial_batch_on_creation_of_auto_bundle"
):
if sn_doc.has_serial_no:
@@ -253,7 +253,7 @@ class SerialBatchBundle:
and (
self.item_details.create_new_batch
or (
- frappe.db.get_single_value(
+ frappe.get_single_value(
"Stock Settings", "auto_create_serial_and_batch_bundle_for_outward"
)
and self.sle.actual_qty < 0
@@ -724,7 +724,7 @@ class BatchNoValuation(DeprecatedBatchNoValuation):
self.batchwise_valuation_batches = []
self.non_batchwise_valuation_batches = []
- if get_valuation_method(self.sle.item_code) == "Moving Average" and frappe.db.get_single_value(
+ if get_valuation_method(self.sle.item_code) == "Moving Average" and frappe.get_single_value(
"Stock Settings", "do_not_use_batchwise_valuation"
):
self.non_batchwise_valuation_batches = self.batches
@@ -1029,7 +1029,7 @@ class SerialBatchCreation:
"item_code": self.item_code,
"warehouse": self.warehouse,
"qty": abs(self.actual_qty) if self.actual_qty else 0,
- "based_on": frappe.db.get_single_value("Stock Settings", "pick_serial_and_batch_based_on"),
+ "based_on": frappe.get_single_value("Stock Settings", "pick_serial_and_batch_based_on"),
}
)
diff --git a/erpnext/stock/stock_balance.py b/erpnext/stock/stock_balance.py
index 45777172808..e650fb607ba 100644
--- a/erpnext/stock/stock_balance.py
+++ b/erpnext/stock/stock_balance.py
@@ -15,7 +15,7 @@ def repost(only_actual=False, allow_negative_stock=False, allow_zero_rate=False,
frappe.db.auto_commit_on_many_writes = 1
if allow_negative_stock:
- existing_allow_negative_stock = frappe.db.get_single_value("Stock Settings", "allow_negative_stock")
+ existing_allow_negative_stock = frappe.get_single_value("Stock Settings", "allow_negative_stock")
frappe.db.set_single_value("Stock Settings", "allow_negative_stock", 1)
item_warehouses = frappe.db.sql(
diff --git a/erpnext/stock/stock_ledger.py b/erpnext/stock/stock_ledger.py
index 8a2541a8587..8d3c92c8736 100644
--- a/erpnext/stock/stock_ledger.py
+++ b/erpnext/stock/stock_ledger.py
@@ -2189,9 +2189,9 @@ def validate_reserved_batch_nos(item_code, warehouse, batch_nos):
def is_negative_stock_allowed(*, item_code: str | None = None) -> bool:
- if cint(frappe.db.get_single_value("Stock Settings", "allow_negative_stock", cache=True)):
+ if frappe.get_cached_doc("Stock Settings").allow_negative_stock:
return True
- if item_code and cint(frappe.db.get_value("Item", item_code, "allow_negative_stock", cache=True)):
+ if item_code and cint(frappe.get_cached_value("Item", item_code, "allow_negative_stock")):
return True
return False
diff --git a/erpnext/stock/utils.py b/erpnext/stock/utils.py
index 435acbe02c6..9d5d9f7c49b 100644
--- a/erpnext/stock/utils.py
+++ b/erpnext/stock/utils.py
@@ -252,7 +252,7 @@ def get_incoming_rate(args, raise_error_if_no_rate=True):
"Item", args.get("item_code"), ["has_serial_no", "has_batch_no"], as_dict=1
)
- use_moving_avg_for_batch = frappe.db.get_single_value("Stock Settings", "do_not_use_batchwise_valuation")
+ use_moving_avg_for_batch = frappe.get_single_value("Stock Settings", "do_not_use_batchwise_valuation")
if isinstance(args, dict):
args = frappe._dict(args)
@@ -374,9 +374,9 @@ def get_avg_purchase_rate(serial_nos):
def get_valuation_method(item_code):
"""get valuation method from item or default"""
- val_method = frappe.db.get_value("Item", item_code, "valuation_method", cache=True)
+ val_method = frappe.get_cached_value("Item", item_code, "valuation_method")
if not val_method:
- val_method = frappe.db.get_single_value("Stock Settings", "valuation_method", cache=True) or "FIFO"
+ val_method = frappe.get_cached_doc("Stock Settings").valuation_method or "FIFO"
return val_method
diff --git a/erpnext/utilities/transaction_base.py b/erpnext/utilities/transaction_base.py
index 29573d9f20d..731e94723d5 100644
--- a/erpnext/utilities/transaction_base.py
+++ b/erpnext/utilities/transaction_base.py
@@ -354,7 +354,7 @@ class TransactionBase(StatusUpdater):
self.set_rate_based_on_price_list(item_obj, item_details)
def add_taxes_from_item_template(self, item_obj: object, item_details: dict) -> None:
- if item_details.item_tax_rate and frappe.db.get_single_value(
+ if item_details.item_tax_rate and frappe.get_single_value(
"Accounts Settings", "add_taxes_from_item_tax_template"
):
item_tax_template = frappe.json.loads(item_details.item_tax_rate)